Materiały pomocnicze do laboratorium. 1. Miary oceny efektywności 2. Mnożenie macierzy 3. Znajdowanie liczb pierwszych
|
|
- Franciszek Duda
- 4 lat temu
- Przeglądów:
Transkrypt
1 Materiały pomocnicze do laboratorium 1. Miary oceny efektywności 2. Mnożenie macierzy 3. Znajdowanie liczb pierwszych 4. Optymalizacja dostępu do pamięci
2 Miary efektywności systemów współbieżnych System współbieżny - połączenie algorytmu (programu) i architektury równoległej, w której jest on implementowany Czas przetwarzania (ang. runtime) T p czas przetwarzania równoległego od momentu rozpoczęcia przetwarzania równoległego do momentu zakończenia przetwarzania przez ostatnią jednostkę przetwarzającą T s czas przetwarzania sekwencyjnego Koszt zrównoleglenia (ang. parallel overhead) czas wspólnie spędzony przez jednostki współbieżne nad rozwiązywaniem problemu ponad czas niezbędny do rozwiązania tego samego problemu przez najlepszy algorytm sekwencyjny przy użyciu jednej jednostki przetwarzającej tego samego typu T o = pt p -T s (liczba procesorów p). Przyspieszenie miara zysku wynikającego ze zrównoleglenia przetwarzania (realizowanego na p identycznych jednostkach przetwarzających) w stosunku do sekwencyjnego przetwarzania zrealizowanego przy użyciu najlepszego algorytmu sekwencyjnego S=T s /T p jednostki przetwarzające systemu równoległego są identyczne do wykorzystywanych w przetwarzaniu sekwencyjnym. 2
3 Efektywność i koszt Efektywność określa tę część czasu przetwarzania w jakiej procesory są efektywnie wykorzystane E=S/p W idealnym systemie równoległym E =1 Koszt przetwarzania (praca) określa ilość czasu wykorzystywania do rozwiązywania problemu procesorów systemu równoległego C=T p *p. 3
4 Mnożenie macierzy dostęp do pamięci podręcznej [język C, kolejność - j,i,k][1] A[i][*] lokalność przestrzenna danych rózne A,B,C są tablicami nxn elementy z linii pp wykorzystane w kolejnych for (int j = 0 ; j < n ; j++) iteracjach for ( int i = 0 ; i < n ; i++) B[*][j] brak trafienia do pp, pp ładowana za for (int k = 0 ; k < n ; k++) każdym razem C[i][j] + = A[i][k] * B[k][j] ; C[i][j] lokalność odwołań ten sam element dla każdej iteracji pętli wewnętrznej = x Ilość danych wykorzystywanych w pętli wewnetrznej = x C A B Ilość danych wykorzystywanych w 2 pętlach wewnętrznych
5 Mnożenie macierzy pamięć podręczna [C, j,i,k][2] = x C A B C[*][j] brak lokalności przestrzennej odwołań A[*][*] brak lokalności czasowej odwołań B[*][j] brak lokalności przestrzennej, lokalność czasowa odwołań
6 Mnożenie macierzy pamięć podręczna[c, i,k,j][1] A,B,C są tablicami nxn for ( int i = 0 ; i < n ; i++) for (int k = 0 ; k < n ; k++) for (int j = 0 ; j < n ; j++) C[i][j] + = A[i][k] * B[k][j] ; A[i][k] lokalność czasowa odwołań B[k][*], C[i][*] lokalność przestrzenna odwołań A[i][*] lokalność przestrzenna odwołań B[*][*] brak lokalności czasowej odwołań jeżeli suma rozmiaru(wiersz A, wiersz C i tablica B) większe od rozmiaru pamięci podręcznej = x = x
7 Mnożenie macierzy pamięć podręczna [C, i,k,j * ] zmniejszenie zakresu pętli wewnętrznej = x = 1X x rx Obliczamy fragment wiersza macierzy wynikowej for ( int j = 0 ; j < n ; j+=r) // cała macierz wynikowa for ( int i = 0 ; i < n ; i++) // wyznaczenie niebieskiej części wyniku for (int k = 0 ; k < n ; k++) // wyznaczenie brązowej części wyniku for (int jj = j ; jj < j+r-1 ; jj++) C[i][jj] + = A[i][k] * B[k][jj] ; Przy odpowiedniej wielkości r możliwa lokalność czasowa odwołań do B[*][jj:jj+r-1] Zmniejszenie wielkości fragmentów tablic, na podstawie których realizowane są obliczenia (w jednej fazie przetwarzania) prowadzi do większej lokalności odwołań (a efektywność DTLB? rozwiązanie na kolejnym slajdzie).
8 r x r Mnożenie macierzy pamięć podręczna [operacje na fragmentach tablic][graficznie] C A B for (int kk = k ; kk < k+r ; kk++) C[ii][jj] + = A[ii][kk] * B[kk][jj]; for (int jj = j ; jj < j+r ; jj++) for (int kk = k ; kk < k+r ; kk++) C[ii][jj] + = A[ii][kk] * B[kk][jj]; for ( int ii = i ; ii < i+r; ii++) for (int jj = j ; jj < j+r ; jj++) for (int kk = k ; kk < k+r ; kk++) C[ii][jj] + = A[ii][kk] * B[kk][jj]; for (int k = 0 ; k < n ; k+=r) for ( int ii = i ; ii < i+r; ii++) for (int jj = j ; jj < j+r ; jj++) for (int kk = k ; kk < k+r ; kk++) C[ii][jj] + = A[ii][kk] * B[kk][jj];
9 Mnożenie macierzy pamięć podręczna [operacje na fragmentach tablic][kod] #pragma omp parallel for for ( int i = 0 ; i < n ; i+=r) for ( int j = 0 ; j < n ; j+=r) for (int k = 0 ; k < n ; k+=r) // kolejne fragmenty we for ( int ii = i ; ii < i+r; ii++)//fragment wyniku for (int jj = j ; jj < j+r ; jj++) for (int kk = k ; kk < k+r ; kk++) C[ii][jj] + = A[ii][kk] * B[kk][jj]; Dla C[ii][jj], A[ii][kk], B[kk][jj] lokalność czasowa i przestrzenna dostępów przy założeniu, że wszystkie podmacierze A,B i C (A[i:i+r-1][k:k+r-1],B[k:k+r-1][j:j+r- 1], C[i:i+r-1][j:j+r-1] ) mieszczą się w pamięci podręcznej Zakładając, że rozmiar pp równy M można wyznaczyć wymagane r<= (M/3) 1/ pętle wewnętrzne służą do wyznaczenia wyniku częściowego dla fragmentu tablicy wynikowej (sum iloczynów elementów wierszy i kolumn fragmentów macierzy wejściowych), 2. czwarta pętla (po k) służy do uzupełnienia wyniku o pozostałe iloczyny wynikające z uwzględnienia kolejnych (branych po r) elementów wierszy i kolumn fragmentów macierzy wejściowych, 3. pętle piąta i szósta służą do wyznaczenia kolejnych kwadratowych (r) obszarów macierzy wynikowej.
10 Znajdowanie liczb pierwszych Metody: dzielenie badanej liczby przez liczby pierwsze i badanie wartości reszty z dzielenia usuwanie wielokrotności - usuwanie ze zbioru badanych liczb liczb będących wielokrotnością liczb pierwszych Jakie liczby pierwsze uwzględniać dla badanej liczby (bądź górnego zakresu badanego przedziału) n? Wystarczy znaleźć dla każdej liczby złożonej minimalny podzielnik: dla 35 5, dla 77 7, dla Czy istnieje warunek ograniczający maksymalną wartość najmniejszego podzielnika liczby n? Tak. Maksymalna wartość najmniejszego podzielnika liczby złożonej n wynosi n 1/2. Aby znaleźć zatem liczby pierwsze x i <k,l> należy: usunąć liczby dzielące się bez reszty przez liczby pierwsze brane z przedziału <2, x i 1/2 > lub usunąć liczby będące wielokrotnością liczb pierwszych z przedziału <2, l 1/2 >
11 Sito Eratostenesa - koncepcja podejścia funkcjonalnego do podziału w architekturze z przekazywaniem komunikatów 2,3,4,5,..,120 znaczenie koncepcyjne niska efektywność /2 /3 /5 /7 11,13,17,19,23,29,31,37,41,..., Pierwsza liczba odebrana przez każdy z procesów jest traktowana jako dzielnik i jako liczba pierwsza. Liczby dzielące się z resztą są przesyłane dalej. Wynik przetwarzania liczby pierwsze pojawiają się na wyjściu systemu oraz rezydują w procesach (należy je przesłać na wyjście). Liczba procesów niezbędbych dla zakresu <n,k> jest równa liczbie liczb pierwszych w zakresie od <2, k 1/2 > 2k 1/2 /ln k
12 Wykreślanie z tablicy Z badanego zbioru (tablicy) usuwamy wielokrotności (jakie?) liczb pierwszych z przedziału <2,zakres górny 1/2 > Przykład dla zakresu : <2,65> 2 : 4,6,8, : 9,15,21,27,33,39,45,51,57,63 5 : 25,35,55,65 7 : 49 nie jest konieczna do rozpoczęcia obliczeń znajomość wszystkich liczb-pierwszych z przedziału <2,zakres górny 1/2 >; kolejno pojawiające się liczby pierwsze mogą być wykorzystane dopiero później, gdyż wyznaczanie wielokrotności mniejszych liczb pierwszych odbywa się dla całego badanego przedziału i zajmuje stosunkowo dużo czasu.
13 Zebrane informacje na temat pamięci podręcznej i optymalizacji dostępu do pamięci Porównaj: Ulrich Drepper, What Every Programmer Should Know About Memory
14 Opóźnienie i przepustowość pamięci Opóźnienie = liczba cykli ( lub ns sekund) do pozyskania żądanych danych Przepustowość = Ile danych (np. w MB) można odczytać lub zapisać na sekundę. Opóźnienie zawsze wzrasta z odległością pamięci od procesora dla rodziny Nehalem: 4 cykle L1 cache 10 cykle L2 cache 17 cykle L3 cache 198 (!) cykli RAM Przepustowość nie spada tak mocno z odległością od procesora użytej pamięci, dla pamięci współdzielonej przepustowość jest dzielona na procesory.
15 Krotność skojarzenia pp Krotność skojarzenia (Associativity) - maksymalna liczba niezależnych ciągłych obszarów pamięci, do których dostępy (do pamięci podręcznej) nie wpływają na siebie wzajemnie. W przypadku gdy praca dotyczy większej liczby obszarów danych niż krotność skojarzenia, wtedy pobierane do pamięci podręcznej danych z jednego obszaru powoduje usuwania danych pochodzących z innego obszaru Pamięć podręczna o odwzorowaniu bezpośrednim - krotność skojarzenia = 1 W pełni skojarzeniowa pamięć podręczna krotność skojarzenia = (rozmair pp / rozmiar linii pp) Krotność skojarzenia badanej pp - sprawdzić w dokumentacji używanego procesora
16 Linia PP zapisy Linia pamięci podręcznej: Kwant rozmiaru PP Minimalna wielkość danych ładowana z pamięci lub zapisywana do pamięci 64 bytes we wspólczesnych procesorach x86 CPUs Linia pamięci: zapisy Realizacja zapisu jednego bajtu danych przez program do pamięci 1.64-bajty linii pp ładowane z RAM 2.Zapis jednego bajtu do linii pp Gdy linii zostanie usunięta z pp konieczność zapisania do RAM 64 bajtów linii pp. Zapisy nielokalne przestrzennie - losowo rozrzucone w pamięci mają wysoki koszt realizacji
17 Linia pp w przetwarzaniu równoległym Tylko jeden rdzeń - właściciel linii pp - może zapisać wartość w tej samej linii pp Realizacja zapisu przez inny rdzeń wymaga: Usunięcia/unieważnienia linii w pp przez właściciela Zmodyfikowana linia zapisywana jest w pamięci Uzyskanie wykluczającego dostępu do linii pp przez rdzeń zainteresowany zapisem Realizacja zapisu do pp przez rdzeń uprawniony W przypadku współzawodnictwa dostępu zapisu przez 2 rdzenie do tej samej linii mamy niezamierzone współdzielenie - false sharing ( por. zadanie 1 - obliczanie Pi)
18 Bufory zapełniania linii pp (Line Fill Buffers) Gdy podczas instrukcji dostępu do pamięci wystąpi brak trafienia do PP L1, dla tego błędu dostępu przydzielany jest bufor zapełniania linii Gromadzi on fragmenty linii pp dostarczane z dalszych poziomów pamięci Liczba buforów ogranicza liczbę równocześnie obsługiwanych przez procesor braków trafienia do pp, L1 procesory Nehalem mają 10 buforów.
19 Wyprzedzające pobieranie danych do pp i wyprzedzające ładowanie danych (dynamiczne wykonywanie instrukcji) Można spowodować wyprzedzające pojawianie się braku trafienia, aby zagwarantować obecność linii pp w momencie gdy będzie potrzebna. Sposoby realizacji: Użycie specjalnych instrukcji wyprzedzającego pobrania mogą nie być respektowane przez procesor Ładowanie jednego elementu linii pp z wyprzedzeniem może zablokować potok przetwarzania Oczekiwanie na samodzielne wykrycie wcześniej potrzeby sprowadzenia danych do pp (układy analizy dostępów) może nie działać
20 Przykład 4 suma wektora z częściowym rozwinięciem pętli - dla pomocy w równoległej realizacji pętli double suma_wektora (const double *data, size_t length) { double sum0 = 0.0, sum1 = 0.0; double sum2 = 0.0, sum3 = 0.0; for (; length >= 4; length -= 4) { sum0 += data[0]; sum1 += data[1]; sum2 += data[2]; sum3 += data[3]; data += 4; } sumowanie ostatnich co najwyżej 3 elementów... return sum0 + sum1 + sum2 + sum3; }
21 Przykład 5: Wyprzedzające czytanie danych double suma_wektora(const double *data, size_t length) { double sum0 = 0.0, sum1 = 0.0; double sum2 = 0.0, sum3 = 0.0; N=wielkość_wyprzedzenia; //dla typu double N = 2 wyprzedzenie wynosi długość linii pp // 4*2*8bajtów(double)= 64 //każde kolejne wyprzedzające czytanie dotyczy kolejnego obszaru //oddalonego o 1/2 linii pp sumowanie początkowych elementów... for (; length > 4 * N; length -= 4) { sum0 += data[4 * N]; sum1 += data[1]; sum2 += data[2]; sum3 += data[3]; data += 4; }... sumowanie ostatnich elementów... return sum0 + sum1 + sum2 + sum3; }
22 Przykład 6: Wyprzedzające pobieranie danych do pp double suma_wektora (const double *data, size_t length) { double sum0 = 0.0, sum1 = 0.0; double sum2 = 0.0, sum3 = 0.0; for (; length >= 4; length -= 4) { _mm_prefetch((char*)&data[4 * N], _MM_HINT_T0); sum0 += data[0]; sum1 += data[1]; sum2 += data[2]; sum3 += data[3]; data += 4; }... process last elements... return sum0 + sum1 + sum2 + sum3; }
23 Wyprzedzające pobranie void _mm_prefetch(char* address, int hint); Parametr: address okresla adres pamięci z którego wartość jest ładowana do pp, ładowana jest cała linia Parametr: hint określa poziom pamięci o _MM_HINT_T0, _MM_HINT_T1, _MM_HINT_T2 odpowiadają odpowiednio poziomom L1, l2 i L3
24 Stronicowanie Pamięć jest podzielona na strony: Strona jest jednostką pamięci na poziomie systemu operacyjnego o o o Nie można przydzielić do procesu mniej niż jedną stronę Atrybuty pamięci ustalane są dla strony: czytanie zapis, wykonanie Strona pamięci jest odwzorowana na pamięć fizyczną W systemach x86 domyślny rozmiar strony pamięci to 4 kbajty. Strona opisana jest przez deskryptor, który przechowuje informacje o: Adresie fizycznym strony w pamięci operacyjnej Atrybutach strony Brak deskryptora świadczy, że pamięć fizyczna nie została stronie przydzielona Gdy w kodzie znajduje się odwołanie do pamięci procesor odwołuje się do deskryptora, aby zrealizować dostęp do strony. W przypadku braku deskryptora wywoływane jest przerwanie sprzętowe. Gdy deskryptor o właściwym typie dostępu istnieje dostęp może być zrealizowany adres fizyczny jest określony przez deskryptor strony.
25 Bufor translacji adresu TLB - Translation Lookaside Buffer - bufor translacji adresu Pamięć podręczna dla deskryptorów stron Wielopoziomowa oddzielna dla deskryptorów kodu i danych Wielkość zależna od procesora Brak trafienia do bufora translacji powoduje poszukiwanie deskryptora w systemie pamięci, deskryptory są przechowywane w pp.
26 Omijanie pamięci podręcznej przy zapisie Zapisy typowo realizowane są do pp, realizacja: ładowanie linii pp do pp, zapis wszystkich 64 bajtów nie tylko tych zmienionych, operacja zapisu powoduje wzrost wymagań na przepustowość - transfer danych w 2 kierunkach. Specjalne instrukcje wprowadzone w ramach SSE dla zapisów omijających pp. _mm_stream_si128 odpowiada _mm_store_si128 _mm_stream_pd odpowiada _mm_store_pd _mm_stream_ps odpowiada _mm_store_ps Wymagają danych wyrównanych do granicy linii pp. _mm_stream_xx intrinsics zapisują do specjalnych buforów łączonych zapisów Zapełnione bufory (64 bajtami) są bezpośrednio zapisywane w pamięci operacyjnej. _mm_sfence intrinsic powoduje zapis buforów
EFEKTYWNOŚĆ MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ
EFEKTYWNOŚĆ MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ 1 Mnożenie macierzy dostęp do pamięci podręcznej [język C, kolejność - j,i,k][1] A[i][*] lokalność przestrzenna danych rózne A,B,C są
Bardziej szczegółowoANALIZA EFEKTYWNOŚCI MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ
ANALIZA EFEKTYWNOŚCI MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ 1 Mnożenie macierzy dostęp do pamięci podręcznej [język C, kolejność - j,i,k][1] A,B,C są tablicami nxn for (int j = 0 ; j
Bardziej szczegółowoMATERIAŁY POMOCNICZE DO LABORATORIUM Z PRZETWARZANIA RÓWNOLEGŁEGO KWIECIEŃ 2018
Analiza efektywności mnożenia macierzy w systemach z pamięcią współdzieloną MATERIAŁY POMOCNICZE DO LABORATORIUM Z PRZETWARZANIA RÓWNOLEGŁEGO KWIECIEŃ 2018 1 Mnożenie macierzy dostęp do pamięci podręcznej
Bardziej szczegółowoAlgorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
Bardziej szczegółowoAlgorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Bardziej szczegółowoMnożenie macierzy. Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność
Mnożenie macierzy Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność Literatura: Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; 1 Mnożenie macierzy dostęp do
Bardziej szczegółowoPrzygotowanie 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ą
Bardziej szczegółowoAlgorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych
Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2018/19 Problem: znajdowanie
Bardziej szczegółowoAnaliza efektywności przetwarzania współbieżnego
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak 1/4/2013 Analiza efektywności 1 Źródła kosztów przetwarzania współbieżnego interakcje
Bardziej szczegółowoPrzykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:
Przetwarzanie równoległe PROJEKT OMP Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego w komputerze równoległym z procesorem wielordzeniowym z pamięcią współdzieloną.
Bardziej szczegółowoAnaliza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Źródła kosztów przetwarzania współbieżnego interakcje między procesami
Bardziej szczegółowoWydajność 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:
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoOgraniczenia 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ść
Bardziej szczegółowoZadania na zaliczenie przedmiotu Przetwarzanie równoległe Zebrał dla roku.ak. 2015/2016 Rafał Walkowiak,
Zadania na zaliczenie przedmiotu Przetwarzanie równoległe Zebrał dla roku.ak. 2015/2016 Rafał Walkowiak, 30.01.2016 Zagadnienia sprzętowe w przetwarzaniu równoległym 1.1 Procesory systemu równoległego
Bardziej szczegółowoZarzą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
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoOgraniczenia 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ść
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoSystem 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
Bardziej szczegółowoSystem 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
Bardziej szczegółowoarchitektura komputerów w. 8 Zarządzanie pamięcią
architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności
Bardziej szczegółowoProgramowanie CUDA informacje praktycznie i. Wersja
Programowanie CUDA informacje praktycznie i przykłady Wersja 16.12.2013 Podstawowe operacje na GPU cudasetdevice() Określenie GPU i ustanowienie kontekstu (analog w GPU tego czym jest proces dla CPU) dla
Bardziej szczegółowoSystem 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
Bardziej szczegółowoZrównoleglenie i przetwarzanie potokowe
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
Bardziej szczegółowoPytania przykładowe (z ubiegłych lat) na zaliczenie przedmiotu Przetwarzanie równoległe Przygotował Rafał Walkowiak Poznań 3.01.
Pytania przykładowe (z ubiegłych lat) na zaliczenie przedmiotu Przetwarzanie równoległe Przygotował Rafał Walkowiak Poznań 3.01.2013 Przetwarzanie w systemach z pamięcią współdzieloną 1. Procesory systemu
Bardziej szczegółowo10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu
Literatura 1. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 2. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010. 3. Designing
Bardziej szczegółowoLiteratura. 11/16/2016 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
Bardziej szczegółowoPROJEKT 3 PROGRAMOWANIE RÓWNOLEGŁE. K. Górzyński (89744), D. Kosiorowski (89762) Informatyka, grupa dziekańska I3
PROJEKT 3 PROGRAMOWANIE RÓWNOLEGŁE K. Górzyński (89744), D. Kosiorowski (89762) Informatyka, grupa dziekańska I3 17 lutego 2011 Spis treści 1 Opis problemu 2 2 Implementacja problemu 3 2.1 Kod współdzielony........................
Bardziej szczegółowoProjektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012
Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel
Bardziej szczegółowoLiteratura. 3/26/2018 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
Bardziej szczegółowoProgramowanie CUDA informacje praktycznie i przykłady. Wersja
Programowanie CUDA informacje praktycznie i przykłady problemów obliczeniowych Wersja 25.11.2014 cudasetdevice() Podstawowe operacje na urządzeniu GPU Określenie GPU i ustanowienie kontekstu (analog w
Bardziej szczegółowoSystem 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
Bardziej szczegółowoMacierzowe algorytmy równoległe
Macierzowe algorytmy równoległe Zanim przedstawimy te algorytmy zapoznajmy się z metodami dekompozycji macierzy, możemy wyróżnić dwa sposoby dekompozycji macierzy: Dekompozycja paskowa - kolumnowa, wierszowa
Bardziej szczegółowoAlgorytmy numeryczne 1
Algorytmy numeryczne 1 Wprowadzenie Obliczenie numeryczne są najważniejszym zastosowaniem komputerów równoległych. Przykładem są symulacje zjawisk fizycznych, których przeprowadzenie sprowadza się do rozwiązania
Bardziej szczegółowoRównoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Bardziej szczegółowoRównoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Bardziej szczegółowoProgramowanie PKG - informacje praktycznie i przykłady. Wersja z Opracował: Rafał Walkowiak
Programowanie PKG - informacje praktycznie i przykłady problemów obliczeniowych Wersja z 7.05.2018 Opracował: Rafał Walkowiak cudasetdevice() Podstawowe operacje na urządzeniu GPU Określenie GPU i ustanowienie
Bardziej szczegółowoZarządzanie pamięcią operacyjną
SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt
Bardziej szczegółowoProcesory 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
Bardziej szczegółowoAlgorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoWieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa
Wieczorowe Studia Licencjackie Wrocław, 7.11.2006 Wstęp do programowania Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa Zaprezentujemy teraz algorytm na wyznaczanie wszystkich
Bardziej szczegółowoZadania na zaliczenie przedmiotu Przetwarzanie równoległe Zebrał dla r.ak. 2014/2015 Rafał Walkowiak,
Zadania na zaliczenie przedmiotu Przetwarzanie równoległe Zebrał dla r.ak. 2014/2015 Rafał Walkowiak, 17.01.2015 Zagadnienia sprzętowe w przetwarzaniu równoległym 1.1 Procesory systemu równoległego wykonują
Bardziej szczegółowoStruktura programu. Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem.
Struktura programu Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem. W ostatnich latach najbardziej używanym stylem oprogramowania
Bardziej szczegółowoPamię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
Bardziej szczegółowoBudowa 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
Bardziej szczegółowoKto 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
Bardziej szczegółowoWykład 7. Zarządzanie pamięcią
Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona
Bardziej szczegółowoProgramowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1
Programowanie procesorów graficznych GPGPU Krzysztof Banaś Obliczenia równoległe 1 Projektowanie kerneli Zasady optymalizacji: należy maksymalizować liczbę wątków (w rozsądnych granicach, granice zależą
Bardziej szczegółowo- - Ocena wykonaniu zad3. Brak zad3
Indeks Zad1 Zad2 Zad3 Zad4 Zad Ocena 20986 218129 ocena 4 Zadanie składa się z Cw3_2_a oraz Cw3_2_b Brak opcjonalnego wywołania operacji na tablicy. Brak pętli Ocena 2 Brak zad3 Ocena wykonaniu zad3 po
Bardziej szczegółowoFunkcje. Wprowadzenie. Mirosław Ochodek
Funkcje Wprowadzenie Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Funkcje (i procedury) Problem Zbyt długi ciąg instrukcji sprawia, że kod jest nieczytelny Często w
Bardziej szczegółowoWykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe
I. Struktury sterujące.bezpośrednie następstwo (A,B-czynności) Wykład _2 Algorytmy sortowania tablic Sortowanie bąbelkowe Elementy języka stosowanego do opisu algorytmu Elementy Poziom koncepcji Poziom
Bardziej szczegółowoOptymalizacja 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
Bardziej szczegółowoRekurencja (rekursja)
Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)
Bardziej szczegółowoUkł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
Bardziej szczegółowoPodstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał
Bardziej szczegółowoNumeryczna algebra liniowa
Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów
Bardziej szczegółowoPamięć 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,
Bardziej szczegółowoSchematy zarzadzania pamięcia
Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana
Bardziej szczegółowoutworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
Bardziej szczegółowoStronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Bardziej szczegółowoWstę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
Bardziej szczegółowoZarządzanie pamięcią operacyjną
Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego
Bardziej szczegółowo2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych
2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoOrganizacja 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ść
Bardziej szczegółowoProgramowanie Współbieżne. Algorytmy
Programowanie Współbieżne Algorytmy Sortowanie przez scalanie (mergesort) Algorytm :. JEŚLI jesteś rootem TO: pobierz/wczytaj tablice do posortowania JEŚLI_NIE to pobierz tablicę do posortowania od rodzica
Bardziej szczegółowoINFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki
INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu
Bardziej szczegółowoPętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Bardziej szczegółowo// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
Bardziej szczegółowo3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy
Bardziej szczegółowoSystem plików. Warstwowy model systemu plików
System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:
Bardziej szczegółowo6. Pętle while. Przykłady
6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!
Bardziej szczegółowoPomiary efektywności dla AMD. Na podstawie dokumentacji AMD opracował: Rafał Walkowiak Listopad 2012
Pomiary efektywności dla AMD Family 10h Na podstawie dokumentacji AMD opracował: Rafał Walkowiak Listopad 2012 Liczniki zdarzeń a program profilujący Procesory AMD 10h wyposażone są w 4 liczniki wydajności
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoSkalowalność 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
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoTworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoProgramowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Bardziej szczegółowoSYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna
Bardziej szczegółowoLogiczny 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.
Bardziej szczegółowoAnalizator wydajności AMD CodeAnalyst
Analizator wydajności AMD CodeAnalyst Dostępny bezpłatnie dla Windows i Linux (różne funkcjonalności w obu systemach) Pozwala na 4 tryby pracy - profilowania: Bazujące na upływie czasu próbkowanie aplikacji
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoZad. 3: Układ równań liniowych
1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich
Bardziej szczegółowoStruktura 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
Bardziej szczegółowoJęzyki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach. 1. Dynamiczna alokacja pamięci dla tablic wielowymiarowych - Przykładowa
Bardziej szczegółowoTransponowanie macierzy Mnożenie macierzy Potęgowanie macierzy Wyznacznik macierzy
Transponowanie macierzy Mnożenie macierzy Potęgowanie macierzy Wyznacznik macierzy Problem Transponować macierz A m n na A T n m. Operacja transponowania macierzy polega na zamianie wierszy w kolumny i
Bardziej szczegółowoOd programu źródłowego do procesu
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowoProcesor 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ą
Bardziej szczegółowotyp y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury
typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;
Bardziej szczegółowoPamięci półprzewodnikowe
Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci półprzewodnikowe, Betty Prince, WNT Ptc 2014/2015 15.1.2015 Półprzewodnikowe pamięci statyczne Pamięci statyczne - SRAM przechowywanie
Bardziej szczegółowoSystem 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
Bardziej szczegółowo