dr inż. Jarosław Forenc

Podobne dokumenty
dr inż. Jarosław Forenc

dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż. Jarosław Forenc

Architektura von Neumanna

dr inż. Jarosław Forenc

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

dr inż. Jarosław Forenc

16. Taksonomia Flynn'a.

Podstawy Informatyki Systemy sterowane przepływem argumentów

Klasyfikacja systemów komputerowych. Architektura von Neumanna i architektura harwardzka Budowa komputera: dr inż. Jarosław Forenc

dr inż. Jarosław Forenc

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Klasyfikacja systemów komputerowych. Architektura von Neumanna i architektura harwardzka Budowa komputera: dr inż. Jarosław Forenc

Architektura mikroprocesorów TEO 2009/2010

dr inż. Jarosław Forenc

3.Przeglądarchitektur

Architektura Komputerów

3.Przeglądarchitektur

dr inż. Jarosław Forenc

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna i architektura harwardzka Budowa komputera: dr inż. Jarosław Forenc

Architektura komputerów

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

Architektura harwardzka Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania

Systemy wieloprocesorowe i wielokomputerowe

Architektura komputerów

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

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

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

Budowa komputera Komputer computer computare

Architektura komputera

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

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

Technologie informacyjne - wykład 2 -

Budowa Mikrokomputera

Procesory. Schemat budowy procesora

Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor

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

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

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

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.

dr inż. Jarosław Forenc

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

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

LEKCJA TEMAT: Zasada działania komputera.

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Architektura komputerów

dr inż. Jarosław Forenc

Tesla. Architektura Fermi

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Informatyka 1. Wykład nr 7 ( ) Plan wykładu nr 7. Politechnika Białostocka. - Wydział Elektryczny. Architektura von Neumanna

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Technika mikroprocesorowa

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

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Programowanie Niskopoziomowe

Organizacja typowego mikroprocesora

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Nowoczesne technologie przetwarzania informacji

i3: internet - infrastruktury - innowacje

Systemy wieloprocesorowe i wielokomputerowe

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

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

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

Standard IEEE 754. Klasyfikacja systemów komputerowych (Flynna) Architektura von Neumanna i architektura harwardzka.

Informatyka 1. Wykład nr 6 ( ) Plan wykładu nr 6. Politechnika Białostocka. - Wydział Elektryczny. Architektura von Neumanna

WPROWADZENIE Mikrosterownik mikrokontrolery

ARCHITEKTURA PROCESORA,

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Magistrala systemowa (System Bus)

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Podstawy Techniki Mikroprocesorowej

Obliczenia Wysokiej Wydajności

Budowa i zasada działania komputera. dr Artur Bartoszewski

Komputery równoległe. Zbigniew Koza. Wrocław, 2012

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

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

Przetwarzanie Równoległe i Rozproszone

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Architektura komputerów wer. 3

dr inż. Jarosław Forenc

System obliczeniowy laboratorium oraz. mnożenia macierzy

LEKCJA TEMAT: Współczesne procesory.

Obliczenia Wysokiej Wydajności

Architektura komputerów

Technologie Informacyjne Wykład 2

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Architektura komputerów

Programowanie współbieżne i rozproszone

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

Transkrypt:

Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 6 (06.05.2011)

Rok akademicki 2010/2011, Wykład nr 6 2/56 Plan wykładu nr 6 Klasyfikacja systemów komputerowych (Flynna) SIMD - Single Instruction Multiple Data MISD - Multiple Instruction Single Data MIMD - Multiple Instruction Multiple Data Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka

Rok akademicki 2010/2011, Wykład nr 6 3/56 Klasyfikacja systemów komputerowych SISD (Single Instruction Single Data) klasyczne, najtańsze komputery sekwencyjne (PC, laptopy) SIMD (Single Instruction Multiple Data) te same operacje wykonywane są na różnych danych SM-SIMD (Shared Memory) - komputery wektorowe DM-SIMD (Distributed Memory) - tablice procesorów MISD (Multiple Instruction Single Data) różne operacje wykonywane na tych samych danych (nie spotykane) MIMD (Multiple Instruction Multiple Data) różne operacje wykonywane na różnych danych, ale stanowiące część tego samego zadania obliczeniowego SM-MIMD - maszyny z pamięcią wspólną (wieloprocesory) DM-MIMD - maszyny z pamięcią lokalną (wielokomputery)

