Computersystemen/Computerbussen

Uit Wikibooks
Ga naar: navigatie, zoek

Inleiding[bewerken]

De ENIAC

De belangrijkste onderdelen van de pc worden d.m.v. "draden" met de processor verbonden. Bij de eerste computers (bv. de ENIAC uit 1946) kon je die draden nogal letterlijk nemen[1], maar nu kennen we deze "draden" vooral als heel fijne "lijntjes" op de achterkant van het moederbord. Gecombineerd volgens functie hebben we het over computerbussen, bv. de PCI-bus en de USB-bus.

De snelheid van een computerbus wordt bepaald door de kloksnelheid, de transfers en de busbreedte. Er is een verschil tussen seriële en parallelle communicatie. Deze aspecten werden al besproken bij het Wikibook Basiskennis informatica > Snelheid.

Busoperaties[bewerken]

Gegevens tussen twee componenten worden dus uitgewisseld d.m.v. bussen. De belangrijkste bus op het moederbord is de systeembus. Deze bus verbindt de processor met het werkgeheugen. Afhankelijk van de situatie is er een leesoperatie of een schrijfoperatie.

De systeembus bestaat uit drie andere bussen, ingedeeld volgens hun functie:

  • databus (of gegevensbus) voor het transport van gegevens;
  • adresbus voor het transport van geheugenadressen;
  • controlebus (of besturingsbus) voor het signaal van de bewerking (lezen of schrijven), maar ook voor het doorgeven klokpulsen van de klokgenerator naar de processor.

Lezen[bewerken]

Programma's worden in eerste instantie ingeladen in het geheugen (MEM), maar om het te kunnen uitvoeren moet dit gebeuren in de CPU. Stel dat twee getallen moeten opgeteld worden, dan is "optellen" de instructie. Er zijn echter ook twee getallen nodig, dus ook data komt van het geheugen. Er is dus een leesoperatie nodig van het geheugen naar de processor.

Cpu-mem-read.png

  1. CPU stuurt het adres van de geheugenplaats langs de adresbus naar het geheugen (MEM)
  2. CPU zet het leessignaal op de controlebus
  3. Door 1 en 2 weet het geheugen dat hij verwacht wordt om de waarde te zoeken die staat op het aangegeven geheugenadres. Eens gevonden zet hij deze klaar op de databus.
  4. Geheugen geeft via de controlebus door dat de waarde klaarstaat op de databus.
  5. CPU neemt de gegevens over vanop de databus.

Schrijven[bewerken]

Als de CPU een bepaald resultaat berekend heeft moet dit bewaard kunnen worden. Dit resultaat moet dus geschreven worden in/naar het geheugen (MEM).

Cpu-mem-write.png

  1. CPU stuurt het adres van de geheugenplaats langs de adresbus naar het geheugen.
  2. CPU zet het schrijfsignaal op de controlebus.
  3. CPU stuurt de data naar het geheugen.
  4. Door 1 en 2 weet het geheugen dat er data zal verstuurd worden over de databus en dat hij verwacht wordt om die data (zie 3) op te slaan in zijn geheugen op het adres zoals aangegeven bij stap 1.

Interne bussen[bewerken]

Intern en extern zijn altijd relatieve begrippen. Wat extern is voor een moederbord, kan intern zijn t.o.v. de computerkast (denk bv. aan harde schijven). Bij interne bussen bedoelt men meestal de interne bus van de processor. De werking hiervan wordt besproken in het stuk over de processor.

Externe bussen[bewerken]

Het is niet de bedoeling om dit encyclopedisch te behandelen. Volgende zaken worden niet besproken:

  • ISA-bus;
  • de bij servers gebruikte SCSI of SAS;
  • AGP, wat diende voor grafische kaarten (en dus te beschouwen als de voorganger van PCI Express);
  • Firewire, wat een zekere populariteit heeft gekend, maar uiteindelijk de duimen heeft moeten leggen t.o.v. USB.
Een gele PCI-Express x1 sleuf, een gele PCI-Express x16 sleuf en onderaan twee witte PCI-sleuven.
Bovenaan een bruine AGP sleuf, met eronder twee witte PCI-sleuven.

