Procesor superskalarny: architektura, potokowanie, typy i zastosowania

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym świecie każdy chce szybko załatwić swoje sprawy/prace. Czyż nie? Od samochodów, przez maszyny przemysłowe, aż po maszyny gospodarstwa domowego, wszyscy chcą, aby działały szybciej. Czy wiesz, co siedzi w tych maszynach, zmuszając je do pracy? Oni są procesory . W zależności od funkcjonalności mogą to być mikroprocesory lub makroprocesory. Podstawowy procesor na ogół wykonuje jedną instrukcję na cykl zegara. Sposobem na poprawę szybkości przetwarzania, aby maszyny mogły poprawić swoją prędkość, jest tzw superskalarny procesor który ma algorytm potokowy umożliwiający wykonanie dwóch instrukcji na cykl zegara. Został po raz pierwszy wynaleziony przez CDC 6600 Seymoura Craya, wynaleziony w 1964 roku, a później został udoskonalony przez Tjaden & Flynn w 1970 roku.


Pierwszy komercyjny jednoukładowy superskalarny mikroprocesor MC88100 został opracowany przez firmę Motorola w 1988 r., później firma Intel wprowadziła jego wersję I960CA w 1989 r., a serię AMD 29000 29050 w 1990 r.  Obecnie typowym używanym procesorem superskalarnym jest procesor Intel Core i7, w zależności od mikroarchitektura Nehalem.



Mimo to implementacje superskalarne zmierzają w kierunku zwiększenia złożoności. Projekt tych procesorów zwykle odnosi się do zestawu metod, które pozwalają procesorowi komputera osiągnąć przepustowość powyżej jednej instrukcji dla każdego cyklu podczas wykonywania pojedynczego programu sekwencyjnego. Przyjrzyjmy się dalej w tym artykule architekturze procesora SuperScalar, która skraca czas jego wykonania i jego zastosowania.

Co to jest procesor superskalarny?

Typ mikroprocesora używany do implementacji typu równoległości znanego jako równoległość na poziomie instrukcji w pojedynczym procesorze w celu wykonywania więcej niż jednej instrukcji w cyklu CLK poprzez jednoczesne wysyłanie różnych instrukcji do specjalnych jednostek wykonawczych w procesorze. A procesor skalarny wykonuje pojedynczą instrukcję dla każdego cyklu zegara; superskalarny procesor może wykonać więcej niż jedną instrukcję podczas cyklu zegara.



Techniki projektowania superskalarnego zwykle obejmują zmianę nazw rejestrów równoległych, dekodowanie instrukcji równoległych, wykonywanie poza kolejnością i wykonywanie spekulacyjne. Tak więc te metody są zwykle używane wraz z uzupełniającymi metodami projektowania, takimi jak przetwarzanie potokowe, przewidywanie rozgałęzień, buforowanie i wielordzeniowość w ramach obecnych projektów mikroprocesorów.

  Procesor superskalarny
Procesor superskalarny

Cechy

Cechy procesorów superskalarnych obejmują następujące elementy.

  PCBWay
  • Architektura superskalarna to technika obliczeń równoległych wykorzystywana w różnych procesorach.
  • W komputerze superskalarnym procesor zarządza kilkoma potokami instrukcji, aby wykonywać wiele instrukcji jednocześnie podczas cyklu zegara.
  • Architektury superskalarne obejmują wszystkie potokowanie funkcje, chociaż istnieje kilka instrukcji wykonywanych jednocześnie w tym samym potoku.
  • Metody projektowania superskalarnego zwykle obejmują zmianę nazwy rejestru równoległego, dekodowanie instrukcji równoległych, wykonywanie spekulatywne i wykonywanie poza kolejnością. Tak więc te metody są zwykle używane z uzupełniającymi metodami projektowania, takimi jak buforowanie, potokowanie, przewidywanie rozgałęzień i wielordzeniowość w najnowszych projektach mikroprocesorów.

Architektura superskalarnego procesora

Wiemy, że procesor superskalarny to procesor, który wykonuje powyżej jednej instrukcji na każdy cykl CLK, ponieważ prędkości przetwarzania są po prostu mierzone w cyklach CLK na każdą sekundę. W porównaniu do procesora skalarnego ten procesor jest bardzo szybki.