Rok akademicki 2010/2011, Wykład nr 6 4/56 SIMD (Single Instruction, Multiple Data) Przetwarzanych jest wiele strumieni danych przez jeden wykonywany program, czyli te same operacje wykonywane są na różnych danych Dzielą się na dwie grupy: SM-SIMD (Shared Memory SIMD) - komputery wektorowe DM-SIMD (Distributed Memory SIMD) - tablice procesorów

Rok akademicki 2010/2011, Wykład nr 6 5/56 SM-SIMDSIMD - Komputery wektorowe Główny składnik to jeden lub kilka stanowiących logicznie jeden, procesor wektorowy, w którym w sposób równoległy wykonywane są ciągi tych samych operacji W momencie rozpoczęcia wykonywania instrukcji poszczególne procesory pobierają dane, a po jej zakończeniu wysyłają wyniki do tej samej globalnej pamięci Schemat blokowy maszyny wektorowej jest przedstawiony na rysunku źródło: A. Karbowski, E. Niewiadomska-Szynkiewicz: Obliczenia równoległe i rozproszone.

Rok akademicki 2010/2011, Wykład nr 6 6/56 SM-SIMDSIMD - Komputery wektorowe Proste programowanie, gdyż program sekwencyjny jest automatycznie zrównoleglany przez kompilator Do podejścia Shared Memory SIMD można zaliczyć wprowadzenie do procesorów rozszerzeń strumieniowych zwiększających wydajność operacji graficznych i multimedialnych: MMX - MultiMedia extensions, 1997 rok, Intel Pentium MMX 3DNow!, 1998 rok, AMD K6-2 SSE - Streaming SIMD Extensions, 1999 rok, Intel Pentium III SSE2 - Streaming SIMD Extensions 2, 2001 rok, Intel Pentium 4 SSE3 - Streaming SIMD Extensions 3, 2004 rok, Pentium 4 Prescott SSSE3 - Supplemental Streaming SIMD Extensions 3 SSE4 - Streaming SIMD Extensions 4, 2007 rok AVX - Advanced Vector Extensions - planowane: 2010 rok SSE5 - Streaming SIMD Extensions 5 - planowane: 2011 rok

Rok akademicki 2010/2011, Wykład nr 6 7/56 SM-SIMDSIMD - Komputery wektorowe CDC Cyber 205 (1981) Cray-1 (1976) Cray-2 (1985) Hitachi S3600 (1994)

Rok akademicki 2010/2011, Wykład nr 6 8/56 DM-SIMD - Tablice procesorów Maszyny składające się z jednego procesora sterującego i dużej liczby prostych procesorów z pamięcią lokalną Każdy procesor wykonuje te same instrukcje (wydawane przez procesor sterujący), w tym samym czasie, na swych danych lokalnych Wymiana danych pomiędzy sąsiadującymi procesorami: left, right, up, down, (+ front, back dla 3D) Stosowane w latach 70-tych i na początku lat 80-tych źródło: A. Karbowski, E. Niewiadomska-Szynkiewicz: Obliczenia równoległe i rozproszone.

Rok akademicki 2010/2011, Wykład nr 6 9/56 DM-SIMD - Tablice procesorów Illiac IV (1976) MasPar MP-1/MP-2 (1990) Thinking Machines CM-2 (1987) Illiac IV (1976)

