Till startsidan för Jonas Webresurs!

Bussar

1. Inledning

Som du kunde läsa om på sidan Moderkort och portar är det inte alltid lätt att förstå sig på terminologin. Men portar är en slags kontakter och bussar är signalledningarna mellan vissa av dessa kontakter och anslutna enheter. Förvirrande nog kallar man ibland även bussarnas portar för bussar.

Den här sidan tar upp och berättar lite om datorernas bussar och vad de används till. Det finns nämligen flera olika busstyper i datorn och de används till lite olika saker.

För att moderkortet skall kunna förmedla information mellan processorn, minnet och de olika anslutna enheterna, måste de olika delarna tala samma språk. Man brukar säga att de olika signalerna måste vara fysiskt, logiskt och elektroniskt kompatibla.

Fysisk kompabilitet innebär bl.a att den anslutna enheten måste ha en kontakt som passar in i moderkortet och att en inbyggd diskettstation måste ha rätt mått för att passa in i luckan på fronten av chassit.

Logisk kompabilitet innebär bl.a att de olika kontakterna måste överföra informationen på ett sätt som moderkortet förstår. Det betyder t.ex att datapaketen måste skickas på ett visst sätt och genom rätt kablar i ledningen. Som du vet kan ju en kontakt ha många små pinnar genom vilka signalerna skickas.

Elektronisk kompabilitet uppnår man när den elektriska strömmen har rätt volttal, det vill säga rätt styrka. Annars kan man inte skicka några signaler eller så missuppfattas de av de andra delarna i datorn.

Skiss av en ISA-buss Det bussystem som ligger närmast processorn kallas för processorbussen, CPU-bussen eller systembussen. Den har idag en hastighet på 66 MHz eller 100 MHz, oavsett hur snabb processorn är.

Det finns också något som kallas för expansionsbussar till vilka olika utbyggnadskort kan kopplas. Bilden visar en skiss av hur detta ser ut. För att de olika bussarna skall kunna arbeta på ett så smidigt sätt som möjligt, har man kommit överens om vissa, gemensamma standarder. Jag berättar mer om några av de vanligaste standardbussarna i de kommande avsnitten.

Alla bussar innehåller tre delar. Databussen transporterar data. Den har olika bredd, d.v.s olika många ledningar för signalerna, vilket betyder att man kan skicka olika mycket information. 8, 16, 32, 64, och 128 bitar är formeln för bussbredd. Ju större bussbredd desto mer data kan överföras. Bussbredden säger alltså en hel del om hur snabbt datan kan förmedlas.

Adressbussen levererar information om varifrån och vart databitarna skall överföras. Informationen brukar lagras i datorns primärminne. Styrbussen innehåller ett antal ledningar som används för att överföra styrsignaler, t.ex när data skall skickas till skrivaren, modemet, hårddisken eller minnet. Den sistnämnda kallas ibland även för kontrollbussen.

2. ISA, IRQ och DMA

ISA var den första busstypen som utvecklades. Tillverkare av datorprylar upptäckte i slutet av 70-talet att man behövde en gemensam standard för signalöverföringen i datorn. 1980 antog man därför ISA, som betyder "Industry Standard Architecture". (standarddesign för datorindustrin).

Ursprungligen var ISA en 8-bitars buss med en kontakt med 8 ledningar. När IBMs AT-datorer med 80286-processor lanserades, förbättrades ISA-standarden. Bussen gjordes om till att klara 16-bitar genom att fler stifts anslöts. Man kallade denna förbättring för ISA-AT eller bara AT-buss.

ISA finns fortfarande i bruk, även om det är en uråldrig teknologi som kraftigt begränsar prestandan i datorn. Anledningen kallas bakåtkompabilitet, som är en strävan efter att gamla komponenter skall gå att använda även i nyare datorer. Man kan säga att ISA-bussen går ifrån processorn och via moderkortets kortplatser vidare ut i systemenheten. På ISA-bussen sitter ett antal kontakter eller portar, där olika enheter kan anslutas.

Förutom att ISA-bussen bara använder 16 bitars överföring, mot nyare busstypers 32 eller 64, kan den inte heller hantera IRQ och DMA något vidare.

IRQ står för "Interrupt Request" eller "Avbrottsförfrågan" och innebär att en enhet kan påkalla uppmärksamhet från processorn om den har någon viktig uppgift som måste lösas. Processorn avbryter då det arbete den håller på med för att ta sig an uppgiften.

Nästan varje enhet som ansluts till moderkortets portar får en egen IRQ-kanal som den kan använda för att skicka meddelanden till processorn. Numera finns det noggrant utarbetade principer för hur denna trafik skall ske. Det brukar finnas 16 IRQ-kanaler på de vanligaste moderkorten. Varje enhet tilldelas t.ex ett IRQ-nummer med en viss prioritet:

