Sunteți pe pagina 1din 20

Proiect Arhitectura

Sistemelor de Calcul

Doca Andrei Tiberiu


Pater Andrei
Kovacs Attila
Grupa 1631

Îndrumător proiect:
Șef luc. dr. ing. Simina Maria Coman

2020/2021
Proiect ASC

Cuprins

Temă de proiect ..................................................................................................... 3


Noțiuni introductive ............................................................................................... 4
Detalierea instrucțiunilor microporgramelor .......................................................... 6
Descrierea semnalelor de control ......................................................................... 10
Organigrama unității de comandă ........................................................................ 12
Determinarea ecuațiilor semnalelor de control ..................................................... 18
Concluzii ............................................................................................................. 20

2
Proiect ASC

Temă de proiect

Proiectul își propune dezvoltarea unei unități de comandă microprogramată care


să stea la baza proiectării unui microprocesor și să fie capabilă să execute 37 de
instrucțiuni.
Instrucțiuni incluse în proiect sunt următoarele:
1.FETCH 20.JMPZ adr
2.PUSH R 21.JMPC adr
3.POP R 22.CALL adr
4.CMP RM 23.RET
5.AND RM 24.RC
6.OR RM 25.RZ
7.XRA RM 26.HALT
8.CPR data 27.NOT AC
9.DCR AC 28.ROTD AC
10.INC AC 29.ROTS AC
11.ADC AC 30.ROTDC AC
12.SBC AC 31.ROTSC AC
13.ADD AC 32.DD AC
14.SBB AC 33.DS AC
15.SBI data 34.DDC AC
16.SWIT data 35.DSC AC
17.ACI data 36.STORE AC
18.ADI data 37.LOAD AC
19.JMP adr

În implementare se va ține cont de precizările următoare:



Unitatea de comandă va fi cablată;

Adresarea memoriei se va realiza prin metoda paginării.

3
Proiect ASC

Noțiuni introductive

Realizarea sistemului pornește de la schema bazată a unui sistem de calcul


adăugând procedeul detaliat în cadrul secțiunii Metoda paginării și prezentând
registrele necesare pentru realizarea instrucțiunilor.

Figura 1 – Schema bazată a unui sistem de calcul

Metoda paginării:
Adresarea paginată este un mod de adresare directă apărut din necesitatea de a
scurta lungimea instrucțiunilor. Pentru un volum mare de memorie avem și un
câmp de adresă mai mare, prin urmare pentru a scurta lungimea cuvântului de
adresă s-a divizat spațiul de memorie în pagini de memorie, lucru ce a dus la
simplificarea memoriei. Paginile de memorie au dimensiuni fixe.
Figura 2 prezintă structura dispozitivului de convertire a adreselor pentru un sistem
de calcul cu memorie virtuală organizată după metoda paginării în care tabela de
corespondență între paginile virtuale și paginile din memoria principală este
memorată într-o memorie RAM specială.

4
Proiect ASC

Pentru a putea fi utilizată memoria, tabela de corespondență face corespondență


dintre adresele de pagini virtuale față de cele reale . Dimensiunile sunt relative de 9
cifre binare pentru paginile virtuale notate cu RAV(P) și 5 cifre binare pentru cele
reale RA(P).

Figura 2 - Structura dispozitivului de convertire a adreselor

Etape în realizarea proiectului:



Detalierea instrucțiunilor microporgramelor;

Descrierea semnalelor de control;

Realizarea organigramei;

Determinarea ecuațiilor semnalelor de control.

5
Proiect ASC

Detalierea instrucțiunilor microporgramelor

În cele ce urmează se va realiza detalierea instrucțiunilor specificate ca fiind


necesare spre a fi executate de către unitatea de control.

Fetch realizează citirea și interpretarea intrucțiunilor.
1.FETCH
RAV← PC C0
RA(P) ← TABP(RAV(P)) C1
RAC ← RAVC C2
RM← MP(RA) C3
PC← PC+1 C4
IR← RM(OP) C5

2.PUSH
SP← SP-1 C6
RM← R C7
RA←SP C8
MP(RA)← RM C9

3.POP R
RA←SP C8
RM← MP(RA) C3
R← RM C10
SP←SP+1 C11

