Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Máté: Architektúrák5. előadás1 PCI (Peripheral Component Interconnect): 32 bites adat átvitel (33,3 MHz, sávszélesség: 133 MB/s) szabadon felhasználható.

Hasonló előadás


Az előadások a következő témára: "Máté: Architektúrák5. előadás1 PCI (Peripheral Component Interconnect): 32 bites adat átvitel (33,3 MHz, sávszélesség: 133 MB/s) szabadon felhasználható."— Előadás másolata:

1 Máté: Architektúrák5. előadás1 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.

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

3 Máté: Architektúrák5. előadás3 Á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.

4 Máté: Architektúrák5. előadás4 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.01,5 Mbps (billentyűzet, egér,…) USB 1.112 Mbps (nyomtató, fényképezőgép,…) USB 2.0480 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 Máté: Architektúrák5. előadás5 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.

6 Máté: Architektúrák5. előadás6 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.

7 Máté: Architektúrák5. előadás7 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.

8 Máté: Architektúrák5. előadás8 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.

9 Máté: Architektúrák5. előadás9 3.52. ábra. Egy korai Pentium rendszer architektúrája SCSIUSB Grafikus illesztő PCI-híd CPU Gyorsító tár Fő memória NyomtatóHangkártya ISA-híd Monitor PCI sín Memória sín ISA sín Másodlagos gyorsító tár EgérBillentyűzet Monitor Szabad PCI bővítő hely Szabad ISA bővítő helyek Gyorsító tár sín IDE diszk

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

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

12 Máté: Architektúrák5. előadás12 Hagyományos sínPCI Express Több leágazású sínKözpontosított kapcsoló Széles, párhuzamos sínKeskeny, közvetlen soros kapcsolat Bonyolult mester – szolga kapcsolatKicsi, csomagkapcsolt hálózat CRC kód: nagyobb megbízhatóság A csatlakozó kábel > 50 cm lehet Az eszköz kapcsoló is lehet Meleg csatlakoztatási lehetőség Kisebb csatlakozók: kisebb gép 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

13 Máté: Architektúrák5. előadás13 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. Rétegek Szoftver TranzakciósFejlécHasznos adat KapcsolatiSeq#FejlécHasznos adatCRC FizikaiKeretSeq#FejlécHasznos adatCRCKeret

14 Máté: Architektúrák5. előadás14 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ó).

15 Máté: Architektúrák5. előadás15 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. Vezérlő jelek B sínre írja a regisztert C sínt a regiszterbe írja memóriába memóriából Léptető vezérlés 6 2 ALU vezérlés A B N 1, ha az eredmény < 0, különben 0, Z 1, ha az eredmény = 0, különben 0. C sín B sín Memória vezérlő regiszterek ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

16 Máté: Architektúrák5. előadás16 Pl. SP = SP + 1 SP  B sín ALU: B+1  C C  SP Vezérlő jelek B sínre írja a regisztert C sínt a regiszterbe írja memóriába memóriából Léptető vezérlés 6 2 ALU vezérlés A B N 1, ha az eredmény < 0, különben 0, Z 1, ha az eredmény = 0, különben 0. C sín B sín Memória vezérlő regiszterek ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

17 Máté: Architektúrák5. előadás17 2 6 ALU vezérlés Pl. SP = SP + 1 SP  B sín ALU: B+1  C C  SP Vezérlő jelek B sínre írja a regisztert C sínt a regiszterbe írja memóriába memóriából Léptető vezérlés A B N 1, ha az eredmény < 0, különben 0, Z 1, ha az eredmény = 0, különben 0. C sín B sín Memória vezérlő regiszterek ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

18 Máté: Architektúrák5. előadás18 Pl. SP = SP + 1 SP  B sín ALU: B+1  C C  SP Vezérlő jelek B sínre írja a regisztert C sínt a regiszterbe írja memóriába memóriából Léptető vezérlés 6 2 ALU vezérlés A B N 1, ha az eredmény < 0, különben 0, Z 1, ha az eredmény = 0, különben 0. C sín B sín Memória vezérlő regiszterek ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

19 Máté: Architektúrák5. előadás19 Pl. SP = SP + 1 SP  B sín ALU: B+1  C C  SP Vezérlő jelek B sínre írja a regisztert C sínt a regiszterbe írja memóriába memóriából Léptető vezérlés 6 2 ALU vezérlés A B N 1, ha az eredmény < 0, különben 0, Z 1, ha az eredmény = 0, különben 0. C sín B sín Memória vezérlő regiszterek ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

