79
Máté: Architektú rák 8. előadás 1 Dinamikus elágazás jövendölés Elágazás előzmények tábla (4.41. ábra), hasonló jellegű, mint a gyorsító tár. Lehet több utas is! • Egy jövendölő bit: mi volt legutóbb, N-1 3 2 1 0 Elágazási cím/tag Bejeg y-zés Vali d Elágazás volt/nem volt

Dinamikus elágazás jövendölés

  • Upload
    diata

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Elágazás volt/nem volt. Valid. Bejegy-zés. N-1 … 3 2 1 0. Elágazási cím/tag. Dinamikus elágazás jövendölés Elágazás előzmények tábla ( 4.41. ábra ), hasonló jellegű, mint a gyorsító tár. Lehet több utas is! Egy jövendölő bit: mi volt legutóbb,. Jövendölő bitek. Valid. Bejegy-zés. - PowerPoint PPT Presentation

Citation preview

Page 1: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 1

Dinamikus elágazás jövendölésElágazás előzmények tábla (4.41. ábra), hasonló

jellegű, mint a gyorsító tár. Lehet több utas is!• Egy jövendölő bit: mi volt legutóbb,

N-1…

3210

Elágazási cím/tagBejegy-

zés

Valid Elágazás volt/nem

volt

Page 2: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 2

• Két jövendölő bit: mi várható és mi volt legutóbb.

N-1…

3210

Elágazási cím/tagBejegy-

zés

Valid Jövendölő bitek

Ha egy belső ciklus újra indul, akkor az várható, hogy a ciklus végén vissza kell ugrani, pedig legutóbb nem kellett.

Page 3: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 3

A várható bitet csak akkor írja át, ha egymás után kétszer téves volt a jóslat (4.42. ábra).

nincs elágazás

01Jóslás: nem lesz újabb elágazás

10Jóslás:

újra lesz elágazás

00Jóslás: nincs

elágazás

11Jóslás:

elágazás

elágazás elágazás

nincs elágazás

elágazáselágazásnincs elágazás

nincs elágazás

Page 4: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 4

• A táblázat a legutóbbi célcímet is tartalmazhatja.

N-1…

3210

Elágazási cím/tagBejegy-

zés

Valid Jövendölő bitek

Ha az a jövendölés, hogy lesz elágazás, akkor arra számít, hogy a legutóbb tárolt célcímre kell ugrani (ezt persze ellenőrizni kell).

Célcím

Page 5: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 5

• Figyeljük, hogy az utolsó k feltételes elágazást végre kellett-e hajtani. Ez egy k bites számot eredményez, ezt az elágazási előzmények blokkos regiszterében tároljuk. Ha a k bites szám megegyezik a táblázat valamely bejegyzésének a kulcsával (találat), akkor az ott talált jövendölést használja.

Page 6: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 6

Statikus elágazás jövendölés

A feltételes utasításoknak néha olyan változata is van (pl. UltraSPARC III), mely tartalmaz bitet a jóslásra. A fordító ezt a bitet valahogy beállítja.

Olyankor is statikus elágazás jövendölés történik, ha a processzor arra számít, hogy a visszafelé ugrások bekövetkeznek, az előre ugrások nem.

Page 7: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 7

Szuperskaláris architektúrák (2. 6. ábra)

S1 S2 S3 S5

utasítás beolvasó egység

utasítás dekódoló

egység

operandus beolvasó egység

ALU

eredményvisszaíró egység

S4

ALU

LOAD

STORE

Lebegő-pontos egység

Szuperskaláris processzor 5 funkcionális egységgel

Page 8: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 8

Szuperskaláris architektúra esetén a dekódoló egység az utasításokat mikroutasításokra darabolhatja. Legegyszerűbb, ha a mikroutasítások végrehajtási sorrendje megegyezik a betöltés sorrendjével, de ez nem mindig optimális.

FüggőségekHa egy utasítás írni/olvasni akar egy regisztert, akkor meg kell várja azon korábbi utasítások befejezését, amelyek ezt a regisztert írni/olvasni akarták!

Page 9: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 9

Függőségek

Egy utasítás nem hajtható végre az alábbi esetekben: • RAW (valódi) függőség (Read After Write):

Onnan akarunk olvasni (operandus), ahova még nem fejeződött be egy korábbi írás.

• WAR függőség (Write After Read):Olyan regiszterbe szeretnénk írni az eredményt, ahonnan még nem fejeződött be egy korábbi olvasás.

• WAW függőség (Write After Write): Olyan regiszterbe szeretnénk írni az eredményt, ahova még nem fejeződött be egy korábbi írás. Ne boruljon föl az írások sorrendje!

Page 10: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 10

Függőségek: nem olvashatjuk, aminek az írása még nem fejeződött be (RAW), és nem írhatjuk felül, amit korábbi utasítás olvasni (WAR) vagy írni akar (WAW). Regiszterenként egy-egy számláló, hogy hányszor használják a végrehajtás alatt lévő mikroutasítások a regisztert olvasásra illetve írásra.

Pl. Tegyük fel, hogy az n. ciklusban dekódolt utasítás végrehajtása legkorábban az (n+1). ciklusban kezdődhet, és a következőben fejeződik be, a szorzás csak két ciklussal később. A dekódoló ciklusonként két utasítást tud kiosztani (a valóságban 4-6 utasítást).

Az utasítások indítása és befejezése az eredeti sorrendben történjék!

C= ciklus, I=indítás, B=befejezés (~4.43. ábra).

Page 11: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 11

Olvasott regiszterek Írt regiszterekC # Dekódolt I B 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 71 1

2R3=R0*R1R4=R0+R2

12

12

11 1

11 1

2 34

R5=R0+R1R6=R1+R4

3-

33

22

11

11

11

11

