Information Technology | Computer architectures » Schmidinger Péter - Architektúrák II.

Datasheet

Year, pagecount:2002, 44 page(s)

Language:Hungarian

Downloads:1330

Uploaded:June 06, 2004

Size:374 KB

Institution:
[ÓE] Óbuda University

Comments:

Attachment:-

Download in PDF:Please log in!



Comments

No comments yet. You can be the first!

Content extract

Architektúrák Broczkó-féle tananyag 1 BMF-NIK Jegyzet a műszaki informatika negyedik féléve számára. Schmidinger Péter 2002. május 18 Javították: Ulrich Dávid, Lebedy Máté, Hegedűs Marcell 1 1 VEZÉRLÉS . 5 1.1 ÁRAMKÖRI VEZÉRLŐEGYSÉG . 5 1.2 MIKROPROGRAMOZOTT VEZÉRLÉS . 6 1.21 Egy korszerű mikroutasítás felépítése. 8 1.22 Egy korszerű mikrovezérlő megvalósítása. 8 1.23 A mikroutasítás hosszát befolyásoló tényezők . 9 1.24 Vezérlőrész. 10 1.241 1.242 1.243 Horizontális mikroutasítás. 10 Vertikális mikroutasítás. 10 Átmenet horizontális és vertikális mikroutasítás közt . 11 1.25 Mikroprogramozás . 11 1.26 A mikroprogramok ütemezése. 12 1.27 A mikroprogramozott vezérlés gyorsítása. 13 1.28 Összefoglalás - Huzalozott kontra mikroprogramozott vezérlés. 13 1.3 FUTÓSZALAGOK . 14 1.31 Függőségek. 15 1.311 1.312 1.313 1.314 1.315 1.316 1.317 1.32 1.33 1.34 1.35 1.36 Futószalagok jellemzői . 20

Futószalagok alkalmazásának területei . 20 A futószalag logikai tervezése. 21 Futószalagok általános vagy elvi fizikai felépítése . 22 Futószalagok fizikai megvalósítása . 23 1.361 1.362 1.363 1.37 1.38 2 Műveleti RAW függőségek . 16 Behívási RAW függőségek . 17 WAR függőség . 17 WAW függőség . 18 Adatfüggőségek ciklusban. 18 Vezérlésfüggőségek. 19 Feltételes vezérlés-átadás . 19 Univerzális futószalag . 23 Két futószalag, melyek közül az egyik a MASTER futószalag. 23 Dedikált futószalagok . 23 Soros konzisztencia kialakítása . 24 RISC – CISC futószalagok . 24 SÍNRENDSZEREK . 25 2.1 SÍNRENDSZEREK JELLEMZŐI . 25 2.2 SÍNRENDSZEREK CSOPORTOSÍTÁSA . 26 2.21 Az átvitel iránya szerint . 26 • • • 2.22 • • • 2.23 • • 2.24 • • 2.25 • • • • • 2.3 2.4 2.5 Simplex (egyirányú). 26 Duplex (váltottan) . 26 Full-duplex. 26 Funkcionalitás szerint. 26 Adatsín . 26 Címsín. 26

Vezérlősín . 26 Az összekapcsolt területek szerint . 27 Rendszersín vagy processzorsín. 27 Bővítősín. 27 Az átvitel jellege szerint . 28 Dedikált sínrendszer. 28 Megosztott (shared) átvitel. 28 Az átvitel szintjei szerint . 29 Egyszintes rendszer. 29 Kétszintes rendszer . 29 Háromszintes rendszer . 30 Négyszintes rendszer. 30 Rugalmas szintezésű rendszer. 30 ESETTANULMÁNY - PCI (EGY HÁROMSZINTES RENDSZER) . 31 NYÍLT ARCHITEKTÚRA . 31 A SÍNRENDSZER MŰKÖDÉSE . 32 3 Vezérlés - Áramköri vezérlőegység 2.51 Sínfoglalás. 32 2.511 2.512 2.52 Az adatátvitel vezérlése . 35 2.521 2.522 3 Soros sínfoglalás . 32 Párhuzamos sínfoglalás . 34 Szinkron adatátvitel. 35 Aszinkron adatátvitel. 36 I/O RENDSZER. 39 3.1 PROGRAMOZOTT I/O. 40 3.11 Különálló I/O címtér . 40 3.12 Memóriában leképzett I/O. 41 3.13 A programozott I/O működése. 42 3.131 3.132 Feltétlen átvitel. 42 Feltételes átvitel. 42 3.2 DIRECT

