Rozdělení počítačů
Počítače rozdělujeme podle mnoha kritérií z nichž některé dále probereme. Nejčastější rozdělení je na počítače typu : CISC (Complex Instruction Set Computer), též počítače s úplným souborem strojových instrukcí. RISC (Reduced Instruction Set Computer), též počítače s omezeným souborem strojových instrukcí. Samé hranice tohoto rozdělení dosáhl procesor Intel nazvaný Pentium, který pracuje zřetězeným zpracováním více rozpracovaných instrukcí najednou, při čemž je každá v jiné fázi. V každém instrukčním cyklu pak jednu strojovou instrukci dokončuje. U nových procesorů vlastně neexistuje čistý RISC či CISC, protože se obě větve prolínají.
Počítače RISC Bylo statisticky zjištěno, že v 50 % případů se používají jen 3 instrukce a v 75 % případů 8 instrukcí. Ostatní instrukce se využívají jen ve zlomku promile. Obdobně i u řadiče 60 % mikroprogramů bylo určeno pro 20 % instrukcí, které byly využívány s četností 0,2 %. Proto počítače CISC mají velké množství velmi složitých instrukcí (často více než 200). Následek toho je, že nové instrukce vyžadují nové mikroprogramy či sledy mikroprogramů. Rozšířit funkci dekodéru instrukce pro bezchybné dekódování instrukcí bývá značně obtížné. Obtížnost vzniká tak, že jedna skupina bitů určuje, jak je nutno interpretovat druhou skupinu bitů. Dekodér je pak vícestupňový, složitý a pomalý.
Proto byly navrženy a vyvinuty počítače typu RISC neboli počítače s redukovaným souborem instrukcí. Tento nový směr architektury se objevil počátkem 80 let. Ve vývojových laboratořích IBM byl v roce 1979 realizován minipočítač, který měl redukovaný soubor instrukcí, ale nikdy se nedostal do sériové výroby. Na univerzitě v Berkeley byl roku 1982 navržen procesor RISC I, jehož název přejal pak celý směr. Rok nato na Stanfordově univerzitě byl realizován procesor s názvem MIPS t.j. procesor s proudovým zpracováním, kde se sekce vzájemně neblokují. Z těchto dvou pokusů byla pak odvozena celá řada novějších procesorů.
Pro výkon procesoru není podstatné kolika částmi ta která instrukce prochází, ale jak dlouho tam setrvá. Pro tento způsob práce procesoru jsou však potřebné 2 vyrovnávací paměti a to paměť instrukce a paměť dat. Navíc velký počet registrů procesoru umožňuje čtení a zápis operandů do registrů včetně výsledků. Vysoká rychlost procesoru vyžaduje velmi rychlou paměť s potřebnou kapacitou. Instrukce se ukládají do fronty instrukcí přímo na čipu procesoru. Kromě toho existují většinou na čipu procesoru vyrovnávací paměti programu a dat v rozsahu kB. Do fronty instrukcí jsou instrukce vkládány samostatnou instrukční jednotkou.
Další urychlení je bit předpovědi skoku, který se nastavuje předem či během programu. Příkladem je vyhodnocení stavu řídící proměnné na konci cyklu. Pro cykly je normální, že instrukce skoku ukončující cyklus vrací většinou řízení na počátek cyklu a jen jednou předá řízení následující instrukci. Z toho pak vyplývá předpověď skoku a to tak, že se do fronty instrukcí vybírá instrukce z počátku cyklu.
Vlastnosti architektury RISC Mimo redukci instrukčního souboru jsou vlastnosti této řady počítačů charakterizovány následovně : větší část instrukcí se provádí běhen jednoho strojního cyklu nepoužívá se mikroprogramování to znamená, že se instrukce provádějí v obvodovém řadiči počet instrukcí a adresování je malý pro práci s operační pamětí existují jen dvě instrukce a to zápis do paměti a čtení z paměti instrukce mají pevnou délku i formát procesor využívá velkého počtu registrů Návrh počítačů RISC trvá cca měsíců oproti návrhu počítačů CISC v délce cca 5 let.
Procesor POWER PC Procesor POWER PC (Performance Optimized With Enhanced RISC) byl uveden na trh v roce 1993 jako výsledek spolupráce vývojových pracovníků firem IBM, Apple a Motorola. POWER PC je označení pro řadu procesorů mající společné základní uživatelské charakteristiky a obdobnou architekturu. Dále popisovaný procesor MPC 601 typu POWER PC pracuje na 66 MHz, má příkon 9 W, je realizován technologií CMOS a obsahuje tranzistorů. Vnější datová sběrnice má šíři 64 bitů a vnější adresová sběrnice pak 32 bitů.
Architektura se skládá ze 3 souběžně pracujících částí a to : jednotka řízení skoků BPU jednotka celočíselných výpočtů IU jednotka operací v pohyblivé řádové čárce FPU a dalších části a to : instrukční jednotky jednotky řízení paměti MMU vyrovnávací paměti systémového rozhraní
Architektura POWER PC
Instrukční jednotka zajišťuje přísun instrukcí pro 3 výše zmíněné části procesoru. To z toho důvodu, že procesor může zpracovávat současně 3 instrukce. Ty vybírá z vyrovnávací paměti (cache) na čipu a zařazuje je do fronty 8 instrukcí, kterou průběžně doplňuje.
Fronta instrukcí je rozdělena do 2 částí. Horní část fronty je ve funkci paměti fronty a instrukce se v ní posouvají směrem dolů. Dolní část fronty pracuje tak, že se v ní instrukce mohou posouvat též směrem dolů, nebo mohou být přímo předány dalším jednotkám k provedení. Jen instrukce pro jednotku celočíselných výpočtů jsou předávány až z poslední pozice. Instrukce pro plovoucí řádovou čárku jsou vybírány z posledních 4 míst (dolní poloviny fronty instrukcí) a poté předávány do výkonné jednotky.
V jednotce BPU trvá zpracování většinou 1 takt. Ve případě 2 taktů se provádí zápis do speciálního registru. Instrukční jednotka i BPU mají vlastní sčítačku pro výpočet adres skoku. Pokud je v dolní polovině fronty instrukcí instrukce podmíněného skoku, pak je přesunuta do BPU ať již má vypočtenu podmínku skoku či nikoliv. V BPU se provede předpověď cílové adresy skoku a rozhoduje se, která z instrukcí se zařadí jako další do fronty instrukcí. BPU preferuje zpáteční skoky, které slouží pro provádění cyklů a orientuje se bitem předpovědi skoku. Tento bit předpovědi skoku nastavil kompilátor.
Při instrukci skoku BPU řídí činnost tak, že zarazí provádění instrukcí, které jsou v řadě za identifikovaným skokem. Poté se ve vyrovnávací paměti přečte instrukce adresy na kterou je odkázána skokem, vymaže frontu instrukcí a nahraje nové instrukce. V případě, že vypočtené podmínky určí, že ke skoku nedojde vymaže se nově natažená instrukce a pokračuje se vykonávání původních zmrazených instrukcí. Pokud dojde oproti předpovědi ke skoku, musí se zbylé instrukce ve frontě nahradit novými z vyrovnávací paměti.
Jednotky FPU a IU pracují proudově
Jednotka FPU obsahuje : sčítačku s 2násobnou přesností násobičku s jednoduchou přesností děličku pole registrů (je 2bránové) Jednotka IU obsahuje : ALU násobičku registr výjimek 32 2bránových univerzálních registrů
Do univerzálních registrů mohou vstupovat současně 2 instrukce. Jedna z IU a druhá z vyrovnávací paměti. Jednotka celočíselných výpočtů provádí následující operace : celočíselné operace operace s bitovými poli zápisy do paměti čtení z paměti
Vyrovnávací paměť (cache) o velikosti 32 kB má asociativní adresář a je určena pro instrukce i data. Tím je ale omezen procesor, protože nemůže číst v jednom cyklu současně instrukce i data. Vyrovnávací paměť spolupracuje s paměťovou jednotkou obsahující 2 fronty : frontu zapisovací (s kapacitou 24 slov) frontu čtecí (s kapacitou 16 slov)
Po překladu v jednotce řízení paměti MMU (Manager Memory Unit) jsou reálné adresy zapisovány do adresáře. Jednotka řízení paměti překládá adresy dodávané procesorem na fyzické adresy. Logický prostor má 16 segmentů o velikosti 256 MB (4 GB). Stránky jsou o velikosti 4 kB a lze je sloučit do bloků o velikostech od 128 kB do 8 MB. Překlad je urychlován pomocí 3 stránkovacích pamětí TLB a stránkovací tabulka je uložena v operační paměti. Jednotka řízení paměti zajišťuje též ochranu paměti jak na úrovni stránky, tak i bloku a segmentu.
Režimy práce Procesory RISC mohou pracovat obdobně jako procesory CISC ve dvou základních režimech : ON LINE OFF LINE
Režim ON LINE V režimu ON LINE je počítač ve své činnosti omezován reálně probíhajícími ději na příklad v soustavě kterou řídí. Základním požadavkem je rychlost výpočtu, která je někdy dosahována i za cenu snížení přesnosti a kvality výpočtu.
Režim OFF LINE V režimu OFF LINE nejsou omezovány průběhem vnějších dějů a pracují ve svém vnitřním čase. Základním požadavkem je zde přesnost a kvalita výpočtu. Procesory pracují při vysokých rychlostech hodinového kmitočtu. Rychlosti však odpovídá vysoká cena.