Podstawy architektury systemów równoległych opartych na równoległoci danych,



Podobne dokumenty
16. Taksonomia Flynn'a.

Architektura mikroprocesorów TEO 2009/2010

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Podstawy Informatyki Systemy sterowane przepływem argumentów

Systemy wbudowane Mikrokontrolery

Architektura komputerów

Organizacja typowego mikroprocesora

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

Budowa komputera Komputer computer computare

System mikroprocesorowy i peryferia. Dariusz Chaberski

Logiczny model komputera i działanie procesora. Część 1.

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Architektura komputerów

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Współczesne procesory.

3.Przeglądarchitektur

Procesory. Schemat budowy procesora

Programowanie w asemblerze Architektury równoległe

Mikroprocesory rodziny INTEL 80x86

Technologie Informacyjne Wykład 3

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

UKŁADY MIKROPROGRAMOWALNE

Przykładowe pytania DSP 1

Budowa Mikrokomputera

Architektura systemów komputerowych

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Mikroprocesor Operacje wejścia / wyjścia

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Procesory rodziny x86. Dariusz Chaberski

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Projektowanie. Projektowanie mikroprocesorów

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Architektura komputerów

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Algorytmy dla maszyny PRAM

Technologie Informacyjne Wykład 2

Architektura Komputerów

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Programowanie współbieżne i rozproszone

Nowoczesne technologie przetwarzania informacji

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

WPROWADZENIE Mikrosterownik mikrokontrolery

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Mikroprocesorowy panel sterowania wentylatorami

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Architektura systemów komputerowych. Przetwarzanie potokowe I

Mnożenie macierzy. Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność

3.Przeglądarchitektur

Obliczenia Wysokiej Wydajności

Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków

Technologie informacyjne wykład 2 wer. 1.2

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Architektura komputerów

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Architektura potokowa RISC

Architektura systemów komputerowych. Lista instrukcji procesora

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Architektura komputerów

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Introduction to Computer Science

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Architektura systemów komputerowych. dr Artur Bartoszewski

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

Struktura i działanie jednostki centralnej

organizacja procesora 8086

dr inż. Jarosław Forenc

Architektura komputerów wer. 7

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Algorytmy i Struktury Danych

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

Architektura komputerów. Układy wejścia-wyjścia komputera

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Transkrypt:

Wykład 6 Podstawy architektury systemów równoległych opartych na równoległoci danych, Spis treci: 1. Komputery równoległe z wieloma strumieniami danych (typu SIMD) 2. Komputery wektorowe 3. Komputery asocjacyjne 4. Komputery systoliczne

Komputery równolegle z wieloma strumieniami danych (typu SIMD) Komputery SIMD (ang. Single Instruction Stream Multiple Data Stream) s budowane jako matryce procesorów które pracuj pod kontrol pojedyczego układu sterujcego. Wszystkie procesory w matrycy pracuj synchronicznie wykonujc wspólne instrukcje programu. Sterowanie obliczeniami wykorzystuje moliwo maskowania procesorów. Spotykane s dwa typy systemów SIMD: systemy SIMD z rozproszon pamici systemy SIMD ze wspóln pamici Równoległe przetwarzanie zgodne z strategi SIMD jest wykorzystywane we współczesnych mikroprocesorach w postaci specjalnych instrukcji typu SIMD.

Podstawowa struktura matrycowego komputera typu SIMD

Struktury połcze procesorów w systemach typu SIMD

Komputer typu SIMD z rozproszon pamici

Komputer typu SIMD z pamici współdzielon

Komercyjny komputer typu SIMD Connection Machine CM5 firmy Thinking Machines Ogólna struktura systemu CM5

Struktura procesora systemu CM5

Struktura systemu typu MSIMD (Multi SIMD)

Komputery wektorowe Komputery wektorowe (ang. vector computers) s to komputery, które maj wektorowe rozkazy wewntrzne (ang. vector instruction). Komputery skalarne maj wewntrzne rozkazy skalarne (ang. scalar instruction) wykonuj operacje na pojedynczych danych skalarach (ang. scalar). Rozkazy wektorowe, w odrónieniu od skalarnych, wykonuj operacje na wektorach liczbowych. Układ sterowania komputera sam organizuje dostp do elementów wektora w celu sprowadzenia ich z pamici do rejestrów i wykonania operacji, zakodowanych w rozkazach. Nie musi si o to troszczy programista.

