Styrmaskin , processorstyrenhet (CU) ( eng. kontrollenhet , CU ) är ett block, en anordning, en komponent i datorhårdvara. Det är en finit diskret automat . Strukturellt består styrenheten av: en kommando- (drifts) avkodare , ett kommandoregister , en nod för att generera (beräkna) den aktuella exekveringsadressen , en kommandoräknare .
Styrenheterna för moderna processorer är vanligtvis implementerade i form av en firmware-automat , och i detta fall inkluderar styrenheten ett mikroinstruktions- ROM .
CU är utformad för att generera styrsignaler för alla block i maskinen [1] .
I von Neumann-arkitekturen är det en integrerad del av den centrala bearbetningsenheten [2] .
När programmet exekveras får styrenheten nästa instruktion eller programkommando vid ingången , som går in i instruktionsregistret. Strukturellt består instruktionsregistret av två delar: en del lagrar operationskoden (COP), den andra delen innehåller adresserna till operanderna som är involverade i kontrollen. Operationskoden går in i operationsavkodaren, som startar sekvensen av ändrade tillstånd hos CU-tillståndsmaskinen, i moderna maskiner startar den viss firmware lagrad i firmware-ROM. Kärnan i styrenhetens arbete är den sekventiella inställningen av kombinationer av styrsignaler på styrlinjerna.
Under övergången från ett internt tillstånd till nästa tillstånd för CU:ns tillståndsmaskin, tillståndet för registret med tecken på resultatet av utförandet av det föregående kommandot ( flaggregistret ), tillståndet för kontrollingångarna (för Exempelvis tas även beredskapssignaler för kringutrustning, hårdvaruavbrottslinjer med i beräkningen, och CU matar ut sekvenser av styrpulser (interregisteröverföringar, adressering och dataöverföringssignaler mellan nästan alla datorblock - aritmetisk logikenhet ( ALU ), in-/utgångsundersystem, RAM och andra).
Nästan alltid, för exekvering av ett kommando/instruktion, avger CU:n en sekvens av flera styrpulser eller deras kombinationer i en sekvens som bestäms av kommando/instruktionskoden. Efter slutförandet av utfärdandet av alla styrpulser för utförande av det aktuella kommandot, läser styrenheten koden för nästa kommando, etc.
CU:n synkroniseras vanligtvis av externa klockpulser som genereras av klockpulsgeneratorn (GTI), det vill säga övergången från tillståndet till tillståndet för CU:ns tillståndsmaskin sker på varje klockpuls, i vissa CU:er, för att öka hastigheten , styrpulser genereras både på den stigande flanken av pulsen och på den fallande .
Detta kommando utförs i 2-3 klockcykler. I den första cykeln sänder CU:n programräknarens tillstånd (Program Counter - PC) till adressbussen för att välja nästa kommandokod och en puls till RAM-läslinjen, samtidigt som RAM-klarbiten analyseras. När RAM-minnet är klart överförs kommandokoden till registret för det aktuella kommandot. I annat fall exekverar CU:n väntecyklerna utan att ändra tillståndet för styr-/adresslinjerna.
Den faktiska exekveringen av detta kommando utförs i två cykler av klockpulser, om kommandot hämtas och avkodas i en cykel. I den första cykeln avkodar CU:n kommandoregisterkoden. I den andra cykeln matas källregistrets tillstånd ut till den interna gemensamma databussen med hjälp av nycklar, och samtidigt kopplas ingången till mottagarregistret med andra nycklar till samma interna databuss, som en resultatet av vilket mottagarregistret antar källregistrets tillstånd. Därefter öppnar CU nycklarna och fortsätter till exekveringen av nästa kommando.
Skriva ett internt processorregister till RAM på adressen från adressregistret.Att hämta en instruktion från RAM är liknande. Det tar flera cykler att utföra detta kommando. Som alltid, i den första cykeln, läses och avkodas instruktionskoden. Sedan skickas adressregistrets tillstånd till den externa adressbussen med nycklar styrda från CU:n, och samtidigt skickas tillståndet för källregistret till den externa databussen, en skrivsignal avges till minnesskrivkontrolllinje. CU:n kontrollerar minnesberedskapssignalen, om RAM-minnet är redo, så tar CU:n bort alla styrsignaler och fortsätter till att läsa nästa kommando, annars exekverar den tomma väntecykler.
Utförande av en villkorlig hoppinstruktion.Förutom de beskrivna liknande åtgärderna analyserar CU:n dessutom det interna tillståndsregistret för processorn - resultatet av exekveringen av det föregående kommandot. Till exempel, om resultatet av den föregående additions- eller subtraktionsinstruktionen var 0, skrivs ett nolltecken i processorstatusregisterbiten (flaggan). Vid exekvering av ett villkorligt hoppkommando (i det här exemplet är kommandot hopp om noll , i assemblerspråk, kommandot mnemonisk kod skrivs vanligtvis som JZ <hoppadress> ) analyserar denna flagga och, beroende på dess tillstånd, antingen laddar adressen som anges i kommandot till programräknarens övergång, eller om villkoret inte är uppfyllt, laddar adressen till nästa instruktion i ordning i programmet i programräknaren.
De beskrivna exemplen är förenklade, i moderna processorer strävar de efter att utföra så många åtgärder som möjligt i en klockcykel, ibland utförs åtgärder vid klocksignalens front och fall. När ett kommando upptar flera ord i programminnet, läser styrenheten sekventiellt alla ord i kommandokoden och, först efter det, fortsätter den till dess exekvering.
I tidiga datorer designades CU:n och exekverades i form av " hård logik " - kombinationslogikkretsar , vippor , register, avkodare .
1951 föreslog M. V. Wilks att utforma en styrenhet i form av en mikroprogramautomat, det vill säga att generera sekvenser av styrpulser med hjälp av en mikroprogramautomat som styrs av mikroprogram bestående av mikroinstruktioner lagrade i ett permanent eller omprogrammerbart (omprogrammerbart) mikroprogramminne av processorn. Detta tillvägagångssätt minskar avsevärt arbetskostnaderna för att designa CU-tillståndsmaskinen och gör det dessutom relativt enkelt att modifiera den. Med utvecklingen av halvledarteknik och uppkomsten på marknaden av ett stort antal programmerbara styrenheter, har detta tillvägagångssätt blivit dominerande när man skapar CU: er.
Men under de senaste åren har det för vissa APCS-system funnits en tendens att återgå (på en ny teknisk nivå) till användningen av system baserade på hård logik, i synnerhet för att de har en hög grad av skydd mot datorattacker. .
Processor Technologies | Digital|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkitektur | |||||||||
Instruktionsuppsättning arkitektur | |||||||||
maskinord | |||||||||
Parallellism |
| ||||||||
Genomföranden | |||||||||
Komponenter | |||||||||
Energihantering |