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

Slides:



Advertisements
Hasonló előadás
Alaplap.
Advertisements

Egyszerűsített lexikális elemző
A számítógép műszaki, fizikai része
1 Számítógépek felépítése 9. előadás I/O rendszerek.
Rendszertervezés Hardver ismeretek.
A számítógép felépítése
Hardver ismeretek-2.
A számítógép felépítése
Alapvető digitális logikai áramkörök
A mikroprocesszor 1. rész.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Adatbázisrendszerek elméleti alapjai 6. előadás
Adatbázisrendszerek elméleti alapjai 5. előadás
A számítógép felépítése
Alaplapra integrált csatlakozók
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire előny,
Máté: Architektúrák4. előadás1 Vezérlés átadó utasítások Eljárásokkal kapcsolatos utasítások Eljárás hívás: CALLop; eljárás hívás - közeli:push IP, IP.
. . Egyszerű sín alapú számítógép (2.1. ábra)
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire előny,
Máté: Architektúrák5. előadás1 String kezelő utasítások Az s forrás területet (DS:SI), a d cél területet pedig (ES:DI) címzi. A mnemonik végződése (B /
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (4.17. ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire.
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire előny, de.
Gyorsító tár (cache – ábra)
Máté: Orvosi képfeldolgozás1. előadás1. Máté: Orvosi képfeldolgozás1. előadás2 A leképezés fizikai alapjai Fény, fénykép, mikroszkóp Röntgen sugárzás.
Máté: Architektúrák7. előadás1 RISC – CISC RISC: Reduced Instruction Set Computer csökkentett utasításkészletű számítógép CISC: Complex Instruction Set.
A verem működése fpga-n
A számítógéprendszer.
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
CISC - RISC processzor jellemzők
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Sínrendszer.
Egy egyszerű gép vázlata
Egy harmadik generációs gép (az IBM 360) felépítése
Egyszerűsített lexikális elemző
Máté: Architektúrák5. előadás1 String kezelő utasítások Az s forrás területet (DS:SI), a d cél területet pedig (ES:DI) címzi. A mnemonik végződése (B /
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (4.17. ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire.
Számítógép architektúrák
Alaplap Fő komponensek.
A számítógép felépítése
A számítógép elvi felépítése
A Neumann-elvű gépek A Neumann elvek:
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
CUDA C/C++ programozás
Háttértárak.
Alaplapra integrált csatlakozók
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Írja fel a tizes számrendszerbeli
Számítástechnikai alapismeretek 2. (TK o.)
IT ALAPFOGALMAK HARDVER.
A számítógép felépítése
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
7. Multiplikatív műveletek:  : szorzás / : osztás
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
A ROM ÉS A BIOS. K ÉSZÍTETTE R ELL P ATRIK A ROM A ROM egy olyan elektrotechnikai eszköz, amely csak olvasható adatok tárolására alkalmas memória. Tartalma.
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
Sz&p prof.
RISC – CISC RISC: Reduced Instruction Set Computer csökkentett utasításkészletű számítógép CISC: Complex Instruction Set Computer összetett utasításkészletű.
A számítógép felépítése
A Számítógépek hardver elemei
A Számítógépek felépítése, működési módjai
A Számítógépek felépítése, működési módjai
A számítógép működésének alapjai
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

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 ábra): több sín Belső sín, PCI híd, PCI sín, ISA híd, ISA sín.

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# ábra. A PCI sín centrális ütemezőt használ.

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.

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 Mbps (nyomtató, fényképezőgép,…) USB Mbps (DVD lejátszó,…) A központi elosztó (root hub) 1 ms-onként üzenetekkel (frame, á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).

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.

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.

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.

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.

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

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

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

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

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

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ó).

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

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

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

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

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

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

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

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

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

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

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

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

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

Máté: Architektúrák5. előadás28 Mic-1: 4.6. ábra. AddrJALUCMB x36 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 x36 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)

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 0x750x JAMZ =1

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

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.

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

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.

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

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

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!

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.

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 0x750x JAMZ =1

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

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

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.

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

Máté: Architektúrák5. előadás43 IJVM néhány utasítása: á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

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

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.

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.

Máté: Architektúrák5. előadás47 A mikroutasítások elhelyezkedése a mikroprogram tárban (részlet) A 3 B 4 C 5 D 6 E 7 F 0NOP1IAND3POP3SWAP2SWAP3SWAP4SWAP5SWAP6 8LDC_W3LDC_W4IINC3IINC4IINC5IINC6IFLT2IFLT3 10BIPUSH1BIPUSH2 LDC_W1LDC_W2ILOAD1ILOAD2ILOAD3 18ILOAD4ILOAD5IFLT4INVOKEV19INVOKEV20INVOKEV21INVOKEV22INVOKEV23 20FF ISTORE1ISTORE2 38ISTORE3ISTORE4ISTORE5ISTORE POP1 58POP2DUP1DUP2SWAP1 60IADD1IADD2IADD3ISUB1ISUB2ISUB IAND1IAND2 80IOR1IOR2IOR3IINC1IINC2INVOKEV1INVOKEV2 88INVOKEV3INVOKEV4INVOKEV5INVOKEV6INVOKEV7INVOKEV8INVOKEV9INVOKEV10

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.

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

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

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?