Redaktion og opdatering af indholdet på denstoredanske.dk er indstillet pr. 24. august 2017. Artikler og andet indhold er tilgængeligt i den form, der var gældende ved redaktionens afslutning.

  • Artiklens indhold er godkendt af redaktionen

computer

Oprindelig forfatter HBHa Seneste forfatter MHansen

Computer. Principskitse af en computers opbygning og nogle typiske ydre enheder.

Computer. Principskitse af en computers opbygning og nogle typiske ydre enheder.

computer, datamat, datamaskine, programmérbar maskine til automatisk databehandling.

På engelsk betegner ordet fra gammel tid en person, der er ansat til at udføre beregninger, men det bruges nu næsten altid om en digital, elektronisk maskine, hvis operationer styres af et lagret program.

Den første danske computer, DASK, blev kaldt en elektronisk cifferregnemaskine eller matematikmaskine, men associeringen til beregninger med tal er nu forladt i erkendelse af, at en computers arbejdsområde er meget bredere.

Annonce

Ordet computer er engelsk og afledt af latin computare 'beregne', af kon- og putare 'regne'.

Der findes to grundlæggende typer af computere, digitale og analoge.

Den digitale computer

Den mest slående egenskab ved den digitale computer er dens generalitet; én og samme maskine kan bruges til at løse så forskellige opgaver som at udarbejde et lønregnskab, designe en atomreaktor eller finde den optimale foderblanding til køer.

En computer er i en vis forstand ufærdig, når den købes, men kan ved programmering formes efter individuelle behov; heri adskiller den sig fra andre maskiner som fx biler og husholdningsmaskiner, hvis funktions- og anvendelsesområde jo er fastlagt på forhånd.

Der findes mange typer af computere; forskellen mellem dem viser sig ved deres hastighed, lagerkapacitet og bekvemmelighed for brugeren, men ikke i deres principielle formåen.

Datalogisk forskning har nemlig vist, at der er grænser for, hvad der overhovedet lader sig beregne, men også, at alle computere kan nå ud til disse grænser, jf. beregnelighed.

En computers centrale dele kan udformes som små, integrerede elektroniske kredsløb, såkaldte chips. Der findes i dag mikrocomputere i dagligdags brugsgenstande som fx hårde hvidevarer, legetøj og biler. Disse indlejrede computere er forprogrammerede til bestemte formål og er skjult i de apparater, de styrer.

De programmérbare computere dækker et bredt spektrum af størrelser, priser og anvendelsesområder, fra lommeregnere og pc'er til supercomputere. Der er glidende overgange mellem kategorierne, og grænserne ændres hele tiden. Det, der var en supercomputer i går, bliver en pc i morgen.

Alle digitale computere arbejder i princippet med to fundamentale typer af information: operander (data) og instruktioner. En instruktion angiver, hvilken operation der skal udføres på hvilke operander. I maskinen repræsenteres begge typer af information ved koder, der består af cifre (heraf benævnelsen "digital").

I moderne computere er disse cifre altid binære cifre (bits) med værdierne 0 og 1, som kan realiseres pålideligt med simple midler som fx strøm/ikke-strøm i en elektrisk leder. En kode på 8 bit, tilsammen en byte, giver mulighed for at skelne mellem 256 objekter eller tilstande, jf. binær repræsentation.

Det digitale princip er uhyre generelt. I billedbehandling kan man ved hjælp af en enkelt byte skelne mellem 256 farvenuancer i et billedes pixels (billedelementer). Ønskes finere opløsning, afsættes blot to eller flere bytes pr. pixel. En sådan repræsentation kan transformeres af en computer og transmitteres over lange afstande.

Noget lignende gælder for lyd, hvilket gør digital lydteknik, radiofoni og telefoni mulig. Resultatet er, at systemer, der umiddelbart ser helt forskellige ud, og som tidligere fungerede efter helt forskellige principper, nu kan benytte den samme grundteknologi og indgå i integrerede systemer. Man kan sende tekst, billeder og lyd over én og samme kommunikationskanal, lagre dem på ét og samme lagringsmedie og bearbejde dem i én og samme computer.

Opbygning og virkemåde

Den digitale computer har to hovedbestanddele, hardware (materiel) og basisprogrammel. Hardwaren er selve den fysiske maskine, og basisprogrammellet er den software (programmel), først og fremmest operativsystemet, der er nødvendig for at programmere maskinen på brugerniveau. Her omtales kun hardwaren; programmer og programmering beskrives i artiklen program.

Moderne datateknik er et af de mest dynamiske områder af den teknologiske udvikling. En computers principielle opbygning og virkemåde er dog forblevet næsten uændret, siden John von Neumann i 1945 fremsatte idéen om en computer med lagret program.

En sådan computer kaldes en von Neumann-computer, og praktisk talt alle computere i vore dage er von Neumann-computere. Disse består af en centralenhed, et arbejdslager af en vis begrænset størrelse samt nogle ydre enheder, nemlig et baggrundslager (typisk en harddisk), mindst én input-enhed (typisk et tastatur) og mindst én output-enhed (typisk en skærm).