Spotykane s nastpujce typy operacji wektorowych: a) jednoargumentowe na wektorze wynik wektor, np. obliczenie funkcji na wektorze, b) jednoargumentowe na wektorze wynik skalar, np. obliczenie sumy elementów wektora. c) dwuargumentowe na dwu wektorach wynik wektor, np. suma dwu wektorów, d) dwuargumentowe na dwu wektorach wynik skalar, np. iloczyn skalarny wektorów.

Pierwsze komputery wektorowe były systemami jednoprocesorowymi. Wykonywanie w nich operacji wektorowych oparte było na duych zbiorach rejestrów roboczych tzw. rejestrach wektorowych i potokowych blokach wykonawczych. Dziki zastosowaniu przetwarzania potokowego wykonywanie operacji wektorowych było bardzo efektywne. Rozkazy działały na argumentach pobieranych automatycznie z rejestrów z zapisem wyniku te w rejestrach. Zwykle bloków wykonawczych było kilka i mogły one pracowa równolegle. Układ sterowania sprowadzał z pamici operacyjnej wektorowe argumenty do rejestrów roboczych. Pobieranie argumentów było równie realizowane metod potokow.

Współczenie do wykonywania rozkazów wektorowych wykorzystuje si systemy wieloprocesorowe (równoległe). Spotykane s trzy podejcia do realizacji bloków funkcjonalnych dla procesorów komputerów wektorowych: potokowy blok arytmetyczno-logiczny (ang. pipelined ALU lub FPU) równolegle bloki arytmetyczno-logiczne (ang. parallel ALUs lub FPUs) procesory równoległe (ang. parallel processors). Komercyjne komputery wektorowe stanowi systemy SIMD z rozproszon pamici lub systemy MIMD z pamici dzielon lub wirtualn pamici dzielon.

Realizacja oblicze wektorowych w komputerze SIMD Argumenty wektorów, na których wykonywane ma by obliczenie wektorowe s rozproszone midzy pamiciami lokalnymi procesorów systemu SIMD. Centralny układ rozprowadza te same rozkazy skalarne do wszystkich procesorów, które wykonuj si na rozproszonych elementach wektorów np. A, B jak na rysunku. Wynik jest zapisywany w pamiciach lokalnych a nastpnie sprowadzany do modułu pamici wspólnej. Pami wspólna Centralny układ sterujcy SIMD Obliczenie na A[1], [B1] Procesor 1 Procesor 2 Procesor n Obliczenie na A[2], [B2] Pami lokalna 1 Pami lokalna 2 Pami lokalna n Obliczenie na A[n], B[n]

Ogólna struktura komputera wektorowego opartego na macierzy procesorów

Ogólna struktura komputera wektorowego opartego na procesorze wielopotokowym

Komercyjny komputer wektorowy Convex C4/XA Ogólna struktura komputera

Struktura procesorów (CPU) komputera Convex

Komputery asocjacyjne Wyróniamy dwa typy architektury komputerów asocjacyjnych: architektura oparta na pamici asocjacyjnej architektura oparta na procesorze asocjacyjnym.

Cechy architektury opartej na pamici asocjacyjnej: Dla danych wykorzystuje si pami asocjacyjn zamiast pamici o dostpie swobodnym (RM) Pami asocjacyjna jest adresowana zawartoci z równoległym dostpem do wielu słów. Komórki pamici asocjacyjnej wykonuj porównania bitowe z zadanymi wzorcami. Dane s przetwarzane wewntrz pamici asocjacyjnej przy wykorzystaniu maskowania. Wyniki porówna s zapamitywane w celu znacznikowania (ang. tag) poszukiwanych danych. Stosowane s strategie porównywania oparte na szeregowym dostpie do bitów (ang. bit serial) lub równoległym dostpie do bitów (ang. bit-parallel).

Cechy architektury opartej na procesorze asocjacyjnym Matryce procesorów asocjacyjnych s podłczone do pamici o dostpie swobodnym przy uyciu sieci przesyłania danych i sieci sterowania. Procesory asocjacyjne mog zapamita wzorzec dla poszukiwania danych i wykona zbiór okrelonych programem operacji porównujcych. Komparatory działajce na bitach s podstawowymi blokami funkcjonalnymi w tej architekturze. Operacje porównania s wykonywane w odpowiedzi na wzorce danych przesyłane przez sie wymiany danych zgodnie ze sterowaniem wysłanym przez sie sterujc. Komputer ASP (Associative String Processor) został zbudowany na Uniwersytecie Brunel w USA (1995) wykorzystywał matryc 16 tys. procesorów asocjacyjnych.