Om de optimale snelheden te halen is het noodzakelijk dat alle onderdelen van eenzelfde "versie" zijn. Een voorbeeld bij USB: als een 2.0-kabel gebruikt wordt om een 3.0-stick aan te sluiten op een 1.1-poort, dan zal de maximaal haalbare snelheid deze van USB 1.1 zijn. Bovendien moet ook altijd een verschil gemaakt worden tussen de theoretisch haalbare snelheden, de snelheden van benchmarks en de snelheden die in de praktijk gehaald worden! Dit is te vergelijken met een auto die in theorie 250 km/u kan, op circuit 230 km/u kan, maar in de praktijk gemiddeld 130 km/u op de autobahn doet en 40 km/h in de bebouwde kom (bv. door verkeersdrempels, ander verkeer, rode lichten, weersomstandigheden).

PCI[bewerken]

De Peripheral Component Interconnect-bus of kortweg PCI-sleuf is vaak te herkennen aan hun witte kleur (zie foto). De sleuven kunnen worden gebruikt voor insteekkaarten zoals geluidskaarten, netwerkkaarten of televisiekaarten. In het begin werd dit ook gebruikt voor videokaarten, maar met de gestegen eisen is een PCI-bus onvoldoende gebleken voor deze toepassing. Alhoewel dit al een redelijke oude computerbus is, vind je ze toch vaak nog terug op recente moederborden.

Er zijn twee uitvoeringen:

  • 32-bits, met een kloksnelheid van 33,33 MHz en dus een snelheid van 133 MB/s
  • 64-bits, met een kloksnelheid van 33,33 MHz met DDR-techniek en dus een snelheid van 533 MB/s

Sinds 2006 wordt PCI steeds minder gebruikt omdat bv. PCI-Express zijn opkomst maakt. Deze hebben snellere transferrates en zijn dus geschikter voor zware grafische toepassingen, nodig om bijvoorbeeld een driedimensionaal spel te kunnen spelen dat gerenderd moet worden.

Wikimedia Commons Meer afbeeldingen over dit onderwerp vindt u in Categorie PCI op Wikimedia Commons

PCI-Express[bewerken]

Voorbeeld van meerdere PCI Express-sleuven (van boven naar beneden: x4, x16, x1 en x16
Onderste sleuf is een PCI-sleuf, geen PCI-Express)

In 2005 volgt PCI Express (Peripheral Component Interconnect Express of PCIe) AGP op. PCI Express, die niet beperkt is tot het gebruik met grafische kaarten, biedt een veel grotere snelheid en tal van nieuwe eigenschappen. Het is een seriële point-to-point technologie (waar PCI een gedeelde parallelle architectuur gebruikt).[2]

Bij de PCIe slots op het moederbord kunnen vermeldingen staan van x1 t.e.m. x32. Dit verwijst naar het aantal lanes van dit PCIe slot. Per lane is er een paar voor het ontvangen van data en een paar voor het verzenden (dus zijn er per lane 4 "draden" nodig). De connectie is full duplex, zodat tezelfdertijd kan worden verstuurd en ontvangen. Bovendien is de technologie hot-swappable, waardoor een PCIe-kaart vervangen kan worden, terwijl de machine aanstaat.

Er kan wel een verschil zijn tussen de fysische lengte van het slot, de fysische lengte van de kaart en het effectief aantal gebruikte lanes. Dit wordt genegotieerd, zodat de best beschikbare elektrische connectie wordt gekozen. Belangrijk is om de specificaties van moederbord en kaart goed na te lezen.

Zo kan het zijn dat een x16 kaart in een x8 slot wordt geplaatst. Ook kan het zijn dat een x8 slot eigenlijk op x1 snelheid draait. Zo'n slot laat dan x1, x2, x4, x8 kaarten toe, wat betekent dat het fysisch tot x8 kaarten accepteert, maar toch maar op x1 snelheid draait. Sommige slots hebben ook een "open einde", zodat fysisch grotere kaarten toch in een kleiner slot passen. Het voordeel is dat er een grotere reeks aan PCIe kaarten kan aangesloten worden, zonder dat het moederbord de volledige transfer rate moet ondersteunen. Zo worden ontwerp- en implementatiekosten laag gehouden. Als men misverstanden wil vermijden, wordt de bus interface soms aangegeven als ×size (@×capacity). Zo betekent ×16(@×8) dan dat de PCIe-bus fysisch een lengte heeft van x16, maar op een snelheid draait van x8. Opgelet: het is niet zo dat hardware aangesloten via x8 per definitie half zo snel werkt als via x16![3]

