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.
Kommentarer
Kommentarer til artiklen bliver synlige for alle. Undlad at skrive følsomme oplysninger, for eksempel sundhedsoplysninger. Fagansvarlig eller redaktør svarer, når de kan.
Du skal være logget ind for at kommentere.