Hovedkort, brikkesett og busser

Redaktør:Håkon Tolsby

Læringsmål:Læringsmål: Gi en forståelse av hvordan datamaskinen er oppbygd, hvordan de ulike delene henger sammen og hvordan de fungerer

Innhold:

Sist oppdatert: 08. september 2009

Hovedkortet

2004 K7VT4A Pro motherboard

Brikkesett - Chipset

Brikkesettet kontrollerer kommunikasjonen mellom prosessoren og eksterne enheter

<

Intels brikkesett P35

Bussene

Alle komponentene i datamaskinen er koblet sammen med ledningsremser som kalles busser. Bussene frakter data mellom de ulike komponentene i datamaskinen slik at de kan kommuniserer med hverandre.

En buss består av flere ledninger som ligger inntil hverandre, og antallet parallelle linjer avgjør hvor mye data som kan sendes om gangen. Det kalles bredden til bussen. Hvis det ligger 16 ledninger inntil hverandre, betyr det at det kan overføres 16 biter eller 2 byter samtidig. Vi sier at bussen er 16 biter bred.

Bredden på bussen varierer fra maskin til maskin etter hvilket formål den har, og avhenger av hva slags prosessor som er koblet til. Den kan være fra 8 biter til 64 biter bred.

Vi skiller bussystemene i tre hovedeler avhengig av hvor de befinner seg i datamaskinen. De er:

Internbuss

Internbussen er den som går internt i prosessoren, og som kobler sammen registre og ALU. Det er en rask buss hvor overføringene mellom enhetene må skje innenfor en klokkepuls. Den må derfor kunne overføre data i den hastigheten som prosessoren krever.

Systembuss frontside bus, memory bus, local bus, eller host bus

Systembussen er den fysiske toveisbussen som går fra prosessoren og til brikkesetet (North bridge) og kobler prosessoren til internminnet og de ulike tilkoblingsportene for inn- og utenhetene på hovedkortet.

Overføringshastigheten eller båndbredden avgjøres av produktet av bredden på bussen, klokkefrekvensen og antall dataoverføringer per klokkepuls. F.eks en 32 biters (4 byte) bred systembuss med en frekvens på 100 MHz som utfører 4 overføringer/puls har en maksimum båndbredde 1600 MB/sek.

Tidligere overførte systembussen data i samme hastighet som prosessoren. Men prosessoren har utviklet seg raskere enn de andre komponentene, og systembussene må derfor benytte en lavere hastighet.

Systembussen betegnes ofte som frontside bus, FSB. Noen datamaskiner har også en back side bus, BSB, som kobler CPU til cacheminnet. Denne bussen og cachemninnet er raskere enn FSH og vanlig RAM.

Systembussen er egentlig et sammensatt bussystem som består av tre busser:

systembuss

Systembussen knytter sammen CPU, internminnet (RAM og ROM) og I/U portene. Den er oppdelt i tre busssystemer: adressebuss, databuss og kontrollbuss. Systembussen kalles også for lokalbuss.

Adressebussen

Adressebussen brukes av prosessoren til å bestemme hvilken enhet det skal leses eller skrives til. Enheten kan enten være internminnet (RAM/ROM), eller det som vi kaller porter. Portene er tilkoblingspunkter for inn- og utenheter (i/u-enheter) slik som tastatur, skjermkort og skriver. Adressebussen er enveis, og den styres av prosessoren.

Alle byter i internminnet og alle i/u-porter har hver sin adresse, slik at de kan adresseres unikt for lesing eller skriving. Noen datamaskiner skiller mellom minneadresser og portadresser. Det gjør Intelbaserte PC-er. De har to typer adresser, en for minnet og en for i/u-porter. Når en Intelprosessor legger en adresse på adressebussen, er den enten til minnet eller til en port. Hva som er tilfellet, bestemmes av kontrollbussen. Den sender ut et kontrollsignal som enten ruter adressen til internminnet eller til portene. Det kalles uavhengig i/u.