Er bestaan verschillende versies van PCIe, met "snelheid" als belangrijkste verschilpunt tussen versies.[4] Per lane krijg je:

  • v1.x: 250 MB/s (2,5 GT/s)
  • v2.x: 500 MB/s (5 GT/s)
  • v3.0: 985 MB/s (8 GT/s)[5]
  • v4.0: 1969 MB/s (16 GT/s)

Wat dus betekent voor een 16-lane slot (per richting):

  • v1.x: 4 GB/s (40 GT/s)
  • v2.x: 8 GB/s (80 GT/s)
  • v3.0: 15.75 GB/s (128 GT/s)
  • v4.0: 31.51 GB/s (256 GT/s)
Wikimedia Commons Meer afbeeldingen over dit onderwerp vindt u in Categorie PCIe op Wikimedia Commons

PATA[bewerken]

Twee PATA-aansluitingen op een moederbord.
Een 40-aderige en een 80-aderige flat cable

Parallel ATA (PATA), vroeger bekend als Integrated Drive Electronics (IDE), is een (oudere) standaardinterface die de communicatie tussen het moederbord van een computer en schijfstations mogelijk maakt. PATA wordt hoofdzakelijk gebruikt voor de aansturing van harde schijven en CD-ROM-stations.

Vroeger hadden de meeste moederborden twee IDE-aansluitingen. Later kwamen moederborden met maar één IDE-aansluiting, omdat Serial ATA de nieuwe norm is. Nu hebben de meeste moederborden enkel nog SATA aan boord. Er is toch besloten om het op te nemen in dit overzicht, omdat je mogelijks nog een oudere pc hebt staan, waarvan je je afvraagt wat die IDE-connector doet.

Op één aansluiting op het moederbord is het mogelijk om twee schijfstations samen aan te sluiten met eenzelfde flatcable. Er is hier sprake van een gedeelde bus, waardoor er conflicten zouden ontstaan. Het ene station wordt dan met jumpers als master ingesteld en het andere als slave. De controller van de slave is uitgeschakeld en de controller van de master bedient beide stations. Sluit men twee masters of twee slaves op dezelfde kabel aan, dan ontstaat er een conflict waardoor de stations niet kunnen werken.

De termen "master" en "slave" zijn gebruikelijk, maar de officiële standaard heeft het over “device 0” en “device 1”. Eigenlijk zijn dit betere termen, omdat de gebruikelijke termen lijken te suggereren dat de master een hogere prioriteit krijgt t.o.v. de slave. Dat is echter niet het geval.[6][7]

De jumperinstellingen zijn vaak:

  • Master (MA)
  • Slave (SL)
  • Cable select (CS): in dit geval bepaalt de volgorde van waar ze op de kabel worden aangesloten of het gaat om master of slave. Normaal zit de master dan op het einde van de kabel (vaak een zwarte connector) en de slave in het midden van de kabel (vaak een grijze connector). De aansluiting op het moederbord heeft vaak een blauwe connector.

Bij het aansluiten van een HDD of ODD is het belangrijk te letten op het soort flat cable. Er is nl. een 40-aderige flatcable en een 80-aderige. Sluit je een oude 40-aderige kabel aan op een recente PATA-HDD, dan zal de kabel een bottleneck vormen!

SATA[bewerken]

eSATA (links) en SATA (rechts) connector

Serial ATA (ook SATA of S-ATA) is een computerbus ontworpen voor het transport van gegevens tussen de computer en de HDD, ODD of SSD. SATA is de opvolger van PATA en is gebaseerd op een seriële signaleringstechniek.

