Procesor INTEL Pentium Pro
Koncem roku 1995 uvádí firma Intel na trh další generaci procesorů řady 80x86. Tento procesor dostává označení Intel Pentium Pro. Novinkou jeho architektury je integrace externí cache paměti o kapacitě 256 kB (512 kB) přímo do pouzdra procesoru. Tato cache není součástí čipu procesoru, ale je tvořena samostatným čipem umístěným v jednom pouzdru s čipem procesoru.
|
|
Procesor Intel Pentium Pro |
|
Dalším přínosem procesoru Pentium Pro je možnost spekulativního provádění instrukcí mimo pořadí, které mu dovoluje např. v případě zjištění, že jím požadovaná data nejsou ještě v cache paměti, nečekat až budou načtena z pomalejší operační paměti, ale začne provádět další instrukce do té doby, než budou informace přístupné. Takto může Pentium Pro odložit provádění až čtyř instrukcí. Podobně procesor postupuje i v případě závislosti instrukcí, kdy provádí instrukce mimo pořadí, dokud nedojde k výpočtu požadovaného operandu.
- Zatímco Pentium obsahuje dvojici pětistupňově zřetězených celočíselných jednotek a devíti stupňově zřetězenou jednotku pro výpočty v pohyblivé desetinné čárce (spojenou s jednou z celočíselných jednotek), procesor Pentium Pro obsahuje již tři celočíselné jednotky, které jsou čtrnáctistupňově zřetězeny a jednu (také čtrnáctisupňově zřetězenou) jednotku pro pohyblivé řádové čárky spojenou s jednou celočíselnou prováděcí jednotkou. Během jediného taktu tak mohou být dokončeny až 3 instrukce a je-li procesor plně vytížen, může být v jednom okamžiku rozpracováno až 42 (3*14) instrukcí.
- Výrazným způsobem byl také zdokonalen algoritmus pro předvídání větvení ve spolupráci s BTB, který dosahuje více než devadesátiprocentní úspěšnosti.
- Jednotlivé jednotky nezpracovávají již přímo instrukce instrukčního souboru 80x86, ale pracují se svým vlastním souborem instrukcí označovaných jako mikrooperace (micro-ops). Jednotlivé instrukce souboru instrukcí 80x86 jsou tak překládány do jedné nebo několika mikrooperací, které jsou předávány ke zpracování jednotlivým prováděcím jednotkám. Při provádění mikrooperací se využívá techniky zvané přejmenování registrů (register renaming). Procesor Pentium Pro obsahuje 40 záložních 32bitových registrů, které mohou být přejmenovány na libovolný z 8 univerzálních registrů.
Procesor Pentium Pro má také podporu pro multiprocesorové počítače, která dovoluje osazení až čtyř těchto procesorů do jednoho počítače.
|
Zjednodušené blokové schéma procesoru Pentium Pro |
Procesor Intel Pentium Pro obsahuje podobně jako Pentium jednotku BIU, 8 kB cache paměti pro data a pro instrukce, BTB a jednotku FPU. Kromě toho obsahuje 3 výkonné jednotky (ALU1, ALU2 a ALU3), přerovnávací buffer, který spolu s vyčkávacím stanovištěm slouží k realizaci spekulativního provádění. V rámci jednoho pouzdra je u Pentia Pro také umístěna externí cache paměť o kapacitě 256 kB nebo 512 kB společně s řadičem externí cache paměti.
BIU: (Bus Interface Unit - jednotka styku se sběrnicí): Tato jednotka je branou mikroprocesoru k okolnímu světu. Všechny ostatní jednotky procesoru využívají tuto jednotku pro přenos dat mezi procesorem a okolím. Protože BIU pracuje výhradně s fyzickými adresami, je nutné, aby adresa, která je poskytována k provedení operace, byla nejprve převedena na fyzickou adresu.
ALU (Arithmetic - Logic Unit), která obsahuje obvody potřebné k aritmetickým a logickým operacím a k provádění instrukcí. Obsahuje také sadu registrů procesoru. Posledním úkolem EU je informovat BIU, že výsledek je potřeba zapsat do operační paměti nebo na periferní zařízení.
BTB: paměť sloužící k realizaci dynamického předvídaní větvení
FPU: jednotka pro aritmetické výpočty, která ke své činnosti využívá bloku registrů
8 kB cache pro instrukce: slouží k vyrovnání rychlosti mezi pomalejší externí cache pamětí a rychlejším procesorem
8 kB cache pro data: slouží k vyrovnání rychlosti mezi pomalejší externí cache pamětí a rychlejším procesorem
Zjednodušené schéma procesoru:
FETCH/DECODE UNIT = „volání a dekódování“, jsou zde načítány a dekódovány instrukce, které jsou ukládány do INSRUCTION POOL
DISPACH/EXECUTE UNIT = přidělování mikrokódu a instrukcí a následné provádění
RETIRE UNIT = návratová jednotka
Instruction pool = banka dekódovaných instrukcí
Cache paměti:
Cache paměť je rychlá vyrovnávací paměť mezi rychlým zařízením (např. procesor) a pomalejším zařízením (např. operační paměť). V dnešních počítačích se běžně používají dva druhy cache pamětí:
externí (sekundární, L2) cache:
Externí cache paměť je paměť, která je umístěna mezi pomalejší operační pamětí a rychlým procesorem. Tato paměť je vyrobena jako rychlá paměť SRAM a slouží jako vyrovnávací paměť u počítačů s výkonným procesorem, které by byly bez ní operační pamětí velmi zpomalovány. Pentium Pro má externí cache paměť integrovánu v pouzdře procesoru. Její činnost je řízena řadičem cache paměti.
interní (primární, L1) cache:
Interní cache paměť je paměť, která slouží k vyrovnání rychlosti velmi výkonných procesorů a pomalejších pamětí. Tento typ cache paměti je integrován přímo na čipu procesoru a je také realizován pomocí paměti SRAM. Takovýto procesor musí mít v sobě integrován také řadič interní cache paměti pro řízení její činnosti.
|
Schéma zapojení interní a externí cache paměti |
L1 CACHE
FETCH/DECODE
UNIT
DISPATCH/EXECUTE
UNIT
RETIRE
UNIT
L2 CACHE (D)
INSTRUCTION
POOL