Jaký je rozdíl mezi skalárními a superskalárními procesory?
Pro počítače jsou k dispozici různé typy centrálních procesorových jednotek (CPU). Tyto typy CPU se opravdu neliší, pokud jde o zpracování hardwaru a architektury. Většina z nich provádí základní úlohy procesoru, jako je čtení a zápis dat, základní aritmetika a skákání adres. Mohou se však lišit co do velikosti sběrnice a architektury procesorů. K dispozici je několik typů hardwaru počítačového procesoru, z nichž dva jsou skalární a superskalární procesory.
Procesor, který provádí skalární data, se nazývá skalární procesor. Pomocí operandů s pevným bodem jsou celočíselné pokyny prováděny skalárními procesory i v jejich nejjednodušším stavu. Výkonnější skalární procesory obvykle provádějí operace s pohyblivou řádovou čárkou i celé číslo. Nedávno vyráběné skalární procesory obsahují jednotku s pohyblivou řádovou čárkou i celé číslo, všechny na stejném čipu CPU. Většina z těchto moderních skalárních procesorů používá instrukce 32bitového typu.
Naproti tomu superskalární procesor provádí více instrukcí najednou kvůli svému vícečetnému počtu potrubí. Tato struktura CPU implementuje paralelismus na úrovni instrukcí, což je forma paralelismu v počítačovém hardwaru, v jediném počítačovém procesoru. To znamená, že umožňuje rychlou propustnost procesoru, která není ani vzdáleně možná u jiných procesorů, které neimplementují paralelismus na úrovni instrukcí. Místo provádění jedné instrukce najednou používá superskalární procesor své redundantní funkční jednotky při provádění více instrukcí. Tyto funkční jednotky nejsou samostatnými jádry CPU, ale zdroji jediného rozšíření CPU, jako jsou multiplikátory, bitové řadiče a aritmetické logické jednotky (ALU).
Rozdíly mezi skalárními a superskalárními procesory se obvykle snižují na množství a rychlost. Skalární procesor, považovaný za nejjednodušší ze všech procesorů, pracuje na jedné nebo dvou počítačových datových položkách v daném čase. Superskalární procesor pracuje na více instrukcích a několika skupinách více datových položek najednou. Skalární i superskalární procesory fungují stejným způsobem, pokud jde o to, jak manipulují s daty, ale jejich rozdíl spočívá v tom, kolik manipulací a datových položek mohou pracovat v daném čase. Superscalar procesory zvládnou více instrukcí a datových položek, zatímco skalární procesor prostě nemůže, proto dělá bývalý silnější procesor než latter.
Skalární i superskalární procesory mají určité podobnosti s vektorovými procesory. Stejně jako skalární procesor, vektorový procesor také provádí jednu instrukci najednou, ale namísto pouhé manipulace s jednou datovou položkou může její jediná instrukce přistupovat k více datovým položkám. Podobně jako u superskalárního procesoru má vektorový procesor několik redundantních funkčních jednotek, které mu umožňují manipulovat s více datovými položkami, ale současně může pracovat pouze na jedné instrukci. Superskalární procesor je v podstatě kombinací skalárního procesoru a vektorového procesoru.