Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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
Recapitulare
ARHITECTURA CALCULATOARELOR – Recapitulare
Cursuri
Curs 1: Reprezentarea numerelor negative;
Curs 2: Forme de reprezentare a informației 1;
Curs 3: Forme de reprezentare a informației 2;
Curs 4: Concepte fundamentale 1;
Curs 5: Concepte fundamentale 2;
Curs 6: Calculatorul elementar didactic;
Curs 7: Tehnici de adresare a memoriei;
Curs 8: Organizarea ierarhică a structurilor de calcul;
Curs 9: Structuri de interconectare. Criterii de clasificare;
Curs 10: Nivelul limbajului cod-mașină;
Curs 11: Stiva.
2
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 1: Reprezentarea numerelor negative
Complementul; metode de calcul;
Coduri speciale pentru reprezentarea numerelor negative;
Deplasarea numerelor binare cu semn.
3
Coduri: Direct; Complementar; Invers.
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 2: Forme de reprezentare a informației 1
Două moduri:
4
Noțiuni fundamentale: UIA; Octet (byte); Semicuvântul (2 octeți); Cuvântul (4 octeți); Dublu-cuvântul (8 octeți).
Reprezentare: externă;
internă:
naturală (în virgulă fixă-FXP); normală (în virgulă mobilă-FLP).
Analiza comparativă a erorilor de reprezentare în FXP și FLP.
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 3: Forme de reprezentare a informației 2
Reprezentarea informației în calculatorul digital;
Calculatoarele prelucrează:
– informaţie numerică;
– informaţie alfanumerică: litere, semne de punctuaţie, semnearitmetice, caractere speciale etc.
=> coduri alfanumerice;
Condiții pentru codurile alfanumerice;
ASCII-7
Coduri ASCII-8
Alfanumerice EBCIDIC
UNICODE
5
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 4: Concepte fundamentale 1
Structura unui calculator și modul de funcționare;
Noțiuni fundamentale:– Calculatorul digital: definiții;– Principiul comenzii după program principiul von Neumann;– Proceduralitatea;– Principiile von Neumann (5).
Structura de bază a calculatorului digital (cf. principiilorvon Neumann): structura în 5 unități:
1. Unitatea de Intrare (UI) – Input Unit (IU);
2. Unitatea Logico-Aritmetică (ALU) – Arithmetic and Logic Unit;
3. Unitatea de Memorie (UM) – Memory Unit (MU);
4. Unitatea de Ieşire (UO) – Output Unit (OU);
5. Unitatea de Control (UC) – Control Unit (CU).
Funcționarea calculatorului digital.
6
ARHITECTURA CALCULATOARELOR – Recapitulare 7
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
Curs 4: Structura de bază a unui calculator
ARHITECTURA CALCULATOARELOR – Recapitulare
Flux de date
Comenzi sau linii de control
Informatii de stare sau linii de stare
Flux de date alternativ
Flux de instructiuni
Flux de date
Flux de date alternativ
Flux de instrucțiuni
Linii de control
Linii de stare
8
Date de
intrare si
programe
Unitatea
Logico-
Aritmeticã
(ALU)
Unitatea de
Intrare
(UI)
Unitatea de
Iesire
(UO)
Unitatea de
Control
(UC)
Memorie
Superoperativa
(MSO)
CPU
Date de iesire
sau rezultate
DMA DMA
DateInstructiuni
Memorie
Operativa
(MO)
Memorie
Secundara
(MS)
Date
Date
Unitatea Centrala
MP
Curs 4: Structura de bază a unui calculator
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 4: Ciclul instrucțiune
Ansamblul de operaţii legate de realizarea unei instrucţiuni.
Faze pentru execuţia unei instrucţiuni:
– FETCH: Citirea instrucţiunii cod maşină din memorie şi
tranferarea ei în CPU;
– EXECUTE: Executarea instrucţiunii de către unităţile
funcţionale ale calculatorului (în special de ALU), adică
generarea rezultatului.
Aceste faze se execută repetat în timpul rulării unui program;
O secvenţă FETCH-EXECUTE formează ciclul instrucţiune;
Fazele FETCH și EXECUTE sunt formate din mai multe subfaze.
9
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 4: Ciclul instrucțiune: Faze și subfaze
10
FETCH
INSTRUCTION
Stocarea
instructiunii in RF
si RA
Decodificare
OPCODE
Generare adresa
urmatoarei
instructiuni
Calculul adresei
operandului
FETCH DATA
EXECUTE
propriu-zis
Stocarea
rezultatului
Fa
za F
ET
CH2
3
4
5
6
7
8
Fa
za E
XE
CU
TE C
ICL
UL
IN
ST
RU
CT
IUN
E
1
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 5: Concepte fundamentale 2
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.
11
ARHITECTURA CALCULATOARELOR – Recapitulare
Structura de bază a unui CPU
12
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 – Recapitulare
Structura generală a unui CPU
13
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 – Recapitulare
CPU = ALU + UC
14
ARHITECTURA CALCULATOARELOR – Recapitulare
ALU:
– un set de registre generale memoria locală;
– un bloc de procesare.
Memoria locală:
– R1, R2…;
Blocul de procesare:
– un dispozitiv de procesare: ce implementează operaţii logice
şi aritmetice;
– registrul acumulator (ACC);
– registrul buffer (tampon): pentru memorarea celui de-al
doilea operand (Reg. Op.);
– registrul de stare sau de flaguri (Reg. Stare).
15
CPU = ALU + UC
ARHITECTURA CALCULATOARELOR – Recapitulare
UC: 3 blocuri:
Blocul de instrucţiune:
– numărătorul de program (PC);
– registrul de instrucţiune (RI);
– registrul de funcţie (RF);
– decodificatorul de OPCODE.
Blocul de adresă:
– registrul de adresă (RA): stocarea adresei logice (AL);
– un dispozitiv de calcul al adresei efective (AE) din AL.
Blocul secvenţiator de control:
– generează toate comenzile către toate celelalte blocuri aleCPU și unităţi ale calculatorului;
– în vederea realizării funcţiei instrucţiunii curente;
– primeşte informaţii de stare de la toate blocurile.
16
CPU = ALU + UC
ARHITECTURA CALCULATOARELOR – Recapitulare
Memoria: structură ierarhică;
Memoria secundară (externă);
– programele şi datele care nu se prelucrează curent de CPU;
– offline;
– capacitate mare;
– timp de acces mare şi mediu.
Memoria principală (operativă);
– conţine programele şi datele prelucrate curent de CPU;
– online;
– se extrag instrucţiunile şi datele curente ce se executa în CPU.
Memoria locală;
– este formată dintr-un set de registre plasate în CPU;
– cea mai rapidă memorie din ierarhie.
17
Memoria
ARHITECTURA CALCULATOARELOR – Recapitulare 18
MS
Nivel III
MP Nivel II
ML Nivel I
CPU
Memoria
Viteza
crește
Capacitatea
crește
Conflict: viteza MO << viteza CPU
ARHITECTURA CALCULATOARELOR – Recapitulare
3 metode:
1) Lărgirea magistralei de date;
2) Creşterea numărului de nivele în ierarhia memoriei;
3) Preîncărcarea instrucţiunilor (prefetching).
19
Tehnici de echilibrare a vitezei CPU-MP
ARHITECTURA CALCULATOARELOR – Recapitulare
3 metode:
1) Lărgirea magistralei de date;
20
Tehnici de echilibrare a vitezei CPU-MP
MP
Magistrala de date
CPU <-
mai multe instrucțiuni
MP
Magistrala de date
CPU<-1 instrucțiune
ARHITECTURA CALCULATOARELOR – Recapitulare
3 metode:
2) Creşterea numărului de nivele în ierarhia memoriei;
Idee: introducerea unui nivel suplimentar între MP(MO) şi CPU;
MSO: Memoria Super Operativă Memoria Cache
21
Tehnici de echilibrare a vitezei CPU-MP
ARHITECTURA CALCULATOARELOR – Recapitulare
Flux de date
Comenzi sau linii de control
Informatii de stare sau linii de stare
Flux de date alternativ
Flux de instructiuni
Flux de date
Flux de date alternativ
Flux de instrucțiuni
Linii de control
Linii de stare
22
Date de
intrare si
programe
Unitatea
Logico-
Aritmeticã
(ALU)
Unitatea de
Intrare
(UI)
Unitatea de
Iesire
(UO)
Unitatea de
Control
(UC)
Memorie
Superoperativa
(MSO)
CPU
Date de iesire
sau rezultate
DMA DMA
DateInstructiuni
Memorie
Operativa
(MO)
Memorie
Secundara
(MS)
Date
Date
Unitatea Centrala
MP
Tehnici de echilibrare a vitezei CPU-MP
ARHITECTURA CALCULATOARELOR – Recapitulare
3 metode:
3) Preîncărcarea instrucţiunilor (prefetching).
Suprapunerea fazei EXECUTE de la intrucţiunea curentă cu faza FETCH de la instrucţiunea următoare.
23
Tehnici de echilibrare a vitezei CPU-MP
ARHITECTURA CALCULATOARELOR – Recapitulare
Unități I/O
24
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 – Recapitulare 25
Structura Unității I/O
Registre de date
Registre de
Stare/Control
Linii de
date
Logica I/O
Linii de Adresa
Linii de Control
Interfata cu
disp. periferic
Interfata cu
disp. periferic
Date
Stare
Control
Date
Stare
Control
CPU Disp.
periferice
ARHITECTURA CALCULATOARELOR – Recapitulare
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ă;
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.
26
Curs 6: Calculatorul elementar didactic
ARHITECTURA CALCULATOARELOR – Recapitulare 27
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
Curs 6: Calculatorul elementar didactic
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 7: Tehnici de adresare a memoriei
Adresare tip operand presupus;
Adresare implicită;
Adresare imediată;
Adresare directă;
Adresare paginată;
Adresare bazată;
Adresare indexată;
Adresarea indirectă;
Adresare pentru un bloc de date;
Tehnici de adresare combinate.
28
ARHITECTURA CALCULATOARELOR – Recapitulare 29
Nivelul Hardware
(MF)
Nivelul
microprogramarii
Limbajul cod
masina
Sistemul de
operare
Limbajul de
asamblare
Limbaje de nivel
inalt
Limbaje de nivel
foarte inalt
Executie directa
Interpretare
Arhitectura
calculatorului
Interpretare partiala
Translatare (asamblare)
Translatare (compilare) sau interpretare
Translatare (pre-compilare) sau interpretare
0
1
2
3
4
5
6
Curs 8: Organizarea ierarhică a structurilor de calcul
ARHITECTURA CALCULATOARELOR – Recapitulare 30
Nivelul Hardware
(MF)
Nivelul
microprogramarii
Limbajul cod
masina
Sistemul de
operare
Limbajul de
asamblare
Limbaje de nivel
inalt
Limbaje de nivel
foarte inalt
Executie directa
Interpretare
Arhitectura
calculatorului
Interpretare partiala
Translatare (asamblare)
Translatare (compilare) sau interpretare
Translatare (pre-compilare) sau interpretare
0
1
2
3
4
5
6
Curs 8: Organizarea ierarhică a structurilor de calcul
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 9: Structuri de interconectare
Magistrala:
31
D.p.d.v. al rolului: dedicată; multiplexată.
D.p.d.v. al funcţionării: sincronă; asincronă.
Magistrala de sistem: magistrala de adrese; magsitrala de date; magistrala de control
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 9: Criterii de clasificare
Clasificarea calculatoarelor d.p.d.v. al magistralei:
– Calculatoare cu o singură magistrală;
– Calculatoare cu două magistrale;
– Calculatoare cu trei magistrale;
– Calculatoare cu organizare multiport/multibus.
Clasificarea calculatoarelor după criteriul Flynn(criteriul fluxului de date şi fluxului de instrucţiuni):
– SISD (Single Instruction Single Data) – flux unic de instrucţiuni,flux unic de date;
– SIMD (Single Instruction Multiple Data) – flux unic de instrucţiuni,flux multiplu de date;
– MISD (Multiple Instructions Single Data) – flux multiplu deinstrucţiuni, flux unic de date;
– MIMD (Multiple Instructions Multiple Data) – flux multiplu deinstrucţiuni, flux multiplu de date.
32
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 10: Nivelul limbajului cod-mașină
Definiție detaliată: Arhitectura calculatoarelor;
Instrucțiuni:
– Formate de instrucțiuni: # de sub-câmpuri de adresă:
– Criterii de proiectare a formatelor de instrucțiuni;
– Lungimea instrucțiunilor;
– Noțiunea de metabit;
– Formate ortogonale și etichetate.
33
Instrucțiuni cu 4 adrese;Instrucțiuni cu 3 adrese;Instrucțiuni cu 2 adrese;Instrucțiuni cu 1 adresă;Instrucțiuni cu nici o adresă.
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 10: Nivelul limbajului cod-mașină
Clase de instrucțiuni:
34
Clasa de instrucţiuni de transfer al datelor;
Clasa de instrucţiuni diadice;
Clasa de instrucţiuni monadice;
Clasa instrucţiunilor de I/O;
Clasa instrucţiunilor de control al ciclurilor;
Clasa instrucţiunilor de control ale CPU.
ARHITECTURA CALCULATOARELOR – Recapitulare
Curs 11: Stiva
Stiva:
35
Categorii: Hardware; Software:
cu umplere în sus; cu umplere în jos.
Operații: PUSH; POP.
Lucrul cu stiva (la microprocesorul I8080): Instrucţiunea PUSH; Instrucţiunea POP; Instrucţiunea LXI.
Utilizarea stivei la apelul procedurilor: Instrucţiunea CALL; Instrucţiunea RETURN.
ARHITECTURA CALCULATOARELOR – Recapitulare
Recapitulare
36
Tehnici de echilibrare a
vitezei CPU-UM
UI
UO
TransferulCPU<->UI/O
Tehnici de adresare a memoriei
CPU: ALU
CPU: UC
UM
Structuride inter-conectare
Stiva
CED
Ciclulinstrucțiune
ARHITECTURA CALCULATOARELOR – Recapitulare 37
Recapitulare
Nivelul Hardware
(MF)
Nivelul
microprogramarii
Limbajul cod
masina
Sistemul de
operare
Limbajul de
asamblare
Limbaje de nivel
inalt
Limbaje de nivel
foarte inalt
Executie directa
Interpretare
Arhitectura
calculatorului
Interpretare partiala
Translatare (asamblare)
Translatare (compilare) sau interpretare
Translatare (pre-compilare) sau interpretare
0
1
2
3
4
5
6
Formate de instrucțiuni;
Criterii de proiectare a formatelor de instrucțiuni;
Clase de instrucțiuni.
Translatare(compilare) Interpretare