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

81
Máté: Architektú rák 8. előadás 1 Pentium 4 logikai lábkiosztása (3.45. ábra) Pentium 4 CPU 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 Hiba Szimato lás Válasz Adat RESET# Megszakítás ok Energiaellá tás Hőmenedzsme nt Órajel Diagnosztik a Inicializál ás Egyéb 33 5 2 5 2 64 7 2 23 5 4 Φ 85 180 2 14 3 13 4

description

BPRI# LOCK# BR0# A# ADS# REQ# Paritás# Misc# RS# TRDY# Paritás# BNR# D# DRDY# DBSY# Paritás# Egyéb#. RESET# Megszakítások Energiaellátás Hőmenedzsment Órajel Diagnosztika Inicializálás Egyéb. Sín ütemezés Kérés Hiba Szimatolás Válasz Adat. 3. 33. 14. 5. 2. 4. - PowerPoint PPT Presentation

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

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

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

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 2: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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ő- menedzsment

Órajel

Diagnosztika

Inicializálás

Egyéb7

2

23

5

4

14

3

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

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

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 4: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 5: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

Φ:

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 6: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 7: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 8: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 9: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

A bemeneti rész az utasításokat L2-ből kapja. Ezeket dekódolja, RISC szerű mikroműveletekre bontja, a nyomkövető gyorsító tárban tárolja (akár 12 K mikroműveletet) a programnak megfelelő sorrendben. 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 10: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 11: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 12: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 13: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 14: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 15: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 16: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 17: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 18: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 19: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 20: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 21: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 22: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 23: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 24: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 25: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 26: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 27: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 28: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 29: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 30: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

Rendszer interfész

L2 vezérlő

Memória vezérlő

L1 D

L2

Betöltő tároló

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

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

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 31: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 32: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 33: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 34: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

UltraSPARC III csővezetéke

Munka regisztergyűjtő

FP regisztergyűjtő

I

J

R

E

C

L1 D

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.

Utasítás csoportosító

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

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

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 36: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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ések.

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

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

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

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 38: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 39: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 40: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 41: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 42: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 43: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 44: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 45: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

Az I-8051 CPUmikroarchitektúrája

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

DPTR

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 46: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 47: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

Ö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 48: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

Assembly programozás

Pszeudo utasítások

A pszeudo utasításokat a fordítóprogram hajtja végre. Ez a végrehajtás fordítás közbeni tevékenységet vagy a fordításhoz szükséges információ gyűjtést jelenthet.

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

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

Adat definíciós utasításokAz adatokat általában külön szegmensben szokás és

javasolt definiálni iniciálással vagy anélkül. Az adat definíciós utasítások elé általában azonosítót

(változó név) írunk, hogy hivatkozhassunk az illető adatra. Egy-egy adat definíciós utasítással – vesszővel elválasztva – több azonos típusú adatot is definiálhatunk. A kezdőérték – megfelelő típusú – tetszőleges konstans (szám, szöveg, cím, ...) és kifejezés lehet. Ha nem akarunk kezdőértéket adni, akkor ? -et kell írnunk.

DUP operátorkifejezés DUP (adat)

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

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

Egyszerű adat definíciós utasítások

Define Byte (DB):

Adat1db 25 ; 1 byte, kezdőértéke decimális 25

Adat2db 25H ; 1 byte, kezdőértéke hexadec. 25

Adat3db 1,2 ; 2 byte (nem egy szó!)

Adat4db 5 dup (?); 5 inicializálatlan byte

Kar db ’a’,’b’,’c’ ; 3 ASCII kódú karakter

Szoveg db ”Ez egy szöveg”,13,0AH

; ACSII kódú szöveg és 2 szám

Szov1db ’Ez is ”szöveg”’

Szov2db ”és ez is ’szöveg’”

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

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

Define Word (DW):

Szo dw 0742H,452

Szo_címe dw Szo ; Szo offset címe

Define Double (DD):

Szo_f dd Szo ; Szo távoli ; (segment + offset) címe

Define Quadword (DQ)

Define Ten bytes (DT)

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

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

Összetett adat definíciós utasítások

Struktúra és a rekord.