Alternativet er at minnet og i/u-portene deler det samme settet med adresser. Det kalles minnerettet i/u.

En Pentium-prosessor har en 32-biters adressebuss. Det betyr at den kan sende 232 = 4 294 967 296 (4 giga) ulike adresser over adressebussen. Hvis hver adresse refererer til 1 byte i internminnet, betyr det at prosessoren kan adressere et fysisk minne på maksimalt 4 GB.

Databussen

Databussen er en toveisbuss som brukes til å frakte data fram og tilbake mellom prosessoren og minnet og mellom minnet og i/u-enhetene.

Bredden på databussen er en viktig faktor for hvor raskt data kan overføres mellom enhetene i datamaskinen. En Pentium-prosessor har en 64-biters ekstern databuss og kan dermed overføre 8 byter om gangen.

Kontrollbussen styrer hvorvidt det skal leses fra eller skrives til minnet eller en i/u-port. Databussen brukes både til lesing og skriving av data, men den kan ikke gjøre begge deler samtidig. Det kontrolleres ved at prosessoren sender ut et lesesignal eller et skrivesignal på kontrollbussen.

Det skal dessuten skilles mellom adresser til internminnet og adresser til i/u-porter, for bare en enhet har tilgang til databussen om gangen.

De fire viktigste kontrollsignalene på kontrollbussene er derfor:

Utvidelsesbusser

Utvidelsesbussene er datamaskinens busser for tilkobling av eksterne inn- og utenheter og kalles også for I/U-busser. De færreste eksterne enheter klarer å kommunisere med systembussens store hastighet. Derfor er det behov for enklere utvidelsesbusser med lavere hastighet. I en moderne PC er det flere forskjellige utvidelsesbusser:

parallell overføring seriell overføring

Parallell overføring

Parallell overføring betyr at flere ledninger, åtte eller flere, brukes til å overføre data samtidig mellom enheter. Parallell overføring er rask fordi man kan overføre hele byter om gangen uten å måtte dele dem opp i enkelte biter.

Parallell overføring kan bare brukes til enheter som ligger nærme (noen meter), og som håndterer raske overføringer. Eksempler på slike enheter er harddisk og skrivere.

Problemene med parallelle kabler er at de er dyre, lite elastiske, og at signalene fort svekkes. Dessuten må alle bitene komme fram samtidig og i samme rekkefølge. Dette stiller krav til at alle kabler har samme lengde i bussen, noe som kan være vanskelig for hovedkortprodusentene å leve opp til. Derfor har man gått over til serielle busser.

Til seriell overføring benyttes bare én ledning til dataoverføring, og dataene blir overført med én bit om gangen. I serielle kabler svekkes ikke signalet like raskt som som i parallelle. De er dessuten mer elastiske og enkle å håndtere, og de er rimligere. I senere tid har man utviklet serielle busser som utkonkurerer de eldre parallelle.

   PCI  AGP USB 2.0 FireWire PCIe  SATA
Databuss (biter) 32/64 32 serie serie serie serie
Busshastighet (MHz) 33 132/264     2500  
Båndbredde (MByter/s) 66/132MB 528/1GB  480Mbit/ 400/
786.432
Mbit
 250MB/
4GB
 3Gbit

PCI (engelsk: Peripheral Component Interconnect).

Den har opprinnelig en hastighet på 33 MHz og en databuss på 32 biter, men den kan i praksis fungere som en 64-biters buss og kan da yte en båndbredde på opptil 132 MB/sek.

PCI-bussen fungerer asynkront i forhold til prosessoren. All kommunikasjon til og fra prosessoren buffres slik at hverken prosessoren eller PCI-enheten trenger å vente for å avlevere data. Dataene står bare i kø for å bli fraktet videre enten til prosessoren eller til PCI-enheten. Under optimale forhold sender derfor PCI-bussen én portion data (32 biter) avsted hvert klokkeslag (noen ganger kreves det to klokkeslag).

