Superskalární architektura
Superskalární architektura (superskalarita) je v informatice jedním ze způsobů zvyšování výkonu procesoru. Superskalarita umožňuje v jednom taktu zpracovat více strojových instrukcí zároveň, protože některé části procesoru jsou duplikovány, například matematický koprocesor (FPU) nebo aritmeticko-logická jednotka (ALU). Od vícejádrových procesorů se superskalarita liší tím, že je zvětšen počet pouze některých částí procesoru.
Po přečtení strojové instrukce a jejího dekódování rozhodne řídící jednotka, zda je možné provést následující strojovou instrukci paralelně k právě zpracovávané předchozí strojové instrukci. Pokud ano, je jejím vykonáním pověřena v tu chvíli nepoužitá duplikovaná část procesoru (například druhý matematický koprocesor). Paralelní zpracování není možné, pokud následující instrukce pracuje s výsledkem předcházející strojové instrukce, protože v takovém případě je nutné počkat, až je předchozí strojová instrukce dokončena. O maximalizaci efektu superskalarity se stará překladač, který v rámci optimalizace poskládá strojové instrukce ve vhodném pořadí (reorganizaci může však provádět i sám procesor) tak, aby nebylo nutné čekat.
U superskalárního procesoru dochází k paralelizaci na úrovni (proudu) strojových instrukcí, které za sebou následují (to je odlišnost od vícejádrových procesorů, které zpracovávají současně instrukce z několika samostatných procesů či vláken).
Superskalární procesory obvykle používají i pipelining, avšak obě techniky jsou navzájem odlišné a nezávislé.
Související články
- Pipelining
- Vlákno (angl. Thread)
- Paralelní programování