Először a típust kell definiálni. A típus definíció nem jelent helyfoglalást. A struktúra illetve rekord konkrét példányai struktúra illetve rekord hívással definiálhatók. A struktúra illetve rekord elemi részeit mezőknek (field) nevezzük.

A hardver nem ismeri ezeket az adat típusokat, a kezelésükről szoftveresen kell gondoskodni!

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

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

StruktúraStruktúra definíció: a struktúra típusát definiálja a későbbi

struktúra hívások számára, ezért a memóriában nem jár helyfoglalással.

Str_típus STRUC ; struktúra (típus) definíció ... ; mező (field) definíciók: ... ; egyszerű adat definíciós ... ; utasításokStr_típus ENDS ; struktúra definíció vége

A mező (field) definíció csak egyszerű adat definíciós utasítással történhet, ezért struktúra mező nem lehet másik struktúra vagy rekord.

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

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

A mezők definiálásakor megadott értékek kezdőértékül szolgálnak a későbbiekben történő struktúra hívásokhoz. A definícióban megadott kezdőértékek közül azoknak a mezőknek a kezdőértéke híváskor felülbírálható, amelyek csak egyetlen adatot tartalmaznak (ilyen értelemben a szöveg konstans egyetlen adatnak minősül). Pl.:

S STRUC ; struktúra (típus) definícióF1 db 1,2 ; híváskor nem lehet

felülírniF2 db 10 dup (?) ; nem lehet felülírniF3 db 5 ; felülírhatóF4 db ’a’,’b’,’c’; nem lehet felülírni, deF5 db ’abc’ ; felülírhatóS ENDS

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

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

Struktúra hívás: A struktúra definíciójánál megadott Str_típus névnek a műveleti kód részen történő szerepeltetésével hozhatunk létre a definíciónak megfelelő típusú struktúra változókat. A kezdőértékek fölülbírása a kívánt értékek < > közötti felsorolásával történik

S1 S ; kezdőértékek a definícióbólS2 S <,,7,,’FG’> ; F3 kezdőértéke 7,

; F5-é ’FG ’ S3 S <,,’A’> ; F3 kezdőértéke ’A’ ,

; a többi a definícióból

Struktúrából vektort is előállíthatunk, pl.:S_v S 8 dup (<,,’A’>)

; 8 elemű struktúra vektor

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

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

Struktúra mezőre hivatkozás: A struktúra változó nevéhez tartozó OFFSET cím a struktúra OFFSET címét, míg a mező neve a struktúrán belüli címet jelenti. A struktúra adott mezejére úgy hivatkozhatunk, hogy a struktúra és mező név közé .-ot írunk, pl.:

MOV AL,S1.F3A . bármely oldalán lehet másfajta cím is, pl.

MOV BX, OFFSET S1után az alábbi utasítások mind ekvivalensek az előzővel:

MOV AL,[BX].F3MOV AL,[BX]+F3MOV AL,F3.[BX]MOV AL,F3[BX]

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

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

A fentiekből az is következik, hogy a mező és struktúra név – ellentétben a magasabb szintű programozási nyelvekkel –szükségképpen egyedi név, tehát sem másik struktúra definícióban, sem közönséges változóként nem szerepelhet.

A struktúra vektorokat a hagyományos módon még akkor sem indexezhetjük, ha az index konstans. Pl.

MOV AL,S_v[5].F3

; szintaktikusan helyes, de

[5] nem a vektor ötödik elemére mutató címet fogja eredményezni, csupán 5 byte-tal magasabb címet, mint S_v.F3. Ha i változó, akkor

MOV AL,S_v[i].F3

; szintaktikusan is HIBÁS!

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

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

Mindkét esetben programmal kell kiszámíttatni az elem offset-jét, pl. ha i word:

MOV AX,TYPE S ; S hossza byte-okban

; (l. később)

MUL i ; Az indexet 0-tól számoljuk!

MOV BX,AX ; az adat nem „lóghat ki” a

; szegmensből (DX=0)

MOV AL,S_v.F3[BX] ; AL az i-dik elem F3 mezeje.

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

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

Rekord

Rekord definíció: Csak a rekord típusát definiálja a későbbi rekord hívások számára.

Rec_típus RECORD mező_specifikációk

