Académique Documents
Professionnel Documents
Culture Documents
Arhitectura calculatoarelor
IUNI INTRODUCTIVE
1.1.
UM
U I/E
Periferic n
Magistral (BUS)
Arhitectura calculatoarelor
1.2.
Nivelul 7
Nivelul orientat pe aplicaie
Nivelul 6
Nivelul 5
Limbaj de asamblare
Nivelul 4
Nivelul 3
Sistemul de operare
Interpretare
Arhitectura setului de instruciuni
Microprogram executat
direct de hard
Nivelul 2
Microarhitectur
Nivelul 1
Maina virtual este organizat pe niveluri iar ntre dou niveluri pot
exista dou operaii:
-translatarea i
-interpretarea.
Limbaj superior(Lsup)
Interpretare
Translatare
Limbaj inferior (Linf)
Arhitectura calculatoarelor
1.3.
Arhitectura calculatoarelor
10
Arhitectura calculatoarelor
11
12
Arhitectura calculatoarelor
13
14
Nume
Blaise Pascal
Charles Babbage
J.A.Flemming
Lee de Forest
Konrad Zuse
Guvernul englez
H.Aiken
J.Mauchley i J.P. Eckert
1948
1948
1949
Bardeen,
Brattains
Sockley
Norbert Wiener
M.Wilkes
1951
MIT
1951
1952
1955
19551960
!960/61
1962
1963
1964
1964
1965
1970
1970/71
1972
1974
1978
1978
1979
1980
1982
DEC
DEC
INTEL
INTEL
CRAY
INTEL
DEC
MOTOROLA
IBM
INTEL
DEC
IBM
BORROGHS
IBM
CDC
Eveniment
Prima main de calculat mecanic
Maina analitic
Inventarea diodei
Inventarea triodei
Primul calculator cu relee-Berlin
COLOSSUS, primul calculator cu tuburi
Primul calculator Mark 1
ENIAC, Pensilvania
University
Inventarea tranzistorului
Cibernetica
EDSAC, primul calculator cu program
nregistrat
WHIRLWIND, primul
calculator n timp real
UNIVAC, primul
calculator comercializat
IAS Princetown
TX-0 primul calculator cu tranzistoare
IBM 704
PDP 1
IBM 7094 (32 bii)
Limbajul ALGOL
IBM 360
CDC 6600, primul
calculator paralel
PDP-8
PDP-11
4004 primul microprocesor pe 4 bii
8008 primul microprocesor pe 8bii
CRAY 1 primul supercalculator
8080
UC pe un cip
VACS primul minicalculator pe 32 bii
68000
Primul PC
286
Arhitectura calculatoarelor
1983
SUA
1984
1985
1987
1989
1992
1993
1995
1996
1997
1998
1999
1999
2000
MOTOROLA
INTEL
MOTOROLA
INTEL
Lab CERN GENEVA
INTEL
SUNMYCROSYSTEMS
CYRYX
AMD
AMD
INTEL
AMD
AMD
15
Reeaua LAN
68020 primul microprocesor pe 32 bii
386
68030
486
WWW(World Wide Web)
PENTIUM
JAVA
686
RISC K5,K6
K6
PENTIUM III
ATHALON/47
SHARPTOOTH/K6-3
16
Unitate de
control
Dispozitiv
de intrare
Memorie
Unitate
logic
i
aritmetic
Dispozitiv
de ieire
Arhitectura calculatoarelor
17
Procesor
18
SR
19
Arhitectura calculatoarelor
UP
C
MM
C
UP1
UP2
UC
FD1
FD2
MM!
MM2
FI
UPn
FDn
MMn
20
Arhitectura calculatoarelor
21
CU
PU
(orizontal)
DM
CU
PU
DM
22
CU
PU
PU
DM
(orizontal)
(vertical)
PU
PU
DM
DM
DM
Arhitectura calculatoarelor
23
PU + DM
24
Arhitectura calculatoarelor
25
Capitolul 2
UNITATEA CENTRAL
Unitatea central (UC), n englez CPU=Central Processing Unit,
este partea din calculator care are rolul de a interpreta i executa
instruciunile unui program, de a citi sau salva n memorie rezultatele i de a
comunica cu unitile de schimb. Toate aceste activiti sunt cadenate de un
ceas la frecven constant care mparte timpul n fraciuni de aceeai durat
numite cicluri.
26
Registru
acumulator
Registru
tampon
Sumator
Arhitectura calculatoarelor
27
28
f
N
Arhitectura calculatoarelor
n
29
2 GHz
f
4.10 9 4
1
miliarde instruciuni pe secund
N
2
n
L ( n 1)T
sau, la limit:
30
lim d T 1
n
S2
S3
S4
S5
(a)
S1
S2
S3
S4
S5
2
1
3
2
1
4
3
2
1
5
4
3
2
1
6
5
4
3
2
7
6
5
4
3
8
7
6
5
4
9
8
7
6
5
10
9
8
7
6
Timpi de
execuie a
segmentelo
r
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
11
10
9
8
7
t11
31
Arhitectura calculatoarelor
(b)
Fig.2.2. Schema unei benzi de asamblare cu 5 segmente; (a) schema de
funcionare; (b)diagrama temporar a execuiei segmentelor.
Exist i sisteme cu dou benzi de asamblare, ca n figura 2.3.
S2
S3
S4
S5
S2
S3
S4
S5
S1
UAL
S1
S2
S3
lLOAD
STORE
VIRGUL
FLOTANT
S5
32
2.3.
SETUL DE INSTRUCIUNI
Arhitectura calculatoarelor
33
2.3.1.
Tipuri de instruciuni
34
35
Arhitectura calculatoarelor
OPERAND
Cmp operand
MOV R 20000
Se transfer valoarea 20000 n registrul R.
b)Adresare direct
Operandul se gsete la o adres care exist n instruciune
Cmp adres
ADRES
OPERAND
MOV R
100
100
20000
n cmpul de adres al instruciunii se afl o adres (100) la care
exist operandul.
c) Adresare indirect
n cmpul de adres al instruciunii se afl o adres. La acea adres
se afl operandul. Numrul de direcionri depinde de fiecare calculator n
parte.
Cmp adres
ADRES
Ades
Operand
36
MOV
R
100
100
200
200
20000
La adresa 100 din cmpul instruciunii se afl alt adres, 200, iar la
aceast adres se afl operandul.
a) Adresare indexat
La adresarea indexat particip un registru numit registru INDEX.
Adresa operandului este:
Adresa operand = valoareCMP ADRES + valoareREGISTRU INDEX
MOV
R
100
RINDEX
600
100
700
Adresa calculat: 600 + 700 = D00
D00
20000
2.4.
Bus
memorie
ADRMEM
M
RI
PC
RG
RG 1
RG 2
SUMATO
R
RG 16
Z
S
C
D
U
M
E
M
Arhitectura calculatoarelor
37
IC
ADRMEM
UM
M
UM
citire
scriere
Adresele de registre generale sunt primele 16 adrese de memorie, adrese
rezervate exclusiv pentru RG, neputnd fi utilizate ca adrese de memorie;
-!6 registre generale (RG) adresate pe bus-ul local al UC-ului;
-registrul INDEX , care particip la calculul adresei n mod indexat;
-4 indicatori de condiie (ZC) cu urmtoarele semnificaii:
Z arat dou situaii
Compararea ntre registrele A i T
Z=1 A=T
Z=0 AT
Coninutul acumulatorului este zero (Z=1)
S
S=1 rezultat negativ (n A)
D
D=1 depire
C
C=1 transport
38
SURSA
MD
DESTINAIE
MNEMONIC
ADD
MOV
CMP
C1
ACIUNE
SURS+DESTINAIEDESTINAIE
SURSADESTINAIE
SURSA compar cu DESTINAIEpoziioneaz Z
SURSAcomplementDESTINAIE
Arhitectura calculatoarelor
0100
DDn
0101
0110
0111
1000
1001
1010
1011
1100
1101
DSn
SM2
SAU
SI
INC
DEC
SWAP
SALTNEC
SALTCOND
1110
1111
DDCn
DSC n
39
UMEM
CITIRE
M RI
PC PC + 4
n continuare, s vedem care sunt comenzile pentru diferite
instruciuni care lucreaz n diferite tipuri de adrese.
1)
COD 0001
MNEMONIC ADD
MS 00 - imediat
SURSA 02A
MD 00 - imediat
DESTINAIA - 05B
Adresa instruciunii 100
Instruciunea este
000A805B
Comenzi:
ifetch:
PC ADRMEM
100
ADRMEM
40
M RI
PC PC + 4
RI7-18 A
RI21-32 T
A+T A
A RI
000A805B
104
0000 002A
0000 005B
0000 0085
0000 0085
2)
COD 0001
MNEMONIC MOV
R5 ABCDEF01
MS 01 - direct
SURSA RG5 10
MD 01 - direct
DESTINAIA - RG16 3C
Adresa instruciunii 200
Instruciunea este 0404103C
Comenzi:
ifetch:
PC ADRMEM
200
ADRMEM
UMEM
M RI
PC PC + 4
RI7-18 ADRMEM
0404103C
0404103C
204
10
ADRMEM
M
RG5
RI21-32 ADRMEM
ABCDEF01
3C
ADRMEM
RG16
3)
COD 0010
MNEMONIC CMP
MS 10 - indirect
SURSA 800
MD 10 - indirect
DESTINAIA - 900
Adresa instruciunii 200
Instruciunea este 1A002900
ABCDEF01
800 F00
900 E00
F00 ABCDEF01
E00 ABCDEF01
41
Arhitectura calculatoarelor
Comenzi:
ifetch:
PC ADRMEM
200
ADRMEM
UMEM
M RI
PC PC + 4
1A002900
1A002900
204
RI7-18 ADRMEM
800
ADRMEM
M
M
800
ADRMEM
F00
F00
ADRMEM
M F00
M
A
RI21-32 ADRMEM
ABCDEF01
ABCDEF01
900
ADRMEM
M 900
M ADRMEM
E00
E00
ADRMEM
M
E00
ABCDEF01
M T
ABCDEF01
A compara cu T pozit lui Z=1
prm
2.5.
42
externe AH
pentruALUI.
UE este complet separat de exterior, toate sarcinile privind
BH
BL
transferul
cu exteriorul
revenind UI-ului.
CH
CL
CS
DH
DL
DS
ES 20bii
DI
SJ
16 bii
8bii
8bii
BP
Ax
Bx
SS
IP
SP
Registre de
date
offset
Cx
Interfa
Bus-uri
Dx
Registre
temporare
Registre
de
adrese
ALU
Decodificare
operaie
Comand
Registru
flaguri
43
Arhitectura calculatoarelor
Bus intern
4bii
A16.-19
AD0-15
BD0-15
RT
BC
Coad de ateptare
Instruciuni (Q)
F
UE UI
Fig. 2.6. Arhitectura intern a microprocesorului 8086.
b)Structura UI
UI conine componentele date n continuare.
1)Blocul de interfa ntre bus-uri, care face transferurile UE.
Are urmtoarele cicluri:
-cicluri de scriere memorie sau I/E (UCMEM , I/E)
-cicluri de citire memorie sau I/E (UCMEM , I/E)
2)Coada de ateptare a codurilor de instruciuni (Q), care:
-este ncrcat de ctre UI cu coduri de instruciune, numai n
momentele de timp cnd UE nu are transferuri de date;
-este inactiv dac este plin sau se cer transferuri pe bus;
-este tears complet dac instruciunea este de salt.
3)Blocul de calcul al adreselor fizice, care include:
-registrele de segment ce conin componenta segment a adresei
locaiei de memorie accesat;
-registrul indicator al instruciunii curente (IP) cu componenta offset
a adresei instruciunii curente;
44
8 bii
AH
BH
CH
DH
8 bii
AL
BL
CL
DL
Arhitectura calculatoarelor
45
46
Arhitectura calculatoarelor
47
48
de adres cea mai mare, adic octetul cel mai puin semnificativ este
memorat la adresa cea mai mic.
Intel 8086 vede memoria principal organizat ca un grup de
segmente. Un segment este un bloc de memorie de dimensiune 64 Koctei.
Fiecare segment poate fi accesat, n scriere sau n citire, n mod
independent.
Procesoarele pot lucra n dou moduri: modul real i modul protejat.
n modul real procesoarele adreseaz memoria principal printr-o
adres fizic direct.
n modul protejat, procesoarele adreseaz memoria principal ca pe
o memorie virtual. O adres virtual este, de fapt, un nume pentru o locaie
de memorie pe care procesorul o translateaz ntr-o adres fizic
corespunztoare. O adres virtual are dou componente: o adres de baz
(segment) i un deplasament (ofset). Notaia consacrat pentru adresa logic
este:
Segment : offset
Trecerea de la adresa logic la adresa fizic se face astfel:
Adresa logic adres fizic
Adres fizic = segment x 10(+) + offset
nmulirea cu zece a unui numr n . nseamn deplasarea spre
stnga cu o poziie. Exemple:
1) adresa logic ABC4 : EFB8
adresa fizic = ABC40 + EFB8 = BACF8
2) adresa logic AB00 : CD00
adresa fizic = AB000 + CD00 = B7D00
Aceast adres fizic este calculat n UI n funcie de modul de
adresare.
Structura pe segmente a memoriei face posibil scrierea unor
programe care sunt independente de poziia lor n memorie, adic sunt
realocabile dinamic. Pentru ca un program s fie realocabil trebuie s fie
scris astfel nct s nu altereze registrele sale segment i s nu fac
transferuri directe de la o locaie n afara segmentului de cod. Aceasta
permite programului s fie mutat oriunde n memoria disponibil, atta timp
ct registrele segment sunt actualizate cu noua adres de baz.
49
Arhitectura calculatoarelor
-codul operaiei care ocup 1 sau 2 octei i care specific:
-tipul operaiei;
-tipul operanzilor (8 sau 16 bii);
-sursa operanzilor (intern sau extern);
-destinaia rezultatelor operaiilor ALU;
-modul de calcul al EA;
-operanzii de tip imediat: date i adrese.
1 2
COD
OPERAIE
D W
10
11
MOD
12
REG
13
14
15
16
OFFSET
R/M
registru
(w=0)
(w=1)
cuvnt
octet
Ax
AL
Cx
CL
Dx
DL
Bx
BL
SP
AH
BP
CH
SI
DH
DI
BH
50
BX + SI + deplasament
BX + DI + deplasament
BP + SI + deplasament
BP + DI + deplasament
SI + deplasament
DI + deplasament
BP + deplasament
BP + deplasament
este
reprezentat
deplasament
MEMORIE
AE
AF
OPERAND
AS
de
51
Arhitectura calculatoarelor
Deplasament
BX
AE
Memorie
BP
SI
AF
OPERAND
DI
AS
07
COD OP
015
MOD R/M
DEPLASAMENT
SI
DI
AE
Memorie
AF
OPERAND
AS
52
V[6 ]
V[5 ]
Deplasament
V[4 ]
V[3 ]
V[2 ]
V[1 ]
V[0 ]
Registru index
AE
SI
AE surs
DI
AE destinaie
Arhitectura calculatoarelor
53
54
Unitatea de paginare
Unitate de execuie
Unitate de interfa
Unitate de
decodificare
Unitate de prencrcare a
instruciunilor
55
Arhitectura calculatoarelor
Procesor virgul
fix
Unitate de programare
Unitate
cache
Unitate
de interfa
cu
magistrala
Procesor virgul
mobil
Decodificare instruciuni
Prencrcare instruciuni
56
UNITATE DE
EXTRAGERE I
DECODIFICARE
INSTRCIUNI
UNITATE DE
DISPECERIZARE
I
EXECUIE
UNITATE
DE
RETRAGERE
REZERVOR
DE
INSTRUCIUNI
Arhitectura calculatoarelor
57
58
De la BIU
(Basic Interface Unit)
L1
I CACHE
NEXT IP
Bloc de memorie a
adresei de salt
DECODIFICARE
DE
Secvenator de
microinstruciuni
INSTRUCIUNI
Alocator de registre
alias
Spre rezervorul
de miscroinstruciuni
59
Arhitectura calculatoarelor
UEI
UEF
UEMMX
Port 1
UEI
UES
UEMMX
Port 2
UGA
Port 0
Rezervor
i
de
instruciuni
Port 3, 4
UGA
i Citire operanzi
Scriere operanzi
60
Staie de
rezervare
Rezervor de
instruciuni
Arhitectura calculatoarelor
61
2.6.
62
Arhitectura calculatoarelor
63
VAX11/780
INC Ri
DEC Ri
MOVL, #N, Ri
MCOMPL Ri , Rj
RISC 1
ADD Ri, 1, Ri
SUB Ri , 1, Ri
ADD R0, #N, Ri
XOR Ri , 1, Rj
64
RD
ALU
MEM
WB
IF
RD
ALU
MEM
WB
IF
RD
ALU
MEM
WB
IF
RD
ALU
MEM
WB
IF
RD
ALU
MEM
WB
Un
ciclu
mai
n
IF
RD
ALU
MEM
WB
65
Arhitectura calculatoarelor
PC
Adr
MEM
I
5
/
/
5
S1
S2 SET
REG
D
/
32
/
32
D IN
.
S1+S2
/
19
S2
/
13
Ext.
semn
mux
2:1
/
32
sum
2
EX/MEM
MEM/WB
mux 2:1
IF/ID
ALU
mux 2:1
adr
M
E
M
D
D
in
66
DEST
CLK
Adr. Reg, DEST.
Data in reg.
67
Arhitectura calculatoarelor
I1 LOAD R1 Memorie
I2
LOAD R1+R2R2
.
IF
RD
ALU
MEM
MI
WB
IF
RD
MEM
ALU
WB
Dat necesar
68
RD
ALU
MEM
WB
R1
R2
R3
Rn
RD
ALU
MEM
WB
I2 ADD R1 + R2 R1
!F
DELAY
RD
ALU
MEM
Restartare procesare
R1
R2
R3
Rn
WB
69
Arhitectura calculatoarelor
!F
RD
ALU
MEM
WB
pt. R1
R2
R3
SUB
pt. R4
!F
RD
ALU
MEM
WB
70
WRITE
REGISTRU
READ
REGISTRU 1
DATA AUT 1
DATA AUT 2
MUX 2:1
R5
B
ALU
DIF
SUM
TAMPOANE ALU
R2 + R3
Arhitectura calculatoarelor
71
72
I1
MULF Ri Rj Rk
Rj * Rk Rj
I2
ADD Rj Rp Rm
Rp+Rm Rj
n acest caz poate s apar hazard WAR deoarece instruciunea I1
fiind o instruciune de coprocesor (cu virgul mobil) se va ncheia n
execuie dup I2 care este o instruciune de procesor (cu operanzi ntregi)
Pentru c numrul de niveluri aferent structurii pipeline a coprocesorului
este mai mare dect numrul de nivele aferent procesorului, instruciunile
I1 i I2 se termin Out of Order (I2 naintea lui I1). Secvena care elimin
hazardul WAR, reorganizat prin software este:
MULF
Ri Rj Rk
ADD
Rx Rp Rm
MOV
Rj Rx
Graful dependenelor de date
Mai jos este dat un exemplu de reorganizare a unui program n
vederea eliminrii hazardurilor de date i a realizrii procesrii optimale,
folosind graful dependenelor de date.
I0
I1
I2
I3
I4
I5
I
0
ADD
LD
ADD
ADD
LD
LD
R3
R3
R9
R4
R5
R4
R2
R1 R2
A(R7)
R3 R2
R4 R6
A(R6)
A(R4)
R4
R4
IR4
I
3
Arhitectura calculatoarelor
73
ADD
LD
LD
ADD
ADD
R3
R9
R4
R4
R5
R1 R2
A(R7)
A(R6)
R3 R2
R4 R6
ADD
LD
ADD
ADD
LD
R3
R9
R4
R5
R4
R1 R2
A(R7)
R3 R2
R4 R6
A(R6)
NOP
I5
LD R2 A(R4)
Hazardul WAR ntre I3 i I4 ar putea fi eliminat prin redenumirea
registrului R4 n instruciunea I4 . deoarece hazardurile WAR i WAW nu
reprezint conflicte reale ci doar conflicte de nume. Considernd un
procesor cu mai multe registre fizice dect logice, precedenele impuse de
aceste hazarduri pot fi eliminate uor prin redenumirea registrelor logici cu
cei fizici. Principiul const n existena unei liste a registrelor active, adic
folosite momentan, i o alt list cu registrele libere. Fiecare schimbare a
coninutului unui registru logic
prin program se va face asupra unui
registru fizic disponibil n lista registrelor libere registru care va fi trecut n
lista registrelor active. In acest caz secvena se va rescrie astfel:
I0
ADD R3a R1a R2a
I1
LD R9a A(R7a)
I2
ADD R4a R3a R2a
74
I3
I4
I5
I1
IF
RD
ALU
MEM
WB
IF
RD
ALU
MEM
WB
IF
RD
ALU
MEM
I2
1 ciclu
WB
75
Arhitectura calculatoarelor
I instr.
ADR 1
ADR
(n-k) instr.
(n-k) instr.
adiionale
I instr.
ADR 2
ADR M
(n-k) instr.
originale
ADR M=ADR+
1+2(n-k)
76
Arhitectura calculatoarelor
77
START:
(C-1)
NU
DA
C=
0
Prezice DA
00
NU
DA
Prezice NU
11
Prezice DA
01
Prezice NU
10
78
NU
NU
NU
DA
Fig. 2.28. Automat de predicie de tip numrtor saturat pe 2 bii.
79
Arhitectura calculatoarelor
ID
Lect ID
4
ID
instr. ID
EX
EX
EX
EX
ID
Lect ID
4
ID
instr. ID
MEM
MEM
MEM
MEM
EX
EX
EX
EX
RR
RR
RR
RR
MEM
MEM
MEM
MEM
RR
RR
RR
RR
Multiplicator flotant
Registre
virgul
flotant
Sumator flotant
Divizor flotant
Logic de calcul al
dependenelor
Registre
intregi
Unitate grafic
2 pipeline ntregi
Pipeline LD/ST
80
Arhitectura calculatoarelor
81
82
Unitate funcional
Unitate funcional
#dest
#s1
#s2
#dest
#s1
#s2
#dest
#s1
#s2
#dest
#s1
#s2
#dest
#s1
#s2
#dest
#s1
#s2
#dest
#s1
#s2
#dest
#s1
S2
Staie de rezervare
Staie de rezervare
Arhitectura calculatoarelor
83
84
85
Arhitectura calculatoarelor
FLOTANTE
STORE
BUFFERS
Staii
de
rezer
vare
(SR)
Spre
memorie
3 uniti de
execuie
(ADD)
2 uniti de
execuie
(MUL)
86
OPCODE BUS
3
2
1
2
1
CDB
Fig.2.30. Arhitectura Tomasulo
Staiile de rezervare SR memoreaz din stiva SIF (Stiva de
Instruciuni Flotante, pe post de bufer de prefetch aici) instruciunea ce
urmeaz a fi lansat spre execuie. Execuia unei instruciuni ncepe dac
exist o unitate de execuie neocupat momentan i dac operanzii afereni
sunt disponibili n SR aferent.
Fiecare unitate de execuie (ADD, MUL) are asociat o SR (Staie de
rezervare ) proprie. Unitile ADD execut operaii de adunare/scdere iar
unitile MUL operaii de nmulire/mprire. Modulele LB(LOAD
BUFFER) i SB(STORE BUFFER) memoreaz datele ncrcate din
memoria de date respectiv datele care urmeaz a fi memorate. Toate
rezultatele care vin de la unitile de execuie i de la bufferul LB sunt
trimise pe magistrala CDB.
Exist n cadrul procesrii superscalare trei stadii de procesare a
instruciunilor i anume:
1) Startare Se aduce o instruciune din SIF (bufferul de prefetch)
ntr-o staie de rezervare. Aducerea se va face numai dac exist o SR liber.
Dac operanzii afereni se afl n FPR (setul de registre generale), vor fi
adui n SR aferent. Dac instruciunea este de tip LOAD/STORE, va fi
ncrcat ntr-o SR numai dac exist un buffer (LB=Load Buffer sau
Arhitectura calculatoarelor
87
88
1
2
3
4
5
6
F4
NU
F6
ADD2
DA
F8
ADD1
DA
F10
MUL1
DA
89
Arhitectura calculatoarelor
Start Execuie Scriere rezultat
1 LF F6,27(R1)
x
x
x
2 LF F2,45(R2)
x
x
x
3 MULTF F0,F2,F4
x
x
4 SUBF F8,F6,F2
x
x
x
5 DIVF F10,F0,F6
x
6 ADDF F6,F8,F2
x
x
x
n acest moment, starea staiilor de rezervare i a setului de registre
generale va fi:
Qj
Qk
MUL1
90
Bufere SB
SB1
MUL1
DA
[R1]
SB2
MUL2
DA
[R1]-8
Bufere LB
CMP LB1
LB2
ADR
[R1]
[R1]-8
BUSY DA
DA
V
SB3
NU
LB3
NU
91
Arhitectura calculatoarelor
SR
2xSR
SR
SR
SR
branch
2xALU
SHIFT
LOAD
STORE
D-CACHE
92
CDB
ADR
DATA
Capitolul 3
UNITATEA DE MEMORIE
93
Arhitectura calculatoarelor
Procesor
registre
generale
Memorie
principal
(RAM)
Memorie
secundar
(hard disc)
Memoria
cache
94
a
Fig. 3.2. Reprezentarea timpului de acces al unei memorii.
-Energia consumat de un cap de memorie n unitatea de timp
exprimat, cel mai adesea, n watt/bit.
-Ciclul memoriei este timpul necesar pentru scrierea/citirea unei
locaii de memorie, timp ce se exprim n s sau ns.
-Tehnologia de realizare. Exist dou tehnologii de baz de realizare
a circuitelor integrate i anume: tehnologia bipolar i tehnologia MOS.
Tehnologia bipolar are la baz tranzistorul bipolar cu trei jonciuni
(Baza, Emitor,Colector).
C
B
E
Ca element de stocare utilizeaz regimul blocat/saturat al tranzistorului.
Arhitectura calculatoarelor
95
96
97
Arhitectura calculatoarelor
Col 2(n-2)/2
Linia 1
Registru
adres
linie
RAS
Col 2
Col 1
n/2
Linia 2
Linia 3
Linia 2(n-2)/2
n/2
adrese
n/2
Registru
adres
coloan
Multiplexor / Demultiplexor
W /R
98
PARTE
SUPERIOAR
ADRES
PARTE
INFERIOAR
ADRES
Adres
rnd
Adres
coloan
RAS
(Row
Address
Strob)
CAS
(Column
Address
Strob)
Arhitectura calculatoarelor
99
100
CKE
CONTOR
REFRESH
BLOC DE CONTROL
CS
Registre
de
adresare i
decodare
M
U
X
RAS
A
adrese
Control
blocuri
Poart
intrare / ieire
WE
Magistrala
adrese
CAS
512x8
512x8
512x8
512x8
A
ieire
Magistrala
de date
Blocuri de
memorie
CLK
Arhitectura calculatoarelor
101
102
Time
21:32:17
Date
02/21/2006
Diskette A [None]
Diskette B [None]
3 Mode Suport [Disabled]
Primary Master
Primary Slave
Secondary Master
Secondary Slave
Keyboard Features
Language
Supervisor Password
User Password
Halt On
Instaled Memory
[ST380021A]
[Maxtor 6L200P0]
[Auto]
[ATAPI DVD DD 2x16x4x1]
[English]
[Disabled]
[Disabled]
[All Errors]
& 96 MB
Advanced
CPU Speed
CPU: System Frequency Multiple
System/PCI Frequency (MHz)
System SDRAM Frequency Ratio
Load Performance Setting
CPU VCORE
CPU Level 1 Cache
CPU Level 2 Cache
CPU Level 3 Cache ECC Check
BIOS Update
PS/2 Mouse Function Control
USB Legacy Support
USB Legacy Support
OS/2 Outboard Memory > 64M
Chip Configuration
[1.25/1.3 GHz]
[12.5x/13.0x]
[100/33]
[Auto]
[Normal]
[1.750 V]
[Enabled]
[Enabled]
[Disabled]
[Enabled]
[Auto]
[Auto]
[Auto]
[Disabled]
Arhitectura calculatoarelor
103
[User Define]
[SuspendOff]
[DPMS Off]
[Disabled]
[Disabled]
[Soft Off]
[Auto]
Exit
Exit Saving Changes
Exit Discarding Changes
Load Setup Defaults
Discard Changes
Save Changes
Se observ c principalele caracteristici hardware ale sistemului se
afl n aceast memorie. Utilizatorul are mai multe posibiliti:
-cu ENABLED/DISABLED s activeze/dezactiveze o anumit
caracteristic;
104
Arhitectura calculatoarelor
105
106
Arhitectura calculatoarelor
107
putea conine liniile 0, 128, 256 din memoria principal; linia 1 din cache va
putea conine liniile 1, 129, 257 din memoria principal . Metoda este
simpl, uor de implementat i permite regsirea informaiilor pe baz de
adres. Dezavantajul acestei metode const n faptul c, deoarece exist mai
multe blocuri din memoria principal care se mapeaz n acelai bloc din
cache, aceste blocuri nu pot coexista n acelai timp n cache i, deci,
accesarea a dou blocuri duce la MIS.
b) Memorii cache semiasociative (Set asociative)
n aceste memorii exist mai multe seturi , fiecare set avnd n
componen mai multe blocuri. Prin regula de mapare se precizeaz setul n
care se poate afla blocul dorit:
(adresa bloc memorie principal)modulo(numr seturi memorie cache)
108
Accese de scriere:
-strategia Write Through, n care informaia este scris de procesor,
att n cache ct i n memoria principal;
-strategia Write Back, n care informaia este scris numai n
memoria cache, n memoria principal fiind scris numai la evacuarea din
cache.
Aceste strategii sunt tipice pentru sistemele uniprocesor. n sistemele
multiprocesor mai exist dou strategii n vederea meninerii coerenei
datelor:
-Write Invalidate, n care procesorul care scrie impune ca toate
copiile din celelalte memorii cache s fie invalidate pn cnd el i
modific blocul din memoria cache proprie;
-Write Broadcast, n care procesorul care scrie pune datele pe busul
comun spre a fi actualizate toate copiile din celelalte memorii cache.
Accese de citire:
Accesele de citire sunt date nsi de definiia memoriei cache.
Deoarece, statistic, citirea ocup 75% din accesele la cache, este deosebit de
important s fie atent studiat.
Cauzele de MIS la cache sunt urmtoarele:
-capacitatea mic;
-interferenele (conflictele) blocurilor din memoria principal pe un
acelai bloc din memoria cache; aceste conflicte pot fi reduse doar prin
mrirea capacitii sau prin creterea gradului de asociativitate.
e)Victim Cache
Pentru a se reduce rata de MIS, n special pentru memoriile cache cu
mapare direct, Norman Jouppi de la DEC(Digital Equipement Corporation)
propus conceptul de Victim Cache. Acesta reprezint o memorie de mic
capacitate, complet asociativ, plasat ntre primul nivel cache i memoria
principal.
Blocurile din cache datorate unui MIS sunt temporar evacuate n
Victim Cache i la un nou apel al lor pot fi extrase de aici. Decizia de a plasa
un bloc n cache sau Victim Cache este luat cu ajutorul unei informaii de
stare asociat blocurilor de cache. Biii de stare conin informaii de stare
asociat blocurilor de cache. Aceste informaii folosesc pentru a exclude
blocurile sigure din cache - ul mapat dorit, reducnd nlocuirile ciclice
implicate de acelai bloc. Aceast schem, numit excludere dinamic,
reduce MIS - urile. O predicie greit implic un acces la nivelul urmtor al
ierarhiei de memorie, contrabalansnd eventualele ctiguri n performan.
Arhitectura calculatoarelor
109
110
Arhitectura calculatoarelor
111
Memoria extins
1M
640+32k
On
Memorie nalt
640k
Memorie de baz
Ok
112
1 2 3
k k+1
n pagini
Arhitectura calculatoarelor
113
Capitolul 4
UNITATEA DE INTRARE/IEIRE
Unitatea central i memoria principal comunic cu alte surse i
destinaii de informaie. Unitatea de intrri / ieiri cuprinde toate aspectele
legate de procesarea acestor interaciuni. Principalul su rol este de a lega
sistemul de calcul cu lumea extern prin intermediul perifericelor (ecran,
tastatur, discuri, benzi magnetice, reele etc.). Cea mai mare parte a
interfeelor cu exteriorul ordinatorului nu sunt pur numerice ci cuprind
dispozitive electromecanice sau electronice analogice.
114
PERIFERIC
UC
Registru comenzi 1
Registru comenzi 2
Registru comenzi n
Dispozitiv
de
comand
UC/Mem
Registru de date
GO
IE
RDY
115
Arhitectura calculatoarelor
ready
Iniiere
operaie
I/E
Rutina de
tratare a
ntreruperilor
Periferic
wait
signal
116
periferic
Linia de
ntrerupere
Proces
ready
signal
117
Arhitectura calculatoarelor
4.1.2.2. Drivere
C2
Cn-1
Cn
Coad de ateptare
Desfacerea
parametrilor
DA
NU
Parame
tri valizi
Translaie
Termeni abstracitermeni
concrei
NU
Ready
dispoziti
v
periferic
eroare
DA
Dispozitiv
periferic
Blocare
driver
(wait)
Operaie terminat
Trezire
driver
(signal)
Citire
Citire/scrie
re
Date disponibile
Dispozitiv
periferic
Scriere
118
119
Arhitectura calculatoarelor
adresa
numr bloc
operaie
hard disc C
1123
citire date
translaie
bloc 1123
poziionare pe
cap 2, cilindru 40, sector 2 i sector 3
citire date
Dispozitiv periferic
Dispozitiv periferic
Blocar
e
driver
(wait)
trezire
driver
(signal
)
memorie
date disponibile
120
cap
numr bloc adresa cilindru
sec tor
Arhitectura calculatoarelor
121
122
123
Arhitectura calculatoarelor
Eveniment ce
duce la apariia
unei ntreruperi
Program
Instruct.1
Instruct.2
Instruct.3
Salvarea strii
curente a
programului
Apelarea
rutinei de
tratare a
ntreruperii
Execuia
rutinei de
ntrerupere
124
Arhitectura calculatoarelor
125
126
Arhitectura calculatoarelor
127
14
15
16
17
Urmtoarea
nregistrare
logic ce
urmeaz a fi
citit
18
19
20
21
22
a)
Memoria
principal
nregistrarea
logic 18
Zon
tampon
23
24
25
Numrul
nregistrrii
logice
15
16
17
18
Urmtoarea
nregistrare
logic ce
urmeaz a fi
citit
19
20
21
22
23
24
25
Memoria
principal
nregistrarea
logic 18
Zon
tampon
128
Arhitectura calculatoarelor
129
130
Sector
0
0
1
1
2
2
2
3
3
4
0
6
0
11
1
3
7
0
9
3
(a)
Numr de
sectoare
din
spaiul
disponibil
5
6
10
1
1
3
5
3
3
8
Pist
0
1
2
3
4
0
0
0
1
0
1
1
0
0
0
0
1
2
0
0
1
0
1
3
0
0
0
1
0
4
0
0
0
1
0
Sector
5 6
1 0
0 0
0 1
1 1
0 0
7
0
0
0
1
0
8
0
0
0
1
0
9
0
0
0
0
0
10
0
1
0
0
0
11
0
0
0
0
0
(b)
Arhitectura calculatoarelor
131
132
fiier.
Exist mai multe scheme de protecie. O posibilitate este ca
proprietarul s specifice o parol secret pentru fiecare fiier. Cnd ncearc
accesul la un fiier, un program trebuie s furnizeze parola pe care sistemul
de operare o valideaz nainte de a permite accesul. Alt metod este ca
proprietarul s ofere o list cu persoanele ale cror programe pot accesa
fiierul .
Toate sistemele de operare permit utilizatorilor s lucreze cu mai
mult de un catalog de fiiere. Fiecare catalog este n mod normal tot un
fiier, astfel nct poate fi inclus ntr-un alt catalog, ceea ce duce la apariia
unui arbore de cataloage. Existena mai multor cataloage este util n mod
special pentru programatorii care lucreaz la mai multe proiecte. Ei pot
grupa toate fiierele care aparin unui proiect ntr-un catalog. Cataloagele
sunt de asemenea un mod de partajare a fiierelor ntre membrii unui grup.
Fiier 0
Fiier 1
Fiier 2
Fiier 3
Fiier 4
Fiier 5
Fiier 6
Fiier 7
Fiier 8
Fiier 9
Fiier 10
Nume fiier:
Lungime:
Tip:
Data crerii:
Ultimul acces:
Ultima modificare:
Numrul total de accese:
Bloc 0 Pista 4 Sector 6
Bloc 1 Pista 19 Sector 9
Bloc 2 Pista 11 Sector 2
Bloc 3 Pista 77 Sector 0
(a)
(b)
Fig.4.10.(a)Catalogul unui utilizator. (b)Coninutul unei intrri ntr-un
catalog.
Arhitectura calculatoarelor
133
25.10 5
2,5%
100.10 6
-disc:
5.10 7
50%
100.10 6
134
UC
INTA
Controler de
ntreruperi
INT
Bus date
Cereri de
ntrerupere
Arhitectura calculatoarelor
135
136
Arhitectura calculatoarelor
137
Sesizarea
n timpul
n timpul
n timpul
n timpul
n timpul
ntre
n timpul
ntre
138
Arhitectura calculatoarelor
139
unei ntreruperi ntr-o faz dat, ca debut al fazei de aranjare de rezultat care
nu poate provoca ntrerupere.
-Cealalt aproximaie const luarea n consideraie a ntreruperilor n
ordinea n care ele apar ceea ce nseamn c o ntrerupere legat de
instruciunea i+1 poate s fie tratat naintea ntreruperii produs de i.
Sistemul de operare trebuie s recunoasc instruciune care a ntrerupt i,
dup tratare, s redemareze instruciunea care a produs ntreruperea.
Cea mai mare parte a procesoarelor cu pipeline trateaz ntreruperile
n ordinea secvenial a instruciunilor.
Pe de alt parte, cererile externe asincrone trebuie s fie testate la
fiecare ciclu al ceasului i nu la sfritul fiecrei instruciuni.
b)-Salvarea i restituirea contextului. Dup sesizarea ntreruperii,
procesorul trebuie s salveze contextul programului ntrerupt. Problemele
principale sunt: ce trebuie salvat, cum i unde s fie salvat?
La procesoarele fr pipeline, contextul ce trebuie salvat este simplu:
el cuprinde contorul de program, starea procesorului i ansamblul de
registre ce conin informaii semnificative ale programului n curs de
execuie.
La procesoarele cu pipeline, execuia simultan a mai multor
instruciuni face dificil nghearea unei pipeline ntr-o stare precis, mai
ales innd cont de instruciunile aritmetice flotante la care partea execuie
ine mai multe cicluri. Dac procesorul permite ca instruciunile s se
termine ntr-o alt ordine fa de cea n care au nceput, problema este i mai
complicat. Exist ntreruperi precise, cnd se poate nghea starea
pipeline-ului ntr-o stare precis, astfel nct toate instruciunile dinaintea
celei care a provocat ntreruperea s fie executate pn la sfrit, iar
instruciunea care a provocat ntreruperea i cele urmtoare s fie
redemarate dac ntreruperea o permite. Exist i ntreruperi imprecise, cnd
este imposibil s se nghee pipeline-ul ntr-o stare precis, dar cnd exist
suficient informaie pentru redemararea execuiei informaiei.
ntreruperi multiple i prioritile lor. ntreruperile semnalate pot
interveni simultan sau ntr-o manier amestecat. Problema este relativ
simpl n ceea ce privete ordinea tratrii ntreruperilor ce intervin simultan,
afectnd la fiecare tip de ntrerupere o prioritate. La fiecare ciclu, procesorul
examineaz existena sau inexistena ntreruperilor, n ordinea
descresctoare a prioritilor. ntreruperea cu prioritate mai mare este tratat
nti.
Mai greu este de stabilit ce trebuie fcut n cazul n care o situaie
excepional intervine n cursul tratrii unei alte ntreruperi. Trebuie oprit
140
Arhitectura calculatoarelor
141
142
Arhitectura calculatoarelor
143
Adres
cilindru
Adres
sector
Zon de informaie
cap 7
cap 6
Motor pas
cu pas
pentru
cruciorul
cu capete
cap 5
cap 4
cap 3
cap 2
Crucior cu
capete
Motor de rotaie a
platanelor
144
Arhitectura calculatoarelor
145
146
Banda 0
Banda 1
Banda 2
Banda 3
Banda 4
Banda 5
Banda 6
Banda 7
Banda 8
Banda 9
Banda 10
10
Banda 11
Banda 0
Banda 1
Banda 2
Banda 3
Banda 4
Banda 5
Banda 6
Banda 7
Banda 8
Banda 9
Banda 10
10
Banda 11
Banda 0
Banda 1
Banda 2
Banda 3
Banda 4
Banda 5
Banda 6
Banda 7
Banda 8
Banda 9
Banda 10
10
Banda 11
147
Arhitectura calculatoarelor
BM2
BM3
BM4
BM5
BM6
BM7
BM1
BM3
BM parity
CD-ROM-urile (Compact
- Read Only Memory) Punct
utilizeaz
Strat de lacDisc
protector
ntunecat
principiul optic de stocare a informaiei. Ele au o densitate de nregistrare
Strat reflectorizant de aur
ars de
mult mai mare dect discurile
magnetice dar sunt mai puin rapide
laser dect
1,2mm
Strat de vopsea
discurile magnetice.
Timpul de cutare fiind de cteva sute de milisecunde,
Strat
de policarbonat
ele nu intr n
aceeai
categorie de performan ca discurile magnetice.
Direcia de micare
Fotodetector
Lentile
Prizm
Diod cu laser
n infrarou
148
Arhitectura calculatoarelor
149
150
Arhitectura calculatoarelor
151
152
Substrat policarbonic 1
Strat semireflectorizant
Disc
1
Strat
reflectorizant
(Al)
Strat adeziv
Strat
Disc
2
Substrat policarbonic 2
reflectorizant
(Al)
Strat semireflectorizant
Fig. 4.19. Disc DVD cu dou fee a cte dou straturi. Disc 1 de 0,6mm.
Disc 2 de 0,6mm.
Tehnologia cu dou straturi depune un strat reflectorizant la baz,
acoperit de un strat semi reflectorizant. n funcie de focalizarea laserului, se
reflect dintr-un strat sau din cellalt. Stratul de dedesubt are nevoie de
caviti i soluri ceva mai mari, pentru a prezenta siguran n funcionare,
astfel nct capacitatea sa este mai mic dect cea a stratului superior.
Discurile cu dou fee sunt obinute din lipirea spate n spate a dou discuri
de 0,6 mm cu o singur fa. Pentru a asigura o grosime standard pentru
toate variantele, un disc cu o singur fa este un disc de grosime 0,6mm
lipit de un substrat neinscripionat. Structura unui disc cu dou fee a cte
dou straturi este dat n figura 4.19.
Dac DVD-ul va fi un mare succes, DVD-recordable
(inscripionabil) i DVD-rewritable (reinscripionabil) vor fi n scurt timp
produse pe scar larg. Succesul DVD-ului nu este ns garantat, deoarece
companiile de televiziune prin cablu au un plan destul de diferit pentru
distribuirea filmelor-video (la cerere, prin cablu) i btlia este abia la
nceput.
Arhitectura calculatoarelor
153
154
Arhitectura calculatoarelor
155
156
Arhitectura calculatoarelor
157
158
Arhitectura calculatoarelor
159
160
care apoi este pulverizat pe hrtie unde are loc solidificarea urmat de
impregnarea acesteia n hrtie prin trecerea printre doi cilindri speciali.
3.-Imprimantele laser color funcioneaz ca i cele laser
monocrome, cu deosebirea c pe cilindru se genereaz imagini separate
pentru fiecare component CYMK, utilizndu-se patru tonere diferite. Sunt
extrem de scumpe, dar tiprirea este rapid, calitatea ridicat iar imaginile
obinute stabile n timp.
4.-Imprimantele cu cear ( wax printers) au o band larg
compus din cear de patru culori, segmentat n benzi de dimensiunea unei
pagini. Mii de elemente de topire acioneaz asupra cerii impregnnd-o n
hrtie pe msur ce hrtia se deplaseaz sub ea. Impregnarea hrtiei se
realizeaz sub form de pixeli utiliznd sistemul CYMK. Consumabilele
fiind foarte scumpe, exist tendina de a fi nlocuite.
5.-Imprimantele cu sublimarea vopselii (dye sublimation
printers) au un purttor care conine vopselele CYMK i trece deasupra
unui cap de imprimare termic, alctuit din mii de elemente de nclzire
programabile. Vopselele se evapor instantaneu i sunt absorbite de o hrtie
special aflat n imediata apropiere. Fiecare element de nclzire poate
produce 256 temperaturi diferite. Cu ct temperatura este mai ridicat, cu
att mai mult vopsea se depune pe hrtie i se obine o nuan mai intens.
Spre deosebire de alte imprimante color, n acest caz se poate obine pentru
fiecare pixel un spectru de tonuri de culori aproape continuu. Mici
imprimante de uz special utilizeaz deseori procesul de sublimare pentru a
obine fotografii pe hrtie special i foarte scump.
Capitolul 5
Arhitectura calculatoarelor
161
MAGISTRALE
Transferurile de informaie ntre procesor, memorie i diferiii
controlori de I/E se efectueaz prin dispozitive de comunicare numite
magistrale sau busuri. Un bus cuprinde, n general, trei subansambluri:
-liniile de adres care selecioneaz unitile receptoare;
-liniile de date;
-liniile de control.
Un bus intern, din interiorul procesorului, este un ansamblu de fire
electrice pasive. El nu poate fi comandat dect de un dispozitiv odat.
Pentru un bus extern procesorului se pune problema unei funcionabiliti.
n acest capitol va fi vorba de busurile externe i despre funcionarea lor.
Busurile externe nu au un control centralizat natural. Fiecare dispozitiv,
(spre exemplu un procesor sau un disc) poate dori s ia un bus. O tranzacie
la un bus are dou etape:
-arbitrajul ntre mai multe poteniale cereri;
-transferul de date.
Ansamblul de mecanisme de arbitraj i transfer se numete
protocolul busului. Procesorul este conectat cu lumea exterioar printr-un
bus al crui protocol este specific procesorului. Busurile de I/E
interconecteaz dispozitivele de I/E la busul procesor. Aceste sisteme de
busuri pot accepta dispozitive de construcie variate, cu viteze i latene
diferite. Protocolul lor este definit public prin standarde.
5.1. ARBITRAJ
n literatur exist denumirile de stpn (master, maitre), oficial n
romnete iniiator (intiator), pentru orice dispozitiv capabil s acceseze un
bus, adic s preia controlul formulnd cereri (de exemplu procesorul sau
unele controloare), i sclav (slave, esclave) oficial n romnete int
(target), pentru dispozitivele care nu au aceast abilitate (de exemplu
memoria). n cazul primelor dispozitive, la trimiterea unei adrese sau
comenzi, se efectueaz aciunea cerut. Dar existena mai multor masteri
poteniali implic necesitatea unui arbitraj pentru accesul la un bus.
Protocoalele trebuie s satisfac att constrngerile de prioritate (urgena
cererilor diferitelor dispozitive), ct i pe cele de echitate (orice dispozitiv,
chiar cel mai puin prioritar, trebuie s fie servit).
162
I+1
Cerere
Bus ocupat
163
Arhitectura calculatoarelor
Control
Adrese
Ad
A
Date
Dec.
Sfrit
Cer.
Arb.
Sf.
Adr.
Dec.
Sfrit
com
Arb.
com
Cer.
Sf.
Ad
B
D0
A
D1
A
D2
A
D3
A
D0
B
164
165
Arhitectura calculatoarelor
REQ
2
Data
Adrese
Date
Ac.
6
DD
166
Arhitectura calculatoarelor
167
168
memorie este de mai muli cicluri bus. Cu un protocol n care busul este
blocat n timpul ntregii durate a tranzaciei, busul ateapt ntre momentul
n care a transmis adresa i data memorie este disponibil. Activnd
tranzacia numai n diferite etape n care busul este efectiv utilizat, se poate
elibera busul cnd nu este utilizat i nlnui mai multe transmisii. Se poate
astfel ameliora debitul efectiv al busului, cu condiia ca busul i organele
conectate s poat gestiona mai multe tranzacii nlnuite.
5.3.2.2. Adresarea magistralei PCI
REQ#
GNT#
REQ#
GNT#
REQ#
GNT#
REQ#
GNT#
Dispozitiv
PCI
Dispozitiv
PCI
Dispozitiv
PCI
Dispozitiv
PCI
Arbitru
PCI
Arhitectura calculatoarelor
169
Linii
1
32
1
4
Master
X
X
X
X
Slave
FRAME#
IRDY#
1
1
X
X
IDSEL#
DEVSEL#
1
1
TRDY#
STOP#
PERR#
SERR#
1
1
1
REQ#
GNT#
RST#
1
1
1
Descriere
Ceas (33MHz sau 66 MHz).
Linii de adrese i date, multiplexate.
Bit de paritate pentru adrese sau date
Configuraie pe magistral pentru comand/bii
pentru octei validai.
Arat c AD i C/BE sunt activate.
La citire: masterul va accepta; la scriere:slave-ul va
accepta..
Selectare spaiu de configuraie, n locul memoriei.
Slave-ul a decodificat adresa sa i ateapt
(recepioneaz).
La citire: date prezente; la scriere: slave-ul va
accepta.
Slave-ul vrea s opreasc tranzacia imediat.
Eroare de paritate detectat de receptor.
S-a detectat eroare de paritate, de adres sau de
sistem.
Cerere pentru atribuirea magistralei.
Recunoaterea atribuirii magistralei.
Iniializarea sistemului i a tuturor dispozitivelor.
Linii
1
1
32
1
4
]
SBO#
SDONE
INTx
JTAG
]
4
5
Master
X
Slave
X
X
X
X
X
Descriere
Cerere pentru a realiza o tranzacie pe 64 bii.
Se acord permisiunea pentru o tranzacie pe 64bii.
32 bii suplimentari pentru adrese sau date.
Paritatea pentru ce 32 bii suplimentari de adres/date.
4 bii suplimentari pentru activare octet.
Blocheaz magistrala pentru a permite tranzacii
multiple.
Gsirea informaiei pe o memorie intermediar
ndeprtat (pentru un sistem microprocesor).
Actualizarea consistenei informaiei (snooping).
Cerere de ntrerupere.
Semnale de test IEEE 1149,1 JTAG.
170
M66EN
171
Arhitectura calculatoarelor
T2
Inactiv
T3
T4
Scriere
T5
T6
T7
Adres
Date
comand
validare
Adres
Date
comand
validare
RAME
IRDY
DEVSEL
IRDY
172
173
Arhitectura calculatoarelor
Inactiv
Cadru 0
Cadru 1
Cadru 2
SOF
Cadru 3
SOF
SOF
IN
DATA
ACK
SOF
out
Pachete de
date de la
dispozitiv
SYN
PID
PAYLOAD
CRC
DATA
ACK
Pachete de la
dispozitiv
SYN
PID
PAYLOAD
CRC
174
Cablul const din patru fire: dou pentru date, unul pentru
alimentare (5voli) i unul pentru mas. Sistemul de semnalare transmite un
0 ca tranziie a tensiunii i un 1 ca absen a unei tranziii de tensiune, astfel
c att timp ct dureaz 0-urile se genereaz un flux de pulsuri. Cnd se
conecteaz un nou dispozitiv I/E, hub-ul rdcin detecteaz acest
eveniment i ntrerupe sistemul de operare. Apoi sistemul de operare
interogheaz dispozitivul, ce este i ct din banda USB necesit. Dac
sistemul de operare decide c banda de trecere este suficient pentru
dispozitiv, el asociaz noului dispozitiv o adres unic (1-127) i ncarc
aceast adres i alte informaii n registrele de configurare din dispozitiv. n
acest mod, noi dispozitive pot fi adugate imediat., fr nici o alt
informaie din partea utilizatorului i fr s se instaleze noi plci ISA sau
PCI. Plcile neiniializate pornesc de la adresa 0, astfel c ele pot fi adresate.
Pentru a face cablarea mai uoar, multe dispozitive USB conin hub-uri
ncorporate, pentru a accepta dispozitive suplimentare USB. De exemplu un
monitor poate avea dou socluri de hub pentru a amplasa difuzoare stnga i
dreapta.
Din punct de vedere logic, sistemul USB poate fi vzut ca un set de
canale de bii, de la hub-ul central la dispozitivele I/E. Fiecare dispozitiv
mparte canalul su n cel mult 16 subcanale, pentru diferite tipuri de date
(audio, video..) . Pe fiecare canal datele merg de la hub-ul central la
dispozitiv sau invers. Nu exist trafic ntre dou dispozitive I/E.
La exact fiecare 1,000,05 ms, hub-il emite un nou cadru pentru a
menine toate dispozitivele sincronizate. Un cadru este asociat cu un canal
de bii i const din pachete, primul fiind de la hub-ul rdcin ctre
dispozitiv. Urmtoarele pachete din cadru pot, de asemenea, s fie n aceast
direcie sau pot merge napoi de la dispozitiv la hub.
n figura 5.6. se prezint o secven de patru cadre.. n cadrele 0 i 2
nu se efectueaz nimic, astfel c este necesar doar un pachet SOF (Start of
Frame), de nceput de cadru. Acest pachet este trimis totdeauna n toate
dispozitivele. Cadrul 1 este o interogare, de exemplu o cerere ca un
dispozitiv de scanare s returneze biii pe care i-a gsit n imaginea pe care o
scaneaz. Cardul 3 const din datele ce se transmit la un dispozitiv, de
exemplu la o imprimant.
USB suport patru tipuri de cadre: control, izocron, transfer de
cantiti mari de date (bulk) i ntrerupere:
-cadrele de control sunt utilizate pentru a configura dispozitive, a le
transmite comenzi i a le interoga despre starea lor;
Arhitectura calculatoarelor
175
176
Arhitectura calculatoarelor
177
BIBLIOGRAFIE
1. Michel Cruceanu, Architecture des ordinateurs, Miage,
Universit de Paris-Sud, 1995.
2. Jaques Guizot, Architecture des ordinateurs, DEUG Poly. Fr.
1996.
3. Andrew Tanenbaum, Organizarea structurat a calculatoarelor,
(traducere din ediia 4), Computer Press Agora, Tg. Mure, 1999.
4. Dorian Gorgan, Gh. Sebestyen, Structura calculatoarelor, Ed.
Albastr, Cluj-Napoca, 2000.
5. Baruch-Zoltan Francisc, Arhitectura calculatoarelor, Ed.
TODESCO, Cluj-Napoca, 2000.
6. Patrick Marcel, Architecture des ordinateurs, IUP CEIIInformatique et tlcommunications, Paris, 2001.
7. Vasile Lungu, Procesoare Intel.Programare n limbaj de
asamblare. Ed. Teora, Bucureti, 2001.
8. Lancelot Pecquet, Architecture des ordinateurs et systmes
dexploitation, DEUG MIAS, Universit de Paris XII, 2004.
9. Nicolas Delestre, Michel Maingeuenod, Architecture des
ordinateurs. Introduction l informatique. ASI Paris, 2004.
10. Rzvan-Daniel Zota, Elemente de arhitectura sistemelor de
calcul i operare, Ed. ASE, Bucureti 2005.
11. PH. Leray, Architecture des ordinateurs et systmes
dexploitation, INSA, Rouen, 2005
12. Ccile Germain, Daniel Etiemble, Architecture des Ordinateurs.
Deuxime partie., IUP Miage-FIIFO, 2005.
13. Dominique Present, Architecture des ordinateurs,(Photos), Dep.
SRC, IUT, Marne la Vall, 2005.
178
Arhitectura calculatoarelor
179
CUPRINS
Pg.
1
NOIUNI INTRODUCTIVE...
1.1. SCHEMA DE BAZ A UNUI CALCULATOR.
1.2. SCHEMA NIVELELOR CONCEPTUALE ALE UNUI
CALCULATOR.
1.3. SCURT ISTORIC AL DEZVOLTRII CALCULATOARELOR...
1.3.1. Influena progresului tehnologic asupra dezvoltrii
calculatoarelor...
1.3.1.1. Generaia zero. Calculatoare mecanice
1.3.1.2. Generaia nti. Maini cu tuburi electronice.
1.3.1.3. Generaia a doua. Calculatoare cu tranzistori..
1.3.1.4. Generaia a treia. Calculatoare cu circuite integrate
1.3.1.5. Generaia a patra. V.L.S.I...
1.3.1.6. Generaia a cincia
1.3.2. Concepii noi n evoluia calculatoarelor.
1.3.2.1. Microprogramarea..
1.3.2.2. Inventarea sistemului de operare
1.3.2.3. Memoria Cache
1.4. TIPURI DE ARHITECTURI ALE CALCULATOARELOR
NUMERICE
1.4.1. Arhitectura von Neumann
1.4.2. Maina Turing.
1.5. CLASIFICAREA CALCULATOARELOR.
1.5.1. Taxonomia Flynn.
1.5.2. Taxonomia Wang..
1.5.3. Taxonomia Shore..
1.5.4. Clasificare comercial...
1.6. TRENDUL ACTUAL N ARHITECTURA CALCULATOARELOR
UNITATEA CENTRAL..
2.1. STRUCTURA UNITII CENTRALE..
2.2. CARACTERISTICILE UNITII CENTRALE
3
3
5
7
7
7
9
10
11
13
13
15
15
15
15
16
16
17
18
18
20
20
23
23
25
25
27
180
2.4.
2.5.
2.6.
2.7
Lungimea cuvntului 27
Frecvena ceasului 27
Numrul de instruciuni executate n unitatea de timp. 28
Gradul de paralelism 28
2.2.4.1. Paralelism la nivel de instruciuni (pipeline).. 29
2.2.4.2. Paralelism la nivel de procesor 32
SETUL DE INSTRUCIUNI... 32
2.3.1. Tipuri de instruciuni 33
2.3.2. Formatul unei instruciuni 33
2.3.3. Modul de adresare 34
UNITATE CENTRAL CABLAT 35
UNITATE CENTRAL CU MICROPROCESOR. 41
2.5.1. Schema general a unui procesor 41
2.5.2. Registrele microprocesorului 43
2.5.2.1
Registre generale. 43
2.5.2.2. Registre segment. 45
2.5.2.3. Registre IP i F. 46
2.5.3. Adresarea memoriei. Segmentarea.. 47
2.5.4. Formatul instruciunii.. 48
2.5.5. Moduri de adresare.. 49
2.5.5.1
Adresare direct 49
2.5.5.2. Adresare indirect. 50
2.5.5.3
Adresare indexat. 50
2.5.5.4. Adresare imediat. 51
2.5.5.5. Adresarea porturilor de I/E.. 51
2.5.6. Procesoare 286. 52
2.5.7. Procesoare 386. 53
2.5.8. Procesoare 486..53
2.5.9. Procesoare PENTIUM. 54
2.5.9.1. Microarhitectura familiei de procesoare PENTIUM 55
2.5.9.2. Unitatea de extragere i decodificare a
instruciunilor56
2.5.9.3. Unitatea de dispecerizare i execuie 57
2.5.9.4. Unitatea de retragere.59
UNITATE CENTRAL DE TIP RISC... 60
2.6.1. CISC versus RISC. 60
2.6.2. Setul de instruciuni... 61
2.6.3. Principiul de procesare pipeline ntr-un procesor RISC 62
2.6.4. Structura unui procesor RISC 64
2.6.5. Problema hazadurilor n procesoarele RISC. 65
2.6.5.1. Hazarduri structurale.65
2.6.5.2. Hazarduri de date..66
2.6.5.3. Hazarduri de ramificaie... 72
PROCESOARE SUPERSCALARE. 76
2.7.1. Principiul arhitecturii superscalare. 76
2.7.2. Hazarduri n arhitectura superscalar 79
2.7.2.1. Hazarduri structurale. Dependena de resurse. 79
Arhitectura calculatoarelor
2.7.2.2.
Hazarduri de date.
181
79
2.7.2.3. Hazarduri de control. 81
2.7.3. Arhitectura superscalar TOMASULO. 83
2.7.4. Arhitectura tipic a unui procesor superscalar...89
UNITATEA DE MEMORIE.. 91
3.1. MEMORIA FIZIC 91
3.2
CLASIFICAREA CIRCUITELOR DE MEMORIE 93
3.2.1. Clasificarea dup volatilitate..93
3.2.2. Clasificarea dup modul de pstrare a informaiilor..94
3.2.2.1. Memoria RAM static.. 94
3.2.2.2. Memoria RAM dinamic.. 94
3.2.3. Structura unitii de memorie.95
3.2.4. Tipuri de circuite de memorie96
3.2.4.1. Circuite FPM DRAM97
3.2.4.2
Circuite EDO DRAM... 97
3.2.4.3. Circuite BEDO DRAM.97
3.2.4.4. Circuite S DRAM. 98
3.2.4.5. Circuite SGRAM.. 99
3.2.4.6. Circuite WRAM99
3.2.5. Ierarhii de memorie..99
3.2.5.1. Memorii SET UP.. 100
3.2.5.2. Memorii BIOS.. 102
3.2.5.3. Set de registre generale. 102
3.2.5.4. Memoria CACHE. 103
3.2.5.5. Memoria RAM..109
3.2.5.6. Memoria virtual...110
UNITATEA DE INTRARE/IEIRE 111
4.1. SCHEMA UNUI SISTEM DE INTRARE/IEIRE111
4.1.1. Structura hard a unui sistem de I/E111
4.1.2. Structura soft a unui sistem de I/E. 112
4.1.2.1. Rutine de tratare a ntreruperilor...113
4.1.2.2. Drivere.. 114
4.1.2.3. Programe sistem independente de dispozitive 117
4.1.2.4. Primitive de nivel utilizator.. 118
4.2. TRANSFER DE DATE NTR-O UNITATE DE I/E 118
4.2.1. Transfer prin program 118
4.2.2. Transfer prin ntreruperi 119
4.2.3. Transfer direct prin DMA.. 120
4.2.4. Transfer prin procesor de I/E. 121
4.2.5. Instruciuni virtuale de I/E. 122
4.2.5.1. Fiiere123
4.2.5.2. Implementarea instruciunilor de I/E 125
4.2.5.3. Instruciuni pentru gestionarea cataloagelor 128
4.3. PROCESAREA INTRRILOR/IEIRILOR. 129
4.3.1. Mecanismul ntreruperilor. 130
4.3.2. ntreruperi i excepii.132
4.3.2.1. Situaii excepionale 132
182
PERIFERICE DE I/E..136
4.4.1. Memorii externe.137
4.4.1.1. Principii fizice de stocare a informaiei 137
4.4.1.2. Hard discuri...139
4.4.1.3. CD-ROM-uri.144
4.4.1.4. DVD-uri147
4.4.2. Periferice care nu stocheaz informaia. 149
4.4.2.1. Tastatura149
4.4.2.2. Sistemul de afiaj..149
4.4.2.3. Imprimanta152
5
MAGISTRALE. 157
5.1. ARBITRAJ.. 157
5.2. TRANSFER DE DATE... 159
5.2.1. Magistral sincron159
5.2.2. Magistral asincron.. 160
5.3. EXEMPLE DE MAGISTRALE.. 161
5.3.1. Magistrala ISA...162
5.3.2. Magistrala PCI... 162
5.3.2.1. Ameliorarea performanelor.. 163
5.3.2.2. Adresarea magistralei PCI 164
5.3.2.3. Semnalele magistralei PCI165
5.3.2.4. Tranzacii pe magistrala PCI.167
5.3.3. Magistrala USB..168
BIBLIOGRAFIE173