Centralenheden (ofte kaldet CPU, Central Processing Unit) indeholder tre elementer.

For det første en aritmetisk-logisk enhed, der udfører selve de aritmetiske og logiske operationer på data.

For det andet et antal registre, dvs. hurtige lagerceller, der bl.a. bruges i forbindelse med transport af data mellem centralenhed og arbejdslager, og som er direkte tilgængelige fra den aritmetisk-logiske enhed. Disse registre udgør et lille, lokalt lager i centralenheden, og det er her, den aritmetisk-logiske enhed lagrer sine beregningsresultater.

For det tredje indeholder centralenheden en styreenhed, der sørger for den tidsmæssige udførelse af det program, der befinder sig i arbejdslageret.

Arbejdslageret (det interne lager) er forbundet med centralenheden ved en adressebus og en databus, jf. bus. Det består af celler, der kan indeholde data, og som i moderne computere ofte er 8 bit lange, altså en byte.

Cellerne grupperes i ord; en computer med 32 bits ordlængde har altså fire bytes pr. ord. Cellerne har numre (adresser), og transporten af data mellem centralenhed og arbejdslager sker ved at sende en adresse ud på adressebussen og derefter aktivere databussen.

Ved skrivning i lageret skal de data, der skal skrives, stå på databussen i forvejen, og ved læsning fremkommer de læste data her. Det er altså muligt for centralenheden at få direkte adgang til en bestemt celle i arbejdslageret; derfor kaldes arbejdslageret ofte et RAM-lager (Random Access Memory).

Det er databussens bredde, der er flaskehalsen i en computer. Normalt kan den transportere ét ord ad gangen, så jo større ordlængde, desto hurtigere maskine.

Arbejdslageret er normalt delt i to dele. Brugerens program lagres i ram-lageret sammen med sine data, mens de centrale dele af operativsystemet lagres i et særskilt ROM-lager (Read Only Memory), som er beskyttet mod utilsigtet ødelæggelse, fx som følge af programmeringsfejl i brugerprogrammet.

Centralenhedens styreenhed arbejder på følgende måde: Fra arbejdslageret hentes et ord til et særligt register i centralenheden, instruktionsregistret. Her fortolkes ordet som en instruktion. Hvor i arbejdslageret denne instruktion skal hentes, afgøres af et andet register, ordretælleren.

Den hentede instruktion indeholder en adresse på en operand og et nummer på den operation, der skal udføres på operanden; det kan fx være at hente operanden til et bestemt register.

Nu udføres instruktionen ved, at adressebussen aktiveres med den givne adresse, hvorefter indholdet i cellen overføres via databussen. Herefter adderes 1 til ordretælleren, og maskinen er klar til at udføre næste instruktion; det kan være en addition af indholdet i en bestemt celle til det samme register.

Og den næste instruktion siger måske, at det, der står i dette register (som altså i eksemplet er en sum af to tal), skal lagres i en tredje celle i arbejdslageret.

Rækken af instruktioner, der udgør algoritmen (beregningsforskriften), kaldes et program. Programmer benytter sig normalt af mange andre instruktioner end dem, der er nævnt her.

En vigtig type er dem, der opererer på ordretælleren. Hvis indholdet i ordretælleren ændres, betyder det, at den fortløbende rækkefølge af instruktioner brydes, og man hopper rundt i programmet. Én instruktion siger måske, at hvis indholdet i et bestemt register er negativt, så skal instruktionens adressedel kopieres til ordretælleren.

Hvilke instruktioner der faktisk udføres, kan altså afhænge af mellemresultater i beregningerne og styres af programmet; det er denne egenskab, der gør, at en computer kan udføre lange kæder af komplicerede beregninger helt automatisk.

Baggrundslageret har to hovedfunktioner; det er dels et supplement til arbejdslageret og dels det medie, hvor man kan lagre data og programmer, der skal bruges i mere end én kørsel.

Arbejdslagerets størrelse er begrænset, og hvis det ikke er stort nok til opgaven, må man tage baggrundslageret til hjælp. Det sker ved at transportere blokke af data fra og til baggrundslageret under udførelsen af programmet, hvilket medfører en nedsættelse af hastigheden.

Baggrundslagerets data forsvinder ikke, når strømmen til maskinen afbrydes; derfor kan det bruges til langtidsopbevaring af data.

Baggrundslagre er i hovedsagen elektromagnetiske apparater, som gør brug af et bevægeligt magnetisk datamedie. Der er to grundtyper, diske og bånd, hvis teknologi er hentet fra henholdsvis grammofonen og båndoptageren.

Den dominerende type er disken (pladelageret), som har den fordel, at man kan springe rundt i de lagrede data; dette kaldes direkte tilgang. Et magnetbånd er derimod et sekventielt medie, hvor data lagres fra en ende af og kun kan læses igen i samme rækkefølge.

Magnetbånd bruges derfor mest til sikkerhedskopiering og langtidsopbevaring af store datamængder. Magnetbånd er i dag i mange henseender erstattet af optiske lagerenheder som cd og dvd.

