Külső sínrendszer Flashcards
Külső sínrendszer fogalma (buszrendszer)
A buszrendszer az egységek (CPU, RAM, perifériák) közötti kommunikáció szolgál. Maga a buszrendszer a kommunikáció infrastrukturális rész. Kommunikáció a buszrendszeren szervezett és egységes módon történik. Adatokat és vezérlőjeleket továbbítunk. Általában több egység kapcsolódik rá. A buszrendszer egy történelmi fejlődés eredménye -> ez bizonyult a legjobbnak.
A buszrendszer jellemzői
- Az adatátvitelben résztvevő eszközök számára biztosítani kell a kijelölést (megcímzés: címmegadás vagy utasítás alapján létrehozott hardveres kapcsolat) és a kizárólagos használatot.
- Meg kell határozni az átvitel irányát (merre megy a kapcsolat)
- Meg kell oldani az eszközök működésének összehangolását (szinkronizáció).
A buszrendszer előnye és jelentősége
Előnye: szabványosított (a jelhasználat és a vezetékkiosztás), ezért az eszközök cserélhetők Jelentősége: a buszrendszer a felhasználó számára transzparens (vagyis nem kell és nem is tud ezzel foglalkozni, automatikusan működik)
Kommunikáció fajtái a buszrendszeren belül
• Egységen belüli kommunikáció (pl.: a processzoron belül) BELSŐ buszrendszer
o kicsik a távolságok -> közös vezérlés, közös órajel
• Egységek közötti kommunikáció (pl.: a processzor és a perifériák között) KÜLSŐ buszrendszer
o viszonylag nagyok a távolságok, jelentős késleltetéssel jár -> nem célszerű a központi óraütemadó alkalmazása
o jelentősek az optimális sebességek közti különbségek az egyes egységek vonatkozásában (pl.: más az optimális sebessége a processzornak és más a billentyűzetek)
o Eltérő architektúrák
Buszrendszerek csoportosítása az átvitel iránya szerint
a. szimplex (CLK, RST)
b. félduplex
c. duplex (adatbusz)
Buszrendszerek csoportosítása az átvitel jellege szerint
a. dedikált buszrendszer: gyors, megbízható Minden egységet, minden egységgel összekötünk. Leginkább rendszerbuszoknál használják. Előnye: A sok kapcsolat miatt gyors és megbízható (kapcsolat meghibásodása esetén másik útvonalon is tud kommunikálni) Hátránya: Drága a sok vezeték miatt és új egység hozzáadása bonyolult.
kép48
b. shared (megosztott) buszrendszer Minden egység közös buszon kommunikál, de egyidejűleg csak egy adó lehet. Előnyei: Olcsó, szabványos kialakítása miatt új egységek csatlakoztathatóak. Hátrányai: Mivel egyidejűleg csak egy adó használhatja a közös buszt, ezért lassú lehet. A buszhasználat vezérlése bonyolult. Érzékennyé válik a közös busz meghibásodására.
kép49
Buszrendszerek csoportosítása az átvitt tartalom szerint (mit szállít)
a. címbusz (feladata az egységek azonosítása)
b. adatbusz (feladata az adatok továbbítása)
c. vezérlő vezetékek (vonalak, nem busz)
Az adatbusz tulajdonságai
i. ugyanazon a vezetéken keresztül továbbítják a címeket és az adatokat vezetékkel való spórolás céljából + így kevesebb csatlakozó láb kell.
ii. PCI segítségével időbeli multiplexelést hajt végre, azaz ugyanazon a vezetéken átviszi a blokk kezdőcímét, majd ciklikusan az adatokat, közben inkrementálással állapítva meg a címet
Mit szállítanak a vezérlő vezetékek?
i. éppen adat vagy cím van-e a buszon (adatbusz: 8, 16, 32, 64 bit)
ii. vezérlési információk és az egység állapotáról szóló információk továbbítására szolgálnak
Milyen vezérlési információkat szállítanak a vezérlő vezetékek?
- Adatátvitelt vezérlő jelek
- Megszakítást vezérlő jelek (megszakítás kérés, visszaigazolás)
- Buszfoglalással kapcsolatos vezérlővezetékek (sínfoglalás kérése, jelzése és engedélyezése )
- egyéb (cclk, rst)
Adatátvitelt vezérlő jelek
a. M/IO: memória vagy input-output. Megmondja, hogy a vezetéken a memória vagy IO cím található
b. R/W: read/write. Az adatátvitel irányát mutatja meg a processzor (CPU) felől nézve
c. B/W: byte/word. Azadat hosszát, a párhuzamosan átvitt bitek számát mutatja meg.
d. AS: address strobe. Megmutatja, hogy a rendszerbuszra címet helyeztünk-e
e. DS: data strobe. Megmutatja, hogy a rendszerbuszra adatot helyeztünk-e
f. A/D: address/data. Megmutatja, hogy az adott buszon adat vagy cím van
g. RDY: ready. Megmutatja, hogy az átvitel befejeződött, vagy az eszköz készen áll
Buszrendszerek csoportosítása az összekapcsolt terület szerint
Processzorsín: feladata a processzor-memória és a buszvezérlő forgalmának biztosítása.
Bővítőbusz: feladata a perifériák csatlakoztatása a processzor-memória kettőshöz.
kép50
Buszrendszerek csoportosítása átvitel módja szerint
párhuzamos busz, soros busz
Soros, párhuzamos buszok
Több vezetéken párhuzamosan továbbítja az adatokat (ISA, PCI). Hátrány: sok vezeték -> komplex, drága. Sok helyet foglalnak. A sebesség folyamatosan nő! Egyetlen gyors vezetéken több adat továbbítható, mint több lassún! Sorosítás -> kódolással (bitsorozatok). Párhuzamos port létrehozása viszonylag egyszerű, könnyen implementálható „rá kell másolni a buszra az adatot”. Soros átvitelnél vissza kell konvertálni az adatot párhuzamossá.
A párhuzamos buszok nem alkalmasak nagyfrekvenciás átvitelre, mert:
- vezetékek közötti időeltérés (delay skew)
- a sok párhuzamos vezeték rengeteg elektromágneses interferenciát generál (EMI – elektromágneses zaj -> zaj miatt sérülhet az adat)
- áthallás a vezetékek között szintén interferenciát eredményez (távolságfüggő, ezért limitált a távolság)
- nehezen bővíthető. Soros buszoknál szoftveresen is lehet bővíteni -> rugalmasabbak
A PCI és a PCIe busz
SATA 1981 IBM PC nyitottá tette A rendszert nyitottá tévő széleskörű I/O csatlakozási lehetőséget biztosító bővítő busz. Általános célú expozíciós csatlakozók. Érintkezők, csatlakozók definiálása: áramellátás, cím, adat és vezérlővonalak stb. Ez a busz már párhuzamos volt. Kezdetekben soros kommunikáció volt. Párhuzamos buszrendszerek: ISA, PCI, IDE.
IBM buszrendszere 2x32 pólusú csatlakozó: 8 bites adat, 20 bit cím.
PCI busz párhuzamos, 90-es évek, CPU architektúrától független, szabványosított formában támogatja a rendszerbuszt. A CPU úgy látta, mintha az eszközök közvetlenül a rendszerbuszokhoz lettek csatlakoztatva, így azokat a CPU az általa látott címtérből látja el memória címekkel (nagy adatátvitelt tudtak ezzel elérni).
A PCI specifikáció tartalmazza a busz fizikai méreteit (elektromos érintkezők méreteit is), elektromos jellemzőket, az adatátvitel időzítését, átviteli protokollokat.
A PCI előnyei közé tartozik, hogy széleskörűen kompatibilis, valamint viszonylag olcsó megvalósítás és az előállítása. A mai napig megtalálható a számítógépekben!
Ennek utódja: PCIe (express) soros busz
A kettő nem kompatibilis. 2004-ben jelent meg a PCIe. Az Intel, Dell, IBM, HP összefogtak és az ő gyártmányuk. Előnye: nagyobb sebesség, kevesebb érintkezője van.
kép51
Busz foglalás (Bus Arbitration) fajtái
- Soros buszfoglalás
a. hardveres lekérdezés (Hardver Polling – Daisy Chain)
b. szoftver polling - Párhuzamos buszfoglalás
Hardver Polling jellemzői
Előnye: egyszerű, olcsó, korlátlan számú egység (elvileg)
Hátránya: prioritás hardveresen meghatározott, emiatt az előrébb lévő egységek elnyomhatják a hátrébblévőket, meghibásodásra érzékeny
Működése:
1. bus request aktiválása (ha bus busy aktív, akkor vár, ha nem, bus grant)
2. UI átenged, U2 aktiválja a bus busy-t
3. adatot küld, bus busy deaktiválása
kép53
Szoftver polling jellemzői
kép54
A számláló algoritmus alapján szólítja meg az egységeket (pl.: ott folytatja, ahol abbahagyta)
Előnye: kevésbé érzékeny a Bus Grant vonal meghibásodására, valamint prioritás szoftveresen változtatható, ezáltal rugalmasabb a rendszer.
Hátránya: több vezérlővonal miatt drágább, és a csatlakoztatható egységek számát a Bus Grant vonalak száma korlátozza.
Párhuzamos buszfoglalás jellemzői
kép55
Előnye: gyors válasz (a leggyorsabb a három közül), prioritást a busz vezérlés szabályozza
Hátránya: sok vezeték miatt drágább és bonyolultabb.
Rejtett sínfoglalás:
• két független hardver végzi a sínfoglalást és az adatátvitel vezérlését
• lehetőség van arra, hogy amíg az előző átvitel zajlik, a következő egység kiválasztása megtörténhessen. Amint az adatsín felszabadul, azt átadja.
Ilyen megoldást használ például a PCI busz is.
A fejlődés mozgatórugói
A CPU-k gyorsabbak, mint a külső eszközök (hatalmas „szakadék” a belső sebesség és az I/O műveletek között). Többmagos CPU-k és többprocesszoros rendszerek esetén ez fokozódik.
Cél az I/O szűk keresztmetszet mérséklése
Megoldás: többszintű, lapkán lévő gyorsítótárak bevezetése a memóriakezeléshez (minél nagyobb találati arány legyen a gyorsítótárakban).
Annak érdekében, hogy megelőzzük a rendszer-lassulásokat, a déli híd és az I/O alrendszerei közötti interfésznek a processzorsebesség-növekedésével lépést kell tartani.
Azok az I/O eszközök is, amelyek a memória-eléréshez lassú sínrendszereket használnak, szintén szenvednek a megfelelő sávszélesség hiánya miatt. Ugyanis a korszerű perifériák sebessége nagyobb is lehet, mint azon síneké, amelyekre csatlakoztattuk őket. Ez egy másik, rendszerszintű szűk keresztmetszet. Ez a probléma azon esetekben különösen kiéleződik, amikor a késleltetés-kritikus és/vagy real-time adatátvitel történik az I/O alrendszer és a processzor között.
I/O eszközök és a memória kapcsolata
- Megosztott busz koncepció (pl.: PCI busz)
2. Pont-pont kapcsolat, dedikált buszok (pl.: PCIe, HyperTransport, QPI)
A front side bus kiváltására két megoldás született
- Az AMD-től a HyperTransport
* valamint az Inteltől a QuickPath Interconnection
Aszinkron adatátvitel
Elve: minden elemi művelet egyben jelzés a következő művelet megkezdésére. Itt az adó addig tartja fenn a buszon az adatot és a vezérlőjelet, amíg a vevő nem jelzi, hogy megkapta azt.
Az aszinkron adatátvitel két fajtája
- Egyvezetékes átvitel
2. Két vezetékes átvitel (Hand shake)
Egyvezetékes átvitel
a. adó oldali vezérlés
Felteszi a sínre, jelzi, vár, leveszi.
Értékelés: az adónak nincs visszacsatolása az adat célba érkezéséről. (lehet, hogy a vevő évek óta rossz)
kép56
b. vevő oldali vezérlés:
Vevő kérésére történik az adatküldés.
Értékelés: az előzőnél megbízhatóbb, hiszen a vevő kérés pillanatában aktív
Az egy vezetékes átvitel hátránya: az adó nem kap visszacsatolást az adat célba érkezéséről.
kép57
Két vezetékes átvitel (Hand shake)
a. adó oldali vezérlés
Átvitel folyamata: Az adó felteszi az adatot az adatsínre, aktiválja a data ready vonalat, a vevő az adat elolvasása után aktiválja a data request vonalat, majd az adó visszaveszi az adatot. Ezután az adó a data ready-t, a vevő pedig a data requestet deaktiválja.
kép58
b. vevő oldali vezérlés (először request)
Értékelés: az adó visszacsatolást kap az adat célba érkezéséről -> megbízható átvitelt biztosít különböző sebességű eszközök esetén is.
kép59
FSB (front side bus) (általában 64 bit)
A processzortól a számítógép egyéb részeihez menő chipseten keresztüli külső interfészre utal. A front side bus processzoron kívüli kommunikációt jelent -> sokkal lassabb!
Fejlődése: frekvencia 66 MHz-400MHz sebesség 500 MB/sec-12 GB/sec
Az FSB chipsetjét az Intel az északi és a déli híd formájában alakította ki.
Északi híd: gyors egységekhez csatlakozhat
Déli híd: többi egység számára
InternalBus: eredetileg PCI busz, később nagy sebességű busz (pl.: 2011: ~20 Gbit/s a 2.0 ver.)
(Később az északi hidat a CPU-ba integrálták!)
HyperTransport (HT) rendszerbusz
2001-ben mutatta be az AMD, de pl. az IBM, a Cisco és az Apple is használja. Ez egy kétirányú soros/párhuzamos kapcsolat. Fő feladata a minden architektúránál más front-side bus kiváltása. Tipikusan a processzor lapkájára integrálva, de nagy sávszélességű I/O buszként is alkalmazzák. A képen egy négy belső linkkel rendelkező HT rendszert látunk. Az egyes komponenseket duál-szimplex linkek kapcsolják össze. Ezeken keresztül skálázható és automatikusan egyeztetett kapcsolatok alakíthatók ki.
Kétféle egységet tartalmaz:
• alagút (tunel), amelyik az eredeti funkcionalitásán (például PCIe, GbitEthernet) túlmenően két HT portot is tartalmaz, azaz hozzáfűzhető egy további HT egység
• barlang (cave), ez zsákutcát jelent (esetünkben a SATA egység), lezárja az úgynevezett HT láncot (chain)
HT-to-HT bridge segítségével egy adott rendszerhez további láncszemek illeszthetők. Ily módon komplex HT eszközhalmazt építhetünk.
Csomagkapcsolt elven működik. 40 bites vagy 64 bites címeket használ, sorrendben 1 terabájt illetve 18 exabájt (18EB) címtérrel.
A PCI-tól eltérően a HT nem rendelkezik dedikált I/O címtérrel. Ehelyett a memóriában leképezett I/O-val rendelkezik.
QPI (QuickPath Interconnect)
Feladata az FSB kiváltása volt. 2008-tól kezdték alkalmazni, először a Xeon, majd a Core-i CPU-knél. Ez volt az Intel válasza a HT-re, ez is pont-pont összeköttetést biztosít.
A QPI processzorok is lapkára integrált memória-vezérlőkkel és non-uniform memory access (NUMA) rendelkeznek. Distributed shared memory architektúrát használ. Ez azt jelenti, hogy a fizikailag elosztott memória egyetlen, logikailag közös címtérben címezhető.
Minden QPI port kettő darab, egyenként 20 adatvonalas pont-pont linkből áll, irányonként különálló órajeladóval rendelkezve.
A QPI 5-réteges architektúrát definiál. A fizikai réteg a 20 vonalon egyetlen órajelre 20 adatbitet visz át párhuzamosan. Csomagkapcsolt adatátvitelt biztosít.
A QPI nagysebességű pont-pont kapcsolatot jelent. Bár sokszor soros busznak hívják, ez pontosabban azt jelenti, hogy az adatokat több vonalon keresztül párhuzamosan küldik, s a csomagokat több párhuzamos átvitelre bontják.
A processzorban lehet egy vagy több mag. Amikor a processzor több magos, akkor azok használhatnak közös gyorsítótárat vagy pedig különálló gyorsítótárakat. A processzoron belül találunk továbbá egy vagy több memória-vezérlőt.
A processzor támogathatja a skálázhatóságot, így lehet benne crossbar router és egynél több QPI port (minden port egy pár egyirányú linket jelent).
Annak érdekében, hogy megelőzzük a rendszer-lassulásokat, a déli híd és az I/O alrendszerei közötti interfésznek a processzor sebességnövekedésével lépést kell tartani.