Pentium 4 Nagyon sok előd kompatibilitás!), a fontosabbak: 44: 4 bites, 88: 8 bites, 886, 888: es, 8 bites adat sín 8286: 24 bites nem lineáris) címtartomány 6 K darab 64 KB-os szegmens) 8386: 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 ok A Pentium 4 üzemmódjai real valós): az összes 888 utáni fejlesztést kikapcsolja valódi 888-ként viselkedik) Hibánál a gép egyszerűen összeomlik, lefagy virtuális 886: a 888-as programok védett módban futnak ha WINDWS-ból indítjuk az MS-DS-t, és ha abban hiba történik, akkor nem fagy le, hanem visszaadja a vezérlést a WINDWS-nak) védett: valódi Pentium 4 4 védelmi szint PSW): : kernelmód operációs r),, 2: ritkán használt, 3: felhasználói mód Máté: Architektúrák előadás Máté: Architektúrák előadás 2 Memóriaszervezés: 6 K db szegmens lehetséges, de a WINDWS-ok és UNIX is csak 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: - 2 32 - Little endian tárolási mód: az alacsonyabb címen van az alacsonyabb helyértékű bájt Regiszterek 53 ábra): majdnem) általános regiszterek: EAX EBX ECX EDX 32 6 8 8 AH AX AL BH BX BL CH CX CL DH DX DL Accumulator Base index Count Data Ezek 8 és es részei önálló regiszterként használhatók Máté: Architektúrák előadás 3 Máté: Architektúrák előadás 4 Regiszterek 53 ábra): ESI, EDI mutatók tárolására, szöveg kezelésre), EBP keretmutató, verem kezelésre), ESP verem mutató), EIP számláló), EFLAGS PSW), CS, SS, DS, ES, FS, GS es 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) UltraSPARC III SPARC 987) még 32, a Version 9 már 64 bites architektúra, az UltraSPARC ezen alapul Memóriaszervezés: 64 bites lineáris) címtartomány jelenleg maximum 44 bit használható) Big endian, de little endian is beállítható Regiszterek: 32 általános 54 ábra) 64 bites, a használatuk részben konvención, részben a hardveren alapul), 32 lebegőpontos 32 vagy 64 bites, de lehetséges két regiszterben egy 28 bites számot tárolni) Máté: Architektúrák előadás 5 Máté: Architektúrák előadás 6 előadás
Általános regiszterek R-R7 G-G7) Globális változók: minden eljárás használhatja, G huzalozott, minden tárolás eredménytelen R8-R5-7,): Kimenő paraméterek, de R4 6) =SP: verem mutató 7 csak ideiglenes tárolásra használható R6-R23 L-L7) Lokális regiszterek R24-R3 I-I7) Bemenő paraméterek, de R3 I6) = FP az aktuális veremkeret mutatója, R3: visszatérési cím Máté: Architektúrák előadás 7 CWP Current Window Pointer, 55 ábra) mutatja az aktuális regiszter ablakot több regiszter készlet létezik, de mindig csak egy látszik) Ha kifogy a regiszter készlet, memóriába mentés, R4=SP Globális Kimenő Lokális CWP = 7 SP L Átlapolás I R3=FP Globális Kimenő Lokális Bemenő Korábbi CWP = 6 L R3=visszatérési cím I R3=FP Bemenő Korábbi R3=visszatérési cím Máté: Architektúrák előadás 8 Loadstore architektúra: csak ezek az ok fordulhatnak a memóriához A többi operandusa regiszterben vagy az ban van Az eredmény is regiszterbe kerül Máté: Architektúrák előadás 9 56 ábra A 85 memória szervezése Külön címtartományú program és adat memória 495 27 48 32 Program memória RM) Munkaterület Bit-címezhető memória 4 regiszterkészlet Vannak lapkán kívüli bővítési lehetőségek Van nagyobb 852) és programozható 875 és 8752) rokona RM helyett EPRM) 8 regiszter: R,, R7 A regiszterek a memóriában vannak 4 regiszter készlete van, de egyszerre csak egy használható Máté: Architektúrák előadás 56 ábra A 85 memória szervezése, fő regiszterei PSW: Carry, Auxiliary carry, RegisterS, verflow, Parity A PSW regiszter RS mezeje mondja meg, hogy melyik regiszterkészlet az aktuális Bit-címezhető memória 32-47 bájt): címzésük: -27 Bit ok: beállítás, törlés, ÉS, VAGY, tesztelés 27 IE Interrupt Enable): EA= : nincs tiltva a megszakítás, : mind tiltva van, ES=: megszakítás engedélyezve a soros vonalon, : tiltva E-2=: a -2 időzítő csatorna engedélyezve, : tiltva Az engedélyezett számlálók egyszerre futhatnak, és ezek megszakítást válthatnak ki X-=: külső eszköz megszakítás engedélyezve, : tiltva 48 32 Munkaterület Bit-címezhető memória 4 regiszterkészlet C A EA RS E2 ES E X E X IE E2 ES E X E X IP R R E X E X TCN időzítő 2 időzítő 8 bit P PSW TMD IP Interrupt Priority): alacsony), magas) Az alacsonyabb szintű megszakítást megszakíthatja egy magasabb szintű C A EA RS E2 ES E X E X IE E2 ES E X E X IP R R E X E X TCN időzítő 2 időzítő 8 bit P PSW TMD Máté: Architektúrák előadás Máté: Architektúrák előadás 2 előadás 2
TCN: a és időzítőt vezérli ezek a fő időzítők) -: beáll az időzítő túlcsordulásakor R-: ezzel ki- és bekapcsolható az időzítő futása A többi bit az időzítő él- vagy szintvezérlésével kapcsolatos TMD: a fő időzítők üzemmódját határozza meg 8, 3 vagy es, valódi időzítő vagy számláló, hardver jelek szintje C A E2 ES E X E X IE Máté: Architektúrák előadás 3 EA RS E2 ES E X E X IP R R E X E X TCN időzítő 2 időzítő 8 bit P PSW TMD Az eddig említett regiszterek és még néhány speciális regiszter ACC, BK portok, ) a 28-255 címtartományban vannak Pl ACC a 24-en A 852 valódi memóriát tartalmaz a 28-255 tartományban, a speciális regiszterek címe átfed a memóriával Direkt címzéssel a speciális regisztereket, Indirekt címzéssel a RAM-ot érhetjük el Máté: Architektúrák előadás 4 Utasításformák, hossz 5- ábra) Műveleti Műveleti cím Műv cím cím2 Mk cím cím2 cím3 A kiterjesztése k bites esetén 2 k különböző lehet, n bites címrésznél 2 n memória címezhető, fix hossz esetén egyik csak a másik rovására növelhető 52 ábra) 5 4 3 2 9 8 7 6 5 4 3 2 szó szó szó ut ut műv cím 2 cím 3 cím Lehetőségek: fix hossz: rövidebb mellett hosszabb operandus rész, minimális átlagos hossz: a gyakori ok rövidek, a ritkán használtak hosszabbak Máté: Architektúrák előadás 5 Máté: Architektúrák előadás 6 4 bites A kiterjesztése 53 ábra) xxxx yyyy zzzz xxxx yyyy zzzz xxxx yyyy zzzz xxxx yyyy zzzz xxxx yyyy zzzz xxxx yyyy zzzz 5 db 3 címes 8 bites yyyy zzzz yyyy zzzz yyyy zzzz yyyy zzzz yyyy zzzz yyyy zzzz Máté: Architektúrák előadás 7 4 db 2 címes Az ot nem használtuk ki 3 címes nak menekülő ), és ez lehetővé teszi, hogy további igaz, nem 3 címes okat adjunk meg és is menekülő 2 bites zzzz zzzz zzzz zzzz zzzz zzzz zzzz zzzz zzzz A kiterjesztése 3 db címes es is menekülő 6 db címes Máté: Architektúrák előadás 8 előadás 3
Minden tartalmaz ot Ezen kívül tartalmazhat az operandusokra, eredményre vonatkozó információt Utasítás típusok: regiszter-memória ok: a regiszterek és a memória közötti adatforgalom betöltés, tárolás) Ilyenkor egy regiszter és egy memória cím megadása szükséges a címrészen regiszter-regiszter ok: összeadás, kivonás, Az eredmény is regiszterben keletkezik Ilyenkor három regiszter megadása szükséges a címrészen Máté: Architektúrák előadás 9 Címzési módszerek Három cím: cél = forrás forrás2 A memória sok rekeszt tartalmaz, de csak kevés regiszter van Egy regiszter néhány bittel címezhető Regiszterek használata rövidíti a címeket, de nyújtja a programot, ha az operandus csak egyszer kell A legtöbb operandust többször használjuk Implicit operandusok: Két cím: regiszter2 = regiszter2 forrás Egy cím: akkumulátor = akkumulátor forrás Nulla cím: verem, pl az IJVM IADD a Máté: Architektúrák előadás 2 lépés 2 n-2 n- n n e = a a 2 a n kiszámítása 3, 2 és címes gépen 3 címes e = a a 2 e = e a 3 e = e a n- e = e a n kész 2 címes e = a e = e a 2 e = e a n-2 e = e a n- e = e a n kész címes A = a A = A a 2 A = A a n-2 A = A a n- A = A a n e = A kész Máté: Architektúrák előadás 2 perandus megadás Közvetlen operandus immediate operand): Az operandus megadása az ban 57 ábra) MV R Direkt címzés direct addressing): A memóriacím megadása a címrészen Az mindig ugyanazt a címet használja Az operandus értéke változhat, de a címe nem fordításkor ismert kell legyen!) Regiszter címzés register addressing): Mint a direkt címzés, csak nem memóriát, hanem regisztert címez Máté: Architektúrák előadás 22 #4 Egy tömb elemeinek összeadásához e = e a k vagy A = A a k alakú okra van szükség Vagy mindegyik t szerepeltetjük a programban, vagy minden elem hozzáadása után úgy módosítjuk az összeadó t, hogy legközelebb a következő elem hozzáadását végezze Regiszter-indirekt címzés register indirect addresing): A címrészen valamelyik regisztert adjuk meg, de a megadott regiszter nem az operandust tartalmazza, hanem azt a memóriacímet, amely az operandust tartalmazza mutató - pointer) Rövidebb és a cím változtatható Önmódosító program Neumann János ötlete) Ma már kerülendő cache problémák!), pl regiszter-indirekt címzéssel kikerülhetjük Máté: Architektúrák előadás 23 Máté: Architektúrák előadás 24 előadás 4
Pl: A szóból álló A tömb elemeinek összeadása két címes gépen egy elem 4 bájt), ~ 58 ábra MV R, # ; gyűjtsük az eredményt R-ben, ; kezdetben ez legyen MV R2, #A ; R2-be töltjük az A tömb címét MV R3, #A 4 ; a tömb utáni első cím C: ADD R, R2) ; regiszter-indirekt címzés a tömb ; aktuális elemének elérésére ADD R2, #4 ; R2 tartalmát növeljük 4-gyel CMP R2, R3 ; végeztünk? BLT C ; ugrás a C címkéhez, ha nem ; kész az összegzés Máté: Architektúrák előadás 25 Indexelt címzés indexed addressing): Egy eltolási érték offset) és egy index) regiszter tartalmának összege lesz az operandus címe, 59-2 ábra MV R, # ; gyűjtsük az eredményt R-ben, ; kezdetben ez legyen MV R2, # ; az index kezdő értéke MV R3, #4 ; a tömb mögé mutató index C: ADD R, AR2); indexelt címzés a tömb ; aktuális elemének elérésére ADD R2, #4 ; R2 tartalmát növeljük 4-gyel CMP R2, R3 ; végeztünk? BLT C ; ugrás a C címkéhez, ha nem ; kész az összegzés Máté: Architektúrák előadás 26 Bázisindex címzés based-indexed addressing): Egy eltolási érték offset) és két egy bázis és egy index) regiszter tartalmának összege lesz az operandus címe Ha R5 A címét tartalmazza, akkor C: ADD R, AR2) helyett a C: ADD R, R2R5) is írható Ez a módszer előnyös, ha nem csak az A tömb elemeit szeretnénk összegezni Máté: Architektúrák előadás 27 Verem címzés stack addressing): Az operandus a verem tetején van Nem kell operandust megadni az ban Fordított Lengyel Jelölés Postfix Polish Notation - Lukasiewicz) Postfix jelölés: a kifejezéseket olyan formában adjuk meg, hogy az első operandus után a másodikat, majd ezután adjuk meg a jelet: infix: x y, postfix: xy Előnyei: nem kell zárójel, sem precedencia szabályok, jól alkalmazható veremcímzés esetén Máté: Architektúrák előadás 28 Dijkstra algoritmusa Infix jelölés konvertálása postfix-re 52, 22 ábra): az infix elemek egy váltóhoz switch) érkeznek - a változók és konstansok Kaliforniába mennek ), a többi esetben a verem tetejétől függően 522 ábra): váltó A B C ) a kocsi Texas felé megy : ), a verem teteje Kaliforniába megy 2: ), a kocsi eltűnik a verem tetejével együtt 3: ), vége az algoritmusnak 4: ), hibás az infix formula 5:?) Máté: Architektúrák előadás 29 Minden változó és konstans menjen Kaliforniába ), a többi esetben a döntési tábla szerint járjunk el 52 ábra): váltó A verem teteje -? A B C ) A váltó előtti kocsi - Máté: Architektúrák előadás 3 )? Kaliforniában kész a postfix forma? változó Kaliforniába New Yorkból Texasba Texasból Kaliforniába Törlődjön a következő és az utolsó texasi kocsi Hibás az infix formula A döntési tábla tartalmazza a prioritási szabályokat! előadás 5
ABC) A BC) A BC) A BC) AB C) A verem teteje változó Kaliforniába A váltó előtti kocsi - )? -? AB C) ABC ) ABC ) A verem teteje - A váltó előtti kocsi - )?? ABC ABC Máté: Architektúrák előadás 3 Máté: Architektúrák előadás 32 Fordított lengyel jelölésű formulák kiértékelése Pl 524 ábra): 8 2 5) 3 2 4) infix 8 2 5 3 2 4 postfix lvassuk a formulát balról jobbra! Ha a következő jel operandus: rakjuk a verembe, jel: hajtsuk végre a műveletet a verem tetején van a jobb, alatta a bal operandus!) Máté: Architektúrák előadás 33 Lépés 2 3 4 5 6 7 8 9 2 3 8 2 5) 3 2 4) infix Maradék formula Utasítás Verem 8 2 5 3 2 4 - BIPUSH 8 8 2 5 3 2 4 - BIPUSH 2 8, 2 5 3 2 4 - BIPUSH 5 8, 2, 5 3 2 4 - IMUL 8, 3 2 4 - IADD 8 3 2 4 - BIPUSH 8, 3 2 4 - BIPUSH 3 8,, 3 2 4 - BIPUSH 2 8,, 3, 2 4 - IMUL 8,, 6 4 - IADD 8, 7 4 - BIPUSH 4 8, 7, 4 - ISUB 8, 3 IDIV 6 Máté: Architektúrák előadás 34 rtogonalitási elv: Jó architektúrában a ok és a címzési módszerek majdnem) szabadon párosíthatók Három címes elképzelés 525 ábra): 8 5 5 5 8 2 3 Műv Műv Műv cél cél forrás forrás forrás2 eltolás típus: aritmetikai ok 2 típus: közvetlen adat megadás, index módú LAD és STRE 3 típus: elágazó, eljárás hívó ok, LAD és STRE, ezek R-t használnák Műv eltolás Máté: Architektúrák előadás 35 Két címes elképzelés 526 ábra) 8 3 5 4 3 5 4 Műv mód reg eltolás mód reg eltolás Feltételesen: 32 bites direkt operandus vagy eltolás Feltételesen: 32 bites direkt operandus vagy eltolás A mód 3 bitje lehetővé teszi a közvetlen operandus, direkt, regiszter, regiszter indirekt, index és verem címzési módokat Két további mód bevezetésére is lehetőség van Máté: Architektúrák előadás 36 előadás 6
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? Mit jelent a Loadstore architektúra? Milyen az UltraSPARC III memória szervezése? Milyen regiszterei vannak az UltraSPARC III-nak? Mit tud az UltraSPARC III G regiszteréről? Mi a CWP Current Window Pointer) szerepe? Hogy működik az UltraSPARC III regiszter ablak technikája? Máté: Architektúrák előadás 37 Hány regiszter készlete van a 85-nek? Hol helyezkednek el a 85 regiszterei? Mire jó a bit-címezhető memória? Írja le a 85 RAM-jának a szerkezetét! Mire szolgál a 85 IE, IP, TCN és TMD regisztere? Milyen operandus megadási módokat ismer? Mi a közvetlen operandus megadás? Mi a direkt címzés? Mi a regiszter címzés? Mi a regiszter-indirekt címzés? Mi az indexelt címzés? Mi a bázisindex címzés? Máté: Architektúrák előadás 38 Hány címes ok lehetségesek? Adjon mindegyikre példát! Milyen címzési módokat ismer? Részletezze ezeket! Mit jelent a fordított lengyel jelölés? Milyen előnyei vannak a postfix jelölésnek? Írja át postfix alakúra az alábbi formulákat! AB, ABC, ABC, ABC Írja át infix alakúra az alábbi postfix formulákat! AB, AB C, ABC, ABCDE Hogy működik Dijkstra algoritmusa? Hogy értékelhetők ki a postfix alakú formulák? Mik az ISA szint fő tervezési szempontjai? Hogy viszonyulhat egymáshoz az és a memória cella hossza? Mit értünk kiterjesztésen? Mit nevezünk menekülő nak? Mi az ortogonalitási elv? Milyen formájú 3 címes gépet tervezne? Milyen formájú 2 címes gépet tervezne? Máté: Architektúrák előadás 39 Máté: Architektúrák előadás 4 Az előadáshoz kapcsolódó Fontosabb tételek A Pentium 4, az UltraSPARC III és az I-85 regiszterei Három, kettő egy és nulla címes ok perandus megadás módjai Közvetlen operandus, direkt, regiszter, regiszter-indirekt, indexelt, bázisindex címzés, implicit operandus Veremcímzés Fordított lengyel postfix) jelölés Dijkstra algoritmusa Postfix alakú formulák kiértékelése Máté: Architektúrák előadás 4 előadás 7