1 / 61

Pentium II Felülről kompatibilis az I8088 , … , Pentium Pro -val.

Pentium II Felülről kompatibilis az I8088 , … , Pentium Pro -val. 29.000, …, 7.5 millió tranzisztor, 242 láb, 233 MHz , 32 bites gép, 64 bites adat sín. SEC (Single Edge Cartridge) tokozás ( 3. 43. ábra ).

myrrh
Download Presentation

Pentium II Felülről kompatibilis az I8088 , … , Pentium Pro -val.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pentium II Felülről kompatibilis az I8088, …, Pentium Pro-val. 29.000, …, 7.5 millió tranzisztor, 242 láb, 233 MHz, 32 bites gép, 64 bites adat sín. SEC (Single Edge Cartridge) tokozás (3. 43. ábra). Két szintű belső gyorsító tár: 16 KB utasítás +16 KB adat, 512 KB közös, másodlagos (fele olyan gyors, mint a CPU), 32 B-os gyorsító sor (cashe line). 1 vagy 2 CPU közös memóriával (szimatolás - snoop). Gépi utasítások  RISC szerű mikroutasítások, több mikroutasítás futhat egyszerre: szuperskaláris gép. Két külső szinkron sín (PCI és ISA): 3. 50. ábra. 5. előadás

  2. Gyorsító tár sín CPU Memória sín Másodlagos gyorsító tár Fő memória Gyorsító tár PCI-híd PCI sín IDE diszk Szabad PCI bővítő hely Grafikus illesztő SCSI USB ISA-híd Egér Billentyűzet Monitor ISA sín Szabad ISA bővítő helyek Monitor Hangkártya Nyomtató 3.50. ábra.Egy tipikus Pentium II rendszer architektúrája 5. előadás

  3. BPRI#LOCK#Misc# A#ADS#REQ#Paritás# Misc# Misc# RS#TRDY#Paritás# D#DRY#DBSY#Paritás# RESET# Megszakítások VID Kompatibilitás Diagnosztika Inicializálás Energia ellátás vezérlése Egyéb Sín ütemezés KérésHiba SzimatolásVálaszAdat 3 33 5 5 4 3 5 11 3 3 3 2 64 7 8 35 27 Φ Pentium II logikai lábkiosztása (3.44. ábra) Pentium IICPU táp 5. előadás

  4. RESET# Megszakítások VID Kompatibilitás Diagnosztika Inicializálás Energia ellátás vezérlése Egyéb 5 4 11 3 2 7 35 27 Φ Pentium II logikai lábkiosztása (3.44. ábra) RESET#: a CPU alapállapotba hozatala, Megszakítások: régi vezérlő, és APIC (Advanced Programmable Interrupt Controller), VID: a különböző tápfeszültségek kiválasztására szolgál, … Pentium IICPU táp 5. előadás

  5. BPRI#LOCK#Misc# A#ADS#REQ#Paritás# Misc# Misc# RS#TRDY#Paritás# D#DRDY#DBSY#Paritás# Pentium II CPU 3 33 5 3 5 3 3 64 8 Sín ütemezés KérésHiba SzimatolásVálaszAdat Pentium II logikai lábkiosztása (3.44. ábra) Sín ütemezés:BPRI#: magas prioritású igény engedélyezése, 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. 5. előadás

  6. Pentium II memória sín A memóriaigények, tranzakciók 6 állapota: 6 fázisú csővezeték (3.44. á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, • Kérés: cím a sínre, kérés indítása, • Hibajelzés: a szolga hibát jelez(het), • Szimatolás: a másik CPU gyorsító tárában, • Válasz: kész lesz-e az adat a következő ciklusban, • Adat: megvan az adat. (3.45. ábra) 5. előadás

  7. Pentium II memória sín csővezetéke (3.45. ábra) K: kérés, H: hiba, S: szimatolás (átkérés), V: válasz, A: adat 5. előadás

  8. UltraSPARC II 64 bites RISC gép, felűről kompatibilis a 32 bites SPARC V8 architektúrával. CPU 5.4 millió tranzisztor, 4 CPU közös memóriával használható. 787 láb (3.46-47. ábra). 64 (jelenleg csak 44) bites cím és 128 bites adat lehetséges. Belső gyorsító tár (16 KB utasítás + 16 KB adat). Külső 512 KB - 16 MB.8 K - 256 K db 64 B-os gyorsító sor (cashe 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. 5. előadás

  9. 512 KB –os gyorsító tár esetén a 44 bites cím felosztása (3.47. ábra, 3_47_abrahoz):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ó. 5. előadás

  10. Tag Line Word Byte 5 bit átfedés 4 bit 2 bit 25 bit 18 bit Address in cashe line Address: 64 bit-es, de egyelőre 44 bitre van korlátozva = ? Enrty: bejegyzés a gyorsító tárbanCashe line: gyorsító sor 64 bájtEgyszerre mozgatható adat 16 bájt (1/4 gyorsító sor) 5. előadás

  11. 18 25 Másodlagos gyorsító tár(címkék -tags) 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 IIközpontiegység Első szintűgyorsító tárak 4 20 Másodlagos gyorsító tár(adatok) 128 vezérlés 16 5 UDB IImemóriapuffer UltraSPARC II 5. előadás

  12. UltraSPARC II UPA (Ultra Port Architecture) sín, kapcsoló vagy mindkettő. A memóriák és max. 4 CPU kommunikációját kezeli. UDB II (UltraSPARC Data Buffer II): ezen keresztül zajlik a memória és a gyorsító tárak közötti adatforgalom. SBus: 25 MHz-es szinkron sín a perifériáknak. A memóriához lassú lenne! 5. előadás

  13. UltraSPARC IIközpontiegység Első szintűgyorsító tárak vezérlés 5 UDB IImemóriapuffer Sín ütemezés Memória címCím paritásaÉrvényes cím Várakozás Válasz Memória adatHiba javító kód UPAinterfésza főmemóriához 5 35 4 128 16 5. előadás

  14. picoJava II JVM-et (Java Virtual Machine) megvalósító hardver. Elsősorban beépített számítógépekben alkalmazzák. Szabványos BGA (Ball Grid Array) tokban: SUN microJava 701 lapka + 316 láb, benne a SUN picoJava II központi egység (3.48. ábra). 5. előadás

  15. 3.48. ábra. A microJava 701-es rendszer MicroJava 701CPU Első szintűgyorsító tárak FlashPROM ProgramozhatóB/K vonalak 16 A Főmemória U PC sín Memória sín Lábak vezérlés, órák, megszakítás, tesztelés, …számára. Programozható B/K (nyomógombok, lámpák, …) Memória sín (64 bites adat, 32 bites cím) és 32 bites PCI sín Flash PROM. 5. előadás

  16. Egyszerűsített lexikális elemző Feladata, hogy azonosító, szám, speciális jelek és a program vége jel előfordulásakor rendre A, 0, , és . karaktert írjon a képernyőre. Az esetleges hibákat ? jelezze. XLAT utasítás alkalmazásának tervezése: 5. előadás

  17. data segment para public ’data’ ; ugró táblák a szintaktikus helyzetnek megfelelően: ; kezdetben, speciális és hibás karakter után t_s dw hiba ; hibás kar.:  spec. jel szint dw lev_a ; betű: dw lev_n ; számjegy: dw lev_s ; spec. jel: dw vege ; szöveg vége: program vége 5. előadás

  18. ; azonosító szint t_a dw hiba ; hibás kar.:  spec. jel szint dw OK ; betű: nincs teendő dw OK ; számjegy: nincs teendő dw lev_s ; speciális jel: azonosító vége dw vege ; szöveg vége: program vége ; szám szint t_n dw hiba ; hibás kar.:  spec. jel szint dw hiba ; betű: hiba:  spec. jel szint dw OK ; számjegy: nincs teendő dw lev_s ; speciális jel: szám vége dw vege ; szöveg vége: program vége 5. előadás

  19. level dw ? ; az aktuális ugrótábla címe c_h db 0 ; hibás karakter kódja c_b db 2 ; betű kódja c_n db 4 ; számjegy kódja c_s db 6 ; speciális jel kódja c_v db 8 ; végjel kódja specjel db ’ ,. ;+-()’, 13, 10 ; a speciális jelek vegjel db ’$’ ; vége jel, kihasználjuk, ; hogy itt van! table db 256 dup (?) ; átkódoló tábla (256 byte) text db ’a,tz.fe&a 21 a12 12a $’ ; elemzendő szöveg DATA ends 5. előadás

  20. code segment para public ’CODE’ assume cs:code, ds:data, es:data, ss:stack Lex proc far push ds xor ax,ax push ax ; visszatérési cím a veremben mov ax,data mov ds,ax mov es,ax ; assume miatt call prepare ; átkódoló tábla elkészítése mov si, offset text ; az elemzendő szöveg ; kezdőcíme call parsing ; elemzés ret ; vissza az Op. rendszerhez Lex endp 5. előadás

  21. prepare proc ; az átkódoló tábla elkészítése ; az eljárás rontja AX, BX, CX, DI, SI tartalmát cld ; a string műveletek iránya pozitív mov bx, offset table mov di,bx mov al,c_h ; hibás karakter kódja mov cx,256 ; a tábla hossza rep stos table ; table  minden karakter hibás 5. előadás

  22. mov al,c_b ; betű kódja mov di,’A’ ; A ASCII kódja add di,bx ; A helyének offset címe mov cx,’Z’-’A’+1 ; a nagybetűk száma ; a betűk ASCII kódja folyamatos! rep stosb mov di,’a’ ; a ASCII kódja add di,bx ; a helyének offset címe mov cx,’z’-’a’+1 ; a kisbetűk száma rep stosb 5. előadás

  23. mov al,c_n ; számjegy kódja mov di,’0’ ; 0 ASCII kódja add di,bx ; 0 helyének offset címe mov cx,’9’-’0’+1 ; a számjegyek száma ; a számjegyek ASCII kódja folyamatos! rep stosb 5. előadás

  24. mov si,offset specjel ; speciális jelek ; feldolgozása xor ah,ah ; hogy ax=al legyen pr1: lods specjel ; speciális jel ASCII kódja mov di,ax ; ah=0 miatt ax = a jel kódja cmp al,vegjel ; vegjel közvetlenül a ; speciális jelek után van! je pr2 ; ez már a vegjel mov al,c_s ; speciális karakter kódja mov [BX+DI],al ; elhelyezés a táblában jmp pr1 ; ciklus vége 5. előadás

  25. pr2: mov al,c_v ; a végjel kódja mov [BX+DI],al ; elhelyezés a táblában ret ; vissza a hívó eljáráshoz prepare endp 5. előadás

  26. parsing proc ; elemzés ; az eljárás rontja AX, BX, CX, DI, SI tartalmát cld ; a string műveletek iránya pozitív mov bx, offset table mov di,offset t_s ; spec. jel szint lv1: mov level,di ; szint beállítás xor ah,ah ; hogy ax=al legyen OK: lods text ; a következő karakter XLAT ; AL  0, 2, 4, 6 vagy 8 ADD AX,LEVEL ; AX  az aktuális ; ugró táblán belüli cím JMP [AX] ; kapcsoló utasítás 5. előadás

  27. hiba: mov di,offset t_s ; hibás karakter, ; spec. jel szint következik mov al,’?’ lv2: mov ah,14 ; BIOS hívás előkészítése int 10h ; BIOS hívás: ; karakter írás a képernyőre jmp lv1 lev_a: mov di,offset t_a ; azonosító kezdődik mov al,’A’ jmp lv2 5. előadás

  28. lev_n: mov di,offset t_n ; szám kezdődik mov al,’0’ jmp lv2 lev_s: mov di,offset t_s ; speciális jel mov al,’,’ jmp lv2 vege: mov al,’.’ ; szöveg vége mov ah,14 ; BIOS hívás előkészítése int 10h ; BIOS hívás: ; karakter írás a képernyőre ret ; elemzés vége, vissza a hívóhoz parsing endp code ends 5. előadás

  29. stack segment para stack ’stack’ dw 100 dup (?) ; 100 word legyen a verem stack ends end Lex ; modul vége, start cím: Lex 5. előadás

  30. Mikroarchitektúra szint Feladata az ISA (Instruction Set Architecture – gépi utasítás szint) megvalósítása. Nincs rá általánosan elfogadott, egységes elv. A ISA-szintű utasítások „függvények”, ezeket egy főprogram hívja meg végtelen ciklusban. A függvények a mikroarchitektúra szintjén valósulnak meg (mikroprogram). A mikroprogram változói (a regiszterek) definiálják a számítógép állapotát, pl.: PC (Program Counter, utasításszámláló). 5. előadás

  31. IJVM (Integer Java Virtual Machine): a JVM egész értékű aritmetikát tartalmazó része. Az IJVM utasítások szerkezete: • az első mező az opcode (Operation Code, műveleti kód), • az esetleges második mezőben az operandus meghatározására szolgáló adat van. Nem használjuk a C-ben írt SUN JVM interpretert, mert nem elég hatékony az elemi logikai áramkörök kezelésére. Mikroprogram: betölti, értelmezi és végrehajtja az IJVM utasításokat: betöltés-végrehajtás (fetch-execute) ciklus. 5. előadás

  32. INVA A ENA B ENB dekódoló F0 teljes összeadó F1 • INVA: HaENA = 1, akkor A#, Ha ENA = 0, akkor 0# = FFFF = – 1. átvitel be Az ALU-nak(3.19-20. ábra) 6 vezérlő bemenete van: • ENA az A bemenet engedélyezése (1) tiltása (0), • ENB a B bemenet engedélyezése (1) tiltása (0), • F0, • F1. F0, F1 kiválasztja az AND, OR, B#, + művelet valamelyikét, • INC: +1. átvitel ki 5. előadás

  33. Néhány példa (4.2. ábra átrendezve) A könyvben nem logikus, hibás. 5. előadás

  34. 5. előadás

  35. Adatút (Data Path, 4.1. ábra) 32 bites regiszterek, sínek,ALU, léptetőSLL8 8 bittel balra, SRA1 1 bittel jobbra léptet. ALU bemenetei:H (Holding – tartó), B sín. Egy cikluson belül lehetséges egy regiszterből olvasni és az eredményt akár ugyanoda visszaírni 4.3. ábra. memória MAR MDR PC MBR SP LV CPP TOS OPC H ALU Léptető Memória vezérlő regiszterek Vezérlő jelek B sínre írja a regisztertC sínt a regiszterbe írja Bsín Csín B A N 1, ha az eredmény < 0, különben 0, 6 Z 1, ha az eredmény = 0, különben 0. ALUvezérlés Léptető vezérlés 2 5. előadás

  36. memória MAR MDR PC MBR Memóriaműveletek (4.1. ábra) • Szócímzés: 32 bites adat írása, olvasása. szó cím = 4 * (bájt cím), a túlcsorduló bitek elvesznek MAR (Memory Address Register) MDR (Memory Data Register) • Bájtcímzés: gépi szintű utasítás bájt olvasás. PC (Program Counter): bájt cím, MBR (Memory Byte Register): bájt. MBR kétfajta értelmezése (két vezérlőjel): • MBR: MBR előjelesen kerül a B sínre, • MBRU: MBR előjel nélkül kerül a B sínre. 5. előadás

  37. Az adatút vezérlése (4.1., 5-6. ábra) memória MAR MDR PC MBR SP LV CPP TOS OPC H ALU Léptető 9 jel: a B sínre írás a regiszterekből, 8 jel: 6 az ALU és 2 a léptető vezérlésére, 9 jel: a C sínről regiszterekbe írás, 3 jel: a memória eléréshez (nem ábrázoltuk!) 2 jel: szó íráshoz/olvasáshoz 1 jel: bájt olvasáshoz. Összesen 29 jel szükséges Bsín Csín A B sínre csak egy regiszter írhat egyszerre, ezért 9 helyett elég 4 jel, összesen 24 vezérlő jelre van szükség. B A N 6 Z ALUvezérlés Léptető vezérlés 2 5. előadás

  38. Mikroutasítások 24 bit: az adatút vezérléséhez 9 bit: a következő utasítás címének megadásához, 3 bit: a következő utasítás kiválasztásának módjára. Ez adja a 36 bites mikroutasítást: 4.5. ábra. NEXTADDRESS JMPC JAMNJAMZSLL8SRA1F0F1ENAENBINVAINCHOPCTOSLVSPPCMDRMARWRITEREADFETCHB sín 5. előadás

  39. MPC 9 512x36 bites vezérlőtár a mikroprogram tárolására MIR 4-ről 16-ra dekódoló Mic-1:4.6. ábra. • 512x36 bites vezérlőtár a mikroprogramnak, • MPC (MicroProgram Counter): mikroprogram-utasításszámláló. • MIR (MicroInstruction Register): mikroutasítás-regiszter. Az adatút ciklus (4.6. ábra) elején MIR feltöltődik a vezérlőtár MPC által mutatott szavával. 5. előadás

  40. Adatút ciklus (4.6. ábra): • (MIR feltöltődik a vezérlőtár MPC által mutatott szavával.) • Kialakul a B sín kívánt tartalma, ALU és a léptető megtudja, mit kell csinálnia, • Az ALU és a léptető elvégzi a feladatát, a C sín, N (Negative) és Z (Zero) megkapja az új értékét, • A regiszterek feltöltődnek a C sínről. MBR/MDR megkapja az értékét, ha az előző ciklus adatot kért a memóriából. • Kialakul MPC új értéke. • Memória ciklus kezdete. MAR MDR PC MBR SP LV CPP TOS OPC H 6 N Z ALU ALUvezérlés 2 Léptető A B 5. előadás

  41. memória MAR MDR PC MBR Memória ciklus A memória ciklus az adatút végén kezdődik (MAR ill. PC feltöltése után), ezért ha a memória címet módosította ez a mikroutasítás, akkor a memória cím a módosított MAR ill. PC regiszter értéke lesz. Olvasásnál az eredmény csak két ciklussal később használható, mert MDR ill. MBR csak a következő adatút ciklus vége felé töltődik fel a memóriából, addig MDR ill. MBR régi értéke érhető el. 5. előadás

  42. MPC 9 512x36 bites vezérlőtár a mikroprogram tárolására MIR 9 Mic-1:4.6. ábra. MPC új tartalmának kialakítása. + 8 MBR (N&JAMN) + (Z&JAMZ) JMPC JAMN/JAMZ N 1 bites flipflopok Z 5. előadás

  43. MPC új tartalma • A 9 bites következő cím (Addr) az MPC-be kerül. • JAMN/JAMZ esetén MPC legmagasabb bitjének és az N/Z bitnek logikai vagy kapcsolata képződik MPC legmagasabb helyértékével (elágazás). Pl.: esetén a mikroprogram a 0x092 címen folytatódik, ha Z = 0,0x192 címen folytatódik, ha Z = 1. Feltételes ugrás – elágazás – a mikroprogramban. 5. előadás

  44. MPC új tartalma (folytatás) • JMPC esetén MPC 8 alacsonyabb helyértékű bitjének és MBR 8 bitjének bitenkénti vagy kapcsolata képződik MPC-ben az adatút ciklus vége felé (MBR megérkezése után). Ilyenkor Addr 8 alacsonyabb helyértékű bitje általában 0Feltétlen ugrás az MBR –ben tárolt címre – kapcsoló utasítás. Kezdődhet az újabb mikroutasítás végrehajtása. 5. előadás

  45. Mic-1 működése (MPC) MIR regiszter B sín, AddrMPC ALU, léptető megtudja, mit kell csináljon, eredmény  C, N, Z C regiszterekbe JAMN, JAMZ (N, Z) mem.  MDR és/vagy alapján módosul MPC mem. MBR Memória ciklus indítása JMPC (MBR) (rd, wr, fetch) alapján módosul MPC. 5. előadás

  46. Eljárás: paraméterek, munka terület. A hívó és hívott eljárás paraméterei, változói nem lehetnek azonos területen: lokális változók. Verem (stack): LV (Local Variable), SP (Stack Pointer) verem mutató (4.8. ábra). 5. előadás

  47. A verem operandusok és az eredmény ideiglenes tárolására is használható, pl. (4.9. ábra): a1 = a2 + a3 5. előadás

  48. Konstansok, mutatók Tartalma a program betöltésekor alakul ki, ISA utasítások nem írhatják felül Verem lokális változók és operandus verem Program PC bájtot címez a metódus területen belül Az IJVM memóriamodellje (4.10. ábra) A 4 GB memória, 1 G szóként is szervezhető. 5. előadás

  49. IJVM néhány utasítása: 4.11. ábra. 5. előadás

  50. Java (C) IJVM program4.14. ábra Bin. kód program 1 ILOAD j // i = j + k 15 02 2 ILOAD k 15 03 i = j + k; 3 IADD 60 if(i = = 3) 4 ISTORE i 36 01 k = 0; 5 ILOAD i // if(i = = 3) 15 01 else 6 BIPUSH 3 10 03 j = j – 1; 7 IF_ICMPEQ L1 9F 00 0D 8 ILOAD j // j = j – 1 15 02 9 BIPUSH 1 10 01 10 ISUB 64 11 ISTORE j 36 02 12 GOTO L2 A7 00 0F 13 L1: BIPUSH 0 // k = 0 10 00 14 ISTORE k 36 03 15 L2: 5. előadás

More Related