Zrównoleglenie i przetwarzanie potokowe
|
|
- Teodor Gajda
- 8 lat temu
- Przeglądów:
Transkrypt
1 Zrównoleglenie i przetwarzanie potokowe Zrównoleglenie wysoka wydajność pozostaje osiągnięta w efekcie jednoczesnego wykonania różnych części zagadnienia. Przetwarzanie potokowe proces jest rozdzielony na drobne części stopni przebiegu. Każdy stopień będzie wykonany oddzielnym blokiem sprzętu. Przetwarzanie dowolnego rozkazu można rozdzielić na kilka stopni i zorganizować przekazanie danych od jednego etapu do innego. Przetwarzanie potokowe można wykorzystać dla skojarzenia etapów wykonania różnych rozkazów. Wydajność rośnie w efekcie tego, że na różnych stopniach przetwarzania potokowego jednocześnie nie są wykonane kilka rozkazów. Przykład: mamy 5 etapów wykonania operacji trwałością 50, 50, 60, 50 i 50 ns odpowiednio, a 5 ns nakład na organizacje przetwarzania potokowego. Średni czas wykonania rozkazu przy przetwarzani sekwencyjnym wynosi 260 ns, a przy przetwarzani potokowym (t sr pot ) trwałości najdłuższego taktu plus nakład na przetwarzanie potokowe 60+5 = 65 ns [t sr pot = (maksymalna trwałość etapu)*(ilość etapów)/(ilość potoków) = 65*5/5 = 65 ns]. Więc przyspieszenie wynosi 260/65 = 4 razy. Większość współczesnych procesorów używają przetwarzanie potokowe. 1
2 2
3 Typowe etapy przetwarzania typowego rozkazu: IF - obliczenie adresu rozkazu, pobranie rozkazu ID - dekodowanie rozkazu OF - obliczenie adresu operandu, pobranie operandu EX - wykonanie operacji na operandach WB - zapisanie wyniku Przykład 1 Hazardy danych: for(i=0; i<n; i++) { A[i] = 1.1* A[i]; } Potok, pobierający wartość operandu A[ ] (etap OF) na iteracji i+1, będzie wstrzymany dokąd licznik iteracji pętli i nie pozostanie inkrementowany. 3
4 Rozwiązanie: for(i=0; i<n; i+=2) { A[i] = 1.1* A[i]; A[i+1] = 1.1*A[i+1]; } Instrukcji w pętli są niezależne ne potoki procesora w stanie działać równoległe. Przykład 2 while(next = p[next]) { //ciało pętli next++; } Dokąd nie będzie wykonana ostatnia linia instrukcji pętli, dotąd procesor nie wie wartość zmiennej next i nie w stanie użyć prefetch. Czas wykonania tego kodu jest wyznaczony latentością układu pamięci. 4
5 Rozwiązanie: while(next = p[next++]) { //ciało pętli } Procesor wysyła do chipsetu zapotrzebowanie na ładowanie słowa p[next] i natychmiast inkrementuje next. Adres następnego słowa już jest wiadomy. Dalej procesor wysyła kolejne zapotrzebowanie, nie oczekując operacji w pętle (po co oczekiwać?). Dokąd procesor liczy, chipset dostarcza nową porcje danych dla kolejnej iteracji pętli. Czas ładowania w rejestr N zależnych słów wynosi T = N (T ch +T mem ), gdzie T ch latentność chipseta, T mem latentność pamięci. Czas ładowania N niezależnych słów wynosi T = N/C + T ch +T mem, gdzie C przepustowość układu pamięci. 5
6 Przykład 3 for(i=0; i<n; i++) { A[i] = A[i]+B[i]; //line 1 C[i] = A[i]+1.0; //line 2 A[i] = D[i]+1.0; //line 3 } Linia kodu 3 nie może być wykonana dokąd nie będzie zakończona linia 2. Inaczej A[i] będzie zmodyfikowano wcześniej od jego użycia w linii 2. Rozwiązanie: register double rrr; for(i=0; i<n; i++) { A[i] = A[i]+B[i]; //line 1 rrr = A[i]; C[i] = rrr+1.0; //line 2 A[i] = D[i]+1.0; //line 3 } 6
7 Wpływ różnych technik oprogramowania na szybkość wykonania algorytmu. Przykład MemTest_1: Obliczenie iloczynu skalarnego dot = X*X różnymi sposobami. Charakterystyki komputera: Procesor Intel Core 2 Quad CPU Q6600@2.40 GHz Cache - L1: 32 KB, L2:4096 KB Pamięć: DDR2 800 MHz4 GB 7
8 Parametry rozwijania pętli i prefetchu istotnie zależą od architektury procesora, częstości magistrali i wielu różnych czynników. 8
9 Prefetch pobieranie danych z wyprzedzeniem z celą ukryć zwłokę (latentność) układu pamięci. Typowy schemat bez prefetch u: for(i=0; i<n; i++) dot += X[i]*X[i]; i=0; procesor wystawia na chipset zapotrzebowanie na słowo X[0]. Chipset stawi to w kolejkę zapotrzebowań. Jak tylko opracowanie tej kolejki dojdzie do naszego zapotrzebowania, podane słowo będzie odczytane z pamięci głównej i za pomocą magistrali przesunięte do cache L2. Procesor w tym czasie wykonuje puste cykle. Odczinek czasu licząc od momentu wystawienia zapotrzebowania na chipset do umieszczenia danych w cache jest latentnością układu pamięć chipset (T ch +T mem ). i=1; Wszystko będzie powtórzone dokładnie tak, jak dla poprzedniej iteracji. Czas wykonania takiego algorytmu : T = N (T ch +T mem ) +2 N t ops N (T ch +T mem ), gdzie t ops czas wykonania jednego mnożenia lub dodawania. 9
10 Typowy schemat z prefetch em: for(i=0; i<n; i+=8) { //inicjujemy ładowanie następnej linii cache danych za adresem //&X[i+8] do cache L1. Przy niemożliwości ładowania cache L1 //będzie ładowany cache L2. Zakładamy, że rozmiar cache linii //dla podanego sprzętu wynosi 64 B = 8 słów double. Ten kod jest //zależny od sprzęntu. } _mm_prefetch((const char *)(&X[i+8]), _MM_HINT_T0); dot += X[i]*X[i]+X[i+1]*X[i+1] + +X[i+7]*X[i+7]; Teraz oczekiwanie procesora w skutek latentności układu pamięci odbywa się tylko przy i = 0. Dalej procesor i układ pamięci działają równoległe. Przyczyną hamowania obliczeń dla takiego kodu jest ograniczona przepustowość magistrali, a nie latentność układu pamięci. Czas wykonania takiego algorytmu: T = N/C + T ch +T mem + 2 N t ops /k N/C, gdzie C przepustowość układu pamięci, k przyspieszenie obliczeń w skutek usunięcia zaburzeń potokowego przetwarzania danych. 10
11 11
12 Hierarchia pamięci 12
13 Przykładowe rozmiary i czasy dostępu dla różnych rodzajów pamięci: Typ pamięci rozmiar Czas dostępu, ns rejestry Kilkaset B < 1 ns podręczna (L1) kilkanaście KB Kilka ns podręczna (L2 - L3) Kilka MB Kilkanaście ns główna Kilkaset MB sto kilkadziesiąt ns Optymalne wykorzystanie pamięci podręcznej jest bardzo ważne dla wydajności programów Pamięć podręczna składa się z linij o kilku słow (32 B, 64 B, 128 B). Dane z pamięci głównej będą umieszczone w pamięci podręcznej przed umieszczeniem w rejestrach procesora. Mówimy o odwzorowaniu bloków pamięci głównej w linie pamięci podręcznej. 13
14 Cache-konflikty Przy czytaniu danych (słowo, bajt) procesor najpierw sprawdza stan swojej pamięci podręcznej. Jeśli te dane są w pamięci podręcznej (read hit trafienie), oni będą umieszczone w rejestry procesora. Jeśli tych danych (słowa, bajta) niema w pamięci podręcznej (read miss chybienie), będzie przeładowana cała linia pamięci podręcznej. Przy pobraniu tych danych (bajta, słowa) z pamięci głównej będą pobrane nie tylko to słowo, bajt, a i bajty sąsiednie tak, żeby wypełnić całą linie pamięci podręcznej. W zależności od typu procesora cache-linii mają 32 B, 64 B, 128 B,... Dane, które będą umieszczone w kache-linie, muszą być wyrównane po granicach, wielokrotnych 32 B, 64 B, 128 B odpowiednio. Ideologia cache-linij polega na tym, że zadania najczęściej pracują ze zbiorem sąsiednich słów (bajtów), więc przy odczycie tych słów (bajtów) często wynika stan read hit, i procesor pobiera te dane w rejestry z cachelinii, a nie przez wolny kanał magistral pamięć główna. 14
15 Przecież cache-linii istotnie komplikują odnowienie pamięci w środowisku wieloprocesorowym z pamięcią wspólną Przykład 1. Procesor P0 odczytuje słowo 0, a również i słowa sąsiedni w swój cache 2. Procesor P1 odczytuje słowo 1, a również i słowa sąsiedni w swój cache, przy czym słowo 0 procesora P0 w skutek wyrównania po granicach, wielokrotnych rozmiary cache-linii, znajduje się w cache-linii procesora P1 też. 3. Procesor P0 modyfikuje słowo 0 i umieszcza ten wynik w swój cache. Wartość tego słowa w pamięci głównej na razie pozostaje bez zmian. 4. Procesor P1 nic nie wie o tym, że zawartość słowa 1 podległa zmianie. Teraz wartość słowa 0 zależy od tego, cache którego procesora będzie wyładowany w pamięć główną później. 15
16 Procesor P0 odczytuje słowo 0, a również i słowa sąsiedni w swój cache 16
17 Procesor P1 odczytuje słowo 1, a również i słowa sąsiedni w swój cache, przy czym słowo 0 procesora P0 17
18 Procesor P0 modyfikuje słowo 0 i umieszcza ten wynik w swój cache. Wartość tego słowa w pamięci głównej na razie pozostaje bez zmian. 18
19 Procesor P1 nic nie wie o tym, że zawartość słowa 1 podległa zmianie. Teraz wartość słowa 0 zależy od tego, cache którego procesora będzie wyładowany w pamięć główną później. 19
20 Taki scenariusz był by katastrofą. Producenci sprzętu komputerowego bardzo dobrze wiedzą o tym, i dla tego rzeczywisty komputer nigdy tak nie działa. 1. Procesor P0 odczytuje słowo 0, a również i słowa sąsiedni w swój cache 2. Procesor P1 odczytuje słowo 1, a również i słowa sąsiedni w swój cache, przy czym słowo 0 procesora P0 w skutek wyrównania po granicach, wielokrotnych rozmiary cache-linii, znajduje się w cache-linii procesora P1 też. 3. Procesor P0 modyfikuje słowo 0 i umieszcza ten wynik w swój cache. Wartość tego słowa w pamięci głównej na razie pozostaje bez zmian, ale procesor P1 w skutek snooping'u zgłasza zawartość swojego cache unieważnioną. 4. Procesor P0 wyładuje zawartość swojego cache w pamięć główną, a procesor P1 ponownie załadowuje swoją cache-linie. Teraz dane w pamięci głównej i w cache-liniach procesorów P0, P1 są spójne (koherentne). Przecież płacą za tą spójność nadliczbowe przeładowania cache-linij procesorów P0, P1. 20
21 Procesor P0 odczytuje słowo 0, a również i słowa sąsiedni w swój cache 21
22 Procesor P1 odczytuje słowo 1, a również i słowa sąsiedni w swój cache, przy czym słowo 0 procesora P0 22
23 Procesor P0 modyfikuje słowo 0 i umieszcza ten wynik w swój cache. Wartość tego słowa w pamięci głównej na razie pozostaje bez zmian, ale procesor P1 w skutek snooping'u zgłasza zawartość swojego cache unieważnioną. 23
24 Procesor P0 wyładuje zawartość swojego cache w pamięć główną, a procesor P1 ponownie załadowuje swoją cache-linie. Teraz dane w pamięci głównej i w cache-liniach procesorów P0, P1 są spójne (koherentne). 24
25 To się okazuje, że obecność pamięci podręcznej, przeznaczonej dla przyspieszenia obliczeń wskutek zmniejszenia ilości odczytów-zapisów bezpośrednich z /w pamięć(i) głównej, może stać przyczyną istotnego zmniejszenia wydajności obliczeń, jeśli dane nie będą wyrównane z uwzględnieniem podanej powyżej specyfiku pracy z cache-liniami. To leży na programiście. Środki, które zapobiegają wyniknięciu cache-konfliktów: wyrównanie rozmieszczenia danych w pamięci głównej tak, żeby różne procesory mieli dostęp do różnych adresów pamięci, rozdzielonej przynajmniej granicą cache-linii Rozdzielenie danych tylko dla odczytu od danych dla odczytu i zapisu Użycie pamięci lokalnej dla każdego potoku UWAGA! Cache-konflikty powstają dla architektury ze wspólną pamięcią. Dla architektury z pamięcią rozproszoną każdy procesor odczytuje-zapisuje dane, pobierane z pamięci lokalnej cache konflikty nie występują. 25
Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:
Dr inż. hab. Siergiej Fialko, IF-PK,
Dr inż. hab. Siergiej Fialko, IF-PK, http://torus.uck.pk.edu.pl/~fialko sfialko@riad.pk.edu.pl 1 Osobliwości przedmiotu W podanym kursie główna uwaga będzie przydzielona osobliwościom symulacji komputerowych
Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Architektura systemów komputerowych. Przetwarzanie potokowe I
Architektura systemów komputerowych Plan wykładu. Praca potokowa. 2. Projekt P koncepcja potoku: 2.. model ścieżki danych 2.2. rejestry w potoku, 2.3. wykonanie instrukcji, 2.3. program w potoku. Cele
Architektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych
Wydajność programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność programów sekwencyjnych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci i przetwarzania
Organizacja pamięci współczesnych systemów komputerowych : pojedynczy procesor wielopoziomowa pamięć podręczna pamięć wirtualna
Pamięć Wydajność obliczeń Dla wielu programów wydajność obliczeń może być określana poprzez pobranie danych z pamięci oraz wykonanie operacji przez procesor Często istnieją algorytmy, których wydajność
ARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Organizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Architektura potokowa RISC
Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania
Programowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 3: Architektura procesorów x86 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcia ogólne Budowa mikrokomputera Cykl
System pamięci. Pamięć podręczna
System pamięci Pamięć podręczna Technologia Static RAM (SRAM) Ułamki nanosekund, $500-$1000 za GB (2012r) Dynamic RAM (DRAM) 50ns 70ns, $10 $20 za GB Pamięci Flash 5000-50000 ns, $0.75 - $1 Dyski magnetyczne
Procesory. Schemat budowy procesora
Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu
METODY ELIMINACJI STUDENTÓW INFORMATYKI. Czyli co student INF-EKA powinien wiedzieć o MESI...
METODY ELIMINACJI STUDENTÓW INFORMATYKI Czyli co student INF-EKA powinien wiedzieć o MESI... copyright Mahryanuss 2004 Data Cache Consistency Protocol Czyli po naszemu protokół zachowujący spójność danych
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Budowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Przetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
System pamięci. Pamięć podręczna
System pamięci Pamięć podręczna Technologia Static RAM (SRAM) Ułamki nanosekund, $500-$1000 za GB (2012r) Dynamic RAM (DRAM) 50ns 70ns, $10 $20 za GB Pamięci Flash 5000-50000 ns, $0.75 - $1 Dyski magnetyczne
Architektura mikroprocesorów z rdzeniem ColdFire
Architektura mikroprocesorów z rdzeniem ColdFire 1 Rodzina procesorów z rdzeniem ColdFire Rdzeń ColdFire V1: uproszczona wersja rdzenia ColdFire V2. Tryby adresowania, rozkazy procesora oraz operacje MAC/EMAC/DIV
Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1
i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Konsekwencje prawa Moore'a 4 Procesory wielordzeniowe 5 Intel Nehalem 6 Architektura Intel Nehalem
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 6: Budowa jednostki centralnej - CPU Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Procesor jednocyklowy Procesor
Mikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Architektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Architektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Procesor część II Rejestry procesora dostępne programowo AX Akumulator Zawiera jeden z operandów działania i do niego przekazywany jest wynik BX,CX,DX,EX,HX,LX
Budowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Mikroprocesory rodziny INTEL 80x86
Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 7: Potokowe jednostki wykonawcze Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Budowa potoku Problemy synchronizacji
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL
Architektura komputerów wprowadzenie materiał do wykładu 3/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych
Architektura komputerów
Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Architektura komputerów
Architektura komputerów Wykład 5 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) c.d. 2 Architektura CPU Jednostka arytmetyczno-logiczna (ALU) Rejestry Układ sterujący przebiegiem programu
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake
Architektura komputerów
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.
Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27
ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP. c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania
Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Magistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Wydajność obliczeń a architektura procesorów
Wydajność obliczeń a architektura procesorów 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych zadań, np.: liczba rozkazów na sekundę
Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek
Architektura systemów komputerowych Pamięć, c.d. Cezary Bolek Katedra Informatyki Plan wykładu Strategie zapisu Bufor zapisu Strategie wymiany bloków w pamięci Współczynniki trafień i chybień Wstrzymania
Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Ograniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
System pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC
Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową
Obliczenia Wysokiej Wydajności
Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności i łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
System obliczeniowy laboratorium oraz. mnożenia macierzy
System obliczeniowy laboratorium.7. oraz przykładowe wyniki efektywności mnożenia macierzy opracował: Rafał Walkowiak Materiały dla studentów informatyki studia niestacjonarne październik 1 SYSTEMY DLA
Ograniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
architektura komputerów w. 4 Realizacja sterowania
architektura komputerów w. 4 Realizacja sterowania Model komputera CPU Jednostka sterująca Program umieszczony wraz z danymi w pamięci jest wykonywany przez CPU program wykonywany jest sekwencyjnie, zmiana
Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach
mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie
LEKCJA TEMAT: Współczesne procesory.
LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić
Optymalizacja skalarna. Piotr Bała. bala@mat.uni.torun.pl. Wykład wygłoszony w ICM w czercu 2000
Optymalizacja skalarna - czerwiec 2000 1 Optymalizacja skalarna Piotr Bała bala@mat.uni.torun.pl Wykład wygłoszony w ICM w czercu 2000 Optymalizacja skalarna - czerwiec 2000 2 Optymalizacja skalarna Czas
Architektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Procesor część II Rejestry procesora dostępne programowo A B D H PC SP F C E L A Akumulator Zawiera jeden z operandów działania i do niego przekazywany
Architektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych 1 dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat blokowy CPU 4. Architektura CISC i RISC 2 Jednostka arytmetyczno-logiczna 3 Schemat blokowy
Budowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Energooszczędne programowanie
Projektowanie energooszczędnych systemów wbudowanych dr inż. Ireneusz Brzozowski C-3, p. 512 WIET KATEDRA ELEKTRONIKI Elektronika i Telekomunikacja, Systemy Wbudowane www.agh.edu.pl Projektowanie energooszczędnych
Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer
Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny
Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)
Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?
Programowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt
Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu
architektura komputerów w. 7 Cache
architektura komputerów w. 7 Cache Pamięci cache - zasada lokalności Program używa danych i rozkazów, które były niedawno używane - temporal locality kody rozkazów pętle programowe struktury danych zmienne
Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji
Komputer Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji Budowa komputera Drukarka (printer) Monitor ekranowy skaner Jednostka
Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
Rys. 1. Podłączenie cache do procesora.
Cel stosowania pamięci cache w procesorach Aby określić cel stosowania pamięci podręcznej cache, należy w skrócie omówić zasadę działania mikroprocesora. Jest on układem cyfrowym taktowanym przez sygnał
Architektury komputerów Architektury i wydajność. Tomasz Dziubich
Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Architektura komputerów, Informatyka, sem.iii. Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej
Rozwiązywanie konfliktów danych i sterowania w architekturze potokowej Konflikty w przetwarzaniu potokowym Konflikt danych Data Hazard Wstrzymywanie kolejki Pipeline Stall Optymalizacja kodu (metody programowe)
Architektura komputerów
Architektura komputerów Tydzień 9 Pamięć operacyjna Właściwości pamięci Położenie Pojemność Jednostka transferu Sposób dostępu Wydajność Rodzaj fizyczny Własności fizyczne Organizacja Położenie pamięci
Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci
Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura
Optymalizacja kodu. Ze wszystkich metod optymalizacji kodu programowego zwrócimy uwagę na: Usunięcie (po możliwości) skoków danych.
Optymalizacja kodu Ze wszystkich metod optymalizacji kodu programowego zwrócimy uwagę na: Usunięcie (po możliwości) skoków danych Rozwijanie pętli Opcje kompilatora 1 Usunięcie skoków danych: for(i=1;
Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/2014 13.12.2013
Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci półprzewodnikowe, Betty Prince, WNT Ptc 2013/2014 13.12.2013 Pamięci statyczne i dynamiczne Pamięci statyczne SRAM przechowywanie informacji
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Architektura systemów informatycznych
Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego
Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Numeryczna algebra liniowa Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak
System pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje
Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
System pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Architektura systemów komputerowych
Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych Architektura systemów komputerowych dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat
Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 8: Procesory wielopotokowe, czyli superskalarne Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Struktury i rodzaje
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Wykład 9: Pamięć podręczna procesora jako warstwa hierarchii pamięci Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Zasada
Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych
Archiekura Sysemów Kompuerowych Archiekura pookowa Klasyfikacja archiekur równoległych 1 Archiekura pookowa Sekwencyjne wykonanie programu w mikroprocesorze o archiekurze von Neumanna Insr.1 Φ1 Insr.1
Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych
Wykład 5 Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych Spis treści: 1. Klasyfikacja Flynna 2. Klasyfikacja Skillicorna 3. Klasyfikacja architektury systemów pod względem
Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych
Systemy operacyjne Struktura i zasady budowy Rozdział 1 Wprowadzenie do systemów komputerowych Zadaniem systemu operacyjnego jest pośredniczenie pomiędzy aplikacjami, programami narzędziowymi i użytkownikami
Zarządzanie zasobami pamięci
Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli
Kto mówi? Inżynier systemów wbudowanych Linux, ARMv7, ARMv8
Kto mówi? Inżynier systemów wbudowanych Linux, ARMv7, ARMv8 Kto mówi? Inżynier systemów wbudowanych Linux, ARMv7, ARMv8...które mają 16GB RAM Kto mówi? Inżynier systemów wbudowanych Linux, ARMv7, ARMv8...które