Rok akademicki 2010/2011, Wykład nr 6 10/56 DM-SIMD - Procesory graficzne Do podejścia DM-SIMD można zaliczyć obliczenia ogólnego przeznaczenia realizowane na procesorach kart graficznych GPGPU General Purpose computing on Graphics Processing Units obliczenia ogólnego przeznaczenia realizowane za pomocą procesora graficznego NVIDIA CUDA (Compute Unified Device Architecture) równoległa architektura obliczeniowa bezpłatne środowisko zawierające: narzędzia do kompilacji, uruchamiania i testowania programów, biblioteki numeryczne pierwsza wersja: listopad 2006 umożliwia stworzenie programu w języku C/C++ wykonywanego jednocześnie na CPU (host) i GPU (device) firmy NVIDIA

Rok akademicki 2010/2011, Wykład nr 6 11/56 CUDA - Architektura GPU (GeForce GTX 200) Podstawowym elementem architektury jest multiprocesor strumieniowy (SM): 8 x SP - osiem procesorów strumieniowych 2 x SFU (Special Function Unit) - dwie jednostki specjalne do obliczania funkcji trygonometrycznych, wykładniczych, logarytmicznych DP - jeden procesor podwójnej precyzji (fp64), (brak na rysunku!!!) Shared Memory - pamięć współdzielona (16 kb) I Cache - pamięć podręczna instrukcji C Cache - pamięć podręczna danych, tylko odczyt MT Issue - jednostka sterująca (Multithreaded Instruction Fetch And Issue) 16.384 rejestry 32-bitowe www.anandtech.com

Rok akademicki 2010/2011, Wykład nr 6 12/56 CUDA - Architektura GPU (GeForce GTX 200) 3 multiprocesory połączone razem tworzą klaster (TPC - Thread Processing Cluster) Klaster zawiera również: odpowiednią logikę sterującą (Geometry Controller + SMC) jednostki tekstur (Texture Units) Jednostki tekstur zawierają: logikę adresowania i filtrowania tekstur pamięć podręczną tekstur (Texture L1) www.anandtech.com

Rok akademicki 2010/2011, Wykład nr 6 13/56 CUDA - Architektura GPU (GeForce GTX 200) 10 klastrów tworzy macierz procesorów strumieniowych (SPA - Streaming Processor Array) 1 GPU = 10 TCP 1 GPU = 30 SM 1 GPU = 240 SP www.anandtech.com

Rok akademicki 2010/2011, Wykład nr 6 14/56 CUDA - Architektura GPU (GeForce GTX 200) GPU z dodatkowymi elementami (pamięć DRAM, interfejs PCIe) www.anandtech.com

Rok akademicki 2010/2011, Wykład nr 6 15/56 Produkty z obsługą CUDA NVIDIA GeForce z serii 8, 9, 100, 200, 400 i 500 karty graficzne ogólnego zastosowania od GeForce 8400 GS do GeForce GTX 590 NVIDIA Quadro z serii Plex, FX, NVS systemy wizualizacji, CAD zastosowania biznesowe (systemy wielomonitorowe) NVIDIA Tesla dedykowane do zastosowań GPGPU Tesla C870, Tesla D870, Tesla S870 Tesla C1060, Tesla S1070, Tesla M1060 Tesla M2050/2070, C2050/2070, S2050

Rok akademicki 2010/2011, Wykład nr 6 16/56 Produkty z obsługą CUDA Tesla C870 Tesla S870 Tesla D870

Rok akademicki 2010/2011, Wykład nr 6 17/56 Produkty z obsługą CUDA Tesla C1060 GeForce GTX 295 Tesla S1070

Rok akademicki 2010/2011, Wykład nr 6 18/56 MISD (Multiple Instruction, Single Data) Wiele równolegle wykonywanych programów przetwarza jednocześnie jeden wspólny strumień danych Tego typu systemy nie są spotykane Możliwe zastosowania: systemy uczące się - różne procesory odczytują i modyfikują w losowej kolejności te same dane

Rok akademicki 2010/2011, Wykład nr 6 19/56 MIMD (Multiple Instruction, Multiple Data) Równolegle wykonywanych jest wiele programów, z których każdy przetwarza własne strumienie danych Jest to najbardziej popularna grupa systemów równoległych Systemy te dzielą się na dwie grupy: SM-MIMD (Shared Memory) - wieloprocesory DM-MIMD (Distributed Memory) - wielokomputery, klastry, gridy

