PC-arkitektur

Von Neumann-arkitekturen

En datamaskin styres av programmer, det vil si sekvenser av instruksjoner som forteller hva den skal foreta seg. Det kan for eksempel være å addere to tall, flytte tall fra én plass til en annen, eller hoppe til en instruksjon på et annet sted.

De første datamaskinene inneholdt ikke programmer, men ble styrt av en mengde koplinger som måtte endres hver gang maskinen skulle utføre en ny oppgave, noe som kunne ta dagevis. Det var derfor en revolusjon da John von Neumann i 1946 foreslo at en datamaskin kunne styres av programmer som lagres i maskinen på samme måte som andre data. Dette ga opphav til den så kalte von Neumann-arkitekturen, som er det vanligste prinsippet i moderne datamaskiner, og enerådende i PC-er. Instruksjonene er lagret i internminnet, og behandles én for én av en prosessor.

Von neumann-arkitekturen
Von Neumann-arkitekturen. Programmene lagres på samme måte som data. 

Hovedkomponenter

Grovt sett kan en si at en PC består av komponentene prosessor (CPU), internminne (RAM), inn/ut-enheter (I/O), og en systembuss. Databehandlingen foregår i prosessoren. Den henter sine instruksjoner fra primærlageret, og data skyfles fram og tilbake mellom prosessoren, primærlageret og inn/ut-enhetene, alt via systembussen. Dette er illustrert i figuren under.

PC-arkitektur
Overordnet PC-arkitektur, med eksempler på vanlige I/O-enheter

Prosessoren

Prosessoren er datamaskinens hjerne. I en PC består prosessoren av en enkelt integrert krets og kalles en mikroprosessor. Verdens første mikroprosessor ble lansert av Intel i 1971, og Intel har siden da forsynt markedet med stadig nye generasjoner mikroprosessorer.

Fra 1971 til 2008 har antallet transistorer i mikroprosessoren økt fra ca. 2300 til 2 milliarder, det vil si at antallet er fordoblet om lag 19,5 ganger. I følge Moores lov skal en slik økning i kompleksitet ta ca. 19,5 * 2 = 39 år, noe som ikke er langt unna tidsrommet fra 1971 til 2008.

De store Intel prosessorfamiliene er Pentium, og den noe rimeligere Celereon. En annen viktig leverandør av mikroprosessorer er AMD.

Intel Pentium Intel Celeron Intel idiot
Diverse Intel-logoer
Prosessorens hovedkomponenter

Figuren under viser et forenklet, skjematisk diagram av en mikroprosessor.

Mikroprosessorens arkitektur
De viktigste komponentene i en mikroprosessor
ALU

ALU står for ′Arithmetic/Logic Unit′. Ved hjelp av logiske porter utfører ALU elementær aritmetikk, eller avgjør om en logisk betingelse er sann eller usann.

Registre

Registrene er små, lynraske minneceller, som en moderne prosessor har noen hundre av. Verdiene som ALU opererer på ligger i registre, dit legges resultatene som ALU produserer, og ALU bruker dem til mellomlagringer. Instruksjonsregistret inneholder den instruksjonen som ALU for øyeblikket arbeider med, og instruksjonspekeren er et register som forteller hvor i internminnet neste instruksjon skal hentes.

Bussgrensesnitt

Bussgrensesnittet håndterer prosessorens kommunikasjon med omverdenen.

Instruksjonshenter

Instruksjonshenteren sørger for å, via bussgrensesnittet, hente neste instruksjon som skal utføres, og overlate den til instruksjonsdekoderen.

Instruksjonsdekoder

Instruksjonsdekoderen dekoder instruksjonen som ALU skal utføre, og plasserer resultatet i registre.

Prosessorens arbeidssyklus

I prinsippet gjennomføres en prosessors arbeidssyklus slik:

  1. Instruksjonshenteren sjekker instruksjonspekeren (programtelleren) for å finne ut hvilken adresse i internminnet neste instruksjon skal hentes fra, og kontakter bussgrensesnittet med denne informasjonen.
     
  2. Instruksjonen kommer inn via bussgrensesnittet.
     
  3. Instruksjonspekeren settes til å peke på neste instruksjon.
     
  4. Instruksjonen dekodes av instruksjonsdekoderen og resultatet lagres i registre.
     
  5. ALU utfører instruksjonen, og resulterende verdier plasseres i registre. Dersom instruksjonen er en hopp-instruksjon, oppdateres registret som inneholder instruksjonspekeren. (En hopp-instruksjon er en instruksjon som forteller at programutførelsen skal fortsette en ny plass)

