1 / 61

PCI sín ütemezés (kiosztás): request, grant.

PCI (Peripheral Component Interconnect): 32 bites adat átvitel (33,3 MHz, sávszélesség: 133 MB/s) szabadon felhasználható licensz. Multiplexelt cím- és adatkivezetések. Új változatai: 64 bites adat, 66 MHz, 528 MB/s. Problémák: a memóriához lassú,

chars
Download Presentation

PCI sín ütemezés (kiosztás): request, grant.

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. PCI (Peripheral Component Interconnect): 32 bites adat átvitel (33,3 MHz, sávszélesség: 133 MB/s) szabadon felhasználható licensz. Multiplexelt cím- és adatkivezetések. Új változatai: 64 bites adat, 66 MHz, 528 MB/s. Problémák: • a memóriához lassú, • nem kompatíbilis az ISA bővítőkártyákkal. Megoldás (3.52. vagy 2.30. ábra): több sín Belső sín, PCI híd, PCI sín, ISA híd, ISA sín. 5. előadás

  2. REQ#GNT# REQ#GNT# REQ#GNT# REQ#GNT# PCI ütemező PCI eszköz PCI eszköz PCI eszköz PCI eszköz PCI sín ütemezés (kiosztás): request, grant. 3.54. ábra. A PCI sín centrális ütemezőt használ. 4. előadás

  3. Általános soros sín (USB) Igény: bármikor könnyen lehessen perifériát kapcsolni a géphez, ne kelljen szétszedni a gépet, újra boot-olni, ne kelljen áramellátásról gondoskodni, … Plug ’n Play (csatlakoztasd és működik) perifériák.Sokféle perifériát lehessen azonos módon csatlakoztatni, akár a gép működése közben, hardver ismeretek nélkül. 5. előadás

  4. USB (Universal Serial Bus - általános soros sín): Négy vezeték: adatok (2), tápfeszültség (1), föld (1). USB 1.0 1,5 Mbps(billentyűzet, egér,…) USB 1.1 12 Mbps(nyomtató, fényképezőgép,…) USB 2.0 480 Mbps (DVD lejátszó,…) A központi elosztó (root hub) 1 ms-onként üzenetekkel (frame, 3.54. ábra) kommunikál az eszközökkel. A frissen csatlakoztatott eszköz címe 0. Ha a központi elosztó tudja fogadni az eszközt, akkor egyedi címet (1-127) ad neki (konfigurálja). 5. előadás

  5. Frame – keret Egy vagy több csomagból áll. Az egyes csomagok haladhatnak a központból az eszközök felé vagy fordítva. A haladási irány egy kereten belül is változhat. Az első csomag mindig SOF: Start Of Frame – keret kezdet, szinkronizálja az eszközöket. 5. előadás

  6. A keret lehet • Control – vezérlő: • Eszköz konfigurálás, • Parancs, • Állapot lekérdezés. • Isochronous – izoszinkron: valós idejű eszközök használják, pl. telefon. Hiba esetén nem kell ismételni az üzenetet. • Bulk – csoportos: nagy tömegű adat átvitelére szolgál. • Interrupt – megszakítás: Az USB nem támogatja a megszakítást, helyette pl. 50 ms-enként lekérdezhető az eszköz állapota. 5. előadás

  7. A csomag lehet • Token – parancs (központ küldi az eszköznek): • SOF. • IN – be: adatokat kér az eszköztől. Az IN parancsban meg lehet adni, melyik eszköztől milyen adatokra van szükség. • OUT – ki: adatok fogadására kéri az eszközt. • SETUP – beállítás: konfigurálja az eszközt. 5. előadás

  8. A csomag lehet (folytatás) • Data – adat: 64 bájt információ mozgatása akármelyik irányban. A Data csomag részei: • SYN: 8 bit szinkronizáció, • PID: a csomag típusa (8 bites), • PAYLOAD: hasznos adat, • CRC: Cyclic Redundancy Code – ciklikus redundancia kód (16 bit az adatátvitel helyességének ellenőrzésére). • Handshake – kézfogás: • ACK: az előző adatcsomagot hibátlanul vettem, • NAK: CRC hibát észleltem, • STALL: kérem, várjon, el vagyok foglalva. • Special – speciális. 5. előadás

  9. 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.52. ábra.Egy korai Pentium rendszer architektúrája 5. előadás

  10. Monitor Lokális sín Grafikuskártya AGP sín Pentium 4 CPU Memóriasín 1. szintű gyorsítótárak D I Főmemória Csatolólapka 2. szintű gyorsítótár Szabad bővítőhely SCSI USB 2 ATAPI vezérlő Mágneslemez-egység DVD-meghajtó Egér Billen-tyűzet PCI sín 3.53. ábra.Egy modern Pentium 4 rendszer sín struktúrája 5. előadás

  11. PCI Express Csatoló lapka 2. szintű gyorsítótár CPU Memória Soros kapcsolatot biztosító csatorna párok Egy csatorna csak két vezeték Kapcsoló Mágnes-lemezek Hálózat Grafika Egyéb USB 2 3.57. ábra.Egy tipikus PCI Express rendszer vázlata 5. előadás

  12. Nem kell nagy bővítőkártyával csatlakozni a sínhez • A winchester a monitorba is kerülhet • Egy csatorna hasznos sávszélessége minimum 2 Gbps, de bíznak benne, hogy hamarosan 10 Gbps 5. előadás

  13. 3.58. ábra.A PCI Express protokollrendszer A csomagok formátuma Fejléc cím, magas/alacsony prioritás, … Seq# az üzenet sorszáma CRC ciklikus redundanciakód (Cyclic Redundancy Check) Ha a számított és kapott CRC megegyezik, akkor nyugtázza, különben újra kéri az adatot. 5. előadás

  14. 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

  15. Mic-1 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 Memória vezérlő regiszterek Vezérlő jelek B sínre írja a regisztertC sínt a regiszterbe írja memóriábamemóriából 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. ALU ALUvezérlés 2 Léptető vezérlés Léptető 5. előadás

  16. Pl. SP = SP + 1 • SPB sín • ALU: B+1  C • C  SP memória MAR MDR PC MBR SP LV CPP TOS OPC H Memória vezérlő regiszterek Vezérlő jelek B sínre írja a regisztertC sínt a regiszterbe írja memóriábamemóriából 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. ALU ALUvezérlés 2 Léptető vezérlés Léptető 5. előadás

  17. Pl. SP = SP + 1 • SP  B sín • ALU:B+1  C • C  SP memória MAR MDR PC MBR SP LV CPP TOS OPC H Memória vezérlő regiszterek Vezérlő jelek B sínre írja a regisztertC sínt a regiszterbe írja memóriábamemóriából 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. ALU ALUvezérlés 2 Léptető vezérlés Léptető 5. előadás

  18. Pl. SP = SP + 1 • SP  B sín • ALU:B+1  C • C SP memória MAR MDR PC MBR SP LV CPP TOS OPC H Memória vezérlő regiszterek Vezérlő jelek B sínre írja a regisztertC sínt a regiszterbe írja memóriábamemóriából 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. ALU ALUvezérlés 2 Léptető vezérlés Léptető 5. előadás

  19. Pl. SP = SP + 1 • SP  B sín • ALU: B+1  C • C SP memória MAR MDR PC MBR SP LV CPP TOS OPC H Memória vezérlő regiszterek Vezérlő jelek B sínre írja a regisztertC sínt a regiszterbe írja memóriábamemóriából 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. ALU ALUvezérlés 2 Léptető vezérlés Léptető 5. előadás

  20. 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őjel kiterjesztéssel kerül a B sínre, • MBRU: MBR előjel nélküli kiterjesztéssel kerül a B sínre. 5. előadás

  21. Az adatút vezérlése (4.1. ábra) memória MAR MDR PC MBR SP LV CPP TOS OPC H Bsín Csín B A 6 ALU ALUvezérlés 2 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 2 jel: szó íráshoz/olvasáshoz 1 jel: bájt olvasáshoz. Összesen 29 jel szükséges 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. N Z Léptető vezérlés 5. előadás

  22. 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

  23. SP  B sín; ALU  C; C  SP 5. előadás

  24. memória MAR MDR PC MBR Memória ciklus A memória ciklus az adatút végén kezdődik (a C sínről a regiszterek 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. Az olvasás eredménye csak két ciklussal később használható az ALU-ban, 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

  25. Memória ciklus: MAR = LV; rd; TOS = MDR 5. előadás

  26. A mikroprogram MPC 9 512x36 bites vezérlőtár (ROM) 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

  27. 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. memória MAR MDR PC MBR SP LV CPP TOS OPC H Bsín Csín B A 6 N Z ALU 2 Léptető 5. előadás

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

  29. MPC új tartalma, JAMN/JAMZ • A 9 bites következő cím (Addr) az MPC-be kerül. • (JAMN ÉS N) VAGY (JAMZ ÉS Z) és MPC legmagasabb bitjének logikai vagy kapcsolata képződik MPC legmagasabb helyértékén. 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

  30. JAMN: if(LV-H < 0) goto L1; else goto L2 L2+ 0x100= L1 5. előadás

  31. MPC új tartalma, (JMPC ) • 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: goto(MBR) vagy goto(MBR OR 0x100) Kezdődhet az újabb mikroutasítás végrehajtása. 5. előadás

  32. JMPC: TOS=H+SP+1; goto(MBR) 5. előadás

  33. 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 és (N), (Z) mem.  MDR és/vagy alapján módosul MPC mem. MBR Memória ciklus indítása JMPC és (MBR) (rd, wr, fetch) alapján módosul MPC. 5. előadás

  34. Mic-1 programozása (4.5, 6. ábra) 36 bites bináris utasításokat kellene megadnunk. Pl.: Egy ciklusban növeljük SP-t 1-gyel és olvasást kezdeményezünk a memóriából, folytatás a 122-es utasításnál. Szimbolikusan ilyesmi: ReadRegister = SP, ALU = INC, Write SP, Read, NextAddress = 122; Nehézkes, helyette: SP = SP + 1; rd A folytatás címet csak akkor tüntetjük fel, ha az nem a következőként írt mikroutasítás (pl. goto Main1). 5. előadás

  35. memória MAR MDR PC MBR SP LV CPP TOS OPC H Bsín Csín B A 6 N Z ALU 2 Léptető MAL (Micro Assembly Language ) SOURCE: a B sínre kötött regiszterek bármelyike: MDR, PC, MBRU (előjel nélküli - MBR Unsigned), MBR, SP, LV, CPP, TOS, OPC. DEST: a C sínre kapcsolt regiszterek bármelyike: MAR, MDR, PC, SP, LV, CPP, TOS, OPC, H. Több regiszter is kaphatja ugyanazt az értéket. wr: memóriába írás MDR-ből a MAR címre. rd: memóriából olvasás MDR-be a MAR címről. fetch: 8 bites utasításkód betöltése MBR-be a PC címről. 5. előadás

  36. Nem megengedett pl. az alábbi utasítás pár: MAR = SP; rd MDR = H // A memóriából is most kapna értéket! 5. előadás

  37. Feltétlen ugrás: goto Main1 Az Addr mezőbe Main1 címét kell írni. Feltétlen ugrás MBR szerint (kapcsoló utasítás): Ilyenkor JMPC = 1 goto (MBR ORvalue) value általában 0 vagy 0x100. 5. előadás

  38. Feltételes elágazás, pl.: TOS (Top Of Stack) alapján Z = TOS ; if (Z) goto L1; else goto L2 // Z=1, ha TOS=0, különben Z=0. esetén a mikroprogram az L20x092 címen folytatódik, ha Z = 0, L10x192 címen folytatódik, ha Z = 1. Az L1 és L2 címek különbsége 256 (0x100) kell legyen (4.7. ábra)! 5. előadás

  39. 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

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

  41. 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. 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

  42. 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

  43. IJVM néhány utasítása: 4.11. ábra (részlet). 5. előadás

  44. 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

  45. IJVM megvalósítása Mic-1-en (4.11., 17. ábra) Előkészület a gép indításakor: PC a végrehajtandó utasítás címét, MBR az utasítás kódját tartalmazza. A főciklus legelső mikroutasítása a Main1, ez: PC=PC+1; fetch; goto(MBR); PC most a végrehajtandó utasítás utáni bájtra mutat, ez lehet egy újabb utasítás kódja, vagy operandus. PC új értékének kialakulása után indul a fetch-csel kezdeményezett memória ciklus, ez a program következő bájtját olvassa MBR-be (a következő mikroutasítás végén lesz MBR-ben a bájt). goto (MBR) elugrik az utasítás feldolgozásához. 5. előadás

  46. Minden utasítás feldolgozását végző függvény első mikroutasítása az utasítás kódnak megfelelő címen van a mikroprogram tárban. 5. előadás

  47. A mikroutasítások elhelyezkedése a mikroprogram tárban (részlet) 5. előadás

  48. Látható, hogy nem helyezhetjük egymás után az egyes utasítások feldolgozását végző mikroutasítás sorozatot, ezért inkább azt a megoldást választottuk, hogy minden mikroutasítás tartalmazza a következő címét.Ha az első utasítás pl. NOP (No OPeration, nem csinál semmit), ennek a kódja 0x00, ezért a 0x00 címen kezdődik a NOP feldolgozását végző függvény. Ez egyetlen goto Main1 mikroutasítás. 5. előadás

  49. IJVM megvalósítása Mic-1-en (4.11., 17. ábra) A főciklus a Main1-nél kezdődik; PC a végrehajtandó utasítás címét, MBR az utasítás kódját tartalmazza. Main1 a következő utasítást vagy adatbájtot olvassa. 5. előadás

  50. 5. előadás

More Related