Skip to main content

Jaka jest różnica między procesorami skalarnymi i superscalar?

Istnieją różne rodzaje centralnych jednostek przetwarzania (CPU) dostępne dla komputerów.Tego rodzaju procesory tak naprawdę nie różnią się pod względem przetwarzania sprzętu i architektury.Większość z nich wykonuje podstawowe zadania procesora, takie jak czytanie i pisanie danych, podstawowa arytmetyka i skoki adresowe.Mogą jednak różnić się pod względem wielkości autobusów i architektury procesora.Dostępnych jest kilka rodzajów sprzętu do procesora komputerowego, z których dwa to procesory skalarne i superscalar.

Procesor, który wykonuje dane skalarne, nazywa się procesorem skalarnym.Korzystając z operandów o stałym punkcie, instrukcje liczb całkowitych są wykonywane przez procesory skalarne nawet w ich najprostszym stanie.Potężniejsze procesory skalarne zwykle wykonują zarówno działanie zmiennoprzecinkowe, jak i całkowitą.Niedawno wyprodukowane procesory skalarne zawierają zarówno jednostkę zmiennoprzecinkową, jak i jednostkę całkowitą, wszystkie na tym samym układie procesora.Większość z tych nowoczesnych procesorów skalarnych wykorzystuje instrukcje rodzaju 32-bitowego.

Z drugiej strony procesor Superscalar wykonuje wiele instrukcji na raz ze względu na liczbę rurociągów.Ta struktura procesora implementuje równoległość na poziomie instrukcji, która jest formą równoległości w sprzęcie komputerowym, w jednym procesorze komputerowym.Oznacza to, że może pozwolić szybkiej przepustowości procesora, która nie jest nawet zdalnie możliwa w innych procesorach, które nie wdrażają równoległości na poziomie instrukcji.Zamiast wykonywać jedną instrukcję na raz, procesor SuperScalar używa swoich zbędnych jednostek funkcjonalnych w wykonywaniu wielu instrukcji.Te jednostki funkcjonalne nie są oddzielnymi rdzeniami procesora, ale pojedyncze zasoby rozszerzenia procesora, takie jak mnożniki, zmiany biegów i arytmetyczne jednostki logiczne (alus).

Różnice między procesorami skalarnymi i superscalar zwykle sprowadzają się do ilości i prędkości.Procesor skalarny, uważany za najprostszy ze wszystkich procesorów, działa na jednym lub dwóch elementach danych komputerowych w danym momencie.Procesor Superscalar działa na wiele instrukcji i kilku grupach wielu elementów danych jednocześnie.Procesory skalarne i superscalar działają w ten sam sposób pod względem sposobu manipulowania danymi, ale ich różnica polega na tym, ile manipulacji i elementów danych mogą pracować w danym czasie.Procesory Superscalar mogą obsługiwać wiele instrukcji i elementów danych, podczas gdy procesor skalarny po prostu nie może, dzięki czemu ten pierwszy jest silniejszym procesorem niż drugi. Procesory skalarne i superscalar mają pewne podobieństwa do procesorów wektorowych.Podobnie jak procesor skalarny, procesor wektorowy wykonuje również jedną instrukcję jednocześnie, ale zamiast tylko manipulowania jednym elementem danych, jego pojedyncza instrukcja może uzyskać dostęp do wielu elementów danych.Podobnie w przypadku procesora Supercalar, procesor wektorowy ma kilka zbędnych jednostek funkcjonalnych, które pozwalają mu manipulować wieloma elementami danych, ale może działać tylko na jednej instrukcji na raz.Zasadniczo procesor superscalar jest kombinacją procesora skalarnego i procesora wektora.