Az egyes mező specifikációkat ,-vel választjuk el egymástól.

Mező specifikáció:

mező_név:szélesség=kezdőérték

szélesség a mező bit-jeinek száma.

Az =kezdőérték el is maradhat, ha elmarad, az a mező 0-val való inicializálását írja elő.

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

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

Pl.:

R RECORD X:3,Y:4=15,Z:5

Az R rekord szavas (12 bit), a következőképpen helyezkedik el egy szóban:

X X X Y Y Y Y Z Z Z Z Z

0 0 0 1 1 1 1 0 0 0 0 0

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

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

Rekord hívás: A rekord definíciójánál megadott névnek a műveleti kód részen történő szerepeltetésével hozhatunk létre a definíciónak megfelelő típusú rekord változókat. A kezdőértékek fölülbírálása a kívánt értékek < > közötti felsorolásával történik.

R1 R < > ; 01E0H, kezdőértékek a ; definícióból

R2 R <,,7> ; 01E7H, X, Y kezdőértéke a; definícióból, Z-é 7

R3 R <1,2> ; 0240H, X kezdőértéke 1, Y-é 2, ; Z-é a definícióból

Rekordból vektort is előállíthatunk, pl.:R_v R 5 dup (<1,2,3>) ; 0243H,

; 5 elemű rekord vektor

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

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

Rekord mezőre hivatkozás

A mező név olyan konstansként használható, amely azt mondja meg, hány bittel kell jobbra léptetnünk a rekordot, hogy a kérdéses mező az 1-es helyértékre kerüljön.

MASK és NOT MASK operátor

; AX R3 Y mezeje a legalacsonyabb helyértékenMOV AX,R3 ; R3 szavas rekord!AND AX,MASK Y ; Y mezőhöz tartozó bitek

; maszkolásaMOV CL,Y ; léptetés előkészítéseSHR AX,CL ; kész vagyunk.

SAR nem lenne korrekt: nem biztos, hogy az Y mező nem tartalmazza az előjel bitet.

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

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

KifejezésEgy művelet operandusa lehet konstans, szimbólum

vagy kifejezés. KonstansA konstans lehet numerikus vagy szöveg konstans.A numerikus konstansok decimális, hexadecimális,

oktális és bináris számrendszerben adhatók meg. A számrendszert a szám végére írt D, H, O illetve B betűvel választhatjuk ki. .RADIXn ; 2 n 16 , n decimális

A szöveg konstansokat a DB utasításban ” vagy ’ jelek között adhatjuk meg.

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

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

Szimbólum

A szimbólum lehet szimbolikus konstans, változó név vagy címke.

Szimbolikus konstans: Az = vagy az EQU pszeudo utasítással definiálható. Szimbolikus szöveg konstans csak EQU-val definiálható. A szimbolikus konstans a program szövegnek a definíciót követő részében használható, értékét a használat helyét megelőző utolsó definíciója határozza meg.

Ha egy szimbólumot EQU-val definiálunk, akkor ezt a szimbólumot a modulban másutt nem definiálhatjuk!

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

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

S = 1 ; S értéke 1

N EQU 14 ; N értéke 14

MOV CX,N ; CX 14ISM:

S = S+1 ; S értéke ezután 2, függetlenül ; attól, hogy hányadszor fut a ciklus

MOV AX,S ; AX 2 LOOP ISM

N = 5 ; hibás

N EQU 5 ; hibás

S = 5 ; helyes

S EQU 5 ; hibás

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

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

Szimbolikus konstansként használhatjuk a $ jelet (helyszámláló), melynek az értéke mindenkor a program adott sorának megfelelő OFFSET cím. A helyszámláló értékének módosítására az ORG utasítás szolgál, pl.:

ORG $+100H; 100H byte kihagyása

; a memóriában

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

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

Címke: Leggyakoribb definíciója, hogy valamelyik utasítás előtt a sor első pozíciójától : -tal lezárt azonosítót írunk. Az így definiált címke NEAR típusú. Címke definícióra további lehetőséget nyújt a LABEL és a PROC pszeudo utasítás:

ALFA: ... ; NEAR típusú

BETA LABEL FAR; FAR típusú

GAMMA: ... ; BETA is ezt az utasítást

