Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar...

25
Arhitectura Calculatoarelor Cătălina Mancaș Dan Mancaș [email protected] [email protected] Universitatea din Craiova Facultatea de Automatică, Calculatoare și Electronică Catedra de Ingineria Calculatoarelor și Comunicații Calculatorul Elementar Didactic (CED)

Transcript of Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar...

Page 1: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

Arhitectura

Calculatoarelor

Cătălina Mancaș Dan

Mancaș

[email protected]

[email protected]

Universitatea din Craiova

Facultatea de Automatică, Calculatoare și Electronică

Catedra de Ingineria Calculatoarelor și Comunicații

Calculatorul Elementar Didactic

(CED)

Page 2: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 3: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic

Astăzi...

Structura detaliată a unui calculator digital;

Calculatorul Elementar Didactic;

– Structura generală;

– Funcționarea: FETCH, EXECUTE.

3

Page 4: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 5: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 6: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic

Complexă?

6

Structura generală a unui CPU

Page 7: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 8: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 9: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 10: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic

Unitatea de Memorie (UM)

10

Page 11: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 12: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 13: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 14: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 15: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic 15

Unitatea Logico-Aritmetică (ALU)

Page 16: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 17: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 18: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 19: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic

Unitatea de Control (UC)

19

Page 20: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 21: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic

Unităţile I/O

21

Page 22: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 23: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 24: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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

Page 25: Calculatorul Elementar Didactic (CED) · ARHITECTURA CALCULATOARELOR – Calculatorul Elementar Didactic Calculatorul Elementar Didactic (CED) corespunde structurii în 5 unităţi

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