Datamaskinens oppbygning

Redaktør:Håkon Tolsby

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: 24. september 20010

Innledning

Dell PC

En tradisjonell datamaskin (PC) består av en hovedenhet (selve datamaskinen), en skjerm, et tastatur og en mus. Det er også vanlig at det er koblet til utstyr som høyttalere og videokamera. Dette er de fysiske delene som er synlige før vi henter skrujernet og åpner enhetene

Hovedenheten

åpen datamaskin

Hovedenheten er selve datamaskinen. Når vi fjerner kassen rundt hovedenheten, ser vi at den inneholder mange komponenter. Her finner vi hovedkortet med prosessor (CPU) og internminne, diskettstasjon, CD-ROM-spiller, harddisk, strømtilførsel, diverse utvidelseskort og kontakter for tilkoblingen av skjerm, tastatur, mus og andre inn- og ut-enheter (i/u-enheter).

Hovedkort

På de fleste datamaskiner er de viktigste komponentene samlet på ett kort. Det kalles for hovedkortet (engelsk: motherboard). Fordeler med å samle komponenter på ett kort er at det blir:

Utviklingen går mot at flere og flere funksjoner legges til hovedkortet. Håndtering av lyd, grafikk og lokalnett (ethernett) er eksempler på funksjoner som tidligere lå på egne utvidelseskort, men som nå ofte er integret i hovedkortet.

Det neste skrittet er en komplett PC på en brikke.

På hovedkortet sitter de to viktigste delene i en datamaskin:

Et forenklet, generisk hovedkort med de viktigste bestanddelene.

hovedkort

At man skiller mellom minne og prosessor er et vesentlig trekk ved datamaskinens arkitektur. Det gjør datamaskinen til en generell maskin som kan kjøre ulike programmer.

Program er kun data som kan lagres sammen med annen data i datamaskinens minne. Og det kan byttes ut etter behov, bare prosessoren kan tolke programmets instruksjoner.

Denne arkitekturen stod i sterk kontrast til de første datamaskiner hvor programmet var en del av selve datamaskinen. Det var hardkodet inn i kabler og komponenter. Skulle man omprogrammere datamaskinen, måtte man tildels bygge den om (for eksempel datamaskinen ENIAC),

Man kaller dette for Von Neumann arkitektur etter forskeren, John von Neumann (1903-57), som har fått æren av å ha designet den moderne datamaskinen. I 1945 presenterte han en rapport som organiserte datamaskinen I fem deler:

  1. aritmetisk enhet
  2. kontrollenhet
  3. hukommelse
  4. inputenhet
  5. utputenhet

Siden har dette vært den rådende modellen for alle datamaskiner.

Prosessorens oppgave er å utføre beregninger (prosessere) på data som er lagret i internminnet.

Prosessoren er koblet sammen med internminnet og i/u-enhetene (tastatur, mus, skjerm og disker) ved hjelp av remser med ledninger som er etset inn i hovedkortet. Disse kalles for busser, og de transporterer data fra sted til sted i datamaskinen slik en vanlig buss transporter mennesker fra holdeplass til holdeplass.

I alle datamaskiner er det tre busstyper: adressebuss, databuss og kontrollbuss.

datamaskin

Prosessoren

Prosessoren (CPU - Central Prosessing Unit) er selve hjernen i datamaskinen. Den utfører alle beregninger og styrer de andre enhetene. Generelt består prosessoren av følgende deler:

Prosessorens oppbygning

Tegningen viser en skjematisk fremstilling av en prosessor

Prosessoren mottar data fra internminnet gjennom systembussens databuss. Det er to typer av data: instruksjoner som prosessoren skal utføre og data som den skal arbeide med. Resultatet sendes tilbake på systembussen.

De oppgaver som prosessoren kan utføre er meget enkle og begrenset. Den kan hente instruksjoner og tall fra internminnet, legge tallene i registrene og utføre instruksjonene. Hver instruksjon starter en operasjon i prosessoren. De viktigste operasjonene er grunnleggende aritmetikk (regning), sammenligning av tall, skiftoperasjoner på binære tall og logiske operasjoner

Hver instruksjon til prosessoren er egentlig en binær tallkode, og alle programmer består av sekvenser med slike tallkoder.

Eksempler på instruksjoner for Intel-486
Kode Instruksjon Forklaring Klokkepulser
0000 0100 ADD Addisjon 1
0010 0000 AND Logisk AND 1-3
0011 1101 CMP Sammenligne 1
1111 0110 DIV Divisjon 16

PIPPIN - En prosessorsimulator

Program som skal kjøres, ligger lagret i internminnet (RAM). Her mellomlagres alle programmer som skal kjøres fordi prosessoren ikke kan lese og skrive direkte til en disk. Diskene er altfor trege for den raske prosessoren. Derfor må programmene overføres til internminnet før de kan starte.

Fra internminnet overføres instruksjonene i tur og orden til prosessorens instruksjonsregister for utføring. Instruksjonene er binære koder som kalles maskinkode. Et program består av lange sekvenser med slike koder. Når prosessoren mottar en binær maskinkode, starter den en operasjon. Maskinkoden for å multiplisere to tall på en Intel-prosessor er for eksempel 1111 0100.

Det er selvfølgelig håpløst å skrive programmer med slike koder, så når en skal programmere med prosessorens grunnleggende instruksjonssett, blir det isteden brukt logiske navn på instruksjonene. Mul er for eksempel instruksjonen for multiplikasjon. Det kalles assembly-programmering.

Assembly-programmering er tidkrevende og brukes bare i spesielle tilfeller ved programutvikling (når det er viktig at programmet går raskt, eller for å direkte styre en komponent).

Hva skjer når vi starter et program?

  1. Programtelleren blir nullstilt og peker til den første instruksjonen i programmet
  2. Prosessoren leser den instruksjonen som programtelleren referer til, og overfører den til instruksjonsregisteret.
  3. Instruksjonstolkeren tolker instruksjonen og utfører den.
  4. Når instruksjonen er ferdig utført, øker programtelleren med 1 og neste instruksjon blir lest(punkt 3)

Dette gjentar seg til prosessoren ikke har flere instruksjoner å utføre og programmet avslutter.

Selv om oppgavene som prosessoren kan utføre er meget enkle og begrenset har den en stor fordel som gjør den meget anvendelig til mange formål. Den kan utføre instruksjonene med ekstrem høy hastighet.

Det er prosessorens klokkefrekvens som avgjør hvor fort den kan utføre en operasjon. På hovedkortet sitter en liten brikke (krystall) som genererer elektriske pulser. Den kalles datamaskinens klokke og styrer arbeidstakten til alle komponenter i datamaskinen. For hver elektrisk puls den sender ut, kan prosessoren utføre en instruksjon. Klokkepulsene sørger for at datamaskinen arbeider etter en jevn takt slik at data som fraktes på bussene ikke kolliderer.

En prosessor med en klokkefrekvens på 600 MHz vil dermed kunne utføre 600 millioner operasjoner i sekundet.

Problemet med de høye klokkefrekvensene er at resten av elektronikken i datamaskinen ikke henger med. De klarer ikke å motta og sende data i et så høyt tempo. Derfor operer man ofte med to klokke frekvenser, en høy intern klokkefrekvens for prosessoren og en lavere ekstern klokkefrekvens for kommunikasjon mot systembussen og internminnet.

Siden Intel lanserte 8086 prosessoren i 1978 har hastigheten prosessoren arbeider med fordoblet seg hver 18. måned. Det ser ikke ut til at utviklingen vil stoppe med det første.

år Prosessor Intern klokke Ekstern klokke Registre Databuss
1971 4004 0,74 MHz 0,74 MHz 4 4
1978 8086   4,77 MHz 4,77 MHz 16 16
1982 80286  12 MHz 12 MHz 16 16
1985 80386 25 MHz 25 MHz 32 32
1989 80486 66 MHz 33 MHz 32  32
1993 Pentium 100 100 MHz 66 MHz 32 64
1997 Pentium II 333 MHz 66 MHz 32 64
1999  Pentium III 5-800 MHz 133 MHz 128 64
2000 Pentium 4 1,3 - 2 GHz 400 MHz 128 64
2002 Pentium 4 4 GHz   128 64
2005 Nehalem 10 Ghz   128 64
2006 Core 2 Duo 1,2 -2,33 GHz   128 64
2007 Core 2 Quad   1,066 Ghz 128 64

I tillegg til klokkefrekvensen er størrelsen på registrene og bredden på databussen avgjørende for hvor rask prosessoren er. Store registre betyr at prosessoren kan utføre operasjoner med store tall uten å måtte dele dem opp, eller at den kan legge sammen flere tall i parallell. Størrelsen på databussen forteller oss hvor mye data som kan fraktes til prosessoren om gangen.

Dessuten kommer flere prosessorer med flere kjerner 2 og 4, slik at prosessoren kan utføre flere oppgaver samtidig.

Intel har utviklet en 48 kjerners prosessor med 1,3 milliarder transistorer som de kaller "Single-Chip Cloud Computer". Det er 48 kjerner på en brikke som er knyttet sammen i et eget nettverk med 24 rutere. (Windows 7 kan håndtere 256 prosessorer)

Andre produsenter av prosessorer: AMD og IBM

scc waffer scc diagram

Moores lov

Antall transistorer i en prosessor vil dobble seg hvert andre år.

Fra 1971 til 2005 har antallet transistorer i mikroprosessoren økt fra ca. 2300 til 230 millioner, det vil si at antallet er fordoblet omlag 16,5 ganger.

Moores lov justert

Antall kjerner på prosessorene vil dobles hvert andre år.

CISC og RISC

Det finnes to hovedtyper av prosessorer: CISC og RISC.

  • CISC (Complex Instruction Set Computer).
  • RISC (Reduced Instruction Set Computer).
  • CISC-prosessoren ble utviklet i en tid da RAM var dyrt å kjøpe. Da var det viktig at programmene var små, og at prosessoren gjorde mest mulig for hver instruksjon den fikk. Derfor lagde man prosessorer med mikroprogrammer. En CISC prosessor kan tilby et stort sett av instruksjoner, og mange av instruksjonene er komplekse og trenger flere klokkepulser for å bli utført

    Problemet med CISC-prosessorer er at de er dyre å konstruere, flere instruksjoner tar lang tid å utføre, og over 60% av alle transistorene som prosessoren er bygd opp av, brukes til å lagre mikroprogrammene.

    Det viser seg imidlertid at mange av de komplekse instruksjonene i en CISC-prosessor aldri eller sjelden brukes. En løsning på problemet er å redusere antall instruksjoner til et minimum.

    Det medfører at programmene vi lager blir større, fordi noen oppgaver må løses i programkoden i stedet for av prosessoren direkte.

    Prosessorer som bare har et sett med grunnleggende basisfunksjoner kalles for RISC (Reduced Instruction Set Computer). Fordelen med RISC-prosessorer er at 95% av alle instruksjonene kan gjennomføres innenfor en klokkepuls. RISC-prosessoren sparer mange transistorer på ikke å ha mikroprogrammer. Dermed kan man legge flere funksjoner i prosessoren, slik som: Grafisk prosessor, mer cache osv.

    RISC-prosessorer har åpenbare fordeler, og i dag er de fleste prosessorer konstruert etter dette prinsippet