MEMORY ACCESS (DMA) . 43 3.21 Blokkos / BURST átvitel . 44 3.22 Cikluslopás / CYCLE STEALING. 44 4 4 EGY HIPOTETIKUS SZÁMÍTÓGÉP TERVEZÉSE. 45 Vezérlés - Áramköri vezérlőegység 1 Vezérlés 1.1 Áramköri vezérlőegység Memória MDR MAR IR PC DEC Vezérelt objektum Ütemező CLK RESET Külső feltételek címsín Teljes vezérlési műveletsor: 1. egy forrásregiszter tartalmát rákapuzzuk egy módosító áramkörre 2. jelezzük a módosító áramkörnek, hogy milyen módosításokat hajtson végre 3. a módosító áramkör kimenetét rákapuzzuk egy regiszterre Regiszterek • programozó által látható AC, általános célú, PC, MAR, . • rejtett regiszterek Módosító áramkör által végezhető feladatok: • léptetés • invertálás • összeadás Értékelése • gyors • merev • nehezen áttekinthető (ember számára) Kiküszöbölése: Mikroprogramozott vezérlés 5 Vezérlés - Mikroprogramozott vezérlés 1.2

Mikroprogramozott vezérlés 1953 Maurice Wilkes Mikroutasítás: Vezérlő rész Címrész Wilkes-féle modell: Hagyományos gépi kódú utasítás Műveleti kód CMAR: Control Memory Address Register CM: Control Memory (Mikroprogramtár) Címrész CONTROL MEMORY CMAR C0 C1 C2 C3 Cn 00 01 02 03 (mikroutasítások) DEC S a3 a2 a1 a0 Vezérelt objektum Külső feltétel pl.: összeadás kódja 01, aktivizálja C0-t Számonkérés: szekvenciális utasítás, feltételes ugrás bemutatása e modellen 6 Vezérlés - Mikroprogramozott vezérlés Működése: Egy mikroutasítás szekvencia végrehajtása • a műveleti kód megfelelően kódolva beírásra kerül a CMAR-be megfelelő kódolás: a CMAR-be már az adott gépi kódú utasítást feldolgozó gépi kódú mikroprogram kezdőcíme kerül be • CMAR tartalma DEC-be kerül, mely aktiválja a CMAR tartalma által meghatározott című mikroutasítást • Az adott címen lévő mikroutasítás által

meghatározott ideig aktiválódnak a kijelölt vezérlővonalak (pl.: a rákapcsolást, kijelölik a módosító áramkör által végrehajtandó műveleteket) • Az adott mikroutasításban a cím-mátrixban levő következő végrehajtandó mikroutasítás címe betöltésre kerül a CMAR-be Feltételes ugrás végrehajtása • a feltételes ugró utasítás kijelölése esetén o a kijelölt vezérlő vonalak aktiválódnak o a külső feltétel igaz / hamis voltától függően egyik vagy másik cím töltődik be a CMAR-be Értelmezések: • CM funkcionálisan megfeleltethető az áramköri vezérlés ütemezőjének • A Wilkes-féle modell lehetővé teszi az elemi műveletek párhuzamosítását 7 Vezérlés - Mikroprogramozott vezérlés 1.21 Egy korszerű mikroutasítás felépítése Feltétel kiválasztó mező Ugrási cím Vezérlőrész 1.22 Egy korszerű mikrovezérlő megvalósítása INC LOAD MUX MPC Külső feltételek CM CMDR DEC Vezérelt

objektum Mikroutasítás szekvencia • Az MPC (microprogram counter) által kijelölt következő végrehajtandó mikroutasítás lehívásra kerül a CM-ből a CMDR-be • A vezérlő rész által meghatározott vezérlővonalak aktiválódnak meghatározott ideig (0 helyett 1-be) • Az MPC inkrementálódik Feltételes ugrás • A CMDR-ben lévő mikroutasítás feltétel-kiválasztó mezője által meghatározott külső feltétel tesztelésre kerül • Az egyik esetben az MPC inkrementálódik, a másik esetben a CMDR-ben lévő mikroutasítás ugrási címmezőjének tartalmával az MPC felülíródik 8 Vezérlés - Mikroprogramozott vezérlés 1.23 A mikroutasítás hosszát befolyásoló tényezők A) Feltétel kiválasztó mező B) Ugrási cím C) Vezérlőrész Következő végrehajtandó mikroutasítás címének meghatározása • A mikroutasítás tartalmazza a következő végrehajtandó mikroutasítás címét pl.: Wilkes-féle modell • MPC alkalmazása

korszerű mikrovezérlők esetében Ugrási cím • A CM címtere nagyobb, mint az ugrási címtér CM 10 bit = 1024 cím Pl. 8 bites ugrási cím = 256 cím • Jelzőbittel jelezzük, hogy az adott mezőben ugrási cím van-e vagy vezérlőcím-rész • Kívülről töltjük le az ugrási címet • Kétféle mikroutasítás formátum: o Általános célú Hosszú, vezérlőrésszel o Ugrási Rövid, vezérlőrész nélküli • Kétszintű mikroutasítás alkalmazása (pl.: Motorola) 17 bit 68 bit Maximum 1024 nanotároló több mikroutasítás is rámutathat ugyanarra a vezérlőrészre  megtakarítás 9 Vezérlés - Mikroprogramozott vezérlés 1.24 Vezérlőrész 1.241 Horizontális mikroutasítás Jellemzői: • • • • Hosszúak Magas szintű párhuzamosság Csekély mértékű kódolás pl.: Motorola, IBM 360, PDP 8 Esettanulmány: • IBM 360/50 o Vezérlő rész 90 bit o Vezérlőrész 21 vezérlőmezőre osztott o 65-67 bithelyiérték vezérli,

