Cuprins
- Capitolul 1: Tema proiectului
- Capitolul 2: Scrierea microprogramelor pentru instrucţiuni
- Capitolul 3: Descrierea semnalelor de control
- Capitolul 4: Codificarea instrucţiunilor şi a microinstrucţiunilor
- Capitolul 5: Schema bloc generală a unităţii de comandă
- microprogramată
Extras din proiect
1. Tema proiectlui
Să se proiecteze unitatea de comandă pentru un microprocesor capabil să execute următorul set de instrucţiuni:
- FETCH (aducerea din memorie a instructiunii/operandului)
- PUSH R (depunerea în stivă a registrului general R)
- POP R (extragerea din stivă a registrullui R )
- CMP RM (compară registru acumulator cu registrul memoriei , RMl )
- AND RM (ŞI logic intre acumulator şi RM)
- OR RM (SAU logic între acumulator şi RM)
- XRA (SAU EXCLUSIV intre acumulator şi RM)
- CPR data (compară conţinutul acumulatorului cu conţinutul locaţiei de la adresa data)
- DCR AC (decremantează registrul acumulator )
- INC AC (incrementează registrul acumulator)
- ADC AC (adună la conţinutul acumulatorului registrul RM şi fanionul de transport C)
- SBC AC (scade din conţinutul acumulatorului registrul RM şi fanionul de transport C)
- ADD AC (adună la conţinutul acumulatorului registrul RM)
- SBB AC (scade din conţinutul acumulatorului registrul RM)
- SBI data (scădere “cu împrumut”)
- SWIT data (scădere “fără împrumut”)
- ACI data(adună la conţinutul acumulatorului conţinutul locaţiei de la adresa data şi fanionul de transport C)
- ADI data (adună la conţinutul acumulatorului conţinutul locaţiei de la adresa data)
- JMP adr (salt necondiţionat la adrrresa adr)
- JMPZ adr (salt condiţionat de fanionul zero, Z=1)
- JMPC adr (salt condiţionat de fanionul de transport, C=1)
- CALL adr (apel de subrutină)
- RET (revenire din subrutină)
- RC (revenire din subrutină condiţonată de C=1)
- RZ (revenire din subrutină condiţionată de Z=1)
- HALT (oprire procesor)
- NOT AC (completarea conţinutului registrului acumulator)
- ROTD AC (rotire la dreapta a registrului acumulator)
- ROTS AC (rotire la stânga a registrului acumulator)
- ROTDC AC (rotire la dreapta a registrului acumulator dacă C=1)
- ROTDSC AC (rotire la stânga a registrului acumulator dacă C=1)
- DD AC (deplasare la dreapta a registrului acumulator)
- DS AC (deplasare la stânga a registrului acumulator)
- DDC AC (deplasarea la dreapta a registrului acumulator dacă C=1)
- DSC AC (deplasarea la stânga a registrului acumulator dacă C=1)
- STORE AC (scrierea în memorie a conţinutului acumulatorului)
- LOAD AC (citirea din memorie în acumulator a unei locaţii de memorie)
În implementare, se va ţine cont de precizările următoare:
• Unitatea de comandă să fie microprogramată (se va utiliza un număr minim de biţi de comandă)
• Adresarea memoriei se va realiza prin metoda segmentării
2. Scrierea microprogramelor pentru instructiuni
În acest capitol se face scrierea microprogramelor pentru instructiunile specificate ca fiind necesare spre a fi executate de către unitatea de control microprogramată în tema proiectului. Din punct de vedere teoretic , o instructiune este compusă din una sau mai multe . Aceste microoperatii formează microprogramele care duc la bun sfârsit operatiile care trebuiesc executate de către instructiunea pentru care se scriu aceste programe.
Pentru instructiunile specificate în tema proiectului microprogramele sunt cele care urmează :
- FETCH (aducerea din memorie a instrucţiunii/operandului)
RAV PC C0
TABS RAV(S) C1
MS TABS(S) C2
RA MS+RAV(C) C3
RM MP(RA) C4
PC PC+1 C5
RI RM(OP) C6
- PUSH R (depunerea în stivă a registrului general R)
SP SP-1 C7
RA SP C8
RM R C9
MP(RA) RM C10
- POP R (extragerea din stivă a registrului R)
SP SP+1 C11
RA SP C8
RM MP(RA) C4
Preview document
Conținut arhivă zip
- Proiect la Arhitectura Sistemelor de Calcul.doc