Ogólny schemat blokowy komputera asocjacyjnego opartego na pamici asocjacyjnej

Struktura blokowa pamici asocjacyjnej

Struktura wewn trzna pami ci asocjacyjnej

Ogólny schemat komputera asocjacyjnego ASP opartego na procesorach asocjacyjnych Modul ASP zawiera kilka pracujcych równolegle podzespołów przetwarzajcych (ASP substrings) zawierajcych elementarne procesory asocjacyjne.

Ogólna struktura równoległego podzespołu modułu ASP DI - Data Interface, CI - Control Interface, ADB - data buffer, ACU - control unit, ASP substring - podzespół przetwarzajcy zbudowany z cigu elementarnych procesorów asocjacyjnych

Struktura modułu ASP substring APE - elementarny procesor asocjacyjny, Vector Data Buffer- bufor we/wy danych,

Struktura elementarnego procesora asocjacyjnego APE (Associative Processing Element) Data register - 64-bit. rejestr danych, Activity register - 6-bit. rejestr czynnoci (activity), Comparator - 70-bit. komparator, 1-bitowe rejestry: C - Carry, M-Matching, D-Destination, A- Activity masking, MR - global Match Reply.

Sieci neuronalne Sieci neuronalne s oparte na modelach neuronów systemu nerwowego ludzi i zwierzt. Neurony s modelowane jako perceptrony, które wytwarzaj wyjcie gdy suma waonych wej jest powyej zadanej wartoci progu. Sieci perceptronów s uczone (poprzez dobór wag wej) aby wytwarzały podane wyjcia dla wej z zadanych klas wartoci. Neuronalne sieci mog by realizowane metodami programowymi lub mog by budowane ze zintegrowanych neuronalnych układów scalonych (mikroprocesorów neuronalnych) połczonych sieciami danych i sieciami sterujcymi. Sieci neuronalne s uczone by realizowa trzy ogólne typy zada wykonywanych na wejciach: klasyfikacja, transformacja lub redukcja (minimalizacja).

Schemat ogólny sztucznej sieci neuronalnej

Perceptron

Komercyjny scalony mikroprocesor neuronalny firmy Fujitsu

Komputery systoliczne Koncepcja systemów systolicznych jest konsekwencj potrzeby maksymalizacji efektywnoci przetwarzania w architekturach opartych na równoległoci danych Struktura komputerów systolicznych na wykorzystaniu matryc identycznych procesorów które oprócz przetwarzania danych, mog przesyła swoje wyniki do najbliszych ssiadów. Kady element matrycy wykonuje jedn ustalon funkcj. Nie organizuje si globalnych przesła danych w matrycy. Czciowe wyniki oblicze s generowane w danym kroku czasowym a nastpnie s jednoczenie przesłane wzdłu osi matrycy. Najlepsz wydajno oblicze uzyskuje si dla rozwizywania problemów, w których dane mog by zdekomponowane zgodnie z geometri, która odpowiada strukturze matrycy procesorów systolicznych. Matryce mog mie struktur liniow, prostoktn, heksagonaln.

Najbardziej znanymi komputerami systolicznymi s: WARP, ze struktura liniow, zrealizowany na Uniwersytecie Carnegi-Mellon w USA Systola 1024 o strukturze prostoktnej, wyprodukowany przez firm ISATECH.

Metoda działania matrycy procesorów komputera systolicznego.

Struktura przykładowego procesora komputera systolicznego

Wizualizacja post pu oblicze w matrycy komputera systolicznego

Znane geometrie matrycy procesorów komputerów systolicznych

Systoliczny liniowo poł czony system WARP, a) struktura systemu, b) schemat blokowy elementu przetwarzaj cego WARP

Komputery z bardzo długim slowem instrukcji Very Long Instruction Word Computers (VLIW) Architektura VLIW jest oparta na instrukcjach wewntrznych, które przypominaj mikrorozkazy z poziomym kodowaniem mikrooperacji. S one zbudowane z wielu pól, które steruj równoległym wykonaniem wielu operacji (bloków wykonawczych). Wyprodukowano kilka eksperymentalnych i komercyjnych komputerów VLIW.

Ogólna struktura komputera VLIW

Struktura blokowa komputera VLIW TRACE 7/200

Format instrukcji wewn trznej komputera TRACE 7/200 (długo 256 bitów)