hogy melyik regiszterből töltjük az ALU jobb oldali bemenetét o 68-71 bithelyiérték jelöli ki az elvégzendő műveletet (pl. bináris összeadás vagy BCD összeadás) • PDP 8 o Vezérlő rész 128 bit o Hipotézis: 7 biten kódolunk 0000001 0000010 0000101 1.242 Vertikális mikroutasítás Jellemzői: • Rövidek • Csekély szintű párhuzamosság • Erős mértékű kódolás • pl.: Intel, IBM 370 Esettanulmány: • IBM 370 • 4 byte hosszú Műveleti kód 10 Cím 01 Cím 02 Címszámítási segédinformáció Vezérlés - Mikroprogramozott vezérlés 1.243 Átmenet horizontális és vertikális mikroutasítás közt Vezérlőrész DEC DEC DEC Vezérelt objektum • a gyakran használt vezérlési pontokhoz közvetlenül megy a vezérlés • a ritkábban használtak esetén dekóderen át • nincs merev határ a horizontális (kevesebb dekóder) és vertikális mikroutasítások (több dekóder) közt 1.25 Mikroprogramozás • létezik

mikro-assembly, és annak fordítóprogramja • komoly hardware-ismeretekre van szükség • hiba esetén a reset nem segít, az operációs rendszer nem működik 11 Vezérlés - Mikroprogramozott vezérlés 1.26 A mikroprogramok ütemezése A mikroutasítások fajtái: • monofázisú egy mikroutasítás végrehajtási ciklus alatt egyetlen mikroművelet valósul meg • polifázisú egy mikroutasítás végrehajtási ciklus alatt több mikroművelet valósul meg Példa: R1  f(R0) 1. a következő végrehajtandó mikroutasítás lehívása 2. az R0 regiszter tartalmát ráképezzük f módosító függvény áramkör bemenetére 3. kijelöljük az f módosító áramkör által végrehajtandó műveletet 4. az f módosító áramkör kimenetét rákapuzzuk R1 regiszter bemenetére Egy-egy fázis (polifázisú mikroutasítás) Órajelciklus 1 2 3 4 Mikroutasítás végrehajtási ciklus Huzalozott vezérlés esetén nincs utasításlehívás a huzalozott vezérlés

MINDIG gyorsabb 12 Vezérlés - Mikroprogramozott vezérlés 1.27 A mikroprogramozott vezérlés gyorsítása • gyors CM alkalmazása • horizontális vezérlés alkalmazása (párhuzamos működés) • szervezeti módosítás CM CMDR 0 CMDR 1 DEC Vezérelt objektum Működése: (futószalag elv) • Amíg CMDR0-ból történik a vezérlés, az alatt a következő végrehajtandó mikroutasítás lehívásra kerül CMDR1-be • Utána váltás 1.28 Összefoglalás - Huzalozott kontra mikroprogramozott vezérlés Huzalozott Ember számára nehezen érthető Mindig gyorsabb Merev RISC gépek Mikroprogramozott Ember számára áttekinthető Lassabb (mindig) Rugalmas CISC gépek 13 Vezérlés - Futószalagok 1.3 Futószalagok Elve: n autó által egy munkahelyen töltött idő T egy autó elkészülésének az ideje N ennyi készül el egyszerre N=T/n  egyidejűleg N darab autó készül Hagyományos (szekvenciális) számítástechnikai feldolgozás (I –

Instruction, F – Fetch, E – Execution) I1 F1 I2 E1 F2 I3 E2 F3 E3 Futószalagos feldolgozás I1 F1 I2 E1 F2 I3 E2 F3 E3 Két független hardware egység esetén elvben kétszeresére nőhet a feldolgozási sebesség. Feltételek: • • • • A lehívó és végrehajtó egységnek egymástól függetlennek kell lennie A lehívás és végrehajtás azonos ideig kell, hogy tartson Az egyik hardware egység bemenete egyben a másik egység kimenete A műveletek órajelre kezdődnek Legyen 4 folyamatú futószalagunk: F D E W/B D: Dekódolás, W/B:Write Back Elvben 4x gyorsítás Gyakorlatban ezt akadályozzák a függőségek 14 Vezérlés - Futószalagok 1.31 Függőségek A kezelés módja szerint Trend • Statikus függőségek compiler segítségével kezelhető • Hibrid • Dinamikus függőségek extra hardware segítségével a komparálási(végrehajtási) fázisban Funkcionális csoportosítás • Adat Adat Jellegük szerint

Elhelyezkedésük szerint Ciklusban Lineáris Ál WAR Regiszter Memória Valós WAW RAW • Vezérlés • Erőforrás Valós függőség: nem tudjuk teljesen feloldani, csak mérsékelhetjük a visszatartó hatását 15 Vezérlés - Futószalagok 1.311 Műveleti RAW függőségek READ AFTER WRITE RAW függőség: valós függőség, dinamikusan kezelhető operandus előrehozással Valós függőség: nem tudjuk teljesen feloldani, csak mérsékelhetjük fékező hatását Problémák: I1: ADD r1 r2 r3 I2: SHIFT r1 r1  r2 + r3 Amikor I2 szeretné feldolgozni az előző utasításban szereplő eredményregiszter tartalmát, az a futószalagos feldolgozás során még nem készült el, ezért, az I2 feldolgozásával várni kényszerülünk. Fadd I1 I2 r2 r3 Add r1 Fshl NOP NOP r1 shl r1 Kezelése: operandus előrehozással (ha úgyis igényli a következő utasítás az előző eredményét, akkor regiszterbe írás helyett visszaírjuk az egyik operandus

helyére) Fadd I1 I2 r2 r3 Add r1 Fshl FWD shl r1 src1 src2 r1 r2 r3 ALU rslt A mai processzorok mindegyike alkalmas erre. 16 Extra HW: operandus előrehozás r0 Vezérlés - Futószalagok 1.312 Behívási RAW függőségek Valós függőség, dinamikusan kezelhető operandus előrehozással. Probléma: Memória Regiszter-file ALU Kezelése: Memória Regiszter-file Extra HW: operandus előrehozás ALU 1.313 WAR függőség Álfüggőség, statikusan vagy dinamikusam kezelhető. Probléma: I1: I2: ADD r1 r2 r3 MUL r2 r5 r6 Kezelése regiszter átnevezéssel történik. I1: I2: ADD r1 r2 r3 MUL r15 r5 r6 Jelentős gyorsítás, minden mai processzornál megtalálható. 17 Vezérlés - Futószalagok 1.314 WAW függőség Álfüggőség, statikusan és dinamikusan kezelhető. Probléma: I1: I2: (A sorok nem közvetlenül egymás után következnek) ADD r1 r2 r3 MUL r1 r5 r6 Kezelése regiszter átnevezéssel történik. I1: I2: ADD r1 r2 r3 MUL r18

r5 r6 1.315 Adatfüggőségek ciklusban • Egyrészt a ciklusmagban lehetnek lineáris adatfüggőségek, • másrészt viszont a ciklus-iterációk között is lehetnek függőségek Például: for i:=2 to n do x[i]:= A[i] * x[i-1] + ↑elsőrendű Ez az elsőrendű ciklus adatfüggőség általános alakja. Csak az algoritmus változtatásával kezelhető. 18 B[i] Vezérlés - Futószalagok 1.316 Vezérlésfüggőségek Feltétlen vezérlés-átadás / késleltetett ugrás, statikusan kezelhető. Probléma: MUL JMP Címke ADD SUB Címke: SHL Fmul Emul Fjmp Kiderülhet, hogy rossz utasítás lehívása kezdődött el. Ejmp Fadd Ez felesleges! Kezelése A) Egyszerű compiler, NOP beszúrásával JMP Címke NOP Címke: SHL B) Optimalizáló compiler Az ugrási utasítást megelőző adatmanipuláló utasítással tölti fel az ugrási részt. Az új sorrend: JMP Címke MUL ADD Címke: SHL Eddig két fokozatú futószalagról beszéltünk, ahol az ugrási rés

mérete 1  85%-os sikerrel tölthető fel. Nagyobb fokozatszám esetén a feltöltés valószínűsíthetően csökken. 1.317 Feltételes vezérlés-átadás Csak dinamikusan kezelhető. 19 Vezérlés - Futószalagok 1.32 Futószalagok jellemzői • Fokozatok száma 80as évek: 2.3 fokozat 2000 után: 10.15 fokozat lebegőpontos: 2.3 fokozattal hosszabb, mint a fixpontos • Újrafeldolgozás Alapeset teljesítmény fokozatok száma Újrafeldolgozás esetén F D E W/S Szorzás-osztás esetén alkalmazott, mert + és – műveletek sorozatáról van szó. • Ütemezés o Szinkron Napjainkban tipikus. o Aszinkron 1.33 Futószalagok alkalmazásának területei • Utasítás-végrehajtási fázisban (60-as – 70-es évek) • Lehívás + végrehajtás A teljes utasítás-végrehajtási ciklusban (80-as évek, RISC I, RISC, II) • A kettő kombinációja A teljes utasítás-végrehajtási ciklusban+ Több végrehajtási egység / futószalag (90-es évek) 20