Rok akademicki 2010/2011, Wykład nr 6 20/56 SM-MIMDMIMD - Wieloprocesory Maszyny posiadające niezbyt dużą liczbę procesorów działających niezależnie, z których każdy ma dostęp do wspólnej przestrzeni adresowej pamięci Procesory komunikują się ze sobą zapisując i odczytując dane w uzgodnionym obszarze wspólnej pamięci Praca wszystkich wieloprocesorów sterowana jest przez pojedynczą kopię systemu operacyjnego Do grupy tej zalicza się także wszystkie komputery z procesorami wielordzeniowymi

Rok akademicki 2010/2011, Wykład nr 6 21/56 SM-MIMDMIMD - Wieloprocesory Zależnie od sposobu realizacji pamięci współdzielonej, wieloprocesory dzielą się na trzy grupy: UMA (Uniform Memory Access) - jednolity dostęp do pamięci czas dostępu jest jednakowy dla każdej pary procesor-pamięć jeśli nie jest to możliwe, to szybsze odwołania są sztucznie spowalniane do wolniejszych NUMA (NonUniform Memory Access) - niejednolity dostęp do pamięci procesor uzyskuje szybszy dostęp do tych modułów pamięci, które są bliżej niego COMA (Cache Only Memory Access) - dostęp wyłącznie przez pamięć cache

Rok akademicki 2010/2011, Wykład nr 6 22/56 SM-MIMDMIMD - Architektura UMA z magistralą Architektura najprostszych systemów bazuje na pojedynczej magistrali, do której przyłączone są dwa lub więcej procesorów oraz kilka modułów pamięci CPU CPU M Magistrala przed odczytem danych z pamięci procesor sprawdza czy magistrala jest wolna, jeśli tak to wysyła na magistralę adres słowa, ustawia odpowiednio stan sygnałów sterujących i oczekuje aż odczytywana wartość pojawi się na magistrali Dużym problemem w tego typu układach jest rywalizacja procesorów o dostęp do magistrali

Rok akademicki 2010/2011, Wykład nr 6 23/56 SM-MIMDMIMD - Architektura UMA z magistralą Problem rywalizacji procesorów o dostęp do magistrali można złagodzić stosując w każdym procesorze pamięć podręczną cache CPU cache CPU cache M Magistrala z cache owaniem Większość odczytów następuje wtedy z pamięci cache i magistrala zostaje odciążona Zastosowanie pamięci cache wymaga zapewnienia spójności cache (cache consistency, cache coherence)

Rok akademicki 2010/2011, Wykład nr 6 24/56 SM-MIMDMIMD - Architektura UMA z przełącznicą Innym rozwiązaniem zapewniającym jednakowy czas dostępu procesorów do pamięci jest przełącznica krzyżowa Skrzyżowanie linii poziomej z pionową nazywane jest punktem skrzyżowania Fizycznie punkt skrzyżowania ma postać małego przełącznika, który może być elektrycznie zamykany lub otwierany Przy umiarkowanej liczbie procesorów i modułów pamięci przełącznice krzyżowe spisują się bardzo dobrze Konstruowanie dużych przełącznic jest bardzo kosztowne i z tego powodu nie są one stosowane

Rok akademicki 2010/2011, Wykład nr 6 25/56 SM-MIMDMIMD - Architektura NUMA W wieloprocesorach z niejednolitym czasem dostępu do pamięci (NUMA - NonUniform Memory Access) lokalne moduły pamięci są szybciej dostępne dla procesora niż pozostałe, zdalne moduły Gdy dostęp do zdalnej pamięci nie jest wspomagany cache owaniem, architekturę wieloprocesora określa się skrótem NC-NUMA (Non-Cached NUMA) Architektura wieloprocesora wspomagana systemem spójnego cache owania opatrywana jest skrótem ccnuma (cache-coherent NUMA)

Rok akademicki 2010/2011, Wykład nr 6 26/56 SM-MIMDMIMD - Architektura COMA Wieloprocesory COMA (Cache Only Memory Access) wykorzystują główną pamięć każdego procesora jako dużą pamięć cache Fizyczna przestrzeń adresowa podzielona zostaje na linie cache, które mogą na żądanie migrować po systemie

Rok akademicki 2010/2011, Wykład nr 6 27/56 SM-MIMD MIMD - Wieloprocesory Cray YM-P (1988) Cray J90 (1994) Cray CS6400 (1993)

Rok akademicki 2010/2011, Wykład nr 6 28/56 SM-MIMD MIMD - Wieloprocesory NEC SX-4 (1994) NEC SX-6 (2002) NEC SX-5 (1995) NEC SX-8 (2005)

Rok akademicki 2010/2011, Wykład nr 6 29/56 DM-MIMDMIMD - Wielokomputery Systemy w których każdy procesor wyposażony jest we własną pamięć operacyjną, niedostępną dla innych procesorów każdy procesor działa niezależnie i może operować tylko na swojej prywatnej pamięci procesory komunikują się za pomocą sieci połączeniowej wymieniając między sobą komunikaty jest to najpopularniejsza i najdynamiczniej rozwijająca się grupa maszyn równoległych do wielokomputerów zalicza się także klastry

Rok akademicki 2010/2011, Wykład nr 6 30/56 DM-MIMD MIMD - Wielokomputery Cray T3E (1995) Thinking Machines CM-5 (1991) ncube 2s (1993) Meiko CS-2 (1993)

Rok akademicki 2010/2011, Wykład nr 6 31/56 DM-MIMD MIMD - Klastry Klaster (ang. cluster): równoległy lub rozproszonego system składający się z komputerów PC lub stacji roboczych komputery połączone są siecią używany jest jako pojedynczy, zintegrowany zespół obliczeniowy Pojedynczy komputer przyłączony do struktury klastra i wykonujący zadania obliczeniowe nazywany jest węzłem klastra (ang. node)

Rok akademicki 2010/2011, Wykład nr 6 32/56 DM-MIMDMIMD - Klastry Miejsce instalacji: Politechnika Białostocka Wydział Elektryczny KETiM Rok instalacji: 2004-2006 Typ klastra: homogeniczny dedykowany Liczba węzłów: 7 Sieć komputerowa: Gigabit Ethernet

Rok akademicki 2010/2011, Wykład nr 6 33/56 DM-MIMDMIMD - Klastry Klastry Beowulf budowane były ze zwykłych komputerów PC Odin II Beowulf Cluster Layout, University of Chicago, USA

Rok akademicki 2010/2011, Wykład nr 6 34/56 DM-MIMDMIMD - Klastry Klastry Beowulf budowane były ze zwykłych komputerów PC NASA 128-processor Beowulf cluster: A cluster built from 64 ordinary PC's

Rok akademicki 2010/2011, Wykład nr 6 35/56 DM-MIMDMIMD - Klastry Klastry Beowulf budowane były ze zwykłych komputerów PC 61 node Beowulf cluster with 122 2.4 GHz Xeon processors, Boise State University

Rok akademicki 2010/2011, Wykład nr 6 36/56 DM-MIMDMIMD - Klastry Early Aspen Systems Beowulf Cluster With RAID

Rok akademicki 2010/2011, Wykład nr 6 37/56 DM-MIMDMIMD - Klastry Klaster zbudowany z 336 konsol Sony PlayStation 3 Air Force Research Laboratory's Rome Laboratory in Rome, N.Y.

Rok akademicki 2010/2011, Wykład nr 6 38/56 National Supercomputer HLRB-II: SGI Altix 4700 Nazwa: HLRB-II Miejsce: Leibniz Rechenzentrum, Garching (Technische Universität München) Model: SGI Altix 4700 Rok: 2007 URL: http://www.lrz-muenchen.de/services/compute/hlrb Charakterystyka: liczba rdzeni: 9782 pamięć główna: 38912 GB system operacyjny: SUSE Linux Enterprise Server 10 sieć komputerowa: NUMAlink 4 TOP 500: Rmax = 56520 GFlops 06/2007-10 miejsce, 11/2010-133 miejsce

Rok akademicki 2010/2011, Wykład nr 6 39/56 National Supercomputer HLRB-II: SGI Altix 4700 Technische Universität München, Garching

Rok akademicki 2010/2011, Wykład nr 6 40/56 National Supercomputer HLRB-II: SGI Altix 4700 Technische Universität München, Garching

Rok akademicki 2010/2011, Wykład nr 6 41/56 National Supercomputer HLRB-II: SGI Altix 4700 SGI Altix 4700

Rok akademicki 2010/2011, Wykład nr 6 42/56 National Supercomputer HLRB-II: SGI Altix 4700 SGI Altix 4700

Rok akademicki 2010/2011, Wykład nr 6 43/56 National Supercomputer HLRB-II: SGI Altix 4700 Cube, 36 x 36 x 36 [m]

Rok akademicki 2010/2011, Wykład nr 6 44/56 National Supercomputer HLRB-II: SGI Altix 4700 19 partycji / 9728 rdzeni Każda partycja zawiera 256 procesorów Itanium dual-core Intel Itanium2 Dual Core, 1.6 GHz 4 Flops / cykl / rdzeń 12.8 GFlops (6.4 GFlops / rdzeń) 13 partycji high-bandwidth blade zawiera 1 procesor (2 rdzenie) oraz 4 GB pamięci szyna 533 MHz (8.5 GB/sec) 6 partycji high-density blade zawiera 2 procesory (4 rdzenie) oraz 4 GB pamięci szyna 533 MHz (8.5 GB/sec)

Rok akademicki 2010/2011, Wykład nr 6 45/56 National Supercomputer HLRB-II: SGI Altix 4700

Rok akademicki 2010/2011, Wykład nr 6 46/56 Architektura von Neumanna Architektura von Neumanna jest to rodzaj architektury komputera, opisanej w 1945 roku przez matematyka Johna von Neumanna Inne spotykane nazwy: architektura z Princeton, store-program computer (koncepcja przechowywanego programu) Chociaż nazwa pochodzi od jego nazwiska, to tego typu architektura była znana już wcześniej Architektura von Neumanna zakłada podział komputera na kilka części: jednostkę sterującą jednostkę arytmetyczno-logiczną pamięć główną urządzenia wejścia-wyjścia

Rok akademicki 2010/2011, Wykład nr 6 47/56 Architektura von Neumanna Jednostka sterująca (CU - Control Unit) interpretuje rozkazy z pamięci i powoduje ich wykonanie Jednostka arytmetyczno-logiczna (ALU - Arithmetic Logic Unit) wykonuje działania na liczbach binarnych Pamięć (Memory) przechowuje dane i program (instrukcje i rozkazy programu) Urządzenia wejścia-wyjścia (Input/Output) Jednostka arytmetyczno-logiczna oraz sterująca tworzą obecnie procesor (CPU - Central Processing Unit)

Rok akademicki 2010/2011, Wykład nr 6 48/56 Architektura von Neumanna - podstawowe cechy Informacje przechowywane są w komórkach pamięci (cell) o jednakowym rozmiarze, zawierających jednostki informacji zwane słowami (word) Komórki pamięci tworzą uporządkowany zbiór z jednoznacznie określonymi numerami zwanymi adresami Zawartość komórki pamięci może zmienić tylko procesor wykonując rozkaz przesłania słowa do pamięci Dane oraz instrukcje programu (rozkazy) przechowywane są w tej samej pamięci i są jednakowo dostępne dla procesora Dane i instrukcje zakodowane są za pomocą liczb - bez analizy programu trudno jest określić, czy dany obszar pamięci zawiera dane czy instrukcje

Rok akademicki 2010/2011, Wykład nr 6 49/56 Architektura von Neumanna - podstawowe cechy Program jest wprowadzany do systemu komputerowego poprzez urządzenia zewnętrzne i przechowywany w pamięci w sposób identyczny jak dane Praca systemu komputerowego polega na sekwencyjnym odczytywaniu instrukcji z pamięci komputera i ich wykonywaniu w procesorze Wykonanie rozkazu polega na: pobraniu z pamięci słowa będącego kodem instrukcji pobraniu z pamięci danych przetworzeniu danych (wykonanie instrukcji) zapisaniu wyników do pamięci System komputerowy ma skończoną i funkcjonalnie pełną listę rozkazów

Rok akademicki 2010/2011, Wykład nr 6 50/56 Architektura von Neumanna - podstawowe cechy Procesor komunikuje się z pamięcią przy wykorzystaniu jednej magistrali danych - nie może zatem w tym samym czasie odczytywać danych i instrukcji Wadą architektury von Neumanna jest ograniczony transfer pomiędzy procesorem a pamięcią (von Neumann bottleneck) procesor jest w stanie szybko przetwarzać dane, ale musi czekać na ich przesyłane do lub z pamięci rozwiązaniem tego problemu jest zastosowanie pamięci podręcznej

Rok akademicki 2010/2011, Wykład nr 6 51/56 Architektura harwardzka Architektura komputera, w której pamięć danych programu jest oddzielona od pamięci instrukcji Nazwa architektury pochodzi komputera Harward Mark I: zaprojektowany przez Howarda Aikena pamięć instrukcji - taśma dziurkowana, pamięć danych - elektromechaniczne liczniki

Rok akademicki 2010/2011, Wykład nr 6 52/56 Architektura harwardzka Pamięci danych i instrukcji mogą różnić się: technologią wykonania strukturą adresowania długością słowa Przykład: ATmega16-16kB Flash, 1 kb SRAM, 512 B EEPROM Pamięć na instrukcje jest zazwyczaj większa niż pamięć na dane Pamięć instrukcji i danych zajmują inną przestrzeń adresową Procesor może w tym samym czasie czytać instrukcje oraz uzyskiwać dostęp do danych Architektura ta jest szybsza od architektury von Neumanna Stosowana w mikrokomputerach jednoukładowych, procesorach sygnałowych oraz przy dostępie procesora do pamięci podręcznej

Rok akademicki 2010/2011, Wykład nr 6 53/56 Architektura harwardzka i von Neumanna W architekturze harwardzkiej pamięć instrukcji i pamięć danych: zajmują różne przestrzenie adresowe mają oddzielne szyny (magistrale) do procesora zaimplementowane są w inny sposób Procesor Magistrala instrukcji Magistrala danych Pamięć programu (instrukcje programu) Pamięć danych (dane programu) Architektura von Neumanna Architektura harwardzka

Rok akademicki 2010/2011, Wykład nr 6 54/56 Zmodyfikowana architektura harwardzka Zmodyfikowana architektura harwardzka łączy w sobie cechy architektury harwardzkiej i architektury von Neumanna W architekturze tej oddzielone są pamięci danych i rozkazów, lecz wykorzystują one wspólną magistralę danych i adresową Architektura ta pozwala na dostęp do pamięci instrukcji tak jakby były to dane Część pamięci instrukcji może zawierać stałe dane, np. łańcuchy znaków, które mogą być przesyłane bezpośrednio do procesora z pominięciem pamięci na dane - zapewnia to oszczędność pamięci na dane

Rok akademicki 2010/2011, Wykład nr 6 55/56 Architektura von Neumanna i harwardzka W obecnie stosowanych procesorach występują elementy obu architektur: pamięć operacyjna (RAM) komputera jest to typowa architektura von Neumanna pamięć podręczna (cache) podzielona jest na pamięć instrukcji i pamięć danych Z punktu widzenia programisty posługujemy się architekturą von Neumana, zaś implementacje sprzętowe zawierają architekturę harwardzką Stosowane obecnie mikrokontrolery są oparte na zmodyfikowanej architekturze harwardzkiej (AVR, ZiLOG Z8Encore!)

Rok akademicki 2010/2011, Wykład nr 6 56/56 Koniec wykładu nr 6 Dziękuję za uwagę!