Řídicí stroj , procesorové řídicí zařízení (CU) ( angl. control unit, CU ) je blok, zařízení, součást hardwaru počítače. Je to konečný diskrétní automat . Strukturálně se řídicí zařízení skládá z: dekodéru příkazů (provozu) , registru příkazů , uzlu pro generování (výpočet) aktuální adresy provádění , čítače příkazů .
Řídicí jednotky moderních procesorů jsou většinou implementovány ve formě firmwarového automatu a v tomto případě je součástí řídicí jednotky mikroinstrukční ROM .
ŘS je navržena tak, aby generovala řídicí signály pro všechny bloky stroje [1] .
V von Neumannově architektuře je nedílnou součástí centrální procesorové jednotky [2] .
Když je program vykonán, řídící jednotka přijme další instrukci nebo příkaz programu na vstupu , který vstoupí do registru instrukcí. Strukturálně se registr instrukcí skládá ze dvou částí: jedna část ukládá operační kód (COP), druhá část obsahuje adresy operandů zapojených do řízení. Operační kód vstupuje do provozního dekodéru, který spouští sekvenci měnících se stavů stavového automatu CU, u moderních strojů spouští některý firmware uložený ve firmware ROM. Podstatou práce řídící jednotky je sekvenční nastavení kombinací řídících signálů na řídících linkách.
Při přechodu z jednoho vnitřního stavu do dalšího stavu stavového automatu CU se zjišťuje stav registru znaků výsledku provedení předchozího příkazu ( registr příznaků ), stav řídicích vstupů (např. zohledněny jsou např. i signály připravenosti periferních zařízení, hardwarové přerušovací linky a CU vydává sekvence řídicích impulsů ( meziregistrové přenosy, adresování a signály přenosu dat mezi téměř všemi bloky počítače - aritmetická logická jednotka ( ALU ), vstupní/výstupní subsystém, RAM a další).
Téměř vždy pro provedení příkazu/instrukce vydá CU sekvenci několika řídicích impulsů nebo jejich kombinací v sekvenci určené kódem příkazu/instrukce. Po dokončení vydávání všech řídicích impulsů pro provedení aktuálního příkazu řídicí jednotka načte kód dalšího příkazu atd.
CU je obvykle synchronizována externími hodinovými impulsy generovanými generátorem hodinových impulsů (GTI), to znamená, že přechod ze stavu do stavu stavového automatu CU nastává při každém hodinovém impulsu, v některých CU, aby se zvýšila rychlost. řídící impulsy jsou generovány jak na náběžné hraně impulsu , tak na sestupném.
Tento příkaz se provádí ve 2-3 hodinových cyklech. V prvním cyklu odešle CU stav programového čítače (Program Counter - PC) na adresovou sběrnici, aby zvolila další příkazový kód a impuls do čtecí řádky RAM, přičemž analyzuje bit připravenosti RAM. Když je RAM připravena, kód příkazu se přenese do registru aktuálního příkazu. Jinak CU provede čekací cykly beze změny stavu řídicích/adresních linek.
Vlastní provedení tohoto příkazu se provádí ve dvou cyklech hodinových impulsů, pokud je příkaz vyzvednut a dekódován v jednom cyklu. V prvním cyklu CU dekóduje kód příkazového registru. Ve druhém cyklu je stav zdrojového registru vyveden pomocí kláves na vnitřní společnou datovou sběrnici a současně je vstup registru přijímače připojen dalšími klávesami na stejnou interní datovou sběrnici, jako výsledkem je, že registr přijímače převezme stav zdrojového registru. Dále CU otevře klávesy a přejde k provedení dalšího příkazu.
Zápis interního registru procesoru do RAM na adresu z registru adres.Načítání instrukce z RAM je podobné. Provedení tohoto příkazu trvá několik cyklů. Jako vždy se v prvním cyklu přečte a dekóduje kód instrukce. Poté je na externí adresovou sběrnici s klíči řízenými z CU vydán stav registru adres a současně je vydán stav zdrojového registru na externí datovou sběrnici, je vydán signál zápisu na řádek řízení zápisu do paměti. ŘS zkontroluje signál připravenosti paměti, pokud je připravena RAM, pak ŘJ odstraní všechny řídicí signály a přejde ke čtení dalšího příkazu, jinak provede prázdné čekací cykly.
Provedení instrukce podmíněného skoku.Kromě podobných popsaných akcí CU navíc analyzuje vnitřní stavový registr procesoru - výsledek provedení předchozího příkazu. Pokud byl například výsledek předchozí instrukce sčítání nebo odčítání 0, pak se do bitu stavového registru procesoru (příznak) zapíše znaménko nula. Při provádění příkazu podmíněného skoku (v tomto příkladu je příkaz jump if zero , v jazyce symbolických instrukcí se mnemotechnický kód příkazu obvykle zapisuje jako JZ <adresa skoku> ) analyzuje tento příznak a v závislosti na jeho stavu buď načte adresu zadaný v příkazu do přechodu programového čítače, nebo není-li podmínka splněna, načte do programového čítače adresu další instrukce v pořadí v programu.
Popsané příklady jsou zjednodušené, v moderních procesorech se snaží provést co nejvíce akcí v jednom hodinovém cyklu, někdy se akce provádějí na předku a na konci hodinového signálu. Když jeden příkaz zabírá několik slov v paměti programu, pak řídící jednotka postupně načte všechna slova příkazového kódu a teprve poté přistoupí k jeho provedení.
V raných počítačích byla CU navržena a provedena ve formě „ tvrdé logiky “ - kombinačních logických obvodů , klopných obvodů , registrů, dekodérů .
V roce 1951 navrhl M. V. Wilks zkonstruovat řídicí zařízení ve formě mikroprogramového automatu, tedy generovat sekvence řídicích impulsů pomocí mikroprogramového automatu řízeného mikroprogramy sestávajícími z mikroinstrukcí uložených v trvalé nebo přeprogramovatelné (přeprogramovatelné) paměti mikroprogramu. procesor. Tento přístup výrazně snižuje mzdové náklady na návrh stavového automatu CU a navíc umožňuje relativně snadnou jeho úpravu. S rozvojem polovodičové technologie a příchodem velkého množství programovatelných automatů na trh se tento přístup stal dominantním při vytváření CU.
V posledních letech se však u některých systémů APCS objevila tendence vrátit se (na nové technologické úrovni) k používání systémů založených na tvrdé logice, zejména proto, že mají vysoký stupeň ochrany proti počítačovým útokům. .
procesorů | Technologie digitálních|||||||||
---|---|---|---|---|---|---|---|---|---|
Architektura | |||||||||
Architektura instrukční sady | |||||||||
strojové slovo | |||||||||
Rovnoběžnost |
| ||||||||
Implementace | |||||||||
Komponenty | |||||||||
Řízení spotřeby |