3 3 2 1 1 1 14 1

23

21

11

1 1 11

55 R7=R1*R2

45

12 1

11

11 1

6 6 R1=R0-R2 - 2 1 1 1 17 4 1 1 18 59

7 R3=R3*R16-

11

11

11

00

10 1 1 1 011 612

8 R1=R4+R47-

11

11

11

RAW R4 miattI2 csak I1 után fejeződhet be

WAR R1 miatt

WAR R1 miatt

Csak a ciklus végére történik meg a visszaírás R4-be

RAW R1 miatt

megjegyzés hiba

Page 12: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 12

Olvasott regiszterek Írt regiszterekC # Dekódolt I B 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 79

7 R3=R3*R16-

11

11

11

00

10 1 1 1 011 612

8 R1=R4+R47-

11

11

11

13 1 1 114 1 1 115 716 8 2 117 2 118 8

RAW R1 miatt

WAR R1 miatt

Page 13: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 13

Néhány gép bizonyos utasításokat átugorva függőben hagy, előbb későbbi utasításokat hajt végre, és később tér vissza a függőben hagyott utasítások végrehajtására (~4.44. ábra).

Page 14: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 14

Sorrendtől eltérő végrehajtás (kezdés és befejezés) esetén (4.44. ábra)

Olvasott regiszterek Írt regiszterekC # Dekódolt I B 0 1 2 3 4 5 6 7 1 2 0 1 2 3 4 5 6 7 1 21 1

2R3=R0*R1R4=R0+R2

12

12

11 1

11 1

2 34

R5=R0+R1R6=R1+R4

3-

33

22

11

0

11

11

11 0

3 56

R7=R1*R2R1(S1)=R0-R2

56

2

343

333

232

000

111

11

111

0 00

111

11

RAW

WAR: R1 helyett S1I5 megelőzi I4-et

I4 nem indulhat RAW függőség (R4) I2 miatt, de adminisztrációt igényel, hogy melyik regisztereket használja (függőséget okozhat az átugrott utasítás is!).

I5 megelőzheti a I4 –et. I6 R1=R0-R2 helyett S1=R0-R2. Az S1 segéd regisztert

használja R1 helyett (regiszter átnevezés). Az eredményt később átmásolhatja R1 -be, ha R1 fölszabadult.

Page 15: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 15

I6 eredménye R1 helyett S1-ben képződik (regiszter átnevezés)! A későbbi utasításokban R1 helyett S1-et kell használni!

I7 RAW és WAW függőség R3 miatt (I1), RAW függőség R1 (S1) miatt (I6),

regiszter átnevezés miatt: R3=R3*R1 helyett R3=R3*S1 I8 WAR függőség: R1-et I1, I3 olvassa, S1-be I7 ír (WAW) ezért

R1=R4+R4 helyett S2=R4+R4 (mostantól R1 helyett S2 kell).

Olvasott regiszterek Írt regiszterekC # Dekódolt I B 0 1 2 3 4 5 6 7 1 2 0 1 2 3 4 5 6 7 1 21 1

2R3=R0*R1R4=R0+R2

12

12

11 1

11 1

2 34

R5=R0+R1R6=R1+R4

3-

33

22

11 0

11

11

11 0

3 56

R7=R1*R2R1(S1)=R0-R2

56

2

343

333

232

000

111

11

111

000

111

11

478

R3=R3*R1(S1)R1(S2)=R4+R4

4-8

13

33321

44432

22222

0000

11333

0000

11100

1111

11111

11111

11111

111

RAW

WAR: R1 helyett S1I5 megelőzi I4-et

Page 16: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 16

Olvasott regiszterek Írt regiszterekC # Dekódolt I B 0 1 2 3 4 5 6 7 1 2 0 1 2 3 4 5 6 7 1 21 1

2R3=R0*R1R4=R0+R2

12

12

11 1

11 1

2 34

R5=R0+R1R6=R1+R4

3-

33

22

11

0

11

11

11 0

3 56

R7=R1*R2R1(S1)=R0-R2

56

2

343

333

232

000

111

11

111

0 00

111

11

478

R3=R3*R1(S1)R1(S2)=R4+R4

4-8

13

33321

44432

22222

0000

11333

1111

11100

1111

11111

11111

11111

111

5 6 2 1 0 3 1 0 0 1 1 0 16 7

458

21

11

1111

322

1111

000

1111

1 11

111

7 (R1=S2) 1 1 18 1 1 19 7

RAW

WAR: R1 helyett S1I5 megelőzi I4-et

RAWWAR

Page 17: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 17

Olvasott regiszterek Írt regiszterek6 7

458

21

11

1111

322

1111

000

1111

1 11

111

7 (R1=S2) 1 1 18 1 1 19 7

I8 eredménye a 7. ciklusban átkerülhet S2 -ből R1-be, de jobb, ha a hardver nyilvántartja, hogy hol van.

A modern CPU-k gyakran titkos regiszterek tucatjait használják regiszter átnevezésre, hogy ezáltal kiküszöböljék a WAR és WAW függőségeket.

Page 18: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 18

Feltételezett végrehajtás (4.45. ábra)

evensum = 0;

oddsum = 0;

i = 0;

while(i < limit) {

k = i * i * i;

if(((i/2)*2) == i)

evensum = evensum + k;

else

oddsum = oddsum + k;

i = i + 1;

}

evensum = 0; oddsum = 0;

i = 0;

while(i < limit)

k = i * i * i; if(((i/2)*2) == i)

evensum = evensum + k;

oddsum = oddsum + k;

i = i + 1;

i >= limit

igaz hamis

Page 19: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 19

Feltételezett végrehajtás (4.45. ábra)Speculative Execution

Alap blokk (basic block): lineáris kód sorozat. Sokszor rövid, nincs elegendő párhuzamosság, hogy hatékonyan kihasználjuk.

Emelés: egy utasítás előre hozatala egy elágazáson keresztül (lassú műveletek esetén nyerhetünk vele). Pl. evensum és oddsum regiszterbe tölthető az elágazás előtt. Az egyik LOAD – természetesen – fölösleges.

Ha valamit nem biztos, hogy meg kell csinálni, de nincs más dolga a gépnek, akkor megteheti, de csak „firkáló” regiszterekbe írhat. Ha később kiderül, hogy kell, akkor átírja az eredményeket a valódi regiszterekbe, ha nem kell, elfelejti.

Page 20: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 20

Feltételezett végrehajtás (Speculative Execution)

Mellékhatások: • fölösleges gyorsító sor csere, SPECULATIVE_LOAD

• csapda (pl. x=0 esetén if(x>0) z=y/x;), mérgezés bit.

Page 21: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 21

Pentium 4 (2000. november)

Felülről kompatibilis az I8088, …, Pentium III-mal.

29.000, …, 42 → 55 M tranzisztor, 1,5 → 3,2 GHz, 63-82W, 478 láb (3. 44. ábra), 32 bites gép, 64 bites adat sín.

NetBurst architektúra. 2 fixpontos ALU → többszálúság (hyperthreding): 5% többlet a lapkán ~ két CPU.

Mindkét ALU kétszeres órajel sebességgel fut

Page 22: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 22

Többszálúság (hyperthreding, 8.7. ábra)

Többszörözött regiszter készlet esetén valósítható meg némi szervező hardver hozzáadásával.

(a) A1 A2 A3 A4 A5 A6 A7 A8

(b) B1 B2 B3 B4 B5 B6 B7 B8

(c) C1 C2 C3 C4 C5 C6 C7 C8

A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4

Óraciklus →

Az (a), (b) és (c) processzus külön futtatva az üres négyzeteknél várakozni kényszerül a memóriához fordulások miatt.

Page 23: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 23

Pentium 4

Gépi utasítások RISC szerű mikroutasítások, több mikroutasítás futhat egyszerre: szuperskaláris gép, megengedi a sorrenden kívüli végrehajtást is.

2-3 szintű belső gyorsító tár.

L1: 8 KB utasítás + nyomkövető akár 12000 dekódolt mikroutasítás tárolására + 16 KB adat.

L2: 256 KB – 1 MB, 8 utas halmaz kezelésű, 128 bájtos gyorsító sor.

Az Extrem Edition-ban 2 MB (közös) L3 is van.

Multiprocesszoros rendszerekhez szimatolás - snoop.

Page 24: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 24

SCSI USB Grafikus kártya

PCI-hídCPU

Gyorsító tárFő

memória

NyomtatóHangkártya

ISA-híd

Monitor

PCI sín

Memóriasín

ISA sín

Másodlagos gyorsító tár

Egér Billentyűzet

Modem

Szabad PCI bővítőhely

Szabad ISA bővítő helyek

Gyorsítótársín

IDE diszk

Lokális sín

Két külső szinkron sín (memória és PCI): 3. 52. ábra.

Page 25: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 25

Pentium 4 logikai lábkiosztása (3.45. ábra)

Pentium 4CPU

táp

BPRI#LOCK#

BR0#

A#ADS#REQ#

Paritás#

Misc#

RS#TRDY#Paritás#

BNR#D#

DRDY#DBSY#Paritás#Egyéb#

Sínütemezés

Kérés

HibaSzimatolás

Válasz

Adat

RESET#

Megszakítások

Energiaellátás

Hőmenedzsment

Órajel

Diagnosztika

Inicializálás

Egyéb

33

5

2

5

2

64 7

2

23

5

4

Φ 85 180

2

14

3

134

Page 26: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 26

Pentium 4 logikai lábkiosztása (3.45. ábra)

RESET#: a CPU alapállapotba hozatala,

Megszakítások: régi vezérlő, és Advanced Programmable Interrupt Controller (APIC)

Különböző tápfeszültségek, alvási állapotok,

Jelzés 1300 fölött, …Rendszersín frekvenciája,…

Pen

tium

4 CP

U

RESET#

Megszakítások

Energiaellátás

Hőmenedzs- mentÓrajel

Diagnosztika

Inicializálás

Egyéb7

2

23

5

4

14

3

Page 27: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 27

Pentium 4 logikai lábkiosztása (3.45. ábra)

Sín ütemezés: BPRI#: magas, BR0#: normál prioritású igény LOCK#: sín foglalás több

ciklusra,Kérés: A#: 8 bájtos adat címe

(64 GB címezhető), ADS#: a cím érvényes, REQ#: kívánság,

Válasz: RS#: státus, TRDY#: a szolga tud adatot fogadni,

Adat: D#: 8 bájtos adat, DRDY#: az adat a sínen van, DBSY#: a sín foglalt.

Sínütemezés

Kérés

HibaSzimatolás

Válasz

Adat

33

5

2

5

2

64

2

134

BPRI#LOCK#

BR0#

A#ADS#REQ#

Paritás#

Misc#

Misc#

RS#TRDY#Paritás#

BNR#D#

DRDY#DBSY#Paritás#Egyéb#

Pen

tium

4 CP

U

Page 28: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 28

Pentium 4 memória sínA memóriaigények, tranzakciók 6 állapota: 6 fázisú

csővezeték (3.45. ábra bal oldal) fázisonként külön vezérlő vonalakkal (amint a mester megkap valamit, elengedi a vonalakat):

0. Sín ütemezés (kiosztás, bus arbitration): eldől, hogy melyik sínmester következik,

1. Kérés: cím a sínre, kérés indítása,2. Hibajelzés: a szolga hibát jelez(het),3. Szimatolás: a másik CPU gyorsító tárában,4. Válasz: kész lesz-e az adat a következő ciklusban,5. Adat: megvan az adat.

Page 29: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 29

Φ:

tranzakció

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12

1 K H S V A

2 K H S V A

3 K H S V A

4 K H S V A

5 K H S V A

6 K H S V A

7 K H S V A

Pentium 4 memória sín csővezetéke (3.46. ábra)

Ütemezés (nem ábrázoltuk), csak akkor kell, ha másé a sín.

K: kérés, H: hiba, S: szimatolás, V: válasz, A: adat

Page 30: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 30

Memória alrendszer

Memória sínhez

Végrehajtó egység

Rendszerinterfész

Egész és lebegőpontos végrehajtó egységL2 D+I

L1 D

Betöltő dekódoló

Nyomkövető

ROM

Ütemezők Befejező egység

Elágazás jövendölő

Bemeneti rész Sorrenden kívüliség vezérlő

A Pentium 4 mikroarchitektúrája

4.46. ábra. A Pentium 4 blokkdiagramja

Page 31: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 31

4.46. ábra. A Pentium 4 memória alrendszere

Memória alrendszer

Memória sínhez

Rendszerinterfész

L2 D+I

L2 256 KB az első,512 KB a második,1 MB a harmadik

generációsPentium 4-ben.

L2 8 utas halmaz kezelésű, késleltetve visszaíró128 bájtos gyorsító sor, minden második ciklusban kezdődhet egy 64 bájtos feltöltés a memóriából.

Előre betöltő: megpróbálja L2-be tölteni azt a gyorsító sort, amelyre majd szükség lesz (nincs az ábrán).

Page 32: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 32

4.46. ábra. A Pentium 4 bemeneti részL2-ből betölti és dekódolja a programnak megfelelő

sorrendben az utasításokat. Az utasításokat RISC szerű mikroműveletek sorozatára bontja. Ha több, mint 4 mikroművelet szükséges, akkor ROM-ra

L2 D+I

Betöltő dekódoló

Nyomkövető

ROM

Elágazás jövendölő

Bemeneti rész

történik utalás. A dekó-dolt mikroműveletek a Nyomkövetőbe kerülnek (nem kell újra dekódolni).

Elágazás jövendölés.

Page 33: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 33

A bemeneti rész az utasításokat L2-ből kapja, egyszerre 64 bitet. Ezeket dekódolja, a nyomkövető gyorsító tárban tárolja (akár 12 K mikroműveletet). 6 mikroműveletet csoportosít minden nyomkövető sorban.

Feltételes elágazásnál az utolsó 4 K elágazást tartalmazó L1 BTB-ből (Branch Target Buffer – elágazási cél puffer) kikeresi a jövendölt címet, és onnan folytatja a dekódolást. Ha az elágazás nem szerepel L1 BTB-ben, akkor statikus jövendölés történik: visszafelé ugrást végre kell hajtani, előre ugrást nem.

Page 34: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 34

4.46. ábra. Sorrenden kívüliség vezérlőAz utasítások a programnak megfelelő sorrendben

kerülnek az ütemezőbe, eltérő sorrendben kezdődhet a végrehajtásuk (esetleg regiszter átnevezéssel), de a pontos megszakítás követelménye miatt az előírt sorrendben fejeződnek be.

Nyomkövető

ROM

Ütemezők Befejező egység

Elágazás jövendölő

Bemeneti rész Sorrenden kívüliség vezérlő

Page 35: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 35

Memória alrendszer

Memória sínhez

Végrehajtó egység

Rendszerinterfész

Egész és lebegőpontos végrehajtó egységL2 D+I

L1 D

Betöltő dekódoló

Nyomkövető

ROM

Ütemezők Befejező egység

Elágazás jövendölő

Bemeneti rész Sorrenden kívüliség vezérlő

A Pentium 4 mikroarchitektúrája

4.46. ábra. A Pentium 4 blokkdiagramja

Page 36: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 36

4.47. ábra. A NetBurst csővezeték Branch Target Bufferelágazási cél puffer

Dekódoló egység L1 BTB

ROM Nyomkövető Nyomkövető BTB

Lefoglaló/átnevező egység

MemóriasorNem memóriasor

ALU üt.

FP regisztergyűjtő Egész regisztergyűjtő

Bet. üt. Tár. üt.ALU üt.

Mozgató Bet/Tár

Befejező egység

L1 D

L2

Mem

óráb

a/m

emór

iáb

ól

Sor

ren

den

kív

ülis

ég

vezé

rlő

Bem

enet

i ré

sz

FPMMXSSE

Egész

Page 37: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 37

Dekódoló egység L1 BTB

ROM Nyomkövető Nyomkövető BTB

Lefoglaló/átnevező egység

A nyomkövető gyorsítótárból ciklusonként három mikroművelet kerül a lefoglaló/átnevező egység ROB (ReOrder Buffer, átrendező puffer) nevű táblájába. Ez a tábla 128 bejegyzést tartalmazhat.

Branch Target Bufferelágazási cél puffer

Page 38: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 38

Ha egy mikroművelet minden inputja rendelkezésre áll, akkor az esetleges WAR vagy WAW függőséget a 120 firkáló regiszter segítségével kiküszöböli. RAW függőség esetén a mikroműveletet várakoztatja, és a rákövetkező mikroműveleteket kezdi feldolgozni. Egyszerre akár 126 utasítás feldolgozása is folyamatban lehet, köztük 48 betöltés és 24 tárolás.

Az utasítások a programnak megfelelő sorrendben kerülnek az ütemezőbe, eltérő sorrendben kezdődhet a végrehajtásuk, de az előírt sorrendben fejeződnek be.

Pontos megszakítás: a megszakítás előtti összes utasítás befejeződött, az utána következőkből egy sem kezdődött el.

Page 39: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 39

A Lefoglaló/átnevező egység a két várakozási sor megfelelőjébe teszi a mikroutasításokat. Az ALU-k az órajel kétszeres sebességével dolgoznak, nehéz folyamatosan munkát adni nekik.

Lefoglaló/átnevező egység

MemóriasorNem memóriasor

ALU üt. Bet. üt. Tár. üt.ALU üt.

Minden órajel ciklusban egy betöltés és egy tárolás is végrehajtható.

Page 40: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 40

Az egyik egész aritmetikájú ALU az összes logikai, aritmetikai, és elágazó, a másik csak az összeadó, kivonó, léptető és forgató utasítás végrehajtására képes.

Mindkét regisztergyűjtő 128 regisztert tartalmaz, időben változik, hogy melyikben van EAX, …

ALU üt.

FP regisztergyűjtő Egész regisztergyűjtő

Bet. üt. Tár. üt.ALU üt.

Mozgató Bet/Tár

FPMMXSSE

Egész

Page 41: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 41

A befejező egység feladata, hogy az utasítások a programnak megfelelő sorrendben fejeződjenek be.

L1 4 utas halmazkezelésű, írás áteresztő gyorsítótár 64 bájtos gyorsító sorral. Nem lehet L1-et módosítani, amíg a tárolást megelőző műveletek be nem fejeződtek (24 bejegyzéses tároló puffer), de ha egy betöltő utasítás onnan akar olvasni, ahova egy korábbi tárolt, akkor a tárolások pufferéből megkaphatja a kért adatot (tárolás utáni betöltés).

FP regisztergyűjtő Egész regisztergyűjtő

Mozgató Bet/Tár

Befejező egység

L1 D

Page 42: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 42

4.47. ábra. A NetBurst csővezeték Branch Target Bufferelágazási cél puffer

Dekódoló egység L1 BTB

ROM Nyomkövető Nyomkövető BTB

Lefoglaló/átnevező egység

MemóriasorNem memóriasor

ALU üt.

FP regisztergyűjtő Egész regisztergyűjtő

Bet. üt. Tár. üt.ALU üt.

Mozgató Bet/Tár

Befejező egység

L1 D

L2

Mem

óráb

a/m

emór

iáb

ól

Sor

ren

den

kív

ülis

ég

vezé

rlő

Bem

enet

i ré

sz

FPMMXSSE

Egész

Page 43: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 43

UltraSPARC III (2000)

64 bites RISC gép, felűről kompatibilis a 32 bites SPARC V8 architektúrával és az UltraSPARC I, II-vel. Új a VIS 2.0 utasításkészlet (3D grafikus alkalmazásokhoz, tömörítéshez, hálózat kezeléshez, jelfeldolgozáshoz, stb).

Több processzoros alkalmazásokhoz készült. Az összekapcsoláshoz szükséges elemeket is tartalmazza.

2000-ben 0.6, 2001-ben 0.9, 2002-ben 1.2 GHz, órajel ciklusonként 4 utasítást tud elvégezni.

Page 44: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 44

UPAinterfész

a főmemóriához

UltraSPARC III

központiegység

Első szintűgyorsító tárak

UDB IImemória

puffer

5vezérlés

Sín ütemezés

Memória cím

Cím paritása

Érvényes cím

Várakozás

Válasz

Mem. adatECC

5

35

4

128

16

18

20

25

4

128

16

Másodlagos gyorsító tár

(adatok)

Másodlagos gyorsító tár(címkék -

tags)

Címke cím Érvényes címke

Címke adat Címke paritása

Adat címeÉrvényes adat cím

AdatParitás

UltraSPARC III

Page 45: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 45

UltraSPARC IIICPU 29 millió tranzisztor, 4 CPU közös memóriával

használható. 1368 láb (3. 47. ábra). 64 (jelenleg csak 43) bites cím és 128 bites adat lehetséges.

Belső gyorsító tár (32 KB utasítás + 64 KB adat).2 KB előre betöltő és tároló gyorsítótár L2 eléréséhez.A gyorsító sor (cache line) mérete 64 (32?) B. Külső 1 - 8 MB (? UltraSPARC II-nek 0.5-16 MB).

8 K - 256 K db 64 B-os gyorsító sor (cache line) lehet. A címzéséhez 13 – 18 bit szükséges. A CPU mindig 18 bites Line címet (Címkeazonosítót) ad át. Csak maximális méret esetén van mind a 18 bit kihasználva.

Page 46: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 46

A cím 64 bit-es, de egyelőre 44 bit-re korlátozva van

Tag Line

25 bit 18 bit

5 bit átfedés 6 bit bájt cím

Entry Valid Tag Cash line

2L-1

2

1

0

. . .

=?

Page 47: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 47

512 KB-os gyorsító tár esetén a 44 bites cím felosztása: Tag: 25 bit, Line: 13 bit, bájt cím: 6 bit = 44 bit.

16 MB-os tár esetén 18 bites Line kell, és 20 bites Tag (Címkeadat) is elég lenne, de ilyekor – hogy a CPU egységesen működhessen – a gyorsító tárban tárolt 20 bites Tag-et a gyorsító tár kiegészíti Line 5 legmagasabb helyértékű bitjével.

Az Adat címe a gyorsító sor címén (Címkeazonosító, Line) kívül még 2 bitet tartalmaz, mert egy átvitel során a gyorsító sornak csak negyed része (16 bájt) mozgatható.

Page 48: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 48

UltraSPARC III

Másodlagos gyorsító tár(címkék -

tags)

Másodlagos gyorsító tár

(adatok)

Címke cím (Line)Érvényes címke

Címke adat (tag)Címke paritása

Adat címeÉrvényes adat cím

AdatParitás

UltraSPARC IIIközpontiegység

Első szintűgyorsító tárak

18

20

254

12816

UDB IImemória

puffer

5vezérlés

Page 49: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 49

UltraSPARC IIIközpontiegység

Első szintűgyorsító tárak

Sín ütemezés

Memória címCím paritásaÉrvényes cím

Várakozás

Válasz

UPAinterfész

a főmemóriához

5

35

4

UPA (Ultra Port Architecture) sín, hálózati csomópont vagy a kettő kombinációja. Több CPU esetén egy központi vezérlőn keresztül kapcsolódnak a sínhez. Több írást és olvasást tud egyidejűleg kezelni.

Page 50: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 50

UDB II (UltraSPARC Data Buffer II): ezen keresztül zajlik a memória és a gyorsító tárak közötti adatforgalom. Az adatsín 150 MHz-es 128 bit széles szinkron sín, így a sávszélesség 2.4 GB/s.

UltraSPARC IIICPU

Első szintűgyorsító tárak

UDB IImemória

puffer

5vezérlés

Válasz

Memória adatHiba javító kód

UPAinterfész

a főmemóriához

4

12816

Page 51: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 51

UPAinterfész

a főmemóriához

UltraSPARC III

központiegység

Első szintűgyorsító tárak

UDB IImemória

puffer

5vezérlés

Sín ütemezés

Memória cím

Cím paritása

Érvényes cím

Várakozás

Válasz

Mem. adatECC

5

35

4

128

16

18

20

25

4

128

16

Másodlagos gyorsító tár

(adatok)

Másodlagos gyorsító tár(címkék -

tags)

Címke cím Érvényes címke

Címke adat Címke paritása

Adat címeÉrvényes adat cím

AdatParitás

UltraSPARC III

Page 52: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 52

Az UltraSPARC III CPU mikroarchitektúrája

L1 I

UgrótáblaUtasítás kiosztó

Utasítás puffer

Rendszer interfész

L2 vezérlő

Memória vezérlő

L1 D

L2

FP/Gr Egész Betöltő tároló

Tárolási gyorsítótár

Előre betöltő gyorsítótár

128 bit széles

4.48. ábra. Az UltraSPARC III CPU blokkdiagramja

Memóriához

Page 53: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 53

L1 I 32 KB 4 utas halmazkezelésű,az utasítás kiosztó ciklusonként 4

utasítást tud kiosztani

L1 I

UgrótáblaUtasítás kiosztó

Utasítás puffer

FP/Gr Egész Betöltő tároló

Két egész aritmetikájú ALU + regiszterek + firkáló regiszterek,

Lebegőpontos ALU-k: összeadó/kivonó, szorzó/osztó + 32 regiszter + grafikai utasítások.

Page 54: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 54

Rendszer interfész

L2 vezérlő

Memória vezérlő

L1 D

L2

Betöltő tároló

Tárolási gyorsítótár

Előre betöltő gyorsítótár

Memóriához

L1 D 64 KB-os 4 utas halmazkezelésű, írás áteresztő, 32 bájtos gyorsító sor. Feltételezett betöltésre 2 KB előre betöltő gyorsítótár. 2 KB tárolási gyorsítótár.

Memória vezérlő: virtuális → fizikai cím.

128 bit széles L1 I

Utasítás kiosztó

Page 55: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 55

UltraSPARC III CPU mikroarchitektúrájaA SPARC sorozat RISC elgondoláson alapul. A

legtöbb utasításnak két forrás és egy cél regisztere van.

Előre betöltés speciális utasításokkal, és a visszafelé kompatibilitás miatt hardveresen is.

2 bites elágazás jövendölő + statikus elágazás jövendölés.

Page 56: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 56

UltraSPARC III csővezetéke (4.49. ábra)

Címmultiplexor

Utasítás gyorsítótár

Utasítás dekódoló

Ugrótábla

Cél

A

P

F

B

Address generation, cím generáló. Ugrás, csapda, … Az eltolás résben lévő utasítást mindig végrehajtja!

Preliminari Fetch, előzetes betöltő. Legfeljebb 4 utasítást képes betölteni L1 I-ből, nézi, hogy van-e köztük elágazó, elágazás jövendölés.

Branch target, elágazási cél. Ha kell ugrani, → A

Page 57: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 57

UltraSPARC III csővezetéke

Címmultiplexor

Utasítás gyorsítótár

Utasítás dekódoló

Utasítás csoportosító

Ugrótábla

Cél

A

P

F

B

I

J

Instruction group formation, utasítás csoportosító. Aszerint csoportosítja az utasításokat, hogy melyik működési egységet használják.

Page 58: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 58

UltraSPARC III csővezetéke

Munka regisztergyűjtő

FP regisztergyűjtő

J

R

E

C

L1 D

Utasítás csoportosító

Bet

öltő

/tár

oló,

spe

ciál

is e

gysé

g

J instruction stage grouping, utasítás kiosztó. Az elérhető működési egységektől függően akár 4 utasítást is továbbít az R szakasznak.

Register, függőség esetén vár, nincs sorrenden kívüli végrehajtás.

Page 59: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 59

UltraSPARC III csővezetéke

Munka regisztergyűjtő

FP regisztergyűjtő

J

R

E

C

L1 D

Utasítás csoportosító

Bet

öltő

/tár

oló,

spe

ciál

is e

gysé

g

Execution, végrehajtó. A legtöbb egész utasítás itt be is fejeződik. Ha egy utasítás készen van, akkor frissül a regisztergyűjtő. Itt dől el, hogy az ugrás feltétele teljesül-e. Hibás jövendölés esetén jelzés az A szakasznak, a csővezeték érvénytelenítése.

Cache, gyorsítótár. Itt zárul L1 D elérése.

Page 60: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 60

