Superskalární architektura: Porovnání verzí

Smazaný obsah Přidaný obsah
Addbot (diskuse | příspěvky)
m Bot: Odstranění 17 odkazů interwiki, které jsou nyní dostupné na Wikidatech (d:q1045706)
Přepis článku
Řádek 1:
'''Superskalární architektura''' ('''superskalarita''') je v [[Informatika|informatice]] jedním ze způsobů zvyšování výkonu [[procesor]]u. UmožňujeSuperskalarita zpracování několika instrukcíumožňuje v jednom instrukčnímtaktu řetězcizpracovat více ([[PipeliningStrojová instrukce|strojových instrukcí]]) zároveň., Jeprotože tohoněkteré dosaženočásti pomocíprocesoru většíhojsou počtuduplikovány, jednoteknapříklad pro[[matematický zpracováníkoprocesor]] instrukcí(FPU) uvnitřnebo procesoru[[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 funkčních jednotek, ne však celé jádročástí procesoru.
 
Po přečtení strojové instrukce a jejího dekódování rozhodně ří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 (informatika)|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.
Při vybírání instrukcí z paměti se procesor rozhoduje, jestli instrukce mohou být prováděny paralelně a poté je posílá do redundatních jednotek uvnitř jednoho jádra procesoru. Superskalární procesor zpracovává zároveň více instrukcí z jednoho programového vlákna. Vícejádrové procesory (podobně jako víceprocesorové počítače) zpracovávají současně instrukce z několika [[Vlákno (program)|vláken]], každé v jednom jádru procesoru.
 
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 (program)|procesů]] či [[Vlákno (program)|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 ==