Számítógépes busz ( eng. computer bus ) a számítógépes architektúrában – egy kapcsolat, amely a számítógép funkcionális blokkjai közötti adatátvitelt szolgálja . A buszos eszközben megkülönböztethetünk mechanikai, elektromos (fizikai) és logikai (vezérlési) szinteket.
A pont-pont kapcsolattal ellentétben általában több eszköz csatlakoztatható egy buszhoz egyetlen vezetékkészleten keresztül. Minden busz saját csatlakozókészletet (kapcsolatokat) határoz meg az eszközök, kártyák és kábelek fizikai csatlakoztatásához.
A korai számítógépek számítógépes buszai kötegek voltak (csatlakozó vezetékkötegek - jel és táp, a kompaktság és a könnyű karbantartás érdekében egymáshoz kötve), amelyek párhuzamos elektromos buszokat valósítottak meg több csatlakozással. A modern számítástechnikai rendszerekben ezt a kifejezést minden olyan fizikai mechanizmusra használják, amely ugyanazt a logikai funkcionalitást biztosítja, mint a párhuzamos számítógépbuszok.
A modern számítógépbuszok párhuzamos és soros kapcsolatokat is használnak, és rendelkezhetnek párhuzamos ( angol multidrop ) és láncos ( angol daisy chain ) topológiával. USB és néhány más busz esetén hubok ( hubok ) is használhatók.
Egyes típusú nagy sebességű buszok ( Fibre Channel , InfiniBand , nagy sebességű Ethernet , SDH ) optikai , nem pedig elektromos csatlakozásokat használnak a jelzésekhez .
A busz csatlakozói, a különféle csatlakozók általában egységesek, és lehetővé teszik különféle eszközök csatlakoztatását a buszhoz.
A buszátvitel vezérlése mind a jelfolyam szintjén ( multiplexerek , demultiplexerek , pufferek , regiszterek , buszformázók ), mind az operációs rendszer kerneléből valósul meg - ebben az esetben a megfelelő meghajtót tartalmazza .
A buszok lehetnek párhuzamosak (az adatok átvitele ciklusonként , szavakkal : minden bit külön vezető) és soros (az adatbitek felváltva kerülnek átvitelre egy csatorna mentén , például egy pár vezető).
A legtöbb számítógép belső és külső buszokkal is rendelkezik. A belső busz a számítógép összes belső alkatrészét az alaplaphoz (és így a processzorhoz és a memóriához) köti. Ezt a típusú buszt helyi busznak is nevezik, mivel helyi eszközök csatlakoztatására szolgál. A külső busz a külső perifériákat köti össze az alaplappal.
A hálózati kapcsolatokat , például az Ethernetet , általában nem tekintik busznak, bár a különbség inkább fogalmi, mint gyakorlati. Az InfiniBand és a HyperTransport technológiák megjelenése tovább elmosta a határvonalat a hálózatok és a buszok között. [egy]
A korai számítógépbuszok vezetők egy csoportját alkották, amelyek a számítógép memóriáját és a perifériákat a processzorhoz kötötték. Szinte mindig különböző buszokat használtak a memóriához és a perifériákhoz, különböző hozzáférési módokkal, késleltetésekkel, protokollokkal.
Az egyik első fejlesztés a megszakítások használata volt . Bevezetésük előtt a számítógépek I/O műveleteket hajtottak végre egy hurokban, és várták, hogy egy periféria készen álljon. Időpocsékolás volt olyan programokra, amelyek más dolgokat is tudtak csinálni. Ezenkívül, ha a program más feladatokat próbálna végrehajtani, túl későn ellenőrizheti az eszköz állapotát, és adatokat veszíthet. Ezért a mérnökök lehetővé tették, hogy a perifériák megszakítsák a processzort . A megszakítások prioritást élveztek, mivel a processzor egyszerre csak egy megszakításhoz tudott kódot végrehajtani, és egyes eszközök alacsonyabb késleltetést igényeltek, mint mások.
Nem sokkal később a számítógépek elkezdték felosztani a memóriát a processzorok között. Rajtuk a buszközlekedés is prioritást kapott.
A megszakítások vagy a buszhoz való hozzáférés fontossági sorrendjének klasszikus és egyszerű módja a lánctalpas eszközök volt.
A DEC megjegyezte, hogy két különböző busz redundáns és költséges lehet a kisméretű, sorozatgyártású számítógépek számára, és javasolta a perifériák memóriabuszhoz való hozzárendelését, hogy azok memóriaterületeknek tűnjenek. Ez akkoriban nagyon merész döntés volt, és a kritikusok azt jósolták, hogy megbukik.
Az első mini-számítógép buszok passzív hátlapok voltak, amelyek mikroprocesszor érintkezőihez kapcsoltak. A memória és más eszközök ugyanazzal a címmel és adattűkkel csatlakoztak a buszhoz, mint a processzor. Minden érintkező párhuzamosan volt csatlakoztatva. Egyes esetekben, például az IBM PC -ben, további processzorutasításokra van szükség a jelek generálásához, hogy a busz valódi I/O busz legyen.
Sok mikrokontrollerben és beágyazott rendszerben az I/O busz még mindig nem létezik. Az átviteli folyamatot a CPU vezérli, amely a legtöbb esetben úgy olvas és ír információkat az eszközökhöz, mintha azok memóriablokkok lennének. Minden eszköz közös óraforrást használ. A perifériák kérhetik az információ feldolgozását speciális CPU érintkezők jelzésével valamilyen megszakítással. Például a merevlemez - vezérlő értesíti a processzort az olvasásra kész adatokról, majd a processzornak ki kell olvasnia azokat a vezérlőnek megfelelő memóriaterületről. Szinte az összes korai számítógép így készült, az S-100 busszal felszerelt Altairtől az IBM PC - ig az 1980 -as években .
Az ilyen egyszerű buszoknak komoly hátrányuk volt az általános célú számítógépeknél. A buszon lévő összes berendezésnek azonos sebességgel kellett továbbítania az információt, és ugyanazt az órajelforrást kellett használnia . A processzor sebességének növelése nem volt egyszerű, hiszen minden eszköz azonos gyorsítását igényelte. Ez gyakran olyan helyzethez vezetett, hogy a nagyon gyors processzoroknak le kellett lassulniuk ahhoz, hogy információkat tudjanak továbbítani egyes eszközöknek. Bár ez a beágyazott rendszerek esetében elfogadható, a kereskedelmi számítógépek esetében ez a probléma nem elfogadható. További probléma, hogy minden művelethez szükség van a processzorra, és ha más műveletekkel van elfoglalva, a tényleges busz átviteli sebesség jelentősen csökkenhet.
Az ilyen számítógépes buszokat sokféle felszereléssel nehéz volt felállítani. Például előfordulhat, hogy minden egyes hozzáadott bővítőkártyához több kapcsolót kell beállítani a memóriacím, az I/O-cím, a prioritások és a megszakítási számok beállításához.
A „második generációs” számítógépbuszok, például a NuBus megoldottak néhány fenti problémát. Általában két "részre" osztották a számítógépet, az egyikben a processzort és a memóriát, a másikban a különféle eszközöket. Az alkatrészek közé egy speciális buszvezérlő ( buszvezérlő ) került beépítésre . Ez az architektúra lehetővé tette a processzor sebességének növelését a busz befolyásolása nélkül, a processzor tehermentesítését a buszkezelési feladatok alól. Egy vezérlő segítségével a buszon lévő eszközök a központi processzor beavatkozása nélkül tudtak egymással kommunikálni. Az új abroncsok jobb teljesítményt nyújtottak, de kifinomultabb bővítőkártyákat is igényeltek. A sebességgel kapcsolatos problémákat gyakran az adatbusz szélességének növelésével oldották meg , az első generációs 8 bites buszokról a második generációs 16 vagy 32 bites buszokra. Úgy tűnik, hogy a szoftveres eszközök konfigurálása egyszerűsíti az új eszközök csatlakoztatását is, amelyeket most Plug-n-play néven szabványosítottak .
Az új abroncsok azonban az előző generációhoz hasonlóan ugyanazt a sebességet követelték meg az ugyanazon a buszon lévő eszközöktől. A processzort és a memóriát immár saját buszon különítették el, és sebességük gyorsabban nőtt, mint a perifériabusz sebessége. Emiatt a buszok túl lassúak voltak az új rendszerek számára, a gépek adatvágytól szenvedtek. A probléma egyik példája, hogy a videokártyák gyorsan fejlődtek, és még az új Peripheral Component Interconnect (PCI) buszok sávszélessége is hiányzott belőlük. A számítógépek csak az Accelerated Graphics Port (AGP) funkciót kezdték beépíteni, hogy videoadapterekkel működjenek együtt. 2004 -ben az AGP ismét nem volt elég gyors az erős videokártyákhoz, és az AGP-t elkezdte felváltani az új PCI Express busz .
Egyre több külső eszköz kezdte el saját buszát használni. A lemezmeghajtók feltalálásakor a buszra csatlakoztatott kártyával erősítették a géphez. Emiatt a számítógépek sok bővítőhellyel rendelkeztek . De az 1980 -as és 1990-es években új SCSI és IDE buszokat találtak fel , amelyek megoldották ezt a problémát azáltal, hogy az új rendszerekben a legtöbb bővítőhelyet üresen hagyták. Manapság egy tipikus autó körülbelül öt különböző abroncsot támogat.
A gumiabroncsokat belső ( helyi busz ) és külső ( külső busz ) részekre kezdték osztani . Az előbbieket belső eszközök, például videoadapterek és hangkártyák csatlakoztatására tervezték, míg az utóbbiakat külső eszközök, például szkennerek csatlakoztatására tervezték . Az IDE egy külső busz, de szinte mindig számítógépen belül használják.
A "harmadik generációs" buszok (például a PCI-Express ) általában lehetővé teszik a memória, a videokártyák és a processzorok közötti kommunikációhoz szükséges nagy sebességet, valamint a kicsiket, amikor lassú eszközökkel, például lemezmeghajtókkal dolgoznak. A fizikai kapcsolatok terén is nagyobb rugalmasságra törekednek, lehetővé téve, hogy belső és külső buszként is használják, például számítógépek csatlakoztatására. Ez összetett problémákhoz vezet a különféle követelmények kielégítésében, így ezeken a buszokon a legtöbb munka a szoftverhez kapcsolódik, nem pedig magához a hardverhez. Általánosságban elmondható, hogy a harmadik generációs buszok jobban hasonlítanak számítógépes hálózatokhoz, mint az eredeti buszötletek, és több rezsivel rendelkeznek, mint a korai rendszerek. Azt is lehetővé teszik, hogy több eszköz egyidejűleg használja a buszt.
A modern integrált áramkörök gyakran előre gyártott alkatrészekből készülnek. A buszokat (például a Wishbone - t) az integrált áramkörök különböző részeinek könnyebb integrálására fejlesztették ki.
Számítógépes buszok és interfészek | |
---|---|
Alapfogalmak | |
Processzorok | |
Belső | |
laptopok | |
Meghajtók | |
Periféria | |
Berendezés menedzsment | |
Egyetemes | |
Videó interfészek | |
Beágyazott rendszerek |