Voordelen van SATA t.o.v. PATA:

  • Er is sneller dataverkeer mogelijk.
  • Er is een mogelijkheid tot hot swapping (of hot plugging): terwijl je systeem aan het draaien is kan je een SATA-opslagmedium aankoppelen. Dit maakte het mogelijk om een externe versie van SATA te ontwikkelen, nl. eSATA.
  • Er worden dunnere kabels gebruikt, waardoor er meer ruimte in de computerkast is en er dus een betere koeling kan zijn.
  • Er is geen gedeelde bus meer en dus zijn master- en slaveinstellingen zoals bij PATA niet meer nodig. Dit maakt het aansluiten van een SATA-opslagmedium gemakkelijker in vergelijking met PATA.

Er zijn verschillende versies bij SATA:

  • SATA150 (2003) werkt met een maximale doorvoersnelheid van 1,5 Gb/s.
  • SATA II/SATA300 (2004) met een maximale doorvoersnelheid van 3 Gb/s.
  • SATA III/SATA600 (2008) met een maximale doorvoersnelheid van 6 Gb/s.

Merk op dat eSATA en SATA niet identiek zijn:

  • andere connectoren (dieper, vastklikaansluiting en fysiek niet uitwisselbaar met de interne connectoren)
  • betere bescherming tegen elektromagnetische storing
  • kabellengtes tot 200cm worden ondersteund (waar dit bij de gewone SATA maximaal 90 à 100 cm is).

mSATA is een variant van SATA bedoeld voor mobiele apparaten. Vaak kan een mSATA-opslagmedium rechtstreeks op het moederbord worden aangesloten (een SATA-kabel is dan niet nodig).

Wikimedia Commons Meer afbeeldingen over dit onderwerp vindt u in Categorie Serial_ATA op Wikimedia Commons

USB[bewerken]

USB logo

Universal Serial Bus (USB) is een populaire standaard voor de aansluiting van randapparatuur op computers. Het vervangt de langzamere parallelle en seriële poorten, voornamelijk doordat de snelheid van gegevensoverdracht met USB veel groter is. De standaard is uitgevonden door Intel, waarbij de volgende doelen vooropgesteld waren:

  • Het moest een degelijke, goedkope poort worden die ook voor goedkope randapparatuur als muizen gebruikt kon worden.
  • De kosten van de bekabeling en connectors mochten niet hoog zijn.
  • De constructie moest zo zijn, dat foutieve aansluiting uitgesloten was.
  • Er moesten veel apparaten tegelijk via USB aangesloten kunnen worden.
  • USB moest voldoende snelheid bieden om printers en andere snelle apparatuur als harde schijven aan te kunnen sluiten.
Verschillende types van USB connectoren. Links naar rechts: Micro-B plug, UC-E6 proprietary (non-USB) plug, Mini-B plug, Standard-A receptacle, Standard-A plug, Standard-B plug

De voordelen van USB (oa. t.o.v. vroegere technieken):

  • Eenvoudige apparaten kunnen via USB de nodige stroom krijgen (bv. muis, toetsenbord, USB-stick, webcam, HDD, opladen van smartphone,...). Men spreekt dan over buspowering. Andere apparaten hebben een te groot vermogen, waardoor USB ontoereikend is (bv. printer, scanner, HDD). Dan heeft men het over selfpowering.
  • D.m.v. USB-hubs kunnen extra apparaten aangekoppeld worden.
  • Er kunnen tot 127 apparaten aangesloten worden, inclusief eventueel aanwezige hubs, op een enkele host controller.
  • USB ondersteunt hot plugging of hot swapping, waardoor je apparaten kan aansluiten en ermee werken, zonder dat je je pc opnieuw moet opstarten.
  • Er is eenzelfde aansluiting voor verschillende apparaten (waar je vroeger met PS/2 een aansluiting had voor toetsenbord en een aansluiting voor de muis).

Dit alles zorgde ervoor dat USB snel populair kwam (en is) en bijgevolg zijn er dan ook heel wat toepassingen van USB.

Er zijn vijf versies van USB:

Versie Snelheid Naam Datum Kleur
USB 1.0 1,5 Mbit/s LowSpeed 1996 Wit
USB 1.1 12 Mbit/s FullSpeed 1998 Wit
USB 2.0 480 Mbit/s HighSpeed 2000 Zwart
USB 3.0 4,8 Gbit/s SuperSpeed 2008 Zwart (SS) of blauw
USB 3.1 10 Gbit/s SuperSpeed+ 2013 Afhankelijk van de fabrikant

