calculatorul elementar didactic (ced) · arhitectura calculatoarelor – calculatorul elementar...
TRANSCRIPT
Arhitectura
Calculatoarelor
Cătălina Mancaș Dan
Mancaș
Universitatea din Craiova
Facultatea de Automatică, Calculatoare și Electronică
Catedra de Ingineria Calculatoarelor și Comunicații
Calculatorul Elementar Didactic
(CED)
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Data trecută…
Structura generală a unui CPU;
Tehnici de echilibrare a vitezei de funcționare CPU-MP;
Organizarea avansată a comunicării CPU:
– echipamente periferice;
– unități I/O;
– procesoare I/O.
2
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Astăzi...
Structura detaliată a unui calculator digital;
Calculatorul Elementar Didactic;
– Structura generală;
– Funcționarea: FETCH, EXECUTE.
3
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Structura de bază a unui calculator
4
Flux de date
Comenzi sau linii de control
Informatii de stare sau linii de stare
Flux de date alternativ
Flux de instructiuni
CPU
Date de
intrare si
programe
Unitatea
Logico-
Aritmeticã
(ALU)
Unitatea de
Intrare
(UI)
Unitatea de
Iesire
(UO)
Unitatea de
Control
(UC)
Unitatea de
Memorie
(UM)
Date de iesire
sau rezultate
DMA DMA
DateInstructiuni
Flux de date
Flux de date alternativ
Flux de instrucțiuni
Linii de control
Linii de stare
= ALU + UC
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Structura generală a unui CPU
5
UC
Dispozitiv de procesare
R1
R2
R2
k
DEC
k/2k
Registre generale
Reg. Stare
ACC
Reg. Op.
ALU
Bloc de Procesare
Bloc
Secventiator
de Control
PC
Decodificator
OPCODE
RF
RI
RA
Calcul AE
Generator
de tact
incr.
Operatie
decodificata
Adresa
Operand
Adresa
Instructiune
Bloc de
Instructiune
Unitate
Buffer/DriverMagistrala
Sistem
Bloc de
Adresa
Magistrala Interna de Adrese
Magistrala Interna de Date
Linii interne de Stare
Linii interne de Control
Linii de
Control
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Complexă?
6
Structura generală a unui CPU
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi definită de modelul Neumann;
Unităţile sunt prezentate într-o formă simplificată conţinând numai componentele de bază.
7
Calculatorul Elementar Didactic
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Calculatorul Elementar Didactic
8
DECODIFICATOR
FUNCTIE
OPCODE ADRESA
1 . . . . . . . . L 1 . . . . . . . . K
RI
REGISTRU OUTPUT
UI
UO
PC
K
DEPLASATOR
SUMATOR/SCAZATOR
RS
RT3
RT2
ACC
RT1
MBR
0
.
.
.
i .
.
.
.
1 . . . . . K
REGISTRU INPUT
n
n
n
n
n
….
K
UIA pe n biti
Flags
K
Incr
Linii de
control
UCALU
U I/O
UM
MA
R
R/ W
R/ W
2k x n2k-1
BLOC DE
CONTROL
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea de Memorie (UM)
Reprezintă nivelul memoriei principale;
Este formată din:
– masivul de memorie propriu-zis;
Fiecare locaţie este identificată printr-o adresă unică care este pe k biţi deci spaţiul de adresare este de 2k, de la 0 la 2k-1.
– două registre: prin care comunică cu celelalte unităţi:
1) registrul MAR (Memory Address Register) – registrul de adresă al memoriei;
2) registrul MBR (Memory Buffer Register) – registrul de date al memoriei (Memory Data Register).
9
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea de Memorie (UM)
10
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea de Memorie (UM)
Masivul de memorie: 2k locaţii fiecare pe n biţi deci capacitatea memoriei este de 2k * n biţi.
11
0 Bn-1 ……… B1 B0
1
… … … … …
i-1
i
i+1
… … … … …
2k - 1
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea de Memorie (UM)
Două operaţii:
– Citire (READ) - în cazul ciclului de citire;
– Scriere (WRITE) – în cazul ciclului de scriere.
Comenzile READ şi WRITE sunt date de UC.
12
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea de Memorie (UM)
Ciclul citire:
– se depune adresa locaţiei ce trebuie citită în MAR;
– se identifică locaţia din MP;
– se dă comanda READ de către UC;
– informaţia aflată în locaţia respectivă se transferă în MBR.
Ciclul scriere:
– se înscrie data, ce urmează a fi memorată, în MBR;
– se dă comanda WRITE de către UC;
– se înscrie data aflată în MBR în locaţia adresată.
13
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea Logico-Aritmetică (ALU)
Este dotată cu:
– un sumator/scăzător;
– deplasator;
– câteva registre = memoria locală:
– Accumulator (ACC);
– 3 registre auxiliare (RT1, RT2, RT3);
– Registru de stare (RS).
14
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic 15
Unitatea Logico-Aritmetică (ALU)
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea Logico-Aritmetică (ALU)
Operaţiile executate în ALU sunt operaţii aritmetice binare pe n biţi;
Ele reprezintă un set restrâns de operaţii aritmetice.
Operaţiile definite pot fi pe un operand (monadice) sau pe doi operanzi (diadice);
Acumulatorul şi cele 3 registre auxiliare sau temporare sunt şi ele pe n biţi;
ACC este un registru special care conţine unul din cei doi operanzi precum şi rezultatul prelucrării.
16
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea Logico-Aritmetică (ALU)
Registrul de stare (status register) conţine o reuniune de indicatori de stare sau de condiţie numite şi fanioane (flags), cum ar fi:
– indicatorul de zero;
– indicatorul de paritate;
– indicatorul de semn, etc.
Indicatorul este un bit a cărui valoare indică o stare particulară în acumulator.
17
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea de Control (UC)
Este formată din:
– blocul de control (secvenţiator de control) = nucleul UC: lansează semnale către celelalte unităţi pentru desfăşurarea automată a procesului de calcul.
– numărătorul de program (PC): pe k biţi;
– conţine adresa de memorie a instrucţiunii ce urmează a fi executată;
– prezintă facilităţi de incrementare şi încărcare paralelă, operaţii controlate de blocul de control.
– registrul de instrucţiune (RI) pe n biţi;
– conţine instrucţiunea curentă aflată în execuţie;
– lungimea RI = lungimea instrucţiunii (care în cazul CED este pe n biţi);
– divizat în două subregistre: OPCODE pe L biţi şi ADRESA pe k biţi; OPCODE conţine forma codificată a funcţiei de executat, iar ADRESA conţine adresa operandului din MP sau adresa de salt.
18
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unitatea de Control (UC)
19
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unităţile I/O
Sistemul I/O este alcătuit din dispozitive de I/O foarte simple, la nivelul cel mai de jos, reprezentate de câte un registru pe n biţi;
Aceste registre comunică cu: – ALU, în particular cu ACC; – MP în particular cu MBR.
Registrul de intrare (registrul Input) poatre comunica cu UC, mai precis cu RI permitând înscrierea din exterior a unei instrucţiuni.
20
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Unităţile I/O
21
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Funcţionarea CED
Cf. principiilor von Neumann:
– instrucţiunile şi datele se află în memoria principală;
– orice instrucţiune se execută în ciclul instrucţiune, format din
cele două faze majore: faza FETCH şi faza EXECUTE.
FETCH:
– citirea sau extragerea instrucţiunii curente din MP;
– decodificarea OPCODE-ului.
EXECUTE:
– procesarea datelor extrase;
– memorarea rezultatelor.
RTL (Register Transfer Level): nivel de detaliu pentru descrierea paşilor ciclului instrucţiune;
Fiecare registru se identifică printr-o mnemonică unică.
22
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Faza FETCH
1) Adresa primei instrucţiuni din program este plasată în PC.
Conţinutul PC se transferă în registrul MAR.
2) UC-ul dă comanda READ şi se declanşează un ciclu de citire al memoriei, prin care conţinutul locaţiei adresate se transferă în registrul MBR;
Instrucţiunea curentă se află acum în MBR.
3) Instrucţiunea curentă este transferată din MBR în RI din UC.
4) Codul operaţiei (aflat în subregistrul OPCODE) se transferă în blocul de control unde are loc decodificarea sa.
5) Blocul de control lansează comanda de incrementare a PC pentru a indica adresa următoarei instrucţiuni ce trebuie executate.
23
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Faza FETCH
24
1
OPCODE ADRESARI PC
IncrBLOC DE
CONTROL
MBR
MA
R
2 READ
2
2
3
4
5
UC
UM
ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic
Faza EXECUTE
În momentul de față avem codul operației decodificat => știm ce operație este nevoie să fie executată.
Pentru execuţia instrucţiunii mai este nevoie de datele de prelucrat. Acestea nu se dau explicit in instrucţiune, dar se dau adresele acestora.
Definiţie: Operaţia de extragere a datelor din memorie în vederea prelucrării se numeşte FETCH DATA.
Deci, faza de execuţie este formată din două subfaze importante: FETCH DATA şi EXECUTE propriu-zis.
După faza EXECUTE se trece automat la următoarea fază FETCH instrucţiune.
Ciclul FETCH este identic pentru toate instrucţiunile în timp ce faza EXECUTE prezintă diferenţe în funcţie de natura funcţiei implementate.
25