; címkézi, de GAMMA NEAR típusú

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

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

Az eljárás deklarációt a PROC pszeudo utasítással nyitjuk meg. A címke rovatba írt azonosító az eljárás neve és egyben a belépési pontjának címkéje. Az eljárás végén az eljárás végét jelző ENDP pszeudo utasítás előtt meg kell ismételnünk ezt az azonosítót, de az ismétlés nem minősül címkének. Az eljárás címkéje aszerint NEAR vagy FAR típusú, hogy maga az eljárás NEAR vagy FAR. Pl.:

A PROC ; NEAR típusú

...

B PROC NEAR ; NEAR típusú

...

C PROC FAR ; FAR típusú

...

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

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

Címkére vezérlés átadó utasítással hivatkozhatunk, NEAR típusúra csak az adott szegmensből, FAR típusúra más szegmensekből is.

Változó: Definíciója adat definíciós utasításokkal történik. Néha (adat) címkének is nevezik.

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

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

Általában a mikroarchitektúra nem tartozik hozzá.

ISA szintISA szint végrehajtásamicroprogram vagy hardver által

Hardver

FORTRAN program C program

Fordítás

hardverszoftver

Utasításrendszer-architektúra szintje (ISA)

Amit a fordító program készítőjének tudnia kell: memóriamodell, regiszterek, adattípusok, utasítások.

A hardver és szoftver között helyezkedik el, 5.1 ábra.

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

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

Utasítások szintje (ISA)

A jóság két kritériuma: • hatékony hardver megvalósítási lehetőség,• jó médium a fordítóknak.

Továbbfejlesztéseknél ügyelni kell a kompatibilitásra!

Nyilvános definíció: van: SPARC, JVM (tervezők); nincs: Pentium 4 (gyártók).

kernelmód (user) felhasználói mód

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

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

Memória modellek

ASCII kód 7 bit + paritás → Byte (bájt)

Szó: 4 vagy 8 byte.

Igazítás (alignment), 5.2. ábra: hatékonyabb, de probléma a kompatibilitás (a Pentium 4-nek két ciklusra is szüksége lehet egy szó beolvasásához).

cím 8 bájt08

1624

8 bájtos szó8 határra igazítva

cím 8 bájt08

1624

Nem igazított 8 bájtos szóa 12-es címtől

Néha (pl. 8051) külön memória az adatoknak és az utasításoknak (nem ugyanaz, mint az osztott gyorsítótár!).

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

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

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 74: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 75: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 76: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 77: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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 78: Pentium 4 logikai lábkiosztása (3.45. ábra)

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

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!

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

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

FeladatokMilyen adat definíciós utasítást ismer?Hogy használható a DUP operátor?Milyen adatok definiálhatók a DB operátorral?Hogy definiálható ASCII kódú szöveg konstans?Milyen adatok definiálhatók a DW operátorral?Milyen operátor segítségével adhatunk meg távoli cím

konstanst?Milyen összetett adat definíciós utasítást ismer?Hogy definiálhatunk struktúrát?Hogy hozhatunk létre struktúra példányt?Hogy hozhatunk létre struktúra vektort?

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

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

FeladatokHogy inicializálhatjuk egy struktúra valamely

mezejét?Struktúra híváskor mely mezőket inicializálhatjuk?Mit kell tudni a struktúra és mező névről?Hogy hivatkozhatunk egy struktúra valamely

mezejére?Hogy hivatkozhatunk egy struktúra vektor valamely

mezejére?Mi a rekord?Hogy definiálhatunk rekordot?Hogy adhatunk kezdőértéket egy rekordnak?Mit kell tudni a rekord és mező névről?Hogy hivatkozhatunk egy rekord valamely mezejére?

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

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

FeladatokHogy hivatkozhatunk egy rekord vektor valamely

mezejére?Mi a szimbólum?Mi a címke?Hogy definiálhatunk címkét?Mi a változó?Hogy definiálhatunk változót?Hogy definiálhatunk szimbolikus konstanst?Hogy definiálhatunk szimbolikus szöveg konstanst?Mi a különbség az EQU-val és az = jellel történt

konstans definíció között?Mi egy szimbolikus konstans értéke?Mi a $ szimbolikus konstans értéke?