Vezérlés - Futószalagok 1.34 A futószalag logikai tervezése 1. szint: Az utasítások funkcionális csoportosítása szerinti futószalagok kialakítása: • • • • Fix pontos (FX) Lebegőpontos (FP) Ugrási (B – Branch) Load / Store (L/S) Például: F FX S/O E W/B F: S: E: W/B: Fetch Source Operand (lehívás) Execute Write Back 2. szint: Az egyes fokozatok elemi műveleteinek kialakítása. Például: Fetch 1. MAR  PC 2. MDR  [MAR] 3. IR  MDR 4. PC  PC + 1 21 Vezérlés - Futószalagok 1.35 Futószalagok általános vagy elvi fizikai felépítése 60-as – 80-as évek Regiszter Műveletvégző Regiszter 1. fokozat Műveletvégző Reg 2. fokozat 90-es évek Regiszter és MUX Műveletvégző 1 Műveletvégző 2 1. fokozat 22 Regiszter és MUX Műveletvégző 1 Műveletvégző 2 2. fokozat Reg és MUX Vezérlés - Futószalagok 1.36 Futószalagok fizikai megvalósítása 1.361 Univerzális futószalag Valamennyi logikai

futószalagot egyetlen fizikai futószalagban valósítunk meg. Pl.: RISC I, RISC II Jellemző 1990-ig 1.362 Két futószalag, melyek közül az egyik a MASTER futószalag Pl.: Pentium 90-es évek eleje Pentium: • MASTER futószalag (U): bármely utasítás feldolgozására alkalmas • SLAVE futószalag (V): egyszerűnek minősített utasításokat tud végrehajtani • Egyenként 5-5 fokozat • Csak akkor működhetnek párhuzamosan, ha mindkettő ún. „egyszerű utasítást” dolgoznak fel • Ha U összetett utasítást dolgoz fel, akkor V üresen áll • Az U futószalagnak van egy további 3 fokozatból álló lebegőpontos kiegészítése 1.363 Dedikált futószalagok Pl.: PowerPC 604 FX egyszerű FX egyszerű F S/O FX összetett CO W/B FP L/S és B L/S és B 23 Vezérlés - Futószalagok 1.37 Soros konzisztencia kialakítása FP, FX Az FP utasítás végrehajtása lassú, a többi végrehajtó egység alkalmazása következtében az azt követő FX

utasítás hamarabb befejeződik. Az eredeti sorrend visszaállítása a konzisztencia fokozat (CO) feladata. (RISC futószalag rövidebb, CISC hosszabb, legalább 1-gyel: címszámítási fokozat miatt) 1.38 RISC – CISC futószalagok A CISC hosszabb, mert megengedett memória-operandus alkalmazása. (pl.: címszámítási fokozat adódik a futószalaghoz) Skaláris fejlesztés: Csíkszélesség csökkentése. Szuperskalár fejlesztés: Regiszter átnevezés, stb. (utánanézni) 24 Sínrendszerek - Sínrendszerek jellemzői 2 Sínrendszerek A sínrendszer biztosítja az adatáramlást a számítógép főbb részegységei közt. Processzor Processzor Memória – – – Memória (rendszersín) I/O (bővítősín) I/O (bővítősín) A sínrendszer fogalma: Fizikai: olyan vezetékköteg, amelynek minden erén logikai 1 / 0-hoz tartozó feszültség (0 / 5.12V, esetleg kisebb) van jelen Funkcionális: olyan vezetékköteg, amely biztosítja n bit továbbítását a

forrásegységtől a cél-egységbe. Ebben az esetben beleértjük a sínvezérlő „intelligenciáját” is. 2.1 Sínrendszerek jellemzői • A legfontosabb jellemzője a vezetékek száma • Tipikus megosztott sínrendszert használunk. Egyidejűleg egy-egy vezetéken vagy logikai 0-nak, vagy pedig logikai 1-nek megfelelő feszültség lehet • Mindig csak egy adó lehet, viszont lehet több vevő • A sínrendszert regiszterként is értelmezhetjük databusR0 R1databus 25 Sínrendszerek - Sínrendszerek csoportosítása 2.2 Sínrendszerek csoportosítása 2.21 Az átvitel iránya szerint • Simplex (egyirányú) Pl. Reset, Clock • Duplex (váltottan) Pl. Adatsín • Full-duplex Egyidőben kétirányú 2.22 Funkcionalitás szerint • Adatsín trend a vezetékek számának növekedése 8088:8, 286:16, 386:32 • Címsín trend a vezetékek számának növekedése 8088:20, 286:24, 386:32 • Vezérlősín • Adatátvitelt vezérlő vezetékek o M / I/O