20 Máté: Architektúrák5. előadás20 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. MAR MDR PC MBR memória

21 Máté: Architektúrák5. előadás21 Léptető vezérlés N Z 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. Az adatút vezérlése (4.1. ábra) 6 2 ALU vezérlés A B C sín B sín ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

22 Máté: Architektúrák5. előadás22 NEXT ADDRESS JMPC JAMN JAMZ SLL8 SRA1 F0F1 ENA ENB INVA INC H OPC TOS LV SP PC MDRMAR WRITE READ FETCH B sín 938934 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. 0 = MDR1 = PC2 = MBR3 = MBRU4 = SP 5 = LV6 = CPP7 = TOS8 = OPC9-15 semmi AddrJAMALUCMemB

23 Máté: Architektúrák5. előadás23 SP  B sín; ALU  C; C  SP

24 Máté: Architektúrák5. előadás24 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. MAR MDR PC MBR memória

25 Máté: Architektúrák5. előadás25 Memória ciklus: MAR = LV; rd; TOS = MDR

26 Máté: Architektúrák5. előadás26 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. AddrJALUCMB 9 512x36 bites vezérlőtár (ROM) a mikroprogram tárolására MIR MPC 4-ről 16-ra dekódoló A mikroprogram

27 Máté: Architektúrák5. előadás27 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. N Z 6 2 A B C sín B sín ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

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

29 Máté: Architektúrák5. előadás29 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. CímAddrJAMAdatút vezérlő bitek 0x750x092001...JAMZ =1

30 Máté: Architektúrák5. előadás30 JAMN: if(LV-H < 0) goto L1; else goto L2 L2+ 0x100= L1

31 Máté: Architektúrák5. előadás31 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 0 Felté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.

32 Máté: Architektúrák5. előadás32 JMPC: TOS=H+SP+1; goto(MBR)

33 Máté: Architektúrák5. előadás33 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  regiszterekbeJAMN, JAMZ és(N), (Z) mem.  MDR és/vagyalapján módosul MPC mem.  MBR Memória ciklus indításaJMPC és (MBR) (rd, wr, fetch)alapján módosul MPC.

34 Máté: Architektúrák5. előadás34 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).

35 Máté: Architektúrák5. előadás35 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. N Z 6 2 A B C sín B sín ALU MAR MDR PC MBR SP LV CPP TOS OPC H Léptető memória

36 Máté: Architektúrák5. előadás36 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!

37 Máté: Architektúrák5. előadás37 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 OR value) value általában 0 vagy 0x100.

38 Máté: Architektúrák5. előadás38 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)! CímAddrJAMAdatút vezérlő bitek 0x750x092001...JAMZ =1

39 Máté: Architektúrák5. előadás39 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). SP → d5 d4 d3 d2 LV → d1 a3 a2 a1 SP → a3 a2 LV → a1 SP → b4 b3 b2 LV → b1 a3 a2 a1 SP → c2 LV → c1 b4 b3 b2 b1 a3 a2 a1

40 Máté: Architektúrák5. előadás40 A verem operandusok és az eredmény ideiglenes tárolására is használható (operandus verem), pl. (4.9. ábra): a1 = a2 + a3 SP → a2 a3 a2 LV → a1 SP → a3 a2 a3 a2 LV → a1 SP → a2+a3 a3 a2 LV → a1 SP → a3 a2 LV → a2+a3

41 Máté: Architektúrák5. előadás41 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.

42 Máté: Architektúrák5. előadás42 Az IJVM memóriamodellje (4.10. ábra) A 4 GB memória, 1 G szóként is szervezhető. CPP → Konstans terület SP → Aktuális operandusok 3. LV → Aktuális lokális változók 3. lokális változók 2. lokális változók 1. PC → Metódus terület Konstansok, mutatók Tartalma a program betöltésekor alakul ki, ISA utasítások nem írhatják felül Program PC bájtot címez a metódus területen belül Verem lokális változók és operandus verem

43 Máté: Architektúrák5. előadás43 IJVM néhány utasítása: 4.11. ábra (részlet). hexMnemonicjelentés 10BIPUSH byte Beteszi a byte–ot a verembe A7GOTO offset Feltétel nélküli ugrás offset -re 60IADD Kivesz a veremből két szót, az összegüket a verembe teszi 99IFEQ offset Kivesz a veremből egy szót, ha 0, akkor offset -re ugrik 9FIF_ICMPEQ offset Kivesz a veremből két szót, ha egyenlők, akkor offset - re ugrik 15ILOAD varnum Beteszi varnum -ot a verembe 36ISTORE varnum Kivesz a veremből egy szót, és eltárolja varnum -ba 64ISUB Kivesz a veremből két szót, a különbségüket a verembe teszi 00NOP Nem csinál semmit 5FSWAP A verem két felső szavát megcseréli