I tillegg er PCI-bussen intelligent i forhold til de enhetene som kobles til. Den støtter Plug-and-play (PnP) og alle utvidelseskort til PCI er selvkonfigurerende.

AGP (Engelsk: Accelerated Graphics Port). På veg ut. Det er en buss på hovedkortet som kun er beregnet til grafikkort. AGP er egentlig en utvidelse av PCI-bussen med en klokkefrekvens på 66 MHz. Det gir i utgangspunktet AGP en båndbredden på 264 MB/sek, men den benytter en teknikk som dobler og firdobler båndbredden til 528 MB/sek og 1 GB/sek.

PCI Express (PCIe) er den nye utvidelsesbussen som tar over for PCI og AGP. PCIe er en seriell buss hvor link benevnes som en linje (eng. lane). Spesifikasjonen støtter x1, x2, x4, x8, x16 og x32 baner. Hver linje kan overføre 250 MB/s hver vei, full dupleks, det vil si både sende og motta samtidig. Den benytter en klokkefrekvens på 2,5 GHz. Det er vanlig med 1 og 16 linjer. Et 16 linjers (x16) PCIe kort kan overføre 4 GB/s i hver retning og brukes til grafikkort.

SATA (Serial ATA, S-ATA) er en databuss teknologi hovedsakelig designet for overføring av data til og fra en harddisk. SATA er etterfølgeren av ATA (Advanced Technology Attachment) standarden, som også er kjent som IDE (Integrated Drive Electronics). Denne gamle ATA teknologien blir nå kalt PATA (Parallell ATA) for å skille den fra Serial ATA. Sata tilbyr hastigheter på 3 Gbit/s per enhet. Sata bruker bare 4 signallinjer

USB 2.0 (engelsk: Universal Serial Bus) er en seriell buss som ble utviklet for å gjøre det enklere å koble til eksterne enheter, og man kan koble opptil 127 enheter etter hverandre. Man kan også samle flere tilkoblinger i USB-huber, som enten er eksterne eller innebygget i tastatur og skjerm. USB leverer også strøm til den tilkoblede enheten. De fleste eksterne enhter som mus, tastatur, eksterne lagringsenhetet osv. bruker USB.

En spesiell egenskap ved USB er at den tillater at man deler enheter. En skanner kan for eksempel tilsluttes to USB-busser og dermed kobles til to PC-er samtidig.

Firewire (IEEE 1394) er en seriell buss som ble utviklet for høyhastighetskommunikasjon mot eksterne enheter. Standard tilkobling av video- og audiokomponenter. Raskere enn USB 2.0 i hvert fall på Mac OS X.

Kan tilkoble opptil 63 perifere enheter i en tre topologi. Støtter peer-to-peer tilkobling, for eksempel en skanner direkte til en printer, uten å bruke system hukommelse og prosessorkraft. Tillater også tilkobling av flere vertsmaskiner per buss. Håndterer plug-and-play.

FireWire 400: 6-pinners kontakt,  hastighet 100, 200, or 400 Mbit/s halv-duplex, kabellengde begrenset til 4,5m uten repeatere.

FireWire 800:  9-pinners kontakt.  Hastighet  786.432 Mbit/s full-dupleks. Kabellengde opp til 100m

Repetisjonsoppgaver

  1. Hvilken funksjon har bussene i datamaskinen?
  2. Hva består bussens bredde av og hvilken betydning har den?
  3. Hva er forskjellen på internbuss, systembuss og utvidelsesbuss?
  4. Hvilken funksjon har kontrollbussen?
  5. Forklar forskjellen på uavhengig og hukommelsesrettet i/u.
  6. Hvilken oppgave har kontrollbussen?
  7. Hva er PCIe?
  8. Hvilke fordeler har USBsom utvidelsesbuss?