Architektura7.pdf

(235 KB) Pobierz
416326794 UNPDF
Architektury równoległe
Schemat klasyfikacji Flynna
Pojedynczy
ciąg danych
Wielokrotny
ciąg danych
Pojedynczy ciąg
instrukcji
SISD
SIMD
Wielokrotny
ciąg instrukcji
MISD
MIMD
Schemat klasyfikacji Duncana
Synchroniczne
Wektorowe
SIMD
Procesory wektorowe
Pamięć asocjacyjna
Systoliczne
MIMD
(wieloprocesorowe)
Pamięć rozproszona
Pamięć wspólna
MIMD/SIMD
Paradygmat MIMD
Przepływ danych
Redukcja
Czoło fali
416326794.006.png 416326794.007.png
Procesory wektorowe SIMD
Pamięć główna
Główna jednostka
sterująca
c := a + b
PE 1
PE 1
PE 1
. . .
M 1
M 1
M 1
przechowuje
a1, b1
przechowuje
an, bn
Procesor zawiera kilka identycznych elementów przetwarzających ( ang.
processing element; PE ), z których każdy ma lokalną pamięć ( M ) do
przechowywania argumentów przed obliczeniami i po ich wykonaniu. Główny
element sterujący pobiera rozkazy z pamięci głównej i dekoduje je. Jeśli są to
rozkazy wektorowe, to przekazuje je do wszystkich elementów
przetwarzających. Każdy element przetwarzający wykonuje te same obliczenia
synchronicznie z innymi na swoich lokalnych danych.
W celu wykonania, na przykład, dodawania wektorów C := A + B gdzie
A i B są odpowiednio wektorami (a 1 , a 2 , ... , a n ) i ( b 1 , b 2 , ... , b n ), jednostka
sterująca ładuje do każdego modułu pamięci M i argumenty a i i b i i zleca
wszystkim elementom przetwarzającym wykonanie rozkazu c := a + b .
416326794.008.png
Komputery sterowane danymi
W odróżnieniu od komputerów o architekturze von Neumanna, które do
sterowania wykonywaniem rozkazów używają licznika rozkazów (PC),
komputery sterowane danymi, nie mają licznika rozkazów i wykonują rozkazy
wtedy, gdy ich argumenty staną się dostępne. Programy takich komputerów są
reprezentowane przez grafy zależności danych.
węzeł 4
operacja
asynchroniczna
węzeł 3
+
przepływ danych
węzeł 1
*
*
węzeł 2
3
a
4
b
Graf zależności danych programu obliczającego wyrażenie (3*a + 4*b)
Każdy węzeł pracuje niezależnie, wykonując konkretne operacje natychmiast po
otrzymaniu wszystkich argumentów. Wynik jest przekazywany do następnego
węzła albo węzłów grafu. Liczba węzłów, które mogą być „odpalane”
jednocześnie, zależy od organizacji sprzętu.
416326794.009.png
Pierścieniowa struktura implementacji przepływu danych
Leksem rozkazu
Kod oper. =
Argument 1 = 4
Argument 2 = 3
Cel =
szablon
Leksem danych
Cel = węzeł 3
Wartość = 4
2
Jednostka
dopasowująca
leksemy
3
Pamięć węzłów
4
Kolejka
FIFO
leksemów
Leksem rozkazu
Kod oper. = +
Argument 1 = 4
Argument 2 = 3
Cel = Węzeł 3
Jednostka
przetwarzająca
1
P
P
P
Leksem danych
Cel = węzeł 3
Wartość = 3
P
416326794.001.png 416326794.002.png 416326794.003.png 416326794.004.png 416326794.005.png
Architektury systemów MIMD
Systemy wieloprocesorowe MIMD zawierają wiele niezależnych
procesorów, które działają na oddzielnych strumieniach danych,
wykorzystując oddzielne strumienie rozkazów.
Wyróżnia się następujące rodzaje systemów wieloprocesorowych:
- Silnie powiązane systemy wieloprocesorowe.
System taki stanowi zbiór procesorów o wspólnej pamięci głównej,
działający pod zintegrowaną kontrolą systemu operacyjnego.
Procesory uzyskują dostęp do rozkazów i danych za pośrednictwem
globalnej współdzielonej pamięci,
- Luźno powiązane systemy wieloprocesorowe.
System taki stanowi zbiór stosunkowo autonomicznych jednostek,
przy czym każdy procesor ma własną pamięć główną i kanały
wejścia-wyjścia. Procesory wymieniają dane, przesyłając komunikaty.
- Procesory wyspecjalizowane funkcjonalnie.
W tym przypadku istnieje procesor(y) o ogólnym przeznaczeniu oraz
wyspecjalizowane procesory (na przykład, procesory wejścia-wyjścia),
które są sterowane przez procesor główny i wykonują dla niego
usługi.
Organizacje systemów wieloprocesorowych silnie powiązanych:
- magistralazpodziałem czasu lub wspólna magistrala;
- wykorzystanieprzełącznika krzyżowego,
- zastosowanie pamięci wieloportowej;
- zastosowanie centralnej jednostki sterującej.
Zgłoś jeśli naruszono regulamin