Optiske medier er ligeledes almindelige til pc'er som datamedier og til brug ved installation af programmer. Til håndholdt computerudstyr anvendes ofte baggrundslagre uden bevægelige dele, fx flashmedier. Disse medier lagrer data og programmer i elektroniske kredsløb med statisk hukommelse, hvor data ikke forsvinder, når lagermediet ikke får tilført strøm.

Input-enheder er nødvendige for at kunne læse nye data og programmer ind i en computer. Der findes dog computere, som man ikke kan læse nye programmer ind i, bl.a. lommeregnere, men man må altid kunne indlæse data.

Den almindeligste input-enhed er et tastatur (der kan være så simpelt som trykknapperne på en vaskemaskine); ved pc'er er tastaturet næsten altid suppleret med en mus til navigering på en grafisk brugergrænseflade. Scannere, måleinstrumenter (såkaldte transducere) eller apparater, der kan læse koden på et kreditkort, er også eksempler på input-enheder.

Output-enheder bruges til at vise resultatet af beregninger. Den almindeligste output-enhed er en skærm, evt. blot et display, men også printere og plottere bruges i vid udstrækning. Transducere for uddata anvendes til reguleringsformål, fx i robotteknik.

Input-output. En netværkstilslutning kan fungere som både input- og output-enhed, idet computere i et netværk kan give og modtage instruktioner og data fra hinanden. Dette gælder specielt for netværksservere og webbaserede programmer.

Instruktionstyper

I tidens løb er maskinernes instruktionsrepertoire blevet mere og mere omfattende. Nye adresseringsmåder er blevet opfundet, og der er kommet flere grundoperationer til. Dette bevirker, at en computers elektroniske struktur er blevet mere og mere kompliceret.

På et tidspunkt gik man derfor over til mikroprogrammering, der betyder, at der findes en elektronisk simpel computer inden i den computer, man ser udadtil, og som fortolker den ydre computers komplekse instruktioner. En computer af denne type kaldes en CISC (Complex Instruction Set Computer). CISC-strukturen reducerer hastigheden pga. det indskudte fortolkningsled.

Undersøgelser viste imidlertid, at programmer kun sjældent udnytter hele den kompleksitet, der er til rådighed; dette skyldes bl.a., at oversætterne af programmeringssprog fortrinsvis genererer simple maskininstruktioner.

Derfor udvikledes processorer med RISC-strukturer (Reduced Instruction Set Computer), som har simplere instruktioner, men som springer mikroprogramleddet over, hvorved hastigheden kan forøges væsentligt. Man kan sige, at udviklingen er vendt tilbage til udgangspunktet — DASK var en RISC.

Parallelle beregninger

De hidtil omtalte typer af computere går under betegnelsen SISD (Single Instruction Single Data), hvilket hentyder til, at maskinen kun behandler ét program med ét sæt data ad gangen. Vha. multiprogrammering kan man skabe den illusion, at en SISD-computer arbejder med flere programmer samtidig.

Multiprogrammering består i, at maskinen skiftevis udfører stumper af mange programmer, snart en stump fra det ene, snart fra det andet, og da den interne hastighed er stor, er det muligt at tilkoble mange input/output-enheder (terminaler) til samme computer og således få det til at se ud, som om der udføres mange programmer samtidig.

Ægte samtidighed, såkaldt parallelitet, kan opnås på forskellige måder. I en SIMD-computer (Single Instruction Multiple Data) udføres den samme operation på mange operander parallelt; som diktat i en skoleklasse, hvor mange elever (operanderne) skriver det samme dikterede ord (operationen) samtidig. En vektorprocessor er en SIMD-computer.

En MIMD-computer (Multiple Instruction Multiple Data) er i stand til at udføre forskellige operationer på forskellige operander samtidig; begrebsmæssigt er det blot en sammenbygning af mange computere i en form for gitterkonstruktion. En arrayprocessor er et eksempel på en MIMD-computer.

En effektiv udnyttelse af sådanne computere forudsætter, at man kan konstruere algoritmer, hvor mange delberegninger kan ske samtidig (parallelle algoritmer); det er her, de største problemer ligger.

Den analoge computer

Forskellen mellem en analog og en digital computer svarer til forskellen mellem måling og tælling. Den analoge computer bruger en fysisk proces som en analogi til en ønsket beregning og opererer med kontinuerte fysiske størrelser såsom elektriske spændinger, hydrauliske tryk eller mekaniske stængers, kuglers og skivers position ... Læs mere om den analoge computer.

Computerens historie

De væsentligste træk ved den computer, vi kender i dag, blev fastlagt omkring 1945. Forud var gået en 100-årig udvikling af mekaniske og stadig mere automatiske regnemaskiner samt en udvikling af mekaniske og elektriske databehandlingsmaskiner som fx hulkortmaskiner ... Læs mere om computerens historie.

Referér til denne tekst ved at skrive:
Henning Bernhard Hansen: computer i Den Store Danske, Gyldendal. Hentet 14. august 2018 fra http://denstoredanske.dk/index.php?sideId=58422