IRQ-nummer Enhet
0 Processorn
1 Tangentbordet
3 Mus eller modem
4 COM 1, COM 3
5 Ljudkort, nätverkskort
6 Diskettstationen
7 Parallellport

När man installerar en ny enhet till moderkortet måste man välja rätt port för att få rätt kanal. Det brukar finnas noggranna instruktioner för dessa i bruksanvisningarna till datorn och den nya enheten. Dessvärre är detta inget jag har plats för att gå igenom här.

På samma sätt som det finns IRQ-kanaler finns det DMA-kanaler. DMA står för "Direct Memory Access" eller "direkt minnestillgång". Denna funktion används för att avlasta processorn.

Varje gång processorn skall flytta data från minnet och till en ny plats, t.ex en ansluten enhet, blir den upptagen och kan inte göra någonting annat. Därför är det en fördel om enheten själv kan komma åt datan utan processorns inblandning. DMA-kretsen ser alltså till att detta kan ske.

Normalt finns det 8 DMA-kanaler. För att minnestillgången skall fungera felfritt måste de olika enheterna använda var sin kanal, annars pratar man om att det finns en konflikt.

Konflikter kan även uppstå vid felaktigt använda IRQ-kanaler eller portar. Man märker att det finns en konflikt på att man får felmeddelanden, att datorn inte startar eller går långsamt, eller på att den nyss anslutna enheten inte fungerar. Man brukar få leta i datorns hjälpfiler för att lösa en sådan konflikt. Oftast måste man också installera om enheten i datorn.

3. MCA, EISA, VESA, Local Bus

MCA-standarden (Micro Channel Architecture, mikrokanalsdesign), kom till i samband med att IBM lanserade sin första PS/2 dator. MCA blev småningom 386:ornas speciella buss, eftersom den kunde arbeta med 32-bitars överföring. Dessvärre var den inte kompatibel med ISA och inte heller med andra bussar, vilket gjorde den mindre användbar.

Ungefär samtidigt lanserade därför några andra tillverkare, med Compaq i spetsen, en lika snabb buss, som dessutom var kompatibel med ISA. EISA (Extended ISA) kallade man den.

Nu visade det sig att ISA-bussen levde kvar och inte försvann så lätt. Kunderna ville fortsätta använda sina gamla tillbehör och MCA och EISA blev också avsevärt dyrare. Därför har både MCA och EISA idag i princip försvunnit från marknaden, medan ISA till viss del lever kvar, åtminstone i äldre maskiner.

Under slutet av 80-talet hade processorerna börjat bli allt snabbare. Redan vid 16 MHz i klockfrekvens kunde man dela upp systembussen i två, dels en som gick till minnet och grafikkretsarna på moderkortet och dels en som gick till I/O-portarna. De båda bussarna visade sig arbeta olika snabbt. Den till moderkortet var mycket snabbare än den till de olika portarna. Därför arbetade också en enhet som anslutits till en I/O- port mycket långsammare än om den kopplats in på moderkortet.

Av den anledningen ville man naturligtvis kunna koppla in vissa enheter t.ex grafik- och videokort direkt på moderkortet, för att utnyttja den snabbare bussen. VESA-bussen (Video Equipment Standards Association) var den första lösning som prövades, omkring 1990. VESA är en sammanslutning av ett hundratal företag och standarden används framförallt i datorer med 486 processor.

Tekniken att ansluta olika kretskort direkt på moderkortet kallas även Local Bus. Den innebär att man synkroniserar busshastigheten med processorn. På så vis blir busshastigheten hög, något som snabbt blev mycket populärt, när tekniken lanserades. Däremot belastas processorn ganska mycket, vilket gör användningen något begränsad. Normalt brukar det nämligen bara gå att koppla in 2-3 VESA bussar.

Förutom VESA är PCI den vanligaste typen av lokal buss. Den berättar jag mer om i nästa avsnitt.

4. PCI, IDE och några specialare

PCI står för "Peripheral Component Interconnect". PCI-standarden togs fram av Intel, Compaq, IBM och några andra datortillverkare under 1991-93. som en konkurrerande teknik till VESA. PCI har senare också mer och mer kommit att ersätta ISA-bussen.

PCI skiljer sig från VESA genom att inte belasta processorn lika mycket. En PCI-buss kan nämligen kopplas in på systembussen via en brygga eller buffer. Detta gör det även möjligt att använda flera PCI-kort och dessutom anpassa dem till en bredare bussbredd, t.ex 64 bitar, som ju vissa Pentium- processorer använder.

PCI stöder också Plug-and-Play, vilket betydligt underlättar installationer av expansionskort. Den är dessutom delvis kompatibel med ISA genom att förstå dess signaler. VESA-bussen utvecklades så att den kunde använda en brygga, men tack vare PCI-kortens flexibilitet har de nästan helt konkurrerat ut VESA, EIDE och ISA.

