Sunteți pe pagina 1din 4

Arhitectura P4 (NetBurst Micro-architecture) reprezint! mbun!t!

"ire a arhitecturii P6
( IA-32).
Elementele principale ale arhitecturii P4 snt :

- unitatea de execu"ie n ordine (in order front end)
- unitatea de execu"ie n afara ordinii (out of order execution core)
- unit!"ile de calcul pentru ntregi #i virgul! mobil!
- subsistemul de memorie


Arhitectura de baz! P4 este ilustrat! n figura $:





Figura $ Arhitectura P4 ( NetBurst Micro-architecture)

Unitatea de execu"ie n ordine con"ine urm!toarele blocuri func"ionale:

- ITLB ( Instruction Translate Lookahead Buffer) memorie cache nivel 2
(level 2 - L2) pentru instruc"iuni
- Blocul pentru predic"ia salturilor ( predic"ia static! #i dinamic! a salturilor;
se utilizeaz! un algoritm mbun!t!"it de predic"ie a salturilor n raport cu
algoritmul de predic"ie utilizat n arhitectura P6)
- Decodorul de instruc"iuni
- Memorie cache nivelul $ (level $ - L$). Aceast! memeorie stocheaz!
instruc"iunile cele mai recente. Posed! un predictor de salturi propriu.
- Memorie de microinstruc"iuni ( micro-opera"ii) necesar! pentru
instruc"iuni complexe cu mai mult de 4 micro-opera"ii

Unitatea de execu"ie n afara ordinii are ca principale func"iuni alocarea resurselor,
reasignarea registrelor #i planificarea execu"iei. Se utilizeaz! buffere de dimensiuni mai mari
ca la arhitectura P6.
Exist! un bloc de alocare n buffer-ul de reordonare (ROB) care urm!re#te starea
fiec!rei micro-opera"ii n decursul desf!#ur!rii ei. Blocul de alocare aloc! registrele necesare
#i o intrare n coada de a#teptare a planificatorului execu"iei micro-opera"iilor.
Se realizeaz! o redenumire (reasignare) a registrelor logice ale arhitecturii IA-32.
Aceast! redenumire realizeaz! o coresponden"! (mapare) ntre registrele logice #i registrele
fizice ale procesorului. Se utilizeaz! o tabel! de mapare (RAT Register Alias Table).
Alocarea se realizeaz! diferit fat! de arhitectura P6. Figura 2 ilustreaz! modul de alocare a
registrelor pentru arhitectura P4 ( Pentium III) #i arhitectura P4 (Pentium 4).



Figura 2. Alocarea registrelor n arhitectura Pentium

n arhitectura P6, rezultatele par"iale #i intr!rile n ROB snt stocate ca singur! entitate
ce con"ine att date ct #i informa"ie de stare. Dup! decizia de completare a micro-opera"iei
rezultatul final este stocat n RRF (Retirement Register File).
n arhitectura P4, intr!rile n ROB #i rezultatele snt stocate separat. n bufferul ROB
snt stocate doar informa"iile de stare, iar n RF (Register File) snt stocate datele. Exist! 2
tabele de alocare RAT : pentru instruc"iunile n curs de execu"ie #i pentru instruc"iunile n
a#teptare.
Unitatea de execu"ie are ca element central o unitate de planificare a execu"iei.
Aceasta permite reordonarea instruc"iunilor astfel nct execu"ia instruc"iunilor s! se
desf!#oare ct mai curnd posibil dup! ce operanzii de intrare #i resursele necesare prelucr!rii
snt disponibile.
Unitatea de planificare are n componen"! cozi de micro-opera"ii #i palnificatoare de
micro-opera"ii. Exist! cozi pentru opera"ii cu memoria #i cozi pentru opera"ii care nu
utilizeaz! memoria. Toate cozile snt cozi FIFO.
Planificatoarele de micro-opera"ii se refer! la opera"ii cu memoria, opear"ii ALU
rapide, opera"ii ALU lente #i opera"ii generale de virgul! mobil!. Exist! 4 porturi de
distribu"ie ( dispatch ports) ca n figura 3.




Figura 3. Porturi de distribu"ie n arhitectura P4

Unit!"ile de calcul utilizeaz! tehnica pipe line ( usual cu 3 stagii de prelucrare). Se
lucreaz! pe 32 de bi"i pentru ntregis #i pe 64-$28 de bi"i pentru numerele n virgul! mobil!.
Opera"iile cu memoria utilizeaz! tehnici pentru m!rirea vitezei de prelucrare:
- execu"ia speculativ! a nc!rc!rii din memorie
- rearanjarea opera"iilor de nc!rcare #i stocare
- utilizarea buffere-lor pentru scriere
- tehnica forwarding ( scurtcircuit!rii) pentru nc!rc!rile de date
dependente
La ncheierea execu"iei instruc"iunii se vor re-executa instruc"iunile executate n mod
incorect datorit! tehnicilor de execu"ie speculativ! sau instruc"iunile dependente.
Arhitectura P$ are 2 nivele de memorie cache; metoda de mapare este asociativ! pe
seturi ( 4 sau 8 seturi) iar politica de reamplasare este pseudo-LRU ( Least Recentlly Used).

Structura pipe line a arhitecturii P4 are 20 de stagii de prelucrare dup! cum urmeaz!:


Stagiul
pipe
line
Descriere
$ 2 - determin! valoare pointer-ului de instruc"iuni
- predic"ie salturi
3 - 4 - nc!rcarea instruc"unii din memoria cache
5 - transmiterea micro-opera"iilor la alocator
6 - alocarea resurselor pentru fiecare micro-opera"ie
7-8 - reasignarea registrelor
9 - plasarea n cozile de a#teptare
$0-$2 - planificarea micro - opera"iilor
$3-$4 - distribu"ia micro- opera"iilor c!tre unit!"ile de calcul
$5-$6 - citirea registrelor de date ( a operanzilor de intrare)
$7 - execu"ia micro-opera"iilor
$8 - actualizarea flagurilor de stare a micro-opera"iilor ( instruc"iunilor)
$9 - verificarea corectitudinii execu"iei salturilor
20 - stocarea rezultatului

Performan"ele arhitecturii P4 snt comparate cu performan"ele arhitecturii P6 n figura
4.



Figura 4. Performan"ele arhitecturii P4 comparativ cu performan"ele arhitecturii P6

S-ar putea să vă placă și