Computersystemen/Computerbussen

Uit Wikibooks
Naar navigatie springen Jump to search

Doelstellingen[bewerken]

Onderstaande doelstellingen komen in meer of mindere mate aan bod. Ze komen uit het leerplan Toegepaste Informatica van de richting informaticabeheer[1]. De cijfers verwijzen naar dit leerplan.

  • 1.2.1 In het inwendige van een actuele computer de belangrijkste componenten aanwijzen, benoemen en hun functie omschrijven.
  • 1.2.2 Het gegevenstransport tussen verschillende componenten op een moederbord toelichten, onder meer processor, bussen, geheugen.
  • 1.3.2 De verschillende standaarden voor de interne en externe aansluiting van optionele componenten toelichten en de corresponderende connectoren en symbolen herkennen.

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[2], 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.

Gegevenstransport[bewerken]

Tussen verschillende componenten op een moederbord is communicatie nodig, waarvoor bussen kunnen worden gebruikt. We lichten dit gegevenstransport toe d.m.v. de systeembus: een enkele computerbus die oa. de processor met het werkgeheugen verbindt. Afhankelijk van de situatie is er een lees- of een schrijfoperatie.

De systeembus bestaat uit drie deelbussen, 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.

Externe 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 externe bussen bedoelt men meestal bussen die extern zijn t.o.v. de CPU. Het is niet de bedoeling om dit encyclopedisch te behandelen. Volgende bussen 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.

PCI[bewerken]

Onderaan twee witte PCI-slots (met erboven een bruin AGP-slot)

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-slots(van boven naar beneden: x4, x16, x1 en x16
Onderste sleuf is een PCI-sleuf, geen PCI-Express)

In 2005 volgt PCI Express de oudere AGP op. PCI Express is een seriële point-to-point technologie die niet beperkt is tot het gebruik met grafische kaarten, biedt een veel grotere snelheid en tal van nieuwe eigenschappen.[3]

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![4]

Er bestaan verschillende versies van PCIe, met "snelheid" als belangrijkste verschilpunt tussen versies.[5] Door extra lanes te hebben, kan je ook de snelheid laten toenemen:

Per lane 16-lane slot (per richting)
  • 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)[6]
  • v4.0: 1969 MB/s (16 GT/s)
  • 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

PATA (Parallel ATA, vroeger bekend als IDE), is een (oudere) standaardinterface die de communicatie tussen het moederbord van een computer en opslagmedia (harde schijven, 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.[7][8]

De jumperinstellingen zijn vaak:

  • Master (MA)
  • Slave (SL)
  • Cable select (CS): de volgorde van aansluiting bepaalt 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]

SATA (links) en eSATA (rechts) connector

SATA (Serial 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.

Er is ook een variant ontwikkeld voor het extern aansluiten van SATA-schijven, nl. eSATA. SATA en eSATA zijn niet identiek, zoals je kan zien op de foto.

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. De standaard is uitgevonden door Intel, waarbij het een techniek moest zijn die goedkoop was (maar toch ook voldoende snelheid had), waarbij foutieve aansluiting uitgesloten was en waarbij je veel apparaten tegelijk kon aansluiten. Zo kon het de langzamere parallelle en seriële poorten vervangen.

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 (vrouw)
Thunderbolt connector (man)

Thunderbolt is een techniek die ontworpen is door Intel, in samenwerking met Apple, om randapparatuur te verbinden via een seriële bus met een computer, zodanig dat het als vervanging voor de huidige bussen (zoals SCSI, SATA, USB, FireWire en PCI Express) kan dienen. Het aantal verschillende soorten poorten op een computer kan zo worden verminderd. Daar was USB ook al in geslaagd, maar de prestaties voldoen niet om 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.[9] 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 (zoals in onderstaande tabel en grafiek), de snelheden van benchmarks (met vooraf bepaalde testen) en de snelheden die in de praktijk gehaald worden (en die dus afhangen van de concrete situatie op dat moment)! 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).

Vergelijking tussen ISA, PCI, AGP 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. Meer informatie op leerplan D/2015/7841/003
  2. Een uitgebreidere geschiedenis kan je bekijken op Computer history
  3. 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 (en dus van een gedeelde parallelle naar een seriële point-to-point architectuur), 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.
  4. techpowerup.com: Ivy Bridge PCI-Express Scaling with HD 7970 and GTX 680.
  5. 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.
  6. Tweakers.net: Pci-e 3.0-specificatie is gereed in november (2010)
  7. 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.
  8. 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.
  9. 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.