Máté: Számítógép architektúrák
Branch Target Buffer elágazási cél puffer
ALU üt.
ALU üt.
Memóriasor Bet. üt.
Tár. üt.
FP regisztergyűjtő
Egész regisztergyűjtő
Mozgató
Bet/Tár L1 D
Befejező egység Máté: Architektúrák
Egész
9. előadás
Máté: Architektúrák
9. előadás
3
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 MMX SSE
ALU üt.
Bet. üt.
Tár. üt.
A dekódoló egység az utasításokat L2-ből kapja. Ezeket RISC szerű mikroműveletekre bontja, és a nyomkövető gyorsító tárban tárolja. Innen 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. Máté: Architektúrák
9. előadás
2
A Lefoglaló/átnevező egység a két sor megfelelőjébe teszi a végrehajtható 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 Nem memóriasor ALU üt.
ALU üt.
Memóriasor Bet. üt.
Tár. üt.
Minden órajel ciklusban egy betöltés és egy tárolás is végrehajtható. Máté: Architektúrák
9. előadás
4
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ő
FP regisztergyűjtő
Egész regisztergyűjtő
Mozgató
Bet/Tár
Mozgató
Bet/Tár L1 D
Egész Máté: Architektúrák
9. előadás
L1 BTB Nyomkövető BTB
Lefoglaló/átnevező egység
1
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.
μROM
Nyomkövető
L2
Memórába/memóriából
Lefoglaló/átnevező egység Nem memóriasor
Dekódoló egység
Bemeneti rész
L1 BTB Nyomkövető BTB
Sorrenden kívüliség vezérlő
FP MMX SSE
μROM
Nyomkövető
L2
Sorrenden kívüliség vezérlő
Bemeneti rész
Dekódoló egység
Branch Target Buffer elágazási cél puffer
Memórába/memóriából
4.47. ábra. A NetBurst csővezeték
9. előadás
Befejező egység 5
Máté: Architektúrák
9. előadás
6
1
Máté: Számítógép architektúrák
Branch Target Buffer elágazási cél puffer
4.47. ábra. A NetBurst csővezeték
FP MMX SSE
Memórába/memóriából
μROM
L1 BTB Nyomkövető BTB
Nyomkövető
Lefoglaló/átnevező egység Nem memóriasor ALU üt.
ALU üt.
Memóriasor Bet. üt.
L2
Sorrenden kívüliség vezérlő
Bemeneti rész
Dekódoló egység
Tár. üt.
FP regisztergyűjtő
Egész regisztergyűjtő
Mozgató
Bet/Tár L1 D Egész
Befejező egység Máté: Architektúrák
9. előadás
7
18 Bejegyzés cím Másodlagos Érvényes/ gyorsító tár érvénytelen UltraSPARC (címkék - 25 Bejegyzés adat III tags) központi 4 Bejegyzés egység paritása
Sín ütemezés 5 Memória cím 35 Cím paritása Érvényes cím Várakozás
20
Válasz
Első szintű A cím érvényes gyorsító tárak Adat címe
Másodlagos gyorsító tár (adatok) 128 16
Adat
UltraSPARC III ? Máté: Architektúrák
vezérlés
Paritás
UDB II memória puffer 9. előadás
4
UPA interfész a fő memóriához
5 Mem. adat ECC
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ás elvégzését tudja indítani. Máté: Architektúrák
9. előadás
8
UltraSPARC III CPU 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. Az L2 gyorsítótár osztott, külső 1, 4 vagy 8 MB A gyorsító sor mérete 64, 256 illetve 512 B
128 16 9
Az UltraSPARC II-nél 0.5-16 MB-os az L2 tár és 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 (Bejegyzés cím) ad át. Csak maximális méret esetén van mind a 18 bit címzésre kihasználva.
Máté: Architektúrák
9. előadás
10
A cím 64 bit-es, de egyelőre 44 bit-re korlátozva van 5 bit átfedés Tag
6 bites bájt cím Line
25 bit
18 bit
=? Entry Valid 2L-1
Tag
Cash line
...
2 1 0 Máté: Architektúrák
9. előadás
9. előadás
11
Máté: Architektúrák
9. előadás
12
2
Máté: Számítógép architektúrák
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 (Bejegyzés adat) 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 (Bejegyzés cím, 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ó. Máté: Architektúrák
9. előadás
13
Sín ütemezés UltraSPARC III központi egység
Memória cím Cím paritása Érvényes cím
5 35
Várakozás Első szintű gyorsító tárak
4
Válasz
UPA interfész a fő memóriához
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. Máté: Architektúrák
9. előadás
15
18 Bejegyzés cím Másodlagos Érvényes/ gyorsító tár érvénytelen UltraSPARC (címkék - 25 Bejegyzés adat III tags) központi 4 Bejegyzés egység paritása
16
Adat
UltraSPARC III Máté: Architektúrák
9. előadás
vezérlés
Paritás
UDB II memória puffer 9. előadás
20
Érvényes cím
Válasz
Adat címe A cím érvényes
vezérlés 5 UDB II memória puffer
9. előadás
14
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 III CPU Első szintű gyorsító tárak vezérlés UDB II memória puffer
Válasz
4 UPA interfész a fő memóriához
5 Memória adat ECC
Máté: Architektúrák
128 16
9. előadás
Ugrótábla UPA interfész a fő memóriához
L1 I
Rendszer interfész
Utasítás kiosztó
Memória vezérlő
16
Utasítás puffer Egész
128
Memóriához 128 bit széles
L2 vezérlő
L1 D
L2
Tárolási gyorsítótár Betöltő tároló
5
ECC
Első szintű gyorsító tárak
Adat Paritás
Máté: Architektúrák
FP/Gr
Mem. adat
UltraSPARC III központi egység
UltraSPARC III
Cím paritása
Első szintű Adat címe A cím érvényes gyorsító tárak
Másodlagos gyorsító tár (adatok) 128
25 Bejegyzés adat (tag) 4 Címke paritása
Másodlagos gyorsító tár (adatok) 128 16
Memória cím 35
4
18 Bejegyzés cím (Line) Érvényes/érvénytelen
Az UltraSPARC III CPU mikroarchitektúrája
Sín ütemezés 5
Várakozás 20
Másodlagos gyorsító tár (címkék tags)
Előre betöltő gyorsítótár
4.48. ábra. Az UltraSPARC III CPU blokkdiagramja
16 17
Máté: Architektúrák
9. előadás
18
3
Máté: Számítógép architektúrák
Ugrótábla
Utasítás kiosztó
Utasítás puffer FP/Gr
Egész
L1 I 32 KB 4 utas halmazkezelésű Az utasítás kiosztó ciklusonként 4 utasítást tud kiosztani Ugrótábla 16K bejegyzés elágazás jövendöléshez (cél cím is) 16 elemű Utasítás puffer
9. előadás
L1 D
Máté: Architektúrák
P
Utasítás gyorsítótár
F Cél
B
Utasítás dekódoló
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 Máté: Architektúrák
9. előadás
Utasítás gyorsítótár
Munka regisztergyűjtő
R E
Utasítás dekódoló Utasítás csoportosító
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. Máté: Architektúrák
9. előadás
22
Utasítás csoportosító
J
FP regisztergyűjtő
L1 D
C
I
9. előadás
Ugrótábla
UltraSPARC III csővezetéke
F Cél
20
Címmultiplexor
I
Címmultiplexor
B
9. előadás
A
21
A Ugrótábla
Tárolási gyorsítótár 2 KB Előre betöltő gyorsítótár 2 KB
UltraSPARC III csővezetéke (4.49. ábra)
UltraSPARC III csővezetéke
P
L2
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.
19
9. előadás
Memóriához 128 bit széles
L2 vezérlő Memória vezérlő
Utasítás kiosztó
Betöltő tároló
UltraSPARC III CPU mikroarchitektúrája A 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.
Máté: Architektúrák
L1 I
Betöltő tároló
Két egész aritmetikájú ALU + regiszterek + firkáló regiszterek Lebegőpontos ALU-k: összeadó/kivonó, szorzó/osztó + grafikai utasítások + 32 regiszter Máté: Architektúrák
Rendszer interfész
23
Betöltő/tároló, speciális egység
L1 I
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. Máté: Architektúrák
9. előadás
24
4
R E
FP regisztergyűjtő
L1 D
C
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 munka 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 történik az olvasás L1 D –ből. Máté: Architektúrák
9. előadás
W X
FP MUL/DIV Grafikus MUL
M
FP ADD/SUB Grafikus ALU
C
FP regisztergyűjtő
E
FP regisztergyűjtő
Pontos megszakítás.
T D
L1 D
C M W
Előjel kiterjesztés, igazítás
Előre betöltő gy.tár
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. Máté: Architektúrák
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.
UltraSPARC III csővezetéke E
25
Munka regisztergyűjtő
R
9. előadás
Munka regisztergyűjtő
R E
L1 D
C M W X T D
Arch. r.gyűjtő
Előjel kiterjesztés, igazítás 9. előadás
UltraSPARC III csővezetéke
27
Utasítás csoportosító
J Munka regisztergyűjtő
R
X
L2
W
L1 D
FP MUL/DIV Grafikus MUL
C M
FP regisztergyűjtő FP ADD/SUB Grafikus ALU
E
Máté: Architektúrák
Betöltő/tároló, speciális egység
Máté: Architektúrák
T Arch. r.gyűjtő
D Előjel kiterjesztés, igazítás Máté: Architektúrák
9. előadás
9. előadás
Tárolási sor Tárolási gy.tár 29
26
UltraSPARC III csővezetéke
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.
L2
Munka regisztergyűjtő
Utasítás csoportosító
J
L2
J
Betöltő/tároló, speciális egység
Utasítás csoportosító
UltraSPARC III csővezetéke
Betöltő/tároló, speciális egység
UltraSPARC III csővezetéke
Betöltő/tároló, speciális egység
Máté: Számítógép architektúrák
9. előadás
Tárolási sor Tárolási gy.tár 28
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 I/O vonal 4 db 8 bites csoportba rendezve, ezek mindegyike hozzáköthető nyomógombhoz, kapcsolóhoz, LEDhez, … Időzítők. Pl. Digitális óra: nyomógombok, kapcsolók, kijelző. Máté: Architektúrák
9. előadás
30
5
Máté: Számítógép architektúrák
Az I-8051 logikai lábkiosztása (3.50. ábra) A 16 D 8 RD# WR# ALE PSEN# EA# Időzítők 2 Megszakítások 2
8 Port 0
8051
8 Port 1 8 Port 2
TXD RXD RST
8 Port 3 2 Φ Táp
Máté: Architektúrák
9. előadás
RAM
31
A 16 D 8 RD# WR# ALE PSEN# EA# Időzítők 2 Megszakítások 2
Máté: Architektúrák
RAM
ROM ADDR
IR
BUFFER
IR
SP
PC növelő
SP
RAM ADDR
B
PC
B
ACC
DPTR
ACC
TMP2 TMP1
Időzítő 0 Időzítő 1 Időzítő 2
TMP2 TMP1
PSW Máté: Architektúrák
Port 0 Port 1 Port 2 Port 3 9. előadás
Az I-8051 CPU mikroarchitektúrája
33
Lokális sín
ROM ROM ADDR
ROM 4 KB belső, max. 64 KB külső
BUFFER PC növelő PC
16 bites regiszterek: ROM ADDRess BUFFER PC, PC növelő PC-t beírva, majd kiolvasva PC növelődik DPTR
DPTR Időzítő 0 Időzítő 1 Időzítő 2 Port 0 Port 1 Port 2 Port 3
Időzítő 0 – 2 Port 0 – 3 Máté: Architektúrák
Az I-8051 CPU mikroarchitektúrája (4.50. ábra)
9. előadás
35
8051
8 Port 1 8 Port 2 8 Port 3
A két időzítő külső áramkörről kaphat jelet Megszakítások TXD Transmitted Data, továbbított adat RXD Received Data, érkezett adat ReSeT Port 0-3 32 bites (4*8) I/O soros vonal
2 Φ Táp
RAM ADDR
ALU
8 Port 0
TXD RXD RST
Lokális sín
ROM
Fő sín
9. előadás
Az I-8051 logikai lábkiosztása (3.50. ábra)
Address Data RD# olvas a memóriából WR# ír a memóriába Address Latch Enable: külső memória esetén: a sínen érvényes a cím Program Store ENable: olvasás a programot tároló memóriából External Access (az értéke állandó): (1) a 0-4095 címek a belső, (0) a külső memóriára vonatkoznak
ALU
PSW Máté: Architektúrák
9. előadás
32
Az I-8051 CPU mikroarchitektúrája (4.50. ábra) RAM 128 bájt A regiszterek a RAM-ban vannak RAM ADDRess a RAM címzéséhez Instruction Register Stack Pointer B 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 Fő sín keletkezik TMP1 – TMP2 az ALU bemenetei, az eredmény a fő sínről akármelyik regiszterbe kerülhet Program Status Word 9. előadás
34
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. Máté: Architektúrák
9. előadás
36
6
Máté: Számítógép architektúrák
Összehasonlítás
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.
Pentium 4 CISC gép egy CISC utasítás → több RISC mikroutasítás UltraSPARC III RISC gép I-8051
FORTRAN program
inkább RISC, mint CISC gép
picoJava II verem gép, sok memória hivatkozás több CISC utasítás → egy RISC mikroutasítás Máté: Architektúrák
9. előadás
37
Fordítás szoftver ISA szint hardver ISA szint végrehajtása microprogram vagy hardver által Hardver
Általában a mikroarchitektúra nem tartozik hozzá. Máté: Architektúrák
Az ISA szint tervezési szempontjai
9. előadás
• Rövidebb utasítások: kevesebb helyet foglalnak el, gyorsabban betölthetők. Hosszabb utasítások: több lehetséges műveleti kód, nagyobb memória címezhető. • Bájt címzés: hatékonyabb szöveg feldolgozásnál, Szó címzés: nagyobb memória címezhető. • …
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
9. előadás
39
Memória modellek Néha (pl. 8051) külön memória az adatoknak és az utasításoknak (Harvard-architektúra, nem ugyanaz, mint az osztott gyorsítótár!).
↔
Máté: Architektúrák
(user) felhasználói mód 9. előadás
8 bájt
cím 0 8 16 24
Nem igazított 8 bájtos szó a 12-es címtől
9. előadás
9. előadás
41
40
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 0 8 16 24
Máté: Architektúrák
38
Utasítások szintje (ISA)
• Hosszú távú: később is jó legyen az architektúra, Rövid távú: addig is piacon kell maradni.
Máté: Architektúrák
C program
Máté: Architektúrák
8 bájt
8 bájtos szó 8 határra igazítva 9. előadás
42
7
Máté: Számítógép architektúrák
Memória modellek Memória szemantika: STORE A -t közvetlenül követő LOAD A mit ad vissza? A memória műveletek végrehajtása: • kötött sorrendben, • definiálatlan sorrendben (ez a trend, mert hardver szinten egyszerűbb és gyorsabb). A hardver segítséget nyújthat: – SYNC utasítás: befejeztet minden megkezdett memória műveletet, – függőség esetén a hardver vár. Máté: Architektúrák
9. előadás
43
Regiszterek ISA-szinten a mikroszint nem minden regisztere látszik (TOS, MAR), de van közös is (PC, SP). Speciális regiszterek: PC, SP, … Általános célú regiszterek: a gyakran használt adatok gyors elérésére. Jó, ha szimmetrikusak: fordítók, konvenciók. RISC gépen általában legalább 32 általános célú. Kernelmódban továbbiak: gyorsítótár vezérlés, memória védelem, … PSW (Program Status Word): az eredmény negatív, nulla, ... mód, prioritásszint, megszakítás-állapot, ... Máté: Architektúrák
Utasításkészlet
9. előadás
Nagyon sok előd (kompatibilitás!), a fontosabbak: • 4004: 4 bites, • 8086, 8088: 16 bites, 8 bites adat sín. • 80286: 24 bites (nem lineáris) címtartomány (16 K darab 64 KB-os szegmens). • 80386: IA-32 architektúra, az Intel első 32 bites gépe, lényegében az összes későbbi is ezt használja. • Pentium II –től MMX utasítások.
45
A Pentium 4 üzemmódjai real (valós): az összes 8088 utáni fejlesztést kikapcsolja (valódi 8088-ként viselkedik). Hibánál a gép egyszerűen összeomlik, lefagy. virtuális 8086: a 8088-as programok védett módban futnak (ha WINDOWS-ból indítjuk az MS-DOS-t, és ha abban hiba történik, akkor nem fagy le, hanem visszaadja a vezérlést a WINDOWS-nak). védett: valódi Pentium 4. 4 védelmi szint (PSW): 0: kernelmód (operációs r.), 1, 2: ritkán használt, 3: felhasználói mód. Máté: Architektúrák
9. előadás
9. előadás
44
Pentium 4
LOAD, STORE, MOVE, aritmetikai, logikai, feltétlen, feltételes elágazó utasítások, …
Máté: Architektúrák
9. előadás
47
Máté: Architektúrák
9. előadás
46
Memóriaszervezés: • 16 K db szegmens lehetséges, de a WINDOWS-ok és UNIX is csak 1 szegmenst támogatnak, és ennek is egy részét az operációs rendszer foglalja el, • minden szegmensen belül a címtartomány: 0 - 232-1 • Little endian tárolási mód: az alacsonyabb címen van az alacsonyabb helyértékű bájt.
Máté: Architektúrák
9. előadás
48
8
Máté: Számítógép architektúrák
Regiszterek (5.3. ábra): • (majdnem) általános regiszterek: 32
EAX EBX ECX EDX
16 8 8 AH AX AL BH BX BL CH CX CL DH DX DL
Accumulator Base index Count Data
Ezek 8 és 16 bites részei önálló regiszterként használhatók. Máté: Architektúrák
9. előadás
49
Feladatok 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 írható azonnal az eredmény L2-be? Mit jelent a pontos megszakítás kifejezés? Milyen problémát okozhat a tárolás utáni betöltés?
Máté: Architektúrák
9. előadás
51
9. előadás
9. előadás
Máté: Architektúrák
9. előadás
50
Feladatok 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? Máté: Architektúrák
9. előadás
52
Feladatok Mi 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? Mire szolgál az IR, SP, B, ACC, TMP1-2 regiszter? Mi a PSW? Hogy történik PC növelése?
Feladatok Mire 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? Hogy kezeli az UltraSPARC III a függőségeket? Máté: Architektúrák
Regiszterek (5.3. ábra): • ESI, EDI (mutatók tárolására, szöveg kezelésre), • EBP (keretmutató, verem kezelésre), • ESP (verem mutató), • EIP (utasítás számláló), • EFLAGS (PSW), • CS, SS, DS, ES, FS, GS (16 bites regiszterek. A kompatibilitást biztosítják a régebbi gépekkel. Mivel a Windows, Unix csak egy címtartományt használ, ezekre csak a visszafelé kompatibilitás miatt van szükség).
53
Máté: Architektúrák
9. előadás
54
9
Máté: Számítógép architektúrák
Feladatok Milyen é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 IIIat és az I-8051-ez! Máté: Architektúrák
9. előadás
55
Feladatok Mondjon olyan regisztert, amely a mikro utasítások szintjén és ISA szinten is látszik! Mondjon olyan regisztert, amely csak a mikro utasítások szintjén látszik! Mondjon olyan regisztert, amely csak kernel módban érhető el! Milyen utasítás típusokat ismer? Melyek a Pentium 4 processzor legfontosabb elődjei? Milyen üzemmódjai vannak a Pentium 4-nek? Milyen a Pentium 4 memória szervezése? Milyen regiszterei vannak a Pentium 4-nek? Mit jelent a Little endian tárolási mód? Máté: Architektúrák
9. előadás
9. előadás
57
Feladatok Miért kitüntetett szint a gépi utasítások szintje (ISA)? Mikor jó egy gép ISA szintje? Mi a különbség a felhasználói (user) és a kernel mód között? Mit jelent az igazítás 4 bájtos szavak tárolásánál? Mi az igazítás előnye? Mit jelent a memória szemantika? Milyen hardver megoldásokat ismer a memória műveletek végrehajtási sorrendjére vonatkozóan? Mi a SYNC utasítás hatása? Miért van szükség a SYNC utasításra? Máté: Architektúrák
9. előadás
56
Az előadáshoz kapcsolódó Fontosabb tételek A NetBurst csővezeték Az UltraSPARC III processzor és az UltraSPARC III mikroarchitektúrája, csővezetéke Az I-8051 processzor és az I-8051 mikroarchitektúrája A Pentium 4, az UltraSPARC III és az I-8051 mikroarchitektúrájának összehasonlítása Gépi utasítás szint. Memória modellek, memória szemantika A Pentium 4 ISA szintje Máté: Architektúrák
9. előadás
58
10