C. Řadiče úvod základní cyklus počítače(1) provádění některých operací přerušení základní cyklus počítače(2) řízení vlastnířadič mikroprogramovaný řadič horizontální horizontální/ vertikální klasický řadič s řídicími řetězci nabázičítače mikroprogramovaný versus klasický řadič JPO 2005/6 c A. Pluháček 20.3.2006
řadič řadič počítače část(jednotka) počítače/procesoru, která řídí činnost počítače řídicíčást jádrořadiče...vpodstatě vlastnířadič datová část registry PC programový čítač adresa následující instrukce IR registr instrukcí(instrukční registr) právě prováděná instrukce jiné, např: PSW- stavové slovo programu maska přerušení PSW(?) SP ukazatel zásobníku bázové registry, indexregistry aj. další potřebné obvody, např. dekodér operačního znaku čítače, sčítačka aj. JPO 2005/6 C 1 c A. Pluháček 20.3.2006
základní cyklus počítače i základní cyklus(instrukční cyklus) 1. počáteční nastavení zejm. PC a stav procesoru(např. maska přerušení) 2. čtení instrukce PC adresahp čtení data IR PC+ l PC,kde ljedélkainstrukce 3. dekódování operačního znaku(oz) 4. provedení operace (včetně vyhodnocení efektivních adres, čtení operandů apod.) 5. ošetření příčiny přerušení 6. opakováníodkroku2 JPO 2005/6 C 2 c A. Pluháček 20.3.2006
operace(některé): operace přesuny zásobník(rostoucí nahoru) zápis(push): SP++(preinkrementace) data(zregistru) datahp SP adresahp zápis čtení(pop): SP adresahp čtení data(zhp) registr SP (postdekrementace) aritmetické a logické operace skoky: efektivníadresa PC skoky do podprogramu(při použití zásobníku): PC zásobník(uložení návratové adresy) (jako PUSH) efektivníadresa PC(skok) návrat z podprogramu(při použití zásobníku): zásobník PC (jakopop) JPO 2005/6 C 3 c A. Pluháček 20.3.2006
přerušení přerušení: synchronní vyvolané speciální instrukcí(int, TRAP, SVC apod.) vyvolané jinou instrukcí(v podstatě nežádoucí stav) dělení nulou přeplnění nedovolený operační znak(oz) aj. asynchronní vnější způsobená periferními zařízeními požadavek operátora, jiného procesoru, od modemu apod. vnitřní způsobená časovačem způsobenákontrolnímiobvody(tzv. hlídači ) výpadek napájení JPO 2005/6 C 4 c A. Pluháček 20.3.2006
obsluha přerušení i kontext=obsah PC +stavprocesoru maskapřerušení typpřerušení=jednanebovíce příbuzných příčin Obsluha přerušení (na úrovni technického vybavení HW): 1. uložení dat přerušení uložení starého kontextu umožňuje pokračovat v přerušeném programu uložení bližší specifikace příčiny přerušení 2. nastavení nového kontextu(podletypupřerušení) ad 1. uložení dat přerušení na zásobník na určené adresy podle typu přerušení ad2. nastavení nového kontextu z tzv. vektorů přerušení podle typu přerušení jinak JPO 2005/6 C 5 c A. Pluháček 20.3.2006
obsluha přerušení ii uložení dat přerušení na zásobník a nastavení nového kontextuzvektorůpřerušení JPO 2005/6 C 6 c A. Pluháček 20.3.2006
základní cyklus počítače ii obsluha přerušení: asynchronní: na začátku(viz obr.) nebo na konci základního cyklu synchronní: v místě výskytu JPO 2005/6 C 7 c A. Pluháček 20.3.2006
základní cyklus počítače iii Poznámky k vývojovému diagramu: Vývojový diagram je třeba modifikovat tak, aby vyhovoval požadovanému chování konkrétního procesoru a co nejvíce vyhovoval jeho realizaci. V rámci realizace konkrétních operací se provádí také příp. čtení operandů a uložení výsledku; součástí těchto akcí může být i příp. vyhodnocení efektivních adres. Operační znak bývá dekódován postupně, např.: skupina aritmetických a logických operací se dekóduje společně; přečtou se operandy; dekóduje se a provede se konkrétní operace. JPO 2005/6 C 8 c A. Pluháček 20.3.2006
příklad čtení instrukce i předpokládané formáty instrukce: sběrnice(podsběrnice): adresová... SB.adr datová... SB.dat 8bitů=1B řídicí řídicí signály: MR čtení z hlavní paměti MW zápis do hlavní paměti. stavové signály: WAIT operace s hlavní pamětí dosud neskončila. JPO 2005/6 C 9 c A. Pluháček 20.3.2006
příklad čtení instrukce ii předpokládaná struktura registru instrukcí: registr instrukcí bude mít další potřebné výstupy WIR1, WIR2, WIR3 řídicí signály (zápisdo podregistrů IR1,IR2,IR3) JPO 2005/6 C 10 c A. Pluháček 20.3.2006
příklad čtení instrukce iii JPO 2005/6 C 11 c A. Pluháček 20.3.2006
příklad čtení instrukce iv řídicí signály: MR čtení z hlavní paměti MW zápis do hlavní paměti WIR1 SB.dat IR1 WIR2 SB.dat IR3 WIR3 SB.dat IR3 PCA PC SB.adr PCINCPC+1 PC. stavové signály: WAIT operace s hlavní pamětí dosud neskončila I1B 8bitová instrukce(1 B) OZ7 bitozvřádu7 OZ6 bitozvřádu6. JPO 2005/6 C 12 c A. Pluháček 20.3.2006
příklad čtení instrukce v JPO 2005/6 C 13 c A. Pluháček 20.3.2006
řízení vlastnířadič řadič jednotka/ sekvenční obvod výstupy: řídicí signály vstupy: stavové signály řadič mikroprogramovaný(řízený mikroprogramem) horizontální vertikální diagonální řadičklasický,téžobvodověrealizovaný,popř. obvodový řadič s řídicími řetězci řadičnabázičítače jinak navržený možná struktura mikroinstrukce: µoz adr V P µoz mikrooperační znak hodnoty řídicích signálů adr adresa následující mikroinstrukce V P výběr podmínky JPO 2005/6 C 14 c A. Pluháček 20.3.2006
mikroprogramovaný řadič horizontální i JPO 2005/6 C 15 c A. Pluháček 18.4.2006
příklad část µprogramu. MR MW WIR1 WIR2 WIR3 PCA PCINC....... adr VP M3 120 0 0 0 0 0 0 1... 122 0A M2 121 1 0 1 0 0 1 0... 120 09 M4 122 0 0 0 0 0 1 0... 125 00 M20123???????...?????? M6 124 0 0 0 0 0 0 1... 126 01 M5 125 1 0 1 0 0 1 0... 124 09 M30126???????...?????? M7 127???????...?????? M1 128 0 0 0 0 0 1 0... 121 00......... VP podmínka 00 adr0 01 OZ7 02 OZ6 03 OZ5 04 OZ4 05 OZ3 06 OZ2 07 OZ1 08 OZ0 09 WAIT 0A I1B.. JPO 2005/6 C 16 c A. Pluháček 2.6.2006 (opraveno)
mikroprogramovaný řadič horizontální ii adresa následující µinstrukce prováděná µinstrukce náhrada: 1 bit adresy násl. µinstr. podmínka(vp) = větveníažna2místa sudáadresaanásl.lichá náhrada: žádná(bitje nahrazen sebousamým) = žádné větvení (adresa následující µinstr. = adresa v prováděné µinstr.) náhrada2bitů(viznásl.obr.)= větvenína4místa adresa dělitelná 4 a tři adresy následující náhrada 1 bitu = větvení na 2 místa (týž multiplexor) náhrada žádného bit = bez větvení (týž multiplexor) náhrada nbitů= větvenína2 n míst.. dekódování OZ: bity OZ stavové signály nbitůoz větvenína2 n míst POZOR:!!!instrukce mikroinstrukce a OZ µoz!!! JPO 2005/6 C 17 c A. Pluháček 20.3.2006
mikroprogramovaný řadič horizontální iii JPO 2005/6 C 18 c A. Pluháček 18.4.2006
mikroprogramovaný řadič horizontální iv mikropodprogramy návratová adresa: Co je? Kamsní? SKOK do mikropodprogramu jen ze sudé (příp.jenzliché) adresy α NÁVRAT na adresu, která se od α liší posledním bitem adresa αseukládádo speciální tzv. zásobníkovépaměti LIFO (z té se čte vždy ta nejmladší položka) α JPO 2005/6 C 19 c A. Pluháček 20.3.2006
mikroprogramovaný řadič horizontální/ vertikální horizontální dlouhé mikroinstrukce(typicky 64b, např. 136b) řídicí signály mikroinstrukce µoz 1mikroinstrukce... 1takt není třeba µprogr. čítač adresa mikroinstr. vertikální v podstatě velmi zjednodušený řadič počítače (jakoby malý počítač uvnitř daného počítače) krátké mikroinstrukce(typicky 16b) 1mikroinstrukce... několiktaktů: čtení µinstrukce µprogramový čítač dekódování µoz provedení µoperace diagonální kompromis řídicí signály mikroinstrukce µoz 1mikroinstrukce... 1takt µprogramový čítač JPO 2005/6 C 20 c A. Pluháček 20.3.2006
klasický řadič vývojový diagram graf přechodů sekvenční obvod Příklad: JPO 2005/6 C 21 c A. Pluháček 20.3.2006
klasický řadič řadič s řídicími řetězci i sekvenční obvod? kódování vnitřních stavů? kód1zn řadičsřídicímiřetězci JPO 2005/6 C 22 c A. Pluháček 20.3.2006
klasický řadič řadič s řídicími řetězci ii použitígrafupřechodujako mezistupně nenínutné: JPO 2005/6 C 23 c A. Pluháček 20.3.2006
klasický řadič řadič na bázi čítače i čítač umožňující přednastavování kombinační část: dekodér řídicí signály ovládání čítače(přednastavit, nečítat apod.) Příklad čtení instrukce ovládání(výstupy): STOP... nečítat N20... nastavitna20 apod. jinak... čítat JPO 2005/6 C 24 c A. Pluháček 20.3.2006
příklad čtení instrukce v JPO 2005/6 C 25 c A. Pluháček 20.3.2006
klasický řadič řadič na bázi čítače ii stavyčítače: 1,2,3,... M1,M2,M3,...(pořadě) dekodér(pravdivostní tabulka): MR MW WIR1 WIR2 WIR3 PCA PCINC stav M1 0...0001 0 0 0 0 0 1 0... M2 0...0010 1 0 1 0 0 1 0... M3 0...0011 0 0 0 0 0 0 1... M4 0...0100 0 0 0 0 0 1 0... M5 0...0101 1 0 1 0 0 1 0... M6 0...0110 0 0 0 0 0 0 1... ovládání: M2& WAIT STOP M3&I1B N20 M5&WAIT STOP M6&OZ7 N30. JPO 2005/6 C 26 c A. Pluháček 20.3.2006...
mikroprogramovaný versus klasický řadič rychlost rychlejší: klasický řadič cena levnější: velmi jednoduché řízení klasický řadič jinak mikroprogramovaný řadič flexibilita flexibilnější: mikroprogramovaný řadič změna mikroprogramu změna chování procesoru řídicípaměť ROM RWM(aliasRAM) snadnáemulace emulace: simulace procesoru na jiném procesoru mikroprogramovými prostředky firmware = mikroprogramové vybavení software = programové vybavení hardware = technické vybavení JPO 2005/6 C 27 c A. Pluháček 20.3.2006