PCI-bussen omgärdas av ganska avancerade tekniska specifikationer, som krävs för att moderkortet skall kunna kommunicera genom PCI-gränssnittet. Därför sitter det särskilda kretsar på moderkortet som konverterar, kodar och buffrar sådan data som skall skickas via PCI-bussen. Hur detta går till i detalj är tyvärr alldeles för avancerat för att gå igenom här.

Förutom de här nämnda busstyperna, finns det ända uppemot 20-30 andra varianter! Det är olika försök att specialanpassa en buss för ett visst ändamål. I resten av det här avsnittet skall jag ta upp några sådana:

PCMCIA eller PC card

Ett exempel på specialbussar är PCMCIA eller "PC Memory Card International Association" d.v.s internationella sammanslagningen för PC-kort. Ursprungligen togs denna busstyp fram för att öka kapaciteten i arkadhallarnas mikroprocessorsbaserade spelmaskiner, men kom sedan att användas också i framförallt bärbara datorer.

Ursprungligen hade IBM rättigheterna till namnet "PC card" (PC-kort), men numera går det bra för vem som helst att använda den beteckningen. PC-korten är stora som kreditkort och sticks in i den bärbara datorn och ger utökad kapacitet t.ex i form av mer minne, modem, nätverkskort, hårddisk eller GSM-kort. Man kan se PC-korten som en utveckling av ISA och ett alternativ till PCI, eftersom denna busstyp normalt saknas i bärbara datorer. PC-korten har en överföringskapacitet på 8, 16, eller 32 bitar. Förmodligen kommer 64 bitar att bli standard med tiden.

IDE

De vanligaste hårddiskarna i en PC ansluter till IDE-bussen. IDE står för "Integrated Device Electronics" och innebär att alla delar som utgör hårddisken är integrerade. Så har nämligen inte alltid varit fallet. Man kan därför säga att IDE betecknar hårddiskens sätt att kommunicera med sin omgivning. IDE- gränssnittet är i sin tur kompatibelt med ISA-bussen.

IDE introducerades av bl.a Compaq redan 1986 och skapades som vanligt för att överkomma svagheter i befintliga standarder, då ST506 och ESDI. Standarden blev dock klar först 1990. IDE hanterar hårddiskar på maximalt 528 MB. Vill man kunna använda en större hårddisk måste man alltså antingen dela upp den i olika partitioner eller byta busstyp.

EIDE, Ultra och ATA

I takt med att hårddiskarnas och datorernas prestanda ökade, krävdes en förbättring av IDE-bussen, EIDE (Enhanced IDE) blev resultatet, som även ibland benämns IDE-2. Denna förbättrade busstyp introducerades 1993 och blev godkänd standard året därpå. Den klarar bl.a. av större hårddiskar och fler anslutna enheter.

En ytterligare förbättring av EIDE kom 1998 och kallas Ultra-DMA eller Ultra-ATA. Betäckningen "Ultra" betyder i det här fallet att bussen är dubbelt så snabb som EIDE. Terminologin kan förvirra. EIDE- och Ultra-hårddiskar benämns ibland även AT. AT var ju en dator av 286-typ, som kom under mitten av 80-talet. Ett annat namn är ATA, vilket står för Advanced Technology Attachment. ATA är då namnet på en busstyp, men är även ett namn på den standard som finns för IDE och dess efterföljare. En kompletterande standard kallas ATAPI, vilket står för "ATA Packet Interface".

Det kan vara bra att veta att IDE-hårddiskar inte kan anslutas hur som helst. En IDE-buss kan nämligen hantera två hårddiskar och då måste dessa delas upp i en masterenhet och en slavenhet. Har man bara en hårddisk måste den alltså anslutas till master-kontakten, medan en extra hårddisk sätts in i slave-porten.

EIDE kan hantera upp till fyra sådana enheter som alltså måste "rangordnas" för att datorn skall kunna spara på dem. Det brukar stå i bruksanvisningen till datorn vilken kontakt som är vilken. Annars får man plugga in och pröva sig fram.

5. SCSI

SCSI-bussen har framförallt använts i Macintosh-datorer, både för att ansluta enheter inne i datorn och externa enheter. "Small Computer System Interface" är hela benämningen. Kortformen uttalas [skuzzi].

SCSI är snabbare än IDE och EIDE och klarar även av att ansluta 7 eller 15 enheter till samma buss, t.ex 6 hårddiskar och styrkortet. Hårddiskarna kan vara i stort sett hur stora som helst. Många PC-användare brukar ändå förespråka IDE-gränssnittet eftersom SCSI ger något dyrare apparater som är något svårare att installera, bl.a beroende på att de anslutna enheterna måste tilldelas ett eget nummer. De flesta SCSI-enheter har en strömbrytare på baksidan där man kan ställa in vilket värde de skall ha.

