Hva er en kontrollenhet?
En kontrollenhet er underkomponenten til den sentrale prosesseringsenheten (CPU) som administrerer alle handlingene som utføres i dette området på en datamaskin. Det er ansvarlig for å ta de forskjellige inngangene fra datamaskinen, instruksjoner og data og fortelle prosessoren hva de skal gjøre med dem. Siden CPU blir ansett som datamaskinens hjerne, blir det noen ganger referert til som hjernen i hjernen. Avhengig av CPU-arkitekturen, kan kontrollenheten ha forskjellige oppgaver å utføre.
Kontrollenheten består faktisk av flere underkomponenter. I løpet av de hardwired dager, dannet alt dette ledningsnettet og kretsløp det som er kjent som en finite-state-maskin, et system som har et enestående formål med å styre datamaskinens operasjoner. Separate kretsløp var ansvarlig for dekoding og koding av instruksjoner, mens andre håndterte logikk eller teller instruksjonene CPU arbeidet med. Alt skjedde i orden, der logikkretsene ville bli snudd på en eller annen måte for å rette instruksjonene til lagring.
En instruksjon blir hentet og dekodet, og deretter må den utføres i rekkefølge, etter hverandre til den er fullført. I eldre CPU-er, vil instruksjonen måtte gå gjennom hele prosessen og fullføre beregningen før den neste skulle begynne. For å fremskynde behandlingen bruker moderne CPU-er det som kalles rørledninger, der hvert trinn er en del av rørledningen. Mens en instruksjon er i utførelsesdelen av rørledningen, er en annen allerede i avkodingsfasen, og en annen blir hentet. For å håndtere alt dette, måtte kontrollenheten også utføre rollen som en multiplekser, ved at den tar flere innganger eller utganger og fører dem inn og ut av rørledningen.
Etter hvert som datamaskin-CPU-er fortsatte å avansere, endret mye av dette seg dramatisk. Bruken av mikrokoder, bittesmå programmer som sitter i spesiell, høyhastighets skrivebeskyttet minne på CPU-en, tok plassen til den gamle hardwired-kretsen. Disse lave nivå-programmene overtok den tidkrevende jobben med å fysisk koble til en kontrollenhet og forenklet endringer i CPU-arkitekturen. De spesialskrevne mikroprogrammene til kontrollenheten, opprettet i løpet av CPU-prosjekteringsfasen, er det som muliggjør arkitekturen til en bestemt type CPU.
Generelt er mye av kontrollenhetens ansvar avhengig av CPU-arkitekturen. Noen kan ganske enkelt hente, avkode, koordinere utførelsen og dirigere utdataene fra instruksjoner. Andre kan ha tilleggsansvar som involverer oversettelse, noe som kan bremse prosessoren. I disse tilfellene kan kontrollenheten videre deles opp i kortfattede komponenter, for eksempel en egen planleggingsenhet, eller en pensjonsenhet som tar seg av organisering og lagring av resultatene fra den rithmetic logic unit (ALU).