Architektura superskalarnego procesora obejmuje głównie równoległe jednostki wykonawcze, w których jednostki te mogą jednocześnie realizować instrukcje. Po pierwsze, ta architektura równoległa została zaimplementowana w procesorze RISC, który wykorzystuje proste i krótkie instrukcje do wykonywania obliczeń. Więc normalnie, ze względu na ich superskalarne zdolności RYZYKO procesory działały lepiej w porównaniu z procesorami CISC, które działają z taką samą częstotliwością megaherców. Ale najbardziej CISC procesory, takie jak Intel Pentium, zawierają również architekturę RISC, która pozwala im wykonywać instrukcje równolegle.

  Architektura procesora superskalarnego
Architektura superskalarnego procesora

Procesor superskalarny jest wyposażony w kilka jednostek przetwarzających do równoległej obsługi różnych instrukcji na każdym etapie przetwarzania. Wykorzystując powyższą architekturę, wiele instrukcji rozpoczyna wykonywanie w ramach podobnego cyklu zegara. Procesory te są zdolne do uzyskiwania danych wyjściowych wykonania instrukcji z powyższej jednej instrukcji dla każdego cyklu.

Na powyższym schemacie architektury używany jest procesor z dwiema jednostkami wykonawczymi, z których jedna jest używana do obsługi liczb całkowitych, a druga do operacji zmiennoprzecinkowych. Jednostka pobierania instrukcji (IFU) jest zdolna do jednoczesnego odczytywania instrukcji i zapisywania ich w kolejce instrukcji. W każdym cyklu jednostka dyspozytorska pobiera i dekoduje do 2 instrukcji z przodu kolejki. Jeśli istnieje pojedyncza liczba całkowita, pojedyncza instrukcja zmiennoprzecinkowa i brak zagrożeń, obie instrukcje są wysyłane w podobnym cyklu zegara.

Rurociągi

Pipelining to procedura dzielenia zadań na podetapy i wykonywanie ich w ramach różnych części procesora. W poniższym superskalarnym potoku można jednocześnie pobrać i wysłać dwie instrukcje, aby wykonać maksymalnie 2 instrukcje na cykl. Poniżej przedstawiono architekturę potokową w procesorze skalarnym i procesorze superskalarnym.

Instrukcje w procesorze superskalarnym są wydawane z sekwencyjnego strumienia instrukcji. Musi zezwalać na wiele instrukcji dla każdego cyklu zegara, a procesor musi dynamicznie sprawdzać zależności danych między instrukcjami.

W poniższej architekturze potokowej F jest pobierane, D jest dekodowane, E jest wykonywane, a W jest zapisem zwrotnym rejestru. W tej architekturze potokowej I1, I2, I3 i I4 są instrukcjami.

Architektura potoku procesora skalarnego obejmuje pojedynczy potok i cztery etapy pobierania, dekodowania, wykonywania i zapisywania wyników. W skalarnym procesorze z pojedynczym potokiem potok w instrukcji 1 (I1) działa jako; w pierwszym okresie zegara I1 pobierze, w drugim okresie zegara zdekoduje, aw drugiej instrukcji I2 pobierze. Trzecia instrukcja I3 w trzecim okresie zegara zostanie pobrana, I2 zdekodowana, a I1 wykonana. W czwartym okresie zegara I4 pobierze, I3 zdekoduje, I2 wykona, a I1 zapisze w pamięci. Tak więc w siedmiu okresach zegarowych wykona 4 instrukcje w jednym potoku.

  Potokowanie skalarne
Potokowanie skalarne

Architektura superskalarnego potoku procesora obejmuje dwa potoki i cztery etapy pobierania, dekodowania, wykonywania i zapisywania wyników. Jest to procesor superskalarny z dwoma zadaniami, co oznacza, że ​​jednocześnie dwie instrukcje będą pobierane, dekodowane, wykonywane i zapisywane z powrotem. Dwie instrukcje I1 i I2 będą jednocześnie pobierać, dekodować, wykonywać i zapisywać z powrotem w każdym okresie zegara. Równocześnie w następnym okresie zegarowym pozostałe dwie instrukcje I3 i I4 będą jednocześnie pobierać, dekodować, wykonywać i zapisywać z powrotem. Tak więc w pięciu okresach zegara wykona 4 instrukcje w jednym potoku.

  Superskalarne potokowanie
Superskalarne potokowanie