SCSI fungerar alltså som ett litet nätverk, som fungerar tack vare en SCSI-värd (host), som antingen sitter på moderkortet eller på en annan buss, t.ex PCI-bussen, inne i datorn. SCSI-värden är den som omvandlar SCSI-signalerna till ett format som passar ihop med moderkortet. På SCSI-värden finns också en eller flera kontakter för att ansluta de olika SCSI-enheterna, så väl interna som externa. SCSI-värden kallas ibland även adapter. Denna funktion har även de övriga busstyperna för extern kommunikation med enheter utanför datorchassit.

SCSI-standarden har efter hand utvecklats och därför talar man ibland om de olika generationerna som SCSI-1, SCSI-2, SCSI-3 och Ultra-SCSI. Den första standarden klarade 8 bitars överföring och den andra 16 eller 32 bitars överföring och dessutom med mycket högre hastighet. SCSI-3 standarden och dess efterföljare klarar 64 bitar med ännu högre hastighet.

Förutom dessa varianter kompliceras SCSI-alternativet ytterligare av att det finns många olika SCSI-kontakter t.ex 50-pinnars hankontakt, 50-pinnars honkontakt (båda dessutom med olika täthet på pinnarna), 25-pinnarsvarianter av de båda, samt en 68-pinnars kontakt för SCSI-3. Vissa av dessa passar dessutom i "fel" portar bak på datorn. Ansluter man en 25-pinnars honkontakt i den parallella skrivarporten, kan man förstöra båda två genom att det blir kortslutning!

Detta faktum, att det finns många olika SCSI-standarder, innebär naturligtvis en hel del bekymmer för såväl tillverkare som användare. Därför började man under mitten av 90-talet utveckla två nya gränssnitt, där alla problem med de gamla busstyperna skulle vara borta. Jag berättar mer om dem i de två nästföljande avsnitten.

6. USB

Tanken med USB (Universal Serial Bus) var att man ville ha ett plattforms- och systemoberoende gränssnitt, som kunde klara snabba överföringar genom en liten kontakt. Man byggde också in en trevlig funktion, att man inte behöver starta om datorn när en ny enhet anslutits.

En USB-port kan användas för att ansluta i stort sett alla slags enheter, från möss och tangentbord, till spelenheter, skrivare, scanners och hårddiskar. Det enda USB-bussen är dålig på är att skicka datan väldigt snabbt, vilket gör att den inte passar särskilt bra för hårddiskar, DVD-spelare och digitala videokameror. Då använder man Firewire istället.

USB stöds av Windows och Mac OS och en rad andra operativsystem. USB-bussen är seriell, viket betyder att den skickar och tar emot enbart en bit i taget. Den gör det däremot med 1 miljon bitar i sekunden, ända upp till 12 Mbit per sekund, viket ger en mycket hög överföringshastighet.

USB-bussen klarar även att själv ställa in rätt portadress, IRQ, DMA, o.s.v. Den klarar dessutom ända upp till 127 samtidiga enheter på samma buss och kabeln till varje enhet kan vara upp till 5 meter lång. Lämpligt nog klarar USB-kabeln även att leverera ström till någon ansluten enhet, eller så använder man en hubb som klarar det. Detta gör härvan av kablar betydligt mindre!

USB-standarden har kommit i en ny version, som kallas USB-2. Den är vissa tillverkares försök att konkurrera med FireWire, och klarar en överföring på upp till 480 Mbps.

7. FireWire

FireWire-bussen kallas även "IEEE 1394", efter den sammanslutning av företag som har accepterat den som standard. Tekniken började utvecklas av Apple i början på 90-talet, men har blivit öppen industristandard från och med slutet av 90-talet.

FireWire erbjuder, som namnet antyder, en oerhört snabb realtidsöverföring av data, som ligger högre än för USB. Kanske inte så mycket på papperet som i verkligheten. FireWire klarar ända upp till 400 Mbps. Det betyder att man, åtminstone i teorin, kan flytta en 100Mb stor fil från hårddisken till datorn, på 2-3 sekunder!

FireWire stöds av Windows och Mac OS. Man kan ansluta så mycket som 63 enheter samtidigt och kabeln är även anpassad för att leverera ström samtidigt som data, precis som med USB.

Dock gör enbart den 6-poliga kabeln det, medan den 4-poliga och andra, mindre varianter kräver en extern strömkälla.

Gränssnittet erbjuder en enkel installation och byte av kringutrustning utan att behöva stänga av datorn. Det senare kallas även "hot swapping".

Man använder FireWire för att ansluta digitala videokameror och -bandspelare, stora skrivare, stillbildskameror, hårddiskar och DVD-brännare.


Den här sidan är en del av Jonas Webresurs - www.jonasweb.nu - copyright © 1998-2011