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 • • •  Simplex (egyirányú).  26 Duplex (váltottan) .  26 Full-duplex.  26  2.22  Funkcionalitás szerint. 26  • • •  Adatsín .  26 Címsín.  26 Vezérlősín .  26  2.23  Az összekapcsolt területek szerint
. 27  • •  Rendszersín vagy processzorsín.  27 Bővítősín.  27  2.24  Az átvitel jellege szerint . 28  • •  Dedikált sínrendszer.  28 Megosztott (shared) átvitel.  28  2.25  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  2.3 2.4 2.5  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 databusR0 R1databus  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  Adatsín  Fetch: MAR  PC MDR  [MAR] IR  MDR PC  PC + 1  45