Kubatova
19.4.2007
Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007
Y36SAP-control unit
1
Von Neumannova architektura (UPS1) • Instrukce a data jsou uloženy v téže paměti. • Paměť je organizována lineárně (tzn. jednorozměrně) a je rozdělena na stejně velké buňky, které se adresují celými čísly (zprav. 0, 1, 2, 3, . . . ). • Data ani instrukce nejsou explicitně označeny. • Explicitně nejsou označeny ani různé datové typy. • Pro reprezentaci dat i instrukcí se používají dvojkové signály. • V instrukci zpravidla není uváděna hodnota operandu, ale jeho adresa. • Instrukce se provádějí jednotlivě, a to v pořadí, v němž jsou zapsány v paměti, pokud není toto pořadí změněno speciálními instrukcemi (nazývanými skoky). 19.4.2007
Y36SAP-13
Y36SAP-control unit
2
1
Kubatova
19.4.2007
Von Neumannova architektura (UPS1) • Důsledek - podle výpisu paměti nelze poznat, zda jde o instrukce nebo o data (ani o jaká data) – je třeba znát kontext • Počítač tvoří: – hlavní paměť (main memory) – procesor: • datová část – ALU – aritmeticko-logická jednotka – Registry
• řídící část – Řadič – control unit, controller
– vstupní/výstupní zařízení 19.4.2007
Y36SAP-control unit
3
Hardwarová architektura počítače (1) Hlavní komponenty počítačového systému
Paměť
Procesor Řídící část Řadič - Controller
Datová část Aritmeticko-logická jednotka - ALU
Vstupní/Výstupní zařízení 19.4.2007
Y36SAP-13
Y36SAP-control unit
4
2
Kubatova
19.4.2007
Řadič procesoru • Pracuje podle instrukčního cyklu • Řídí činnost všech výkonných jednotek počítače podle instrukcí a jejich kódu, podle instrukčního cyklu • Je to sekvenční obvod – závisí na sekvenci vstupních (stavových) signálů, které generují výkonné jednotky (ALU, HP - instrukce) a vysílá jim řídící signály • Pracuje v nekonečném cyklu – řídí zpracování instrukcí • Navrhuje se podle instrukčního cyklu a výběru ISA – z grafu přechodů – vývojového digramu • Podle způsobu jeho realizace existuje tzv.obvodový (klasický) řadič a mikroprogramový řadič 19.4.2007
Y36SAP-control unit
5
Instrukční cyklus Instruction Fetch Instruction Decode Operand Fetch Execute
čtení instrukce dekódování instrukce čtení operandu provedení instrukce
Result Store Synchron
uložení výsledku dotaz na přerušení
Interrupt? 19.4.2007
Y36SAP-13
Y36SAP-control unit
6
3
Kubatova
19.4.2007
AB PC
IR
Řízení
M ALU
ACC DB
Řízení ..... které akce mohou/musí proběhnout paralelně? • nahraj data do registrů - WPC, WIR, WACC • output enable registrů – OEPC, OEACC • inkrement registru – IncPC • Výběr operace ALU – ADD, SUB, CMP • čti – zapiš do paměti WM, RM, RESET ... PC = 0 19.4.2007
Y36SAP-control unit
7
Návrh procesoru ADOP GPR architektura Registry … 16 registrů dostupných programátorovi: R0 – R11 universálních (datových) registrů SP – ukazatel zásobníku PC – programový čítač PSW – stavový registr, Příznaky Z … zero, C … carry, S … sign, O … overflow, ES … extended sign (znaménko 2. operandu v binárních operacích)
ZR – obsahuje konstantní nulu 19.4.2007
Y36SAP-13
Y36SAP-control unit
8
4
Kubatova
19.4.2007
IR
ZR
SP
ALU
PC
R0 R1 R2
PSW
R0...R11
reg W
Řadič Paměť 19.4.2007
Vstup/Výstup
Y36SAP-control unit
9
Kódování instrukcí – obsah IR • 2 až 4 bytové instrukce • Operační znak 2 slabiky, operand až 2 slabiky
Třetí půlbyte (nejvýznamnější bity operačního kódu) určuje skupinu instrukcí. Nejvýznamnější tj.šestnáctý bit určuje délku instrukce: 0 – dvoubytové instrukce 1 – čtyřbytové instrukce Jména strojových instrukcí vyjadřují význam jednotlivých půlbytů operačního kódu. 19.4.2007
Y36SAP-13
Y36SAP-control unit
10
5
Kubatova
19.4.2007
Obecný (Huffmannův) model sekvenčního obvodu
Mnoho vstupů - stavových signálů
19.4.2007
Výstupy – řídící signály pro výkonné jednotky Y36SAP-control CLKunit
11
Realizace řadiče • jde o sekvenční obvod • mnoho vstupů • mnoho výstupů
Řadič
ale v daném taktu (stavu) se uplatní jen málo z nich, tzn. jeden nebo žádný většinou se pokračuje následujícím stavem jde o popis algoritmu - činností v instrukčním cyklu, lze použít vývojový diagram 19.4.2007
Y36SAP-13
Y36SAP-control unit
12
6
Kubatova
19.4.2007
Čtení instrukce, vývojový diagram
19.4.2007
Y36SAP-control unit
13
žádost o sběrnici Obsah PC na adresovou sběrnici čtení dat z hlavní paměti a jejich uložení do registru instrukce čekání na platná data z hlavní paměti
19.4.2007
Y36SAP-13
nastavení obsahu PC na adresu další instrukce +1 nebo +2 ...
Y36SAP-control unit
14
7
Kubatova
19.4.2007
totéž jako graf přechodů
19.4.2007
Y36SAP-control unit
15
obvodový řadič
totéž realizované jako obvodový řadič, v kódu 1zN, tzn. každému stavu Mi odpovídá jeden D-KO
19.4.2007
Y36SAP-13
Y36SAP-control unit
16
8
Kubatova
19.4.2007
Realizace řadiče • Podle způsobu jeho realizace existuje tzv.obvodový (klasický) řadič a mikroprogramový řadič • Obvodový řadič – návrh klasického sekvenčního obvodu ... usnadnění ... kód vnitřních stavů 1 z n – pak lze návrh provést z vývojových diagramů popisující činnost procesoru při provádění instrukcí podle instrukčního cyklu • Mikroprogramový řadič – – Sekvenční obvod s kombinační částí realizovanou pamětí (nazývá se řídící paměť, paměť mikroprogramů, control memory) – Jednotlivé dílčí operace, které se provádějí při zpracování instrukcí jsou uloženy v této paměti a říká se jim mikroinstrukce – Soubor mikroinstrukcí tvoří mikroprogram, soubor všech mikroprogramů je mikroprogramové vybavení - firmware 19.4.2007
Y36SAP-control unit
17
Obecný (Huffmannův) model sekvenčního obvodu
Mnoho vstupů - stavových signálů
19.4.2007
Y36SAP-13
Výstupy – řídící signály pro výkonné jednotky Y36SAP-control CLKunit
18
9
Kubatova
19.4.2007
Paměť-ROM Multiplexor řízený z výstupů paměti – výběr „podmínky“ – stavového signálu
registr
Výstupy – řídící signály pro výkonné jednotky
Y36SAP-control CLKunit
19.4.2007
19
Mikroprogramový řadič Moorův automat
CLK
19.4.2007
Y36SAP-13
Y36SAP-control unit
20
10
Kubatova
19.4.2007
Mikroprogramový řadič • jsou možné další úpravy a vylepšení podle souboru instrukcí a výkonných jednotek • čítač adres mikroinstrukcí, protože věršinou se pokračuje následující • např. pro často se opakující části instrukcí zavést možnost podmikroprogramů a HW zásobník jako součást řadiče a čítač taktů s možností přednastavení pro počet opakování cyklů mikroinsrukcí 19.4.2007
Y36SAP-control unit
21
• Soubor všech mikroprogramů, tzn.popisu činností každé instrukce v taktech je mikroprogramové vybavení - firmware • Horizonální mikroprogramování - viz Sl.17 – – – –
dlouhé mikroinstrukce jedna mikroinstrukce v jednom taktu řídící signály součástí mikroinstrukce omezené větvení
• Vertikální mikroprogramování – krátké mikroinstrukce – čítač adres mikroinstrukcí – jedna mikroinstrukce ve více taktech – dekodér pro řídící signály 19.4.2007
Y36SAP-13
Y36SAP-control unit
22
11
Kubatova
19.4.2007
Řadič program .... se skládá z instrukcí instrukce ... se provádí ve několika taktech a skládá se z mikroinstrukcí mikroinstrukce ... okamžitý stav procesoru skládá se: – z řídících signálů pro výkonné jednotky – určení následného stavu (kde se bude pokračovat) – volby vstupů, které jsou v příštím taktu významné
19.4.2007
Y36SAP-control unit
23
Proudové zpracování instrukcí pipelining princip výrobního pásu - zpracování instrukce po částech • každá jednotka provede část operace • jednotky pracují současně
19.4.2007
Y36SAP-13
Y36SAP-control unit
24
12
Kubatova
19.4.2007
...pipelining • triviální případ - předčítání instrukcí, jedna instrukce se čte, další dekóduje, provádí ... • v ideálním případě je v každém taktu dokončena jedna instrukce konflikty: • datový - potřebná data dosud nejsou uložena • skokový - adresu skoku zatím nelze určit řešení ... počkat (to nejjednodušší, ale ne jediné), .... 19.4.2007
Y36SAP-control unit
25
Počítače typu RISC Reduce Instruction Set Computers • jak navrhnout rychlý procesor? Co nejvíce výkonných instrukcí? • statistika .. co nejefektivnější mají být ty nejpoužívanější (přesuny, skoky, srovnání, ...), výkonné se používají málo
19.4.2007
Y36SAP-13
Y36SAP-control unit
26
13
Kubatova
19.4.2007
Počítače typu RISC - charakteristika • • • • • • • •
malý počet jednoduchých instrukcí (<128) krátká doba provedení instrukce - dokončení v jednom taktu pipelining obvodový řadič malý počet formátů instrukcí (<=4) malý počet způsobů adresace (<=4) velký počet registrů (>32) komunikace s pamětí pouze instrukcí "přesun"
protipól CISC - Complex Instruction Set Computers počítače s rozsáhlým souborem instrukcí 19.4.2007
Y36SAP-13
Y36SAP-control unit
27
14