(memory / I/O) o W/B (word / byte) o R/W (read / write) • Sínvezérlő vezetékek o Sínfoglalás kérése o Sínfoglalás engedélyezése o Sínfoglalást jelző vezeték • Megszakítás-vezérlő vezetékek o Kérés o Engedélyezés • Egyéb o Órajel o Reset 26 Sínrendszerek - Sínrendszerek csoportosítása 2.23 Az összekapcsolt területek szerint P M rendszersín I/O I/O bővítősín • Rendszersín vagy processzorsín • A processzort és a memóriát köti össze • Architektúránként változó • Bővítősín • I/O egységek csatlakoztatási lehetőségét biztosítja • Lehet o Architektúra-függő  ISA  EISA o Architektúra-független (vagy szabványos)  PCI  SCSI 27 Sínrendszerek - Sínrendszerek csoportosítása 2.24 Az átvitel jellege szerint • Dedikált sínrendszer U1 U2 U4 U3   Előnyei • Igen gyors és teljes párhuzamosság • Megbízható (ha egy vonal elszakad, használhatunk másikat)

Hátrányai • Drága a kivitelezése • Bonyolult az új egység csatlakoztatása • Megosztott (shared) átvitel U1 U2   28 Un Előnyei • Olcsó • Egyszerű az egységek csatalkoztatása (szabvány csatlakozó) Hátrányai • Lassú várakozás a közös sínre • Bonyolult a vezérlése • Meghibásodása esetén az egész rendszer leáll Sínrendszerek - Sínrendszerek csoportosítása 2.25 Az átvitel szintjei szerint • Egyszintes rendszer 1980 IBM PC P M I/O bővítősín 6.8,33MHz rendszersín • I/O Kétszintes rendszer 1982 ISA M P ISA vezérlő 16bit 8MHz Video A kialakulás okai: Megjelentek a gyorsabb processzorok, célszerű volt a rendszersínt leválasztani, mivel gyorsabban lehetett meghajtani 29 Sínrendszerek - Sínrendszerek csoportosítása • Háromszintes rendszer 1990 táján multimédia alkalmazások megjelenése P M Helyi sínvezérlő Video Keyboard • HDD PCI 32/64 33MHz 132,264MB/sec LAN Soros port

Hang Kompatibilitási vezérlő 16bit 8MHz 5Mb/sec Négyszintes rendszer 1996 – AGP Inkább csak port, multimédiás videó-gyorsítás 66MHz, 500Mb/sec • Rugalmas szintezésű rendszer 2000-es évek fejlesztése Dedikált, intelligens virtuális kapcsolatot alakít ki a kommunikáló egységek közt 30 Sínrendszerek - Esettanulmány - PCI (Egy háromszintes rendszer) 2.3 Esettanulmány - PCI (Egy háromszintes rendszer) • • • • • • Platformfüggetlen Egy mai tipikus alaplap o 2.4 PCI aljzat o 1.2 kompatibilitási vezérlő Létezik o Master (aktív) - vezérel o Slave (passzív) - vezérlik Felépítése o Maximum 49 érintkező Működése: Az adat és a címvezetékek multiplexek, tehát először átküldésre kerül a cím, mely kijelöli az egységet, s utána tipikusan BURST üzemmódban igen sok adat átvitele történik (ua. a lábakon) Címterei o I/O o Memória o Konfigurációs A vezérlőkártya olyan regiszterekkel rendelkezik, melyek

tartalmazzák a kártya konfigurációs jellemzőit. Az operációs rendszer képes e regiszterek kiolvasására, és így automatikusan konfigurálja a kártyát. (PNP) 2.4 Nyílt architektúra Nem funkciónként alakították ki a speciális aljzatokat, hanem a szabvány aljzatok egyes érintkezőinek fizikai jellemzőit határozták meg. (pl: némelyik táp, a másik adat, cím) Előnyei • A világon igen sok gyártó nagy sorozatban állíthat elő viszonylag olcsón kártyákat • A felhasználó sokféle kártya közül választhat • Könnyebb a tesztelés • Az aljzatra később tervezhető bármilyen periféria (olyan perifériák is csatlakoztathatók, melyek még meg sem születtek, mikor az aljzatot szabványosították) 31 Sínrendszerek - A sínrendszer működése 2.5 A sínrendszer működése 2 fázis: 1. Sínfoglalás (BUS ARBITRATION) 2. Sínátvitel vezérlése (BUS TIMING) 2.51 Sínfoglalás 2.511 Soros sínfoglalás Hardware Polling vagy Daisy Chain