44 Máté: Architektúrák5. előadás44 Java (C) IJVM program 4.14. ábra Bin. kód program 1ILOADj// i = j + k 15 02 2ILOADk 15 03 i = j + k; 3IADD 60 if(i = = 3) 4ISTOREi 36 01 k = 0; 5ILOADi// if(i = = 3) 15 01 else 6BIPUSH3 10 03 j = j – 1; 7IF_ICMPEQ L1 9F 00 0D 8ILOADj// j = j – 1 15 02 9BIPUSH1 10 01 10ISUB 64 11ISTOREj 36 02 12GOTOL2 A7 00 0F 13 L1:BIPUSH0// k = 0 10 00 14ISTOREk 36 03 15 L2:

45 Máté: Architektúrák5. előadás45 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.

46 Máté: Architektúrák5. előadás46 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.

47 Máté: Architektúrák5. előadás47 A mikroutasítások elhelyezkedése a mikroprogram tárban (részlet) 0 8 1 9 2 A 3 B 4 C 5 D 6 E 7 F 0NOP1IAND3POP3SWAP2SWAP3SWAP4SWAP5SWAP6 8LDC_W3LDC_W4IINC3IINC4IINC5IINC6IFLT2IFLT3 10BIPUSH1BIPUSH2 LDC_W1LDC_W2ILOAD1ILOAD2ILOAD3 18ILOAD4ILOAD5IFLT4INVOKEV19INVOKEV20INVOKEV21INVOKEV22INVOKEV23 20FF2 28 30ISTORE1ISTORE2 38ISTORE3ISTORE4ISTORE5ISTORE6 40 48 50POP1 58POP2DUP1DUP2SWAP1 60IADD1IADD2IADD3ISUB1ISUB2ISUB3 68 70 78IAND1IAND2 80IOR1IOR2IOR3IINC1IINC2INVOKEV1INVOKEV2 88INVOKEV3INVOKEV4INVOKEV5INVOKEV6INVOKEV7INVOKEV8INVOKEV9INVOKEV10

48 Máté: Architektúrák5. előadás48 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.

49 Máté: Architektúrák5. előadás49 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. CímkeMűveletek // kommentár Main1PC = PC + 1; fetch; goto(MBR) nop1goto Main1 iadd1MAR = SP = SP – 1; rd iadd2H = TOS iadd3MDR = TOS = MDR + H; wr; goto Main1

50 Máté: Architektúrák5. előadás50

51 Máté: Architektúrák5. előadás51 Feladatok Ismertesse az PCI sínt! Hogy használható több sín egy gépen belül? Miért volt fontos az ISA sín megtartása fejlettebb sín alkalmazása esetén? Hogy történik a PCI sín ütemezése? Miért használnak külön sínt a memória eléréséhez? Hogy illeszkedik a PCI sín a memória sínhez?

52 Máté: Architektúrák5. előadás52 Feladatok Milyen igények kielégítésére szolgál az általános soros sín (USB)? Milyen vezetékeket tartalmaz az USB sín, és miért? Miért kényelmes az USB sín használata? Mi a központi elosztó (root hub), és hogy működik? Mi történik eszköz USB porthoz csatlakoztatásakor? Mit jelent egy eszköz konfigurálása? Mi a keret (frame), és milyen kereteket ismer? Mi a csomag, és milyen csomagokat ismer? Milyen irányban haladhatnak a csomagok?

53 Máté: Architektúrák5. előadás53 Feladatok Mire szolgál a SOF csomag? Mire szolgál az IN/OUT csomag? Mire szolgál az ACK/NAK csomag? Mi a CRC? Mire szolgál a PCI Express? Hogy kapcsolódik a PCI Express a CPU-hoz? Hogy kapcsolódik a PCI Express az eszközökhöz? Milyen előnyei vannak a PCI Express-nek a sínnel szemben? Milyen rétegei vannak a PCI Express protokollnak?