UltraSPARC III csővezetéke

Munka regisztergyűjtő

FP regisztergyűjtő

J

R

E

C

M

W

L1 D

L2

Utasítás csoportosító

Előjel kiterjesztés, igazítás Előre betöltő gy.tár

Bet

öltő

/tár

oló,

spe

ciál

is e

gysé

g

Miss, hiány. L1 hiány esetén L2-höz fordul. Itt történik az előjel kiterjesztés, igazítás, az előre betöltő gyorsítótárból kiszolgálható betöltés.

Write, író. A speciális egység eredményei a munka regisztergyűjtőbe kerülnek.

Page 61: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 61

UltraSPARC III csővezetéke

FP regisztergyűjtőE

C

M

W

X

T

D

FP

AD

D/S

UB

Gra

fik

us

AL

U

FP

MU

L/D

IVG

rafi

ku

s M

UL

eXtended, kiterjesztett. Itt fejeződik be a legtöbb FP és grafikai utasítás.

Trap, csapda. Ez észleli az egész és FP csapdákat.

Pontos megszakítás.

Page 62: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 62

UltraSPARC III csővezetéke

Munka regisztergyűjtőR

E

C

M

W

X

T

D

L1 D

L2

Arch. r.gyűjtő

Előjel kiterjesztés, igazítás Tárolási sor Tarolási gy.tár

Bet

öltő

/tár

oló,

spe

ciál

is e

gysé

g

A D szakasz véglegesíti a regiszterek értékét az architektúrális regiszter gyűjtőben. Megszakításkor az itteni adatok érvényesek.

Page 63: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 63

UltraSPARC III csővezetéke

Munka regisztergyűjtő

FP regisztergyűjtő

J

R

E

C

M

W

X

T

D

L1 D

L2F

P A

DD

/SU

BG

rafi

ku

s A

LU

FP

MU

L/D

IVG

rafi

ku

s M

UL

Arch. r.gyűjtő

Utasítás csoportosító

Előjel kiterjesztés, igazítás Tárolási sor Tarolási gy.tár

Bet

öltő

/tár

oló,

spe

ciál

is e

gysé

g

Page 64: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 64

I-8051 (1980)Cél: beépített rendszerekben való alkalmazás.Fő szempont: olcsóság (ma már 10-15 ¢), sokoldalú

alkalmazhatóság.A memóriával, be- és kivitellel együtt egyetlen lapkára

integrált számítógép. 40 multiplexelt lábú standard tokban kerül forgalomba. 60 000 tranzisztor. 4 KB ROM, 128 B RAM, max. 64 KB külső memória.16 címvezeték. 8 bites adat sín. 32 K/B vonal 4 db 8 bites csoportba rendezve, ezek mindegyike hozzáköthető nyomógombhoz, kapcsolóhoz, LED-hez, … Időzítők.

Pl. Rádiós óra: nyomógombok, kapcsolók, kijelző.

Page 65: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 65

Az I-8051 logikai lábkiosztása (3.50. ábra)

AD

RD#WR#ALE

PSEN#EA#

Időzítők Megszakítások

TXDRXDRST

Port 0

Port 1

Port 2

Port 3

8

8

8

8

8051

168

22

2Φ Táp

AddressDataRD# olvas a memóriábólWR# ír a memóriábaAddress Latch Enable: külső memória esetén: a sínen érvényes a címProgram Store ENable: olvasás a programot tároló memóriábólExternal Access (az értéke

állandó): (1) a 0-4095 címek a belső, (0) a külső memóriára vonatkoznak

Page 66: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 66

Az I-8051 logikai lábkiosztása (3.50. ábra)

AD

RD#WR#ALE

PSEN#EA#

Időzítők Megszakítások

TXDRXDRST

Port 0

Port 1

Port 2

Port 3

8

8

8

8

8051

168

22

2Φ Táp

A két időzítő külső áramkörről kaphat jeletMegszakításokTXD Transmitted Data, továbbított adatRXD Received Data, érkezett adatReSeT

Port 0-3 32 (4*8) bites B/K soros vonal

Page 67: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 67

Az I-8051 CPUmikroarchitektúrája

(4.50. ábra)

RAM ADDR

IR

SP

B

ACC

RAM

TMP2

TMP1

PSW

ROM

ROM ADDR

BUFFER

PC növelő

PC

DPTR

Időzítő 0

Időzítő 1

Port 0

Időzítő 2

Port 1

Port 2

Port 3

Lokális sínFő sín

ALU

Page 68: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 68

Az I-8051 CPU mikroarchitektúrája (4.50. ábra)

RAM 128 bájtA regiszterek a RAM-ban vannak RAM ADDRess a RAM címzéséhezInstruction RegisterStack PointerB szorzásnál, osztásnál van szerepe,

ideiglenes tárolásra is használhatóACCumulator: fő aritmetikai regiszter,

a legtöbb számítás eredménye itt keletkezik

TMP1 – TMP2 az ALU bemenetei, az eredmény a fő sínről akármelyik regiszterbe kerülhet

Program Status Word

RAM ADDR

IR

SP

B

ACC

RAM

TMP2

TMP1

PSW

Fő sínALU

Page 69: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 69

Az I-8051 CPUmikroarchitektúrája

(4.50. ábra)

ROM 4 KB belső, max. 64 KB külső

16 bites regiszterek:ROM ADDRessBUFFERPC, PC növelő PC-t

beírva, majd kiolvasva PC növelődik

Időzítő 0 – 2

Port 0 – 3

ROM

ROM ADDR

BUFFER

PC növelő

PC

DPTR

Időzítő 0

Időzítő 1

Port 0

Időzítő 2

Port 1

Port 2

Port 3

Lokális sín

Page 70: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 70

Az I-8051 CPU mikroarchitektúrája (4.50. ábra)

A legtöbb utasítás egy óraciklust igényel. A ciklus hat állapota:

1. Az utasítás a ROM-ból a fősínre és IR-be kerül.

2. Dekódolás, PC növelése.

3. Operandusok előkészítése.

4. Egyik operandus a fősínre, onnan általában TMP1-be, a másik ACC-ből TMP2-be kerül.

5. Az ALU végrehajtja a műveletet.

6. Az ALU kimenete a fősínre kerül, ROM ADDR felkészül a következő utasítás olvasására.

Page 71: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 71

Összehasonlítás

Pentium 4 CISC gépegy CISC utasítás → több RISC mikroutasítás

UltraSPARC III RISC gép

I-8051 inkább RISC, mint CISC gép

picoJava II verem gép, sok memória hivatkozástöbb CISC utasítás → egy RISC mikroutasítás

Page 72: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 72

Feladatok

Mi az eltolási rés (delay slot)?

Hogy működik az eltolási rés szempontjából a Pentium és az UltraSPARC?

Mit nevezünk elágazás jövendölésnek?

Milyen dinamikus elágazás jövendöléseket ismer?

Milyen statikus elágazás jövendöléseket ismer?

Mit nevezünk függőségnek?

Milyen függőségeket ismer?

Mely függőségek oldhatók fel, és hogyan?

Page 73: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 73

Feladatok

Mi az előnye a sorrendtől eltérő végrehajtásnak?

Mire szolgál a regiszter átnevezés?

Mi a feltételezett végrehajtás?

Mit nevezünk emelésnek?

Mikor előnyös az emelés?

Milyen mellékhatásai lehetnek a feltételezett végrehajtásnak?

Mi a SPECULATIVE_LOAD lényege? Mi a mérgezés bit?

Page 74: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 74

FeladatokMi a többszálúság lényege, haszna?Mik a többszálúság megvalósításának feltételei?Hogy érvényesül a RISC elv a Pentium 4 esetén?Mi a szuperskaláris gép lényege?Mit jelent a sorrenden kívüli végrehajtás?Milyen gyorsítótárakat használ a Pentium 4?Jellemezze a Pentium 4 L2 gyorsítótárát!Mire szolgál az előre betöltő?Mit jelent a szimatolás?Hogy működik a Pentium 4 memória sín csővezetéke?Milyen sorrendben dekódolja a Pentium 4 az

utasításokat?Mire szolgál a ROM?

Page 75: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 75

FeladatokMire szolgál a nyomkövető gyorsítótár?Milyen elágazás jövendölést használ a Pentium 4?Mire szolgál az L1 BTB?Mire szolgál a nyomkövető BTB? Milyen sorrendben kezdődik az utasítások

végrehajtása a Pentium 4-en?Mire szolgál a lefoglaló/átnevező egység?Mire szolgálnak a regiszter gyűjtők?Milyen sorrendben fejeződik be az utasítások

végrehajtása a Pentium 4-en?Mi a különbség a Pentium 4 két egész aritmetikájú

ALU-ja között?Miért nem tárolható azonnal az eredmény L2-be?

Page 76: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 76

FeladatokMit jelent a pontos megszakítás kifejezés?Milyen problémát okozhat a tárolás utáni betöltés?Hogy működik az UltraSPARC III másodlagos

gyorsítótára?Mire szolgál az UPA (Ultra Port Architecture)?Mire szolgál az UDB II (UltraSPARC Data Buffer II)?Milyen szervezésű az UltraSPARC III L1 I

gyorsítótára?Mire szolgál a munka regisztergyűjtő?Mire szolgál az architektúrális regisztergyűjtő?Mire szolgál az előre betöltő gyorsítótár?Mire szolgál a tárolási sor?Mire szolgál a tárolási gyorsítótár?

Page 77: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 77

FeladatokMire szolgál az UltraSPARC III ugrótáblája?Milyen elágazás jövendölést használ az

UltraSPARC III? Mit nevezünk eltolás résnek?Hogy kezeli az UltraSPARC III az eltolás rést? Mire szolgál az utasítás csoportosító egység?Mire szolgál a munka regisztergyűjtő?Mire szolgál az architektúrális regisztergyűjtő?Hány ALU van az UltraSPARC III-ban? Mire szolgál az előre betöltő gyorsítótár?Mire szolgál a tárolási sor?Mire szolgál a tárolási gyorsítótár? Hogy kezeli az UltraSPARC III a függőségeket?

Page 78: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 78

FeladatokMi az I-8051 fő alkalmazási területe?Nagyságrendileg milyen árú egy I-8051?Jellemezze az I-8051-et!Mi a RAM?Mi a ROM?Hány bites a RAM ADDR regiszter?Hány bites a ROM ADDR regiszter?Mekkora az I-8051 RAM-ja?Mekkora az I-8051 ROM-ja?Hol helyezkednek el az I-8051 regiszterei?Mire szolgál az IR, SP, B, ACC, TMP1-2 regiszter?Mi a PSW?Hogy történik PC növelése?

Page 79: Dinamikus elágazás jövendölés

Máté: Architektúrák 8. előadás 79

FeladatokMilyen és hány be/kimenete van az I-8051-nek?Mire használhatók az I-8051 be/kimenetei?Hány időzítője van az I-8051-nak?Mire használhatók az I-8051 időzítői?Mik az I-8051 ALU-jának bemenetei?Milyen állapotai vannak az óraciklusának?Jellemezze a CISC gépeket!Jellemezze a RISC gépeket!CISC vagy RISC gép a Pentium 4?CISC vagy RISC gép az UltraSPARC III?CISC vagy RISC gép az I-8051?Hasonlítsa össze a Pentium 4-et, az UltraSPARC

III-at és az I-8051-ez!