vagy Hadverlekérdezéses Arbitrálás Data Bus BUS GRANT U1 U2 Control Bus Sínvezérlő Un BUS REQUEST BUS BUSY U1-et kérdi a sínvezérlő: akarja e használni? Továbbküldi U2-nek, akarja, beállítja a BUS BUSY-t. Előnyei • Olcsóbb • Elvben végtelen számú egység cstlakoztatható Hátrányai • A prioritás HW úton szabályozott merev • Az elől álló egységek elnyomhatják a hátrább állókat • Érzékeny a BUS GRANT meghibásodására 32 Sínrendszerek - A sínrendszer működése Software Polling vagy Szoftverlekérdezéses Arbitrálás Data Bus U1 Sínvezérlő U2 Un BUS GRANT CT (Counter) BUS REQUEST BUS BUSY 1. BUS REQUEST kérés 2. megvárni a számlálót 3. kiadni a BUS BUSY-t Előnyei • SW prioritás szabályzás • Kevésbé érzékeny a BUS GRANT vonalak meghibásodására • Igen gyors Hátrányai • Drágább (a több vezeték miatt) • A csatlakoztatható egységek számát a BUS GRANT vonalak száma korlátozza 33

Sínrendszerek - A sínrendszer működése 2.512 Párhuzamos sínfoglalás Independent Requesting Data Bus U1 U2 Un Sínvezérlő BUS REQ BUS GRANT BUS BUSY Előnyei • Igen gyors Hátrányai • Drágább Pl.: PCI Rejtett arbitrálás: amíg az egyik egység kommunikál, addig a másik egység lefoglalhatja a sínt 34 Sínrendszerek - A sínrendszer működése 2.52 Az adatátvitel vezérlése (Bus timing) 2.521 Szinkron adatátvitel • • • • • • Mind az adó, mind pedig a vevő számára egy előre ismert időintervallumban zajlik az adatátvitel Az ütemezést egy elektronikus óra biztosítja Az óra-ütemadó lehet o Mind az adó, mind pedig a vevő számára közös  Ekkor egymástól kis távolságra kell elhelyezkedniük o Mind az adó, mind pedig a vevő SAJÁT ütemadóval rendelkezik, melynek frekvenciája megegyezik  Szinkronjel szükséges az óraütemek egyeztetéséhez Értékelése o Előnyei  Egyszerű  Olcsó o Hátrányai

 A mindkét fél számára előre ismert időintervallum hosszát az adatátvitelben részt vevő leglassabb egység határozza meg Példa o Kompatibilitási sín 6.8,33MHz o PCI 33MHz o AGP 66MHz A hátrány kiküszöbölésének módja o Helyi (lokális) sín 35 Sínrendszerek - A sínrendszer működése 2.522 Aszinkron adatátvitel • • • Az előző elemi művelet befejeződése egyben jelzés a következő elemi művelet kezdetére Létezik az adatsínen kívül 1 vagy 2 vezeték, így pl. a vevő nyugtázhatja az átvitel megtörténtét Fajtái o Egyvezetékes Az adatsínen kívül egyetlen vezérlő vezeték van  Adó oldali vezérlés Adó Data Bus Vevő DATA READY Data Bus DATA READY t Értékelés Az adónak nincs visszacsatolása arról, hogy az adat célba ért (pl. a vevő ki lehet kapcsolva) 36 Sínrendszerek - A sínrendszer működése  Vevő oldali vezérlés Adó Data Bus Vevő DATA REQUEST Data Bus DATA REQ t Értékelés A

vevő az adat kérésekor még aktív volt o Kétvezetékes Handshake / Kézfogás  Az adó kezdeményez Adó Data Bus Vevő DATA READY DATA ACKNOWLEDGE Data Bus DATA READY DATA ACKW t 37 Sínrendszerek - A sínrendszer működése  A vevő kezdeményez Adó Data Bus Vevő DATA REQUEST DATA READY Data Bus DATA REQUEST DATA READY t 38 I/O rendszer - A sínrendszer működése 3 I/O rendszer Fogalma: A processzor-memória együttes és a külvilág kapcsolatai Határai: Memória Processzor I/O Perifériák Külső sínrendszer I/O rendszer I/O A processzor közreműködésével (programozott I/O) Címtér A processzor közreműködése nélkül (DMA) Működés Különálló Blokkos (BURST) Feltétlen átvitel Ciklus lopás Memóriában leképzett Feltételes átvitel wait for flag megszakítás 39 I/O rendszer - Programozott I/O 3.1 Programozott I/O Fogalma: Minden I/O művelethez a processzor egy utasítást kell, hogy végrehajtson.

Minden architektúrában megtalálható! Fajtái: 3.11 Különálló I/O címtér Memória Processzor I/O címtér Jellemzői • A processzor, a memória és az I/O egységek a rendszersínen találhatók, mely magában foglalja az adat- és a címsínt • Ugyanazon a címsínen haladhat a memória-cím is és az I/O cím is, s a memória / IO vezérlővonal különbözteti meg őket • Az IBM PC esetén az I/O címtér mérete 65536 • A rendszersín és az I/O egység az I/O port formájában találkozik Az I/O port regiszterei • COMMAND / parancsregiszter Ide írja a processzor az I/O egység által teljesítendő feladatot • DATA INPUT / adatbeviteli regiszter • DATA OUTPUT / adatkimeneti regiszter • STATUS / állapotregiszterek A processzor csak olvassa Napjainkban tipikusan egy regiszterben valósítják meg a Command-Status és a Data Input - Data Output funkciókat A regiszterek száma nő (pl. konfigurációs regiszter) I/O műveletek IBM PC - IN x és OUT x