Dit zijn theoretische snelheden, die in de praktijk vaak niet gehaald worden.

Wikimedia Commons Meer afbeeldingen over dit onderwerp vindt u in Categorie USB op Wikimedia Commons

Thunderbolt[bewerken]

Thunderbolt connector
Thunderbolt connector

Thunderbolt (eerder Light Peak genoemd) is een eigen interface die ontworpen is door Intel, in samenwerking met Apple, om randapparatuur te verbinden via een serial bus met een computer. Thunderbolt is bedoeld als een vervanging voor de huidige bussen, zoals SCSI, SATA, USB, FireWire en PCI Express. Thunderbolt zorgt ervoor dat het aantal verschillende soorten poorten op een computer aanzienlijk kan worden verminderd. USB zorgt er eveneens voor dat vele, oude bussen gecombineerd kunnen worden tot een poort, maar de prestaties voldoen niet om aan de nieuwste technologieën zoals eSATA en DisplayPort te ondersteunen; Thunderbolt heeft meer dan genoeg bandbreedte om welk protocol dan ook te ondersteunen. Intel belooft snelheden tot 10Gbps, tweemaal zo snel als USB 3.0.

Momenteel maakt Intel gebruik van koperdraad, maar in de toekomst wil het bedrijf overschakelen naar glasvezel. Hierdoor zou men de snelheid kunnen opdrijven tot 100Gbps.

Wikimedia Commons Meer afbeeldingen over dit onderwerp vindt u in Categorie Thunderbolt (interface) op Wikimedia Commons

De snelste?[bewerken]

Onder de IT'ers ontstaan verhitte discussies rond wat het beste is.[8] Onderstaande tabel en grafiek kan een hulp zijn, maar men moet steeds in het achterhoofd houden dat de vermelde snelheden theoretische snelheden zijn, die in de praktijk zelden gehaald worden.

Vergelijking tussen ISA, AGP, PCI en PCIe
Bandbreedte van USB, FireWire en Thunderbolt
USB 1.0 1,5 Mbit/s 0,19 MB/s
USB 1.1 12 Mbit/s 1,5 MB/s
USB 2.0 480 Mbit/s 60 MB/s
USB 3.0 4,8 Gbit/s 600 MB/s
FireWire 400 400 Mbit/s 50 MB/s
FireWire 800 800 Mbit/s 100 MB/s
FireWire 3200 3,2 Gbit/s 400 MB/s
Thunderbolt 2 x 10 Gbit/s 2 x 1250 MB/s
Bronnen, noten en/of referenties
  1. Een uitgebreidere geschiedenis kan je bekijken op Computer history
  2. Het Ars Technica artikel PCI Express: An Overview legt d.m.v. afbeeeldingen heel goed uit hoe de evolutie van PCI naar PCIe is ontstaan, net als deze van HowStuffWorks. Ook PCI Express – An Overview of the PCI Express Standard en What is PCI Express? A Layman's guide to high speed PCI-E technology is de moeite om te lezen.
  3. techpowerup.com: Ivy Bridge PCI-Express Scaling with HD 7970 and GTX 680.
  4. Van PCIe v1 naar v2 laat men ook toe om kabels van maximaal 10 meter externe apparatuur aan de PCI Express bus te koppelen. Dit kan handig zijn om bijvoorbeeld een laptop een krachtige GPU te geven wanneer hij gebruikt wordt ter vervanging van een volwaardige desktopcomputer.
  5. Tweakers.net: Pci-e 3.0-specificatie is gereed in november (2010)
  6. Bron: en.wikibooks.org > Parallel ATA > Master and slave clarification. Het gevolg voor de snelheid, als twee apparaten eenzelfde kabel delen, wordt er ook besproken.
  7. Vooral in de VS zijn de termen master en slave nogal controversieel. Er zijn Amerikaanse gerechtelijke uitspraken dat het, waar mogelijk, de voorkeur verdient de standaard benamingen device 0 en device 1 te gebruiken.
  8. Lees maar eens de commentaren bij het Tweakers.net-artikel Usb 3.0 moet als chip-interconnect gaan dienen
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.