Tak więc procesor skalarny wydaje pojedynczą instrukcję na cykl zegara i wykonuje jeden etap potoku na cykl zegara, podczas gdy procesor superskalarny wydaje dwie instrukcje na cykl zegara i wykonuje równolegle dwie instancje każdego etapu. Tak więc wykonanie instrukcji w procesorze skalarnym zajmuje więcej czasu, podczas gdy w superskalarnym wykonanie instrukcji zajmuje mniej czasu .

Rodzaje procesorów superskalarnych

Są to różne typy superskalarnych procesorów dostępnych na rynku, które omówiono poniżej.

Procesor Intel Core i7

Intel Core i7 to superskalarny procesor oparty na mikroarchitekturze Nehalem. W projekcie Core i7 istnieją różne rdzenie procesorów, w których każdy rdzeń procesora jest procesorem superskalarnym. Jest to najszybsza wersja procesora Intel stosowana w komputerach i urządzeniach konsumenckich. Podobnie jak Intel Corei5, ten procesor jest wyposażony w technologię Intel Turbo Boost. Ten procesor jest dostępny w 2 do 6 odmianach, które obsługują do 12 różnych wątków jednocześnie.

  Procesor Intel Core i7
Procesor Intel Core i7

Procesor Intel Pentium

Superskalarna architektura potokowa procesora Intel Pentium oznacza, że ​​procesor wykonuje co najmniej dwie instrukcje w każdym cyklu. Ten procesor jest szeroko stosowany w komputerach osobistych. Urządzenia z procesorem Intel Pentium są zwykle budowane do użytku online, przetwarzania w chmurze i współpracy. Ten procesor doskonale współpracuje z tabletami i Chromebookami, zapewniając wysoką wydajność lokalną i wydajne interakcje online.

  Procesor Intel Pentium
Procesor Intel Pentium

IBM PowerPC601

Procesor superskalarny, taki jak IBM power PC601, pochodzi z rodziny mikroprocesorów PowerPC RISC. Procesor ten jest w stanie wydawać i wycofywać trzy instrukcje dla każdego zegara i po jednej dla każdej z 3 jednostek wykonawczych. Instrukcje są całkowicie nie na miejscu, aby poprawić wydajność; ale PC601 sprawi, że wykonanie pojawi się w porządku.

  IBM PowerPC601
IBM PowerPC601

Mocny procesor PC601 zapewnia 32-bitowe adresy logiczne, 8, 16 i 32 bitowe typy danych całkowitych oraz 32 i 64 bitowe typy danych zmiennoprzecinkowych. W celu wdrożenia 64-bitowego PowerPC architektura tego procesora zapewnia 64-bitowe typy danych całkowitych, adresowanie i inne funkcje niezbędne do uzupełnienia architektury 64-bitowej.

MC 88110

MC 88110 to jednoukładowy mikroprocesor RISC drugiej generacji, który wykorzystuje zaawansowane metody wykorzystania równoległości na poziomie instrukcji. Ten procesor wykorzystuje wiele wbudowanych pamięci podręcznych, problemy z instrukcjami superskalarnymi, nagrywanie ograniczonych instrukcji dynamicznych i wykonanie spekulacyjne, aby osiągnąć maksymalną wydajność, dlatego idealnie nadaje się do stosowania jako procesor centralny w niedrogich komputerach PC i stacjach roboczych.

  MC 88000
MC 88000

Intel i960

Intel i960 to superskalarny procesor, który może wykonywać i wysyłać różne niezależne instrukcje podczas każdego cyklu zegara procesora. Jest to mikroprocesor oparty na architekturze RISC, który stał się bardzo znany jako wbudowany mikrokontroler na początku lat 90. Ten procesor jest stale używany w kilku zastosowaniach wojskowych.

  Intel i960
Intel i960

MIPS R

MIPS R to dynamiczny i superskalarny mikroprocesor używany do wykonywania 64-bitowej architektury zestawu instrukcji MIPS 4. Ten procesor pobiera i dekoduje 4 instrukcje dla każdego cyklu i wysyła je do pięciu całkowicie połączonych potokowo jednostek wykonawczych o niskim opóźnieniu. Ten procesor jest szczególnie zaprojektowany do wysokowydajnych, dużych i rzeczywistych aplikacji o słabej lokalizacji pamięci. Przy przybliżonym wykonaniu po prostu oblicza adresy pamięci. Procesory MIPS są używane głównie w różnych urządzeniach, takich jak Nintendo Gamecube, linia produktów SGI, Sony Playstation 2, routery PSP i Cisco.

  MIPS R