utasítás pl. az IN x jelentése: az x-edik I/O portról olvasunk az AC-ba Értékelése Egyszerű, de az átvitelt a processzoron keresztül történik  szűk keresztmetszet 40 I/O rendszer - Programozott I/O 3.12 Memóriában leképzett I/O Memória Processzor I/O egység I/O műveletek Nincs szükség explicit I/O utasításra, LOAD/STORE művelettel elérhető a processzor számára a közös memóriaterület is. (pl IBM PC képernyőkezelés) Értékelése • Nagyobb adatátviteli sebességet biztosít, mint a különálló I/O címtér • Még mindig végre kell hajtani a processzornak minden I/O művelethez tartozó utasítást 41 I/O rendszer - Programozott I/O 3.13 A programozott I/O működése 3.131 Feltétlen átvitel • • • • Nem vizsgáljuk, hogy a vevő bekapcsolt Nincs szinkronjel Pl. LED, adók, vevők Hátránya o Nincs visszacsatolás az adat célba érkezéséről 3.132 Feltételes átvitel • „wait for flag” 1. A processzor

beírja a kívánságot az I/O egység parancsregiszterébe 2. A processzor kiolvassa az állapotregisztert o Ha nem READY, akkor vissza a második pontra o Ha READY, akkor kiolvassa az adatregisztert • Hátránya o Tipikusan nagy sebességkülönbség a processzor és a perifériák közt  a processzor feleslegesen hajtja végre a ciklus által előírt olvasási műveletet • Megszakításos módszer 1. A processzor beírja kívánságát az I/O egység parancsregiszterébe, és elkezd mást csinálni 2. Amikor az I/O egység előkészítette az adatot a perifériától, akkor egy megszakítás kérést küld a processzor számára 3. A processzor a következő utasítás-töréspontban elkezdi a megszakítás feldolgozását: kiolvassa az állapotregiszter tartalmát • Előnye o A processzort csak az érdemi tevékenység idejére vesz igénybe 42 I/O rendszer - Direct Memory Access (DMA) 3.2 Direct Memory Access (DMA) Fogalma: • A processzor közreműködése

nélkül, nagy mennyiségű adat, gyors periféria alkalmazása esetén történő átvitele Megvalósítása: Memória Címsín Adatsín Processzor MAR DMA MDR AC Vezérlő DC DMA REQ IOAR IODR Vezérlő DMA ACKW Működése: 1. DMA egység felprogramozása: Programozott I/O-val átadja a processzor az • Átviendő adategységek számát • A memória kezdőcímét • Az adategység meghatározását (byte, word, stb.) • Az átvitel irányát 2. A DMA egység előkészíti az első kért adatot az IODR-ben, és egy DMA REQUEST jelzést küld a processzor felé 3. A processzor egy DMA ACKW jelzéssel lemond a rendszersín használatáról 4. Az IODR tartalma beírásra kerül az IOAR által megcímzett helyre, és ekkor a DC dekrementálódik, az IOAR pedig inkrementálódik 5. A ciklus addig forog, amíg a DC el nem éri a 0 értéket 43 - Direct Memory Access (DMA) Az átvitel fajtái: 3.21 Blokkos / BURST átvitel • A DMA egység mindaddig használhatja a

rendszersínt, amíg le nem bonyolította a teljes átvitelt (DC = 0) Igen gyors perifériáknál alkalmazzák (pl. winchester) 3.22 Cikluslopás / CYCLE STEALING Utasítás töréspont F D S/O E W/B DMA töréspont DMA töréspont kontra utasítás-töréspont • A DMA töréspontban a DMA egység a processzor helyett végezheti a munkát • Az utasítás-töréspontban a processzorra a megszakítás-feldolgozás pótlólagos munkája várhat • Alkalmazásai: pl. gyorsnyomtatás 44 Egy hipotetikus számítógép tervezése - Direct Memory Access (DMA) 4 Egy hipotetikus számítógép tervezése • Minden utasítás 2 byte-os MK • • • Címrész A memória byte-os szervezésű I/O rendszere nincs Utasításai o ADD 100 o ADD [100] o INC o NUL o LOAD [100] o STORE [100] o JUMP 100 AC:=AC+100 AC:=AC+MEM[100] AC:=AC+1 AC:=0 AC:=MEM[100] MEM[100]:=AC PC:=100 Vezérlő +1 PC ALU MUX Memória MAR Címsín ALU IR DEC AC MDR Fetch: MAR  MDR  IR 

PC  Adatsín PC [MAR] MDR PC + 1 45