4.CMP RM
AC← AC-RM C12
IF(AC=0)Z← 1 C13

5.AND RM
AC← AC AND RM C14

6.OR RM
AC← AC OR RM C15

6
Proiect ASC

7.XRA RM
AC← AC XOR RM C16

8.CPR data
RA← RM(adr) C17
RM← MP(RA) C3
CMP RM

9.DCR AC
AC← AC-1 C18

10.INC AC
AC← AC+1 C19

11.ADC AC
AC← AC+RM+C C20

12.SBC AC
AC← AC-RM-C C21

13.ADD AC
AC← AC+RM C22

14.SBB AC
AC← AC-RM C12

15.SBI data
RA← RM(adr) C17
RM← MP(RA) C3
SBC AC

16.SWIT data
RA← RM(adr) C17
RM← MP(RA) C3
SBB AC

17.ACI data
RA← RM(adr) C17
RM← MP(RA) C3

7
Proiect ASC

ADC AC

18.ADI data
RA← RM(adr) C17
RM← MP(RA) C3
ADD AC

19.JMP adr
PC← RM(adr) C23

20.JMPZ adr
IF Z=1 THEN JMP adr

21.JMPC adr
IF C=1 THEN JMP adr

22.CALL (execută apelul de subrutină)


R← PC C24
PUSH R – depune in stivă Salvez starea PC
R← CF C25
PUSH R Cuvântul de stare al procesului (PSW) se salvează în stivă

23.RET (revenire din subprogram)


POP R
CF← R C26 refac PSW
POP R
PC← R C27 refac PC

24.RC - execută o revenire condiționată de fanionul de transport C


IF C=1 then RET

25.RZ - execută o revenire condiționată de fanionul de zero Z


IF Z=1 then RET

26.HALT - oprește procesorul


PC← PC-1 C28

27.NOT AC
AC← !AC C29

8
Proiect ASC

28.ROTD AC
S← AC(0) C30
AC(0,n-1)← AC(1,n) C31
AC(n)← S C32

29.ROTS AC
S← AC(n) C33
AC(1,n)← AC(0,n-1) C34
AC(0)← S C35

30.ROTDC AC
IF (C=1) ROTD AC

31.ROTSC AC
IF (C=1) ROTS AC

32.DD AC
AC(0,n-1)← AC(1,n) C31
AC(n)← 0 C36

33.DS AC (deplasează la stânga registrul acumulator)


AC(1,n)← AC(0,n-1) C34
AC(0)← 0 C37

34.DDC AC (deplasează la dreapta a registrului acumulator)


IF (C=1) DD AC

35.DSC AC (deplasează la stânga a registrului acumulator)


IF (C=1) DS AC

36.STORE AC (salvează conținutul resgistrului acumulator în memorie)


RA← RM(adr) C17
RM← ACC38
MP(RA)← RM C9

37.LOAD AC (încarcă în registrul acumulator din memorie)


RA← RM(adr) C17
RM← MP(RA) C3
AC← RM C39

9
Proiect ASC

Descrierea semnalelor de control

Semnalele de control sunt semnale folosite de procesor pentru a executa anumite


operații care sunt asociate acestora.
În cazul acestui proiect semnalele de control și microoperațiile asociate acestora
sunt detaliate în următorul tabel.
Semnalul de control Microoperație asociată
C0 RAV← PC
C1 RA(P) ← TABP(RAV(P))
C2 RA(C) ← RAV(C)
C3 RM ← MP(RA)
C4 PC ← PC+1
C5 IR ← RM(OP)
C6 SP ← SP-1
C7 RM←R
C8 RA←SP
C9 MP(RA) ← RM
C10 R←RM
C11 SP ← SP+1
C12 AC ← AC-RM
C13 Z←1
C14 AC ← AC AND RM
C15 AC←ACORRM
C16 AC ← AC XOR RM
C17 RA ← RAM(adr)
C18 AC ← AC-1
C19 AC ← AC+1
C20 AC ← AC+RM+C
C21 AC ← AC-RM-C
C22 AC ← AC+RM
C23 PC ← RM(adr)
C24 R←PC
C25 R←CF
C26 CF←R
C27 PC←R
C28 PC←PC-1

10
Proiect ASC

C29 AC ←
̅̅̅̅

C30 S ← AC(0)
C31 AC(0, n-1) ← AC(1, n)
C32 AC(n) ← S
C33 S ← AC(n)
C34 AC(1, n) ← AC(0, n-1)
C35 AC(0) ← S
C36 AC(n) ← 0
C37 AC(0) ← 0
C38 RM←AC
C39 AC←RM

În multe sisteme digitale este necesar ca procesele de comutare să aibă loc numai
la anumite momente de timp bine determinate adică ele să fie sincronizate cu alte
semnale. Aceste semnale de sincornizare se mai numesc semnale de tact sau de
ceas. În cele ce urmează se va realiza organigrama unității de comandă ce cuprinde
toate microoperațiile discutate, semnalele de comandă și faze.

11
Proiect ASC

Organigrama unității de comandă

12
Proiect ASC

13
Proiect ASC

14
Proiect ASC

15
Proiect ASC

16
Proiect ASC

17
Proiect ASC

Determinarea ecuațiilor semnalelor de control


Ecuațiile semnalelor de control au fost determinate pe baza organigramei, realizată
în urma scrierii instrucțiunilor pentru fiecare semnal în parte.
Formele ecuațiilor pentru fiecare semanl în parte au fost reprezentate mai jos.
C0= Φ1
C1= Φ2
C2= Φ2
C3 = Φ3 + Φ4 + (Φ7 + Φ8) * (POP + CPR + SBI + SWIT + ACI + ADI + RE + LOAD)
+ (Φ12 + Φ13) * RET
C4= Φ5
C5= Φ5
C6 = Φ6 * PUSH + (Φ7 + Φ12) * CALL
C6 = Φ6 * PUSH + (Φ7 + Φ12) * CALL

C8 = Φ7 * PUSH + Φ6 * POP + (Φ8 + Φ13) * CALL + (Φ6 + Φ11) *


RET C9 = (Φ8 + Φ9) * PUSH + (Φ9 + Φ10 + Φ14 + Φ15) * CALL + Φ8
*STORE C10 = Φ9 * POP + (Φ9 + Φ14) * RET
C11 = Φ9 * POP + (Φ9 + Φ14) *
RET C12 = Φ6 * (CMP + SBB)
C13= Φ7 * CMP + Φ9 *
CPR C14= Φ6 * AND
C15= Φ6 * OR
C16= Φ6 * XRA
C17= Φ6 * ( CPR + SBI + SWIT + ACI + ADI + STORE + LOAD)
C18= Φ6 * DRC
C19= Φ6 * INC

18
Proiect ASC

C20= Φ6 * ADC
C21= Φ6 * SBC
C22= Φ6 * ADD
C23= Φ6 * JMP + Φ16 * CALL
C24= Φ6 * CALL
C25= Φ11 * CALL
C26= Φ10 * RET
C27= Φ15 * RET
C28= Φ6 * HALT
C29= Φ6 * NOT
C30= Φ6 * ROTD
C31= Φ7 * ROTD + Φ6 * DD
C32= Φ8 * ROTD
C33= Φ6 * ROTS
C34= Φ7 * ROTS + Φ6 * DS
C35= Φ8 * ROTS
C36= Φ7 * DD
C37= Φ7 * DS
C38= Φ7 * STORE
C39= Φ9 * LOAD

19
Proiect ASC

Concluzii

Cu ajutorul unității de control cablate descrise mai sus și a unității de procesare a


datelor, am reușit să proiectăm un sistem de calcul pe 8 biți care execută un set de
instrucțiuni specifice și anume: LOAD, STORE, AND, NAND , OR, INCR, DCR,
JUMP, JMPZ etc.
De asemenea, în cadrul acestui proiect am învățat să optimizăm microprogramul
unității de control, astfel încât și sistemul de calcul să-și mărească performanța și
viteza de execuție.
Scrierea pseudocodului, ne-a fost de mare ajutor pentru înțelegerea funcționării
sistemului de calcul și pentru optimizarea codului de execuție.

20

S-ar putea să vă placă și