Kontrolenhed

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 31. august 2020; checks kræver 2 redigeringer .

Styremaskine , processorkontrolenhed (CU) ( eng. kontrolenhed , CU ) er en blok, enhed, komponent af computerhardware. Det er en finit diskret automat . Strukturelt består styreenheden af: en kommando (drifts) dekoder , et kommandoregister , en node til generering (beregning af) den aktuelle udførelsesadresse , en kommandotæller .  

Kontrolenhederne i moderne processorer er normalt implementeret i form af en firmwareautomat , og i dette tilfælde inkluderer kontrolenheden en mikroinstruktions -ROM .

CU er designet til at generere styresignaler for alle blokke i maskinen [1] .

I von Neumann-arkitekturen er den en integreret del af den centrale behandlingsenhed [2] .

Sådan virker det

Når programmet udføres, modtager styreenheden den næste instruktion eller programkommando ved indgangen , som kommer ind i instruktionsregisteret. Strukturelt består instruktionsregisteret af to dele: den ene del gemmer operationskoden (COP), den anden del indeholder adresserne på operanderne involveret i kontrollen. Operationskoden kommer ind i operationsdekoderen, som starter sekvensen af ​​skiftende tilstande for CU-tilstandsmaskinen, i moderne maskiner starter den noget firmware, der er gemt i firmware-ROM'en. Essensen af ​​kontrolenhedens arbejde er den sekventielle indstilling af kombinationer af styresignaler på kontrollinjerne.

Under overgangen fra en intern tilstand til den næste tilstand af CU'ens tilstandsmaskine, tilstanden af ​​registret over tegn på resultatet af udførelsen af ​​den forrige kommando ( flagregisteret ), tilstanden af ​​kontrolindgangene (f. for eksempel tages der også hensyn til parathedssignaler for perifere enheder, hardwareafbrydelseslinjer ), og CU udsender sekvenser af styreimpulser (inter-register overførsler, adressering og dataoverførselssignaler mellem næsten alle computerblokke - aritmetisk logisk enhed ( ALU ), input/output undersystem, RAM og andre).

Næsten altid, til udførelse af en kommando/instruktion, udsender CU en sekvens af flere styreimpulser eller deres kombinationer i en sekvens bestemt af kommando/instruktionskoden. Efter afslutningen af ​​udstedelsen af ​​alle styreimpulser til udførelse af den aktuelle kommando, læser kontrolenheden koden for den næste kommando osv.

CU'en er sædvanligvis synkroniseret af eksterne klokimpulser genereret af klokpulsgeneratoren (GTI), det vil sige, at overgangen fra tilstanden til tilstanden af ​​tilstandsmaskinen for CU'en sker på hver klokimpuls, i nogle CU'er, for at øge hastigheden styreimpulser genereres både på den stigende kant af impulsen og på den faldende.

Eksempler på CU'ens arbejde ved udførelse af kommandoen

Overførsel af data fra et internt processorregister til et andet.

Denne kommando udføres i 2-3 clock-cyklusser. I den første cyklus sender CU tilstanden af ​​programtælleren (Program Counter - PC) til adressebussen for at vælge den næste kommandokode og en impuls til RAM-læselinjen, mens den analyserer RAM-klar bit. Når RAM'en er klar, overføres kommandokoden til registret for den aktuelle kommando. Ellers udfører CU'en ventecyklusserne uden at ændre tilstanden af ​​kontrol-/adresselinjerne.

Den faktiske udførelse af denne kommando udføres i to cyklusser af clock-impulser, hvis kommandoen hentes og afkodes i én cyklus. I den første cyklus afkoder CU'en kommandoregisterkoden. I anden cyklus udsendes kilderegisterets tilstand til den interne fælles databus ved hjælp af taster, og samtidig forbindes modtagerregistrets indgang med andre taster til den samme interne databus, som en resultatet, hvoraf modtagerregistret overtager kilderegistrets tilstand. Derefter åbner CU'en tasterne og fortsætter til udførelsen af ​​den næste kommando.

Skrivning af et internt processorregister til RAM på adressen fra adresseregisteret.

Hentning af en instruktion fra RAM er lignende. Det tager flere cyklusser at udføre denne kommando. Som altid læses og afkodes instruktionskoden i den første cyklus. Derefter sendes adresseregisterets tilstand til den eksterne adressebus med nøgler styret fra CU'en, og på samme tid sendes tilstanden af ​​kilderegisteret til den eksterne databus, et skrivesignal udsendes til hukommelse skrive kontrollinje. CU'en kontrollerer hukommelsesberedskabssignalet, hvis RAM'en er klar, så fjerner CU'en alle styresignaler og fortsætter med at læse den næste kommando, ellers udfører den tomme ventecyklusser.

Udførelse af en betinget springinstruktion.

Ud over de lignende handlinger, der er beskrevet, analyserer CU'en yderligere det interne tilstandsregister for processoren - resultatet af udførelsen af ​​den foregående kommando. For eksempel, hvis resultatet af den foregående additions- eller subtraktionsinstruktion var 0, så skrives et nultegn i processorstatusregisterbit (flag). Når du udfører en betinget hop-kommando (i dette eksempel er kommandoen hop hvis nul , i assemblersprog, er kommandoen mnemonisk kode normalt skrevet som JZ <jump address> ) analyserer dette flag og, afhængigt af dets tilstand, indlæser enten adressen angivet i kommandoen ind i programtællerovergangen, eller hvis betingelsen ikke er opfyldt, indlæser adressen på den næste instruktion i rækkefølge i programmet i programtælleren.

De beskrevne eksempler er forenklede, i moderne processorer stræber de efter at udføre så mange handlinger som muligt i en urcyklus, nogle gange udføres handlinger foran og falder på ursignalet. Når en kommando optager flere ord i programhukommelsen, læser styreenheden sekventielt alle ordene i kommandokoden og fortsætter først derefter til dens udførelse.

Mikroprogram kontrol automat

I tidlige computere blev CU designet og udført i form af " hard logic " - logiske kombinationskredsløb , flip- flops , registre, dekodere .

I 1951 foreslog M. V. Wilks at designe en kontrolenhed i form af en mikroprogramautomat, det vil sige at generere sekvenser af styreimpulser ved hjælp af en mikroprogramautomat styret af mikroprogrammer bestående af mikroinstruktioner lagret i en permanent eller omprogrammerbar (omprogrammerbar) mikroprogramhukommelse af processoren. Denne tilgang reducerer markant arbejdsomkostningerne til at designe CU-tilstandsmaskinen og gør det desuden relativt let at modificere den. Med udviklingen af ​​halvlederteknologi og fremkomsten på markedet af et stort antal programmerbare controllere, er denne tilgang blevet dominerende, når der oprettes CU'er.

Men i de senere år har der for nogle APCS-systemer været en tendens til at vende tilbage (på et nyt teknologisk niveau) til brugen af ​​systemer baseret på hård logik, især fordi de har en høj grad af beskyttelse mod computerangreb. .

Se også

Noter

  1. Informatik: Lærebog / N. V. Makarova. — Finans og statistik, 2006. — 768 s. — ISBN 978-5-279-02202-1 .
  2. af Neumann . Første udkast til en rapport om EDVAC. 1945