lecture_2_asc
DESCRIPTION
arhitectura sistmelor de calculTRANSCRIPT
Ce este arhitectura unui sistem de calcul ?
Termenul de arhitectură se referă, de regulă, la clădiri, nu la calculatoare.
Un arhitect este o persoană care proiectează.
Printre multiplele definiţii ale arhitecturii putem găsi că este “structura unui
lucru oarecare “.
De aici se deduce că a vorbi de arhitectura unui calculator înseamnă că
facem referire la dispunerea componentelor acestuia şi la modul în care au
fost ele proiectate pentru a funcţiona împreună.
Din aceste raţiuni, proiectanţii de calculatoare şi chiar utilizatorii acestora
folosesc adeseori expresia “arhitectura calculatoarelor“.
2
Arhitectura se refera la acele atribute ce sunt vizibile
programatorului
◦ Setul de instructiuni, numarul de biti utilizati pentru reprezentarea
datelor, mecanisme de I/E, tehnici de adresare
◦ e.g. Este sau nu este implementata o instructie de inmultire?
Organizarea se refera la cum sunt implementate aceste
facilitati
◦ Semnale de control, interfete, tehnologii de memorii
◦ e.g. Este o unitate hardware pentru inmultire sau inmultirea se ralizeaza
prin adunari repetate
3
Exemple de atribute arhitecturale includ
◦ setul de instrucţiuni,
◦ numărul de biţi utilizaţi pentru reprezentarea diferitelor tipuri
de date (numerice, caracter),
◦ mecanisme de intrare-ieşire,
◦ tehnici de adresare a memoriei.
Atributele de organizare includ acele detalii hardware
ce sunt transparente programatorului, de genul:
◦ semnalelor de control,
◦ a interfeţelor dintre calculator şi periferie şi
◦ a tehnologiei de memorie utilizată.
4
existenţa unei instrucţiuni de înmulţire este o problemă arhitecturală
modul în care se implementează înmulţirea: cablat sau prin algoritm software este o problemă de organizare a sistemului.
Decizia organizatorică va fi luată funcţie de:
◦ frecvenţa de utilizare a instrucţiunilor ce se anticipă,
◦ viteza relativă a celor două abordări şi
◦ costul şi dimensiunea unei unităţi fizice pentru realizarea operaţiei de înmulţire.
5
Din punct de vedere istoric, distincţia dintre arhitectură şi organizare este
importantă.
Mulţi producători de sisteme de calcul oferă familii de modele de computere, toate
având aceeaşi arhitectură (diferaînsă din punctul de vedere al organizării). ◦ diferitele modele ale unei familii au diferite preţuri şi diferite caracteristici de
performanţă.
◦ o arhitectură poate supravieţui mulţi ani, pe când organizarea se schimbă odată cu
schimbările tehnologice ce apar.
Un exemplu elocvent a celor două aspecte mai sus amintite este arhitectura
sistemului IBM/370. ◦ Arhitectura a fost introdusă pentru prima dată în 1970 şi ea include o serie de modele.
◦ Cu timpul, IBM a oferit consumatorilor tot mai multe modele, tot mai performante, şi mai
rapide.
◦ Aceste noi modele păstrau aceeaşi arhitectură, astfel încât investiţia software era protejată.
◦ Remarcabil este faptul că arhitectura sistemului IBM/370 a supravieţuit până azi ca şi
arhitectură a liniei de producţie IBM (cu mici modificări)
6
Familia sistemele IBM/370 prezinta aceasi arhitectura
Familiile Intel x86 au aceeasi arhitectura de baza
Aceasta asigura compatibilitatea codurilor
◦ Cel putin de sus in jos
Organizarile difera intre diferite versiuni
7
Sistemul de calcul este un sistem complex (cele actuale conţin milioane de componente electronice)
◦ pentru descriere este esenţială recunoaşterea arhitecturii ierarhice
Un sistem ierarhic este un set de subsisteme interconectate, fiecare dintre acestea fiind la rândul lui ierarhic în structură, până la atingerea nivelului cel mai scăzut de susbsistem elementar.
Natura ierarhică a unui sistem este importantă pentru:
◦ proiectarea sistemului
◦ descrierea acestuia.
La un moment dat, proiectantul va opera doar la un anumit nivel particular al sistemului.
La fiecare nivel, sistemul constă dintr-un set de componente şi interconexiunile lor.
Comportarea la fiecare nivel depinde doar de o reprezentare simplificată şi abstractă a sistemului la nivelul său inferior următor.
8
Structura este data de modul in care componentele
sunt legate intre ele
Functia este data de operarea fiecarei componente
individuale ca si parte din structura data
9
Există două alternative:
1. fie se începe cu o vedere de sus (top down) şi se
descompune sistemul în părţile sale componente,
2. fie se porneşte de la baza sistemului şi se continuă cu
construcţia prin descriere a sistemului până la
descrierea lui completă (bottom-up).
Se pare că prima abordare este mai clară şi mai
eficientă.
10
Vedere functionala a unui computer:
ASC 12
Data
Movement
Apparatus
Control
Mechanism
Data
Storage
Facility
Data
Processing
Facility
Muatea datelor
◦ e.g. De la tastatura la ecran
ASC 13
Data
Movement
Apparatus
Control
Mechanism
Data
Storage
Facility
Data
Processing
Facility
Memorarea
◦ e.g. Descarcarea datelor Internet pe disc
ASC 14
Data
Movement
Apparatus
Control
Mechanism
Data
Storage
Facility
Data
Processing
Facility
Procesare din/spre memorie
◦ e.g. updating bank statement
ASC 15
Data
Movement
Apparatus
Control
Mechanism
Data
Storage
Facility
Data
Processing
Facility
Procesare de la memorie la I/O
◦ e.g. printing a bank statement
ASC 16
Data
Movement
Apparatus
Control
Mechanism
Data
Storage
Facility
Data
Processing
Facility
17
Computer
Main
Memory
Input
Output
Systems
Interconnection
Peripherals
Communication
lines
Central
Processing
Unit
Computer
18
Computer Arithmetic
and
Login Unit
Control
Unit
Internal CPU
Interconnection
Registers
CPU
I/O
Memory
System
Bus
CPU
19
CPU Arithmetic
and
Login Unit
Control
Unit
Internal CPU
Interconnection
Registers
Control
Unit
ALU
Registers
Internal
Bus
Control Unit
Această caracteristică implică
anumite particularităţi
structurale:
separarea registrelor şi a
logicii de comandă de
memorie,
existenţa unui numărător de
adrese şi a unui registru de
instrucţii şi
existenţa unor posibilităţi de
introducere şi extragere a
datelor.
Aducerea instrucţiei din
memorie
Aducerea operanzilor
din memorie
Execuţia instrucţiei
1
2
argument
implicit
3
22
Structura unui calculator simplu cu extinderea posibilităţilor de adresare
Formatul cuvântului instrucţie cu referire la memorie
RA
M A
ALU
NA
RI
MP4096 x 12
0
0
0
0 0
11
11
1111
2
O P I P A D R0 1 2 3 4 5 1 1
23
Registru RA(0 - 11), registrul adresei
NA(0 - 11), numărător de adrese
M(0 - 11), registrul memoriei
A(0 - 11), registrul acumulator
RI(0 - 11); registrul instrucţiei
subregistru RA(AP) = RA(0 -4) adresa paginii
RA(ADR) = RA(5 - 11): adresa în pagină
subregistru M(OP) = M(0 -2), partea de cod
M(I) = M(3), I = 0 adresare directă
I = 1 adresare indirectă
M(P) = M(4), P = 0 pagina 0
P = 1 pagina curentă
M(ADR) = M(5 - 11); partea de adresă
memorie MP(RA) = MP(0 - 4095, 0-
11);
decodificator D(0 - 7) = RI;
D(0), D(1), ...,D(5);
instrucţii cu referire la
memorie
D(6) şi D(7); Instr. fără referire la
memorie
orologiu P(0 - 7);
O P I P A D R0 1 2 3 4 5 1 1
24
RA
M A
ALU
NA
RI
MP4096 x 12
0
0
0
0 0
11
11
1111
2
RA NA
M MP(RA)
NA incr(NA)
RI M(OP)
RA(ADR) M(ADR)RA(AP) 0
RA(ADR) M(ADR)
M MP(RA)
M incr(M)
MP(RA) M
RA M
M(P) =0
(RA) < 8
M(I) = 1
D(6)+D(7)=1fără referire la
memorie
da
da
da
da
nu
nu
nu
nu
OP I P ADR 0 1 2 3 4 5 11
25
RA
M A
ALU
NA
RI
MP4096 x 12
0
0
0
0 0
11
11
1111
2
P(0): RA NA;
P(1): M MP(RA);
P(2): RI M(OP);
: RA(ADR) M(ADR);
: RA(AP) 0, RA(ADR) M(ADR);
P(3) (D(6) + D(7)): fără referire la memorie
P(4) M(I): M MP(RA);
P(5): dacă (RA < 8) atunci M incr(M);
P(6): dacă (RA < 8) atunci MP(RA) M;
P(7): RA M;
sfârşit
PMDDP 763
PMDDP 763
26
Principalele elemente din structura calc. IRIS-50 care participă la calculul adresei operandului
RA
M A
ALU
NA
I
MP131 072 x (2 x 8)
(256 Kocteţi)
14
14
4
14 14
30
30
3131
15
0
3
J MR 16 x 32
27
I
15
D0 1 2 3 4 5 6
B Q X F7 8 9 16 31
RA NA
M(16 - 31) MP(RA)
A (NA, 0)
J M(16 - 19)
I M(20 - 31)
RA adn(A, 2)
A adn(A, 4)
M(16 - 31) MP(RA)
NA A(14 - 30)
A MR(1, J(B)) A 0
ZB = 1
I(0) = 1
I(X) = 1
RA adn(A, M)
A adn(A, M)
M(16 - 31) MP(RA)
RA adn(A, 2)
J M(16, 19)
M(16 - 31) MP(RA)
A MR(1, J(B)) A 0
ZB = 1
J(0 -3) I(Q)
M MR(J)
RA adn(A, M)
Execuţieda
da
da
da nu
nu
nu
nu
RA adn(A, M)
28
RA
M A
ALU
NA
I
MP131 072 x (2 x 8)
(256 Kocteţi)
14
14
4
14 14
30
30
3131
15
0
3
J MR 16 x 32
A B
M6 5 5 3 6 x 1 6
R A
N A
I
A L U
A R
A B U S B B U S
R8 x 1 6
R 0
R 1
R 7
O B U S
120 1 2 3 4 5
COP MA
107 86 13 1511
AA MB AB
29
Aducerea instrucţiei
RA R(AA)
A R(AA) RA NA
RA adn(M(RA), R(AA))
NA incr(NA)
instr. cu
adresã
modul de
adres.
registru indexat
indirect
R(AA) incr(R(AA))
A M(RA)
postincrem.
Aducerea operandului al doilea
Execuţia instrucţiei
R(AB) B M(RA) B
Instrucţie următoare
memor. rez.
(MB)
registre memorie
da
da
nu
da
aducerea primului
operand (A)
120 1 2 3 4 5
COP MA
107 86 13 1511
AA MB AB
30
WWW Computer Architecture Home Page
CPU Info Center
ACM Special Interest Group on Computer Architecture
IEEE Technical Committee on Computer Architecture
Intel Technology Journal
Manufacturer’s sites
◦ Intel, IBM, etc.
34