MIPS R

Różnica B/W Superskalar Vs Pipelining

Różnica między superskalarnym a potokowym została omówiona poniżej.

Superskalarny

Rurociągi

Superskalar to procesor używany do implementacji formy równoległości zwanej równoległością na poziomie instrukcji w jednym procesorze. Technika implementacji, taka jak potokowanie, jest używana, gdy kilka instrukcji nakłada się na wykonanie.
Architektura superskalarna inicjuje jednocześnie kilka instrukcji i wykonuje je oddzielnie. Architektura potokowa wykonuje jeden etap potoku tylko dla każdego cyklu zegara.

Procesory te zależą od równoległości przestrzennej. Zależy to od paralelizmu czasowego.
Kilka operacji jest wykonywanych jednocześnie na oddzielnym sprzęcie. Nakładanie się kilku operacji na wspólnym sprzęcie.
Osiąga się to poprzez powielanie zasobów sprzętowych, takich jak porty plików rejestru i jednostki wykonawcze. Osiąga się to poprzez głębsze potokowanie jednostek wykonawczych z bardzo szybkimi cyklami CLK.

Charakterystyka

The Charakterystyka superskalarnego procesora zawierać następujące.

  • Procesor superskalarny to model superpotokowy, w którym po prostu niezależne instrukcje są wykonywane szeregowo, bez żadnej sytuacji oczekiwania.
  • Procesor superskalarny pobiera i dekoduje jednocześnie kilka instrukcji przychodzącego strumienia instrukcji.
  • Architektura superskalarnych procesorów wykorzystuje potencjał równoległości na poziomie instrukcji.
  • Procesory superskalarne wydają powyższą pojedynczą instrukcję dla każdego cyklu.
  • Nie. wydanych dyspozycji zależy głównie od dyspozycji w strumieniu dyspozycji.
  • Instrukcje są często zmieniane w celu lepszego dopasowania do architektury procesora.
  • Metoda superskalarna jest zwykle związana z pewnymi cechami identyfikującymi. Instrukcje są zwykle wydawane z sekwencyjnego strumienia instrukcji.
  • Procesor dynamicznie sprawdza zależności danych pomiędzy instrukcjami w czasie wykonywania.
  • Procesor wykonuje wiele instrukcji dla każdego cyklu zegara.

Zalety i wady

The Zalety superskalarnego procesora zawierać następujące.

  • Procesor superskalarny implementuje równoległość na poziomie instrukcji w pojedynczym procesorze.
  • Te procesory są po prostu stworzone do wykonywania dowolnego zestawu instrukcji.
  • Procesor superskalarny, w tym przewidywanie rozgałęzień wykonywania poza kolejnością i wykonywanie spekulacyjne, może po prostu znaleźć równoległość ponad kilkoma podstawowymi blokami i iteracjami pętli.

The Wady procesora superskalarnego zawierać następujące.

  • Procesory superskalarne nie są często używane w małych systemach wbudowanych ze względu na zużycie energii.
  • W tej architekturze może wystąpić problem z planowaniem.
  • Procesor superskalarny zwiększa poziom złożoności w projektowaniu sprzętu.
  • Instrukcje w tym procesorze są po prostu pobierane na podstawie ich kolejności w programie sekwencyjnym, ale nie jest to najlepsza kolejność wykonywania.

Aplikacje procesorów superskalarnych

Zastosowania procesora superskalarnego obejmują następujące.

  • Wykonanie superskalarne jest często używane przez laptop lub komputer stacjonarny. Ten procesor po prostu skanuje wykonywany program, aby odkryć zestawy instrukcji, które można wykonać jako jedną.
  • Procesor superskalarny zawiera różne kopie sprzętowe ścieżki danych, które wykonują jednocześnie różne instrukcje.
  • Ten procesor jest przeznaczony głównie do generowania szybkości implementacji powyżej jednej instrukcji na każdy cykl zegara dla pojedynczego programu sekwencyjnego.

A więc o to chodzi przegląd superskalarnego procesora – architektura, typy i aplikacje. Oto pytanie do ciebie, co to jest procesor skalarny?