I praksis er det hele mer komplekst, moderne prosessorer inneholder blant annet komponenter som hele tiden prøver å hente instruksjoner og data før det faktisk blir behov for dem.

Prosessorens arbeidssyklus styres av ei klokke. Selv om det kan variere hvor mange klokketikk en prosessor trenger for å utføre en oppgave, gir klokkehastigheten allikevel en pekepinn på prosessorens arbeidskapasitet. Klokka i en moderne mikroprosessor arbeider med en frekvens på i overkant av 3 GHz, det vil si at den tikker mer enn 3 milliarder ganger pr. sekund.

Moderne prosessorer kan ha flere kjerner, noe som gjør det mulig å behandle flere instruksjoner i parallell.

Innpakning

Moderne prosessorer leveres i flate, keramiske pakninger med tilkoplingspunktene i form av en benmatrise på undersiden. Dagens prosessorer produserer svært mye varme som må ledes bort, og er derfor påmontert kjølevifte. Tidligere utgaver arbeidet med lavere klokkefrekvens, og gikk ikke så varme. En kan derfor i eldre PC-er finne prosessorer med kjøleribber, eller uten noe kjølesystem i det hele tatt.

Overside av prosessor Underside av prosessor Prosessor med påmontert kjølevifte
Mikroprosessor sett fra oversiden og undersiden, samt kjølevifte

Internminnet

Internminnet er en lagringsplass for data og programmer, som prosessoren hyppig refererer til når den arbeider. Internminne kalles også gjerne primærminne eller RAM. RAM er nærmere beskrevet i kapitlet om datalagring. En standard PC er i 2013 utstyrt med 4 – 8 GB RAM.

Systembuss

Systembussen er PC-ens nervesystem, og frakter informasjon rundt mellom de forskjellige enhetene. Den består av tre hoveddeler: Databuss, adressebuss og kontrollbuss. Databussen frakter selve dataene. Adressebussen brukes for å fortelle hvor data skal skrives eller leses. Dette kan enten være et sted i RAM, eller på en I/O-enhet. Kontrollbussen brukes til å overføre forskjellige kontrollsignaler mellom enhetene.

Systembussen har en bredde som forteller hvor mange informasjonsenheter (bits) den kan overføre samtidig. Tidlige systembusser hadde en bredde på bare 8 bits, mens en moderne buss kan ha bredde på 64 bits.

I/O-enheter

Alle PC-er er beregnet på å koples til enheter som gjør det mulig for dem å kommunisere med mennesker: Et tastatur og en mus, som er rene inn-enheter, og en skjerm, som er en ren ut-enhet.

I tillegg er så godt som alle PC-er utstyrt med en harddisk som brukes til å lagre data og programmer. Harddisker er nærmere beskrevet i kapitlet om datalagring. En standard PC har i 2013 harddisk med lagringskapasitet på 500 GB – 2 TB.

For å kunne kommunisere med et nettverk, kommer de fleste PC-er i dag ferdig utstyrt med nettverkskort. Tidligere var nettverk mest brukt på arbeidsplasser og lignende, der en knyttet de enkelte PC-ene til felles ressurser. Internett har imidlertid ført til at det i dag også er blitt svært vanlig med nettverkstilknytning hjemme.

Moderne PC-er er utstyrt med USB-porter, der en kan kople til eksterne enheter. USB står for ′Universal Serial Bus′, og er egentlig en egen buss som er koplet til PC-ens PCI-buss. Det meste av moderne utstyr beregnet på PC-tilknytning, kan koples til en USB-port. Minnepinner, digitalkameraer, skannere, skrivere, etc. De første USB-portene hadde begrenset kapasitet, med en overføringshastighet på 1,5 Mbits/s, altså 1,5 millioner informasjonsenheter (bits) per sekund. Senere kom en ny standard, USB 2, med en overføringshastighet på 480 Mbits/s, og denne er igjen blitt fulgt av USB 3, med en hastighet på opptil 5 Gbits/s

USB-plugg USB-kontakter USB-symbol
Plugg, tilkoplingskontakter og symbol for USB

I en periode var busstandarden FireWire (IEEE 1394) et raskere alternativ enn USB, og PC-er ble levert med FireWire-kontakter. FireWire ble typisk brukt til utstyr som skulle overføre store mengder data, slik som digitale videokameraer. Men med nye superraske USB-standarder, er ikke FireWire lenger så mye i bruk. Vil en ha FireWire på PC-en, må en som regel kjøpe et eget FireWire-kort, og plugge det inn i en av maskinens utvidelsessokler.

FireWire-plugg FireWire-kontakter FireWire-symbol
Plugg, tilkoplingskontakter og symbol for FireWire

Utvidelsessokler

Har en bruk for I/O-enheter som ikke er innebygd i PC-en, kan en montere tilleggskort. Dette kan for eksempel være ISDN-kort, trådløskort, eller FireWire-kort. De aller fleste PC-er har minst tre utvidelsessokler. Moderne utvidelsessokler er koplet til PCI-bussen. Det finnes utgaver både for bussbredder på 32 og 64 bits.

32-bits sokkel 64-bits sokkel
32-bits og 64-bits PCI tilkoplingssokler

En PC har gjerne i tillegg en sokkel på AGP-bussen, beregnet på tilkopling av grafikkort.

Plug and Play

Før i tida krevdes det spesialkunnskap for å få tilleggskort til å virke. Moderne PC-er og tilleggskort støtter imidlertid Plug and Play, PnP. Det betyr at en ganske enkelt kan slå maskinen av, plugge i tilleggskortet, og starte opp igjen. Maskinen oppdager selv at den har fått et nytt kort, og gjør de nødvendige konfigurasjonene.

I en del tilfeller trenger en ikke en gang slå av maskinen for å plugge inn nytt utstyr. Typisk vil dette være enheter som plugges inn via USB eller FireWire. Enhetene kan plugges inn og ut mens maskinene er i gang, noe som kalles hot-swapping.

Cache

Sett i forhold til hastigheten en mikroprosessor arbeider med, kan det ta svært lang tid å hente data fra internminnet. En PC er derfor utstyrt med cache, som er et hurtig minne knyttet til prosessoren via en lynrask buss. Cache er vanligvis konstruert av SRAM, beskrevet i kapitlet om datalagring. Cache inneholder utdrag av det som finnes i internminnet, og egne styringskretser prøver å sørge for at utdraget til enhver tid er det som prosessoren skal arbeide med.

I tillegg til cache i form av en separat minnebrikke, har en moderne mikroprosessor også en egen cache plassert direkte på selve prosessorbrikken. Denne har svært liten lagringskapasitet, men er til gjengjeld ekstremt rask.

Utseende

En skjematisk tegning av de viktigste delene i et PC-kabinett er vist under.

PC-kabinett
  1. Skjerm
  2. Hovedkort
  3. Mikroprosessor
  4. Internminne
  5. Tilleggskort
  6. Strømforsyning
  7. CD / DVD-stasjon
  8. Harddisk
  9. Tastatur
  10. Mus

På del 2, hovedkortet, er det aller meste som ikke er I/O-enheter montert. I bildet under er det vist et hovedkort med en oversikt over de viktigste delene.

Hovedkort
  1. Sokkel til mikroprosessor.
  2. Brikkesett. Gir prosessoren et uniformt grensesnitt mot maskinvaren.
  3. IDE-kontakter. Tilkoplingssokler for kabel til harddisk, CD-stasjon, o.l.
  4. Strømforsyningskontakter.
  5. Seriell-ATA kontakter. Tilkoplingskontakter for kabel til harddisk, etc. som forventes å erstatte IDE.
  6. Batteri. Holder i gang sanntidsklokka når strømmen er slått av.
  7. Diskettstasjonskontakt.
  8. CNR-spor. Spor for innplugging av tilleggskort som arbeider sammen med hovedkortet.
  9. Sokler for tilleggskort på PCI-bussen.
  10. Sokkel for tilleggskort på AGP-bussen. (Grafikkort).
  11. Audio-porter. Tilkopling for høyttalere, hodetelefoner og mikrofon.
  12. Nettverkskontakt.
  13. USB-porter.
  14. Parallellport. Port som tidligere ble brukt til å kople til skrivere, skannere, etc. I dag har USB tatt over det meste av parallellportens rolle.
  15. Seriell port. Port som tidligere ble brukt til å kople til tastatur, mus, etc. I dag koples imidlertid mus og tastatur til i innganger laget spesielt for dette.
  16. PS/2-plugg for tastatur. Standarden med de fargekodede PS/2-pluggene stammer fra IBMs mislykkede PC-generasjon PS/2.
  17. PS/2-plugg for mus.
  18. Sokler for RAM-brikker. (Internminne)

Kilder

  • Jarle Aase, Clemet Thærie Bjorbæk: Maskinvare og operativsystemer. Fagbokforlaget 2004
  • Deborah Morley, Charles S. Parker: Understanding Computers: Today and Tomorrow. Thomson Course Technology 2006
  • Bård Kjos: Innføring i informasjonsteknologi. Tapir Akademisk forlag, Trondheim 2005
  • Per A. Holst: Datateknologiens utvikling. Tapir Akademisk forlag, Trondheim 2001
  • Cornelia Brodahl. Materiale fra INF 104, HiA 2005