54 Máté: Architektúrák5. előadás54 Feladatok Mi a mikroarchitektúra szint feladata? Hogy valósítja meg a feladatát? Mi az adatút? Milyen sínjei vannak a Mic-1 -nek? Mely regiszterek csatlakoznak az A sínhez? Mely regiszterek csatlakoznak a B sínhez? Mely regiszterek csatlakoznak a C sínhez? Milyen jelek szükségesek az adatút vezérléséhez? Mire szolgál az SP regiszter két vezérlő bemenete? Mire szolgál az MBR regiszter két vezérlő bemenete?

55 Máté: Architektúrák5. előadás55 Feladatok Hogy történik a memóriából olvasás? Hogy történik a memóriába írás? Mire szolgál a MAR/MDR regiszter? Ha egy mikroutasítás módosítja MAR tartalmát, és olvas a memóriából, akkor mely címről fog olvasni? Memóriából olvasás után mikor használható MDR új értéke az adatúton illetve MPC meghatározásához? Mire szolgál a PC és az MBR regiszter? Mire szolgál az N és a Z regiszter? Mire szolgál a H regiszter?

56 Máté: Architektúrák5. előadás56 Feladatok Milyen memória műveletei vannak a Mic-1 -nek? Milyen jelek szükségesek a Mic-1 adatútjának vezérléséhez? Hány jel szolgál az A sín vezérlésére? Hány jel szolgál a B sín vezérlésére? Hány jel szolgál az ALU és a léptető vezérlésére? Hány jel szolgál a C sín vezérlésére? Hány jel szolgál a memória elérésére? Milyen részei vannak a Mic-1 mikroutasításainak? Milyen részei vannak az adatút ciklusnak?

57 Máté: Architektúrák5. előadás57 Feladatok Milyen részei vannak a Mic-1 mikroutasításainak? Milyen típusú memória a mikroprogram tároló? Mire szolgál az MPC regiszter? Mire szolgál az MIR regiszter? Miért van szükség az Addr mezőre? Milyen részei vannak az adatút ciklusnak? Hány bit kell a B/C sín vezérléséhez? Mire szolgál a JMPN/JMPZ bit? Mire szolgál a JMPC bit? Hogy alakul ki MPC új tartalma?

58 Máté: Architektúrák5. előadás58 Feladatok Miért nem megengedett az MAR = SP; rd MDR = H utasítás pár? Hogy valósítható meg feltétlen ugrás a mikroprogramban? Hogy valósítható meg feltételes ugrás a mikroprogramban? Hogy valósítható meg kapcsoló utasítás a mikroprogramban?

59 Máté: Architektúrák5. előadás59 Feladatok Milyen részei vannak az egy bites ALU-nak? Milyen vezérlő bemenetei vannak az ALU-nak? Milyen vezérlő bemenetek esetén lesz 1 az eredmény? Milyen eredményt szolgáltat az F 0 =0, F 1 =1, ENA=0, ENB=0, INVA=1, INC=1 vezérlő bemenet? A Mic-1 mely regisztere lehet az ALU bal/jobb operandusa? Hova tárolhatja a Mic-1 az eredményt? Érvényes utasítás-e Mic-1-en a H=OPC-H? Miért? Érvényes utasítás-e Mic-1-en a H=H-OPC? Miért?

60 Máté: Architektúrák5. előadás60 Feladatok Milyen utasításai vannak a Mic-1 gépnek? Milyen ugró utasításai vannak a Mic-1 gépnek? Milyen értékeket vehet föl a SOURCE operandus? Milyen értékeket vehet föl a DEST operandus? Mit jelent a wr? Mely utasítások tudnak olvasni a memóriából, és hogy működnek? Hogy lehet védekezni az ellen, hogy MDR egyszerre kapjon értéket a memóriából és a C sínről? Mi az operandus verem?

61 Máté: Architektúrák5. előadás61 Feladatok Minek a rövidítése az IJVM? Ismertesse az IJVM memóriamodelljét! Milyen utasításai vannak az IJVM-nek? Mi a BIPUSH/DUP/IADD/SWAP utasítás feladata? Mi a GOTO utasítás feladata? Mi a IFEQ/IF_ICMPEQ utasítás feladata? Hogy működik a Mic-1 főciklusa? Mit tartalmaz PC és MBR a főciklus indulásakor? Hogy valósítható meg Mic-1-en a NOP utasítás? Hogy valósítható meg Mic-1-en az IADD utasítás?


Letölteni ppt "Máté: Architektúrák5. előadás1 PCI (Peripheral Component Interconnect): 32 bites adat átvitel (33,3 MHz, sávszélesség: 133 MB/s) szabadon felhasználható."

Hasonló előadás


Google Hirdetések