Przejdź do zawartości

Superskalarność

Z Wikipedii, wolnej encyklopedii
Płyta procesorowa superkomputera CRAY T3E z czterema superskalarnymi procesorami Alpha 21164.

Superskalarność (ang. superscalar) – cecha mikroprocesorów oznaczająca możliwość jednoczesnego wykonywania kilku rozkazów maszynowych, realizowana poprzez zwielokrotnienie skalarnych jednostek wykonawczych[1].

Pierwszym procesorem Intela z rodziny x86 wykorzystującym fragmentaryczną superskalarność był procesor Pentium, który miał dwie jednostki wykonawcze, z czego jedną zubożoną, mogącą wykonywać tylko proste instrukcje; Pentium Pro posiadał już 3 jednostki wykonawcze. Większość procesorów superskalarnych nie ma w pełni zduplikowanych jednostek wykonawczych kodu, jednak mogą mieć one wiele ALU, jednostek zmiennopozycyjnych itp., wobec czego pewne instrukcje będą wykonywane znacznie szybciej, a inne znów wolniej.

Pełne wykorzystanie wszystkich jednostek wykonawczych zależy od tego, czy w programie nie występują zależności między kolejnymi instrukcjami – tj. czy kolejna instrukcja jako argumentu nie potrzebuje wyników poprzedniej. Np. instrukcje:

a = b + 5
c = a + 10

nie będą mogły zostać wykonane równolegle, ponieważ wartość c zależy od wyliczanej wcześniej a. Jeśliby jednak usunąć zależność i napisać równoważnie:

a = b + 5
c = b + 15

realizacja superskalarna tych instrukcji będzie możliwa.

Minimalizacja zależności jest kluczowa, aby możliwe było pełne użycie dostępnych zasobów mikroprocesora – o właściwe rozmieszczenie instrukcji dba programista lub kompilator. Ponadto współczesne procesory, np. Pentium Pro i nowsze, mogą zmieniać kolejność wykonywanych instrukcji zachowując jednak zależności między nimi – aby w pełni wykorzystać jednostki wykonawcze odpowiednie mechanizmy wyszukują instrukcje niezależne od siebie i wykonują je równolegle.

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy