Architektury Komputerowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Architektury Komputerowe"

Transkrypt

1 Architektury Komputerowe zagadnień egzamin wersja 1.0 Niniejsze materiały zostały opracowane na podstawie książki prof. dr hab. inż. Jacka Kitowskiego Współczesne architektury systemów komputerowych. W założeniu ma to być skrót najważniejszych informacji z książki. Tytuły sekcji z grubsza odpowiadają tytułom rozdziałów i podrozdziałów. Mocno sugeruje zaglądnięcie do książki niezależnie od korzystania z tego opracowania. Nie gwarantuję, że wszystkie informacje tu zawarte w stu procentach pokrywają się z rzeczywistością. Spis treści Metody oceny wydajności systemów...2 Tendencje rozwojowe procesorów...7 Modele obliczeń równoległych...10 Klasyfikacja architektur komputerowych...11 Metody oceny wydajności obliczeń równoległych...17 Architektury komputerowe dla zastosowań komercyjnych i przemysłowych...20

2 Metody oceny wydajności systemów Do klasycznych miar wydajności zaliczamy: MIPS ang. Milion Instructions Per Second liczba milionów operacji na sekundę wykonywanych przez system komputerowy. Miara ta posiada kilka zasadniczych wad: nie są sprecyzowane warunki dokonywania pomiaru (program, z którego pochodzą instrukcje, język zapisu algorytmu, wersja kompilatora), niektórzy producenci podają wartości maksymalne (w oparciu o realizację najszybszych i najprostszych instrukcji), na komputerach wyposażonych w procesory RISC wartości są znacznie zawyżone z powodu wielu prostych instrukcji, łatwych do dekodowania i przetwarzania potokowego. Dlatego wielkość MIPS została zredefiniowana 1 MIPS jest szybkością komputera DEC VAX 11/780 (rok 1978). Najpopularniejszym zastosowaniem tej miary jest obecnie wyznaczanie szybkości serwerów mainframe firmy IBM (IBM MIPS). MFLOPS ang. Milion Floating Point Operrations Per Second liczba milionów operacji zmiennoprzecinkowych na sekundę wykonywanych przez system komputerowy. Tradycyjna jednostka szybkości komputerów w zakresie obliczeń zmiennopozycyjnych. Wady tej miary są bardzo podobne, jak w przypadku MIPS. Dla komputerów wyposażonych w procesory typu RISC możliwe jest wykonywanie 2 lub 4 takich operacji w jednym cyklu, dzięki zastosowaniu architektury superskalarnej (własność tę nazywamy drożnością procesora). Na tej podstawie można wyznaczyć Mflop/s = drożność * częstotliwość zegara. Wymagania stawiane miarom wydajności systemów komputerowych to: reprezentacja wybranej klasy rzeczywistych zastosowań (zgodność z potencjalnymi aplikacjami), dobra metryka: liniowa, monofoniczna, ortogonalna, zapis w językach programowania wysokiego poziomu - dla zapewnienia przenośności pomiędzy platformami sprzętowymi i programowymi, łatwość dostosowania do zmian wynikających z postępu w zakresie technologii (np. pojawienie się dużych pamięci podręcznych, kompilatorów o wysokim stopniu optymalizacji, nowych rodzajów obliczeń i przetwarzania danych), objęcie możliwie szerokiego zakresu testowanych elementów składowych systemów komputerowych (na przykład: procesor, pamięć podręczna, pamięć operacyjna, dyski, sieci, kompilatory i współpraca z typowymi systemami zarządzania bazami danych), łatwość wykonania pomiarów, powszechna akceptacja ze strony użytkowników i producentów. Wyróżniamy pięć najważniejszych typów miar wydajności stosowanych obecnie: syntetyczne miary wydajności (synthetic benchmarks), jądra programowe (kernels), 2

3 algorytmy (alghoritms), aplikacje (applications) i specyfikacje (specifications). Zostały one przedstawione poniżej. Syntetyczne miary wydajności (ang. synthetic benchmarcs), są programami, których celem nie jest wykonanie konkretnych, użytecznych obliczeń czy przetwarzania danych o charakterze komercyjnym, lecz określenie wydajności dla różnych, podstawowych operacji wykonywanych przez komputer. Przykładami są testy Dhrystone i Whetstone. Były one w powszechnym użyciu w latach 80-tych, obecnie praktycznie nie są stosowane. Whetstone był pierwszym programem napisanym w celu porównywania wydajności komputerów (rok 1978). Był przeznaczony do badania osiągów w zakresie obliczeń numerycznych (napisany w Algolu, późniejsza wersja w Pascalu). Dhyrstone (1984) działa w oparciu o statystyki występowania operacji dla typowych zastosowań nienumerycznych (głównie op. stałoprzecinkowe), takich jak systemy operacyjne, kompilatory i edytory. Są to operacje o znacznie mniejszym stopniu wywołań iteracyjnych, a większą liczbą wywołań procedur i instrukcji warunkowych (napisany w języku Ada, późniejsza wersja w C). Obydwie miary stosowane są co najwyżej do badania udziału pamięci podręcznej z uwagi na mały rozmiar. Jądra programowe (ang. kernels), są takimi wybranymi fragmentami rzeczywistych programów, których wykonanie zajmuje najwięcej czasu. Przykłady to Livermore Fortran Kernels i NAS Kernel Benchmark Program mimo niewątpliwie dużej wiarygodności uzyskiwanych wyników są stosunkowo mało rozpowszechnione w praktyce ze względu na trudności implementacyjne. Livermore Fortran Kernels (LFK) (1970) obecnie jest ich 24; metryką w LFK jest średnia geometryczna wydajności pętli typowych obliczeń zmiennoprzecinkowych, podawana w Mflop/s dla różnych języków C i Fortran77. Pozwalają również na wnioskowanie o możliwościach optymalizacji kompilatorów NAS Kernel Benchmark Program obejmuje 7 jąder testowych programów (5 jąder programowych i 3 programy symulacyjne); każdy z testów składa się z pętli iteracyjnie wywołującej określony podprogram napisany w Fortranie. Pierwotnie były przeznaczone dla maszyn wektorowych, a uzupełnione zostały o zestawem dla maszyn równoległych. Przeznaczone są głównie badania wydajności obliczeń numerycznych. Zdefiniowany jest tylko problem i metoda rozwiązania, co pozostawia dowolność implementacji. Algorytmy (ang. algorithms), to programy testowe reprezentujące kompletne algorytmy obliczeń numerycznych, np. FTT czy algorytmy numerycznej algebry liniowej. Typowym przykładem tej kategorii jest popularny zestaw LINPACK. LINPACK (ang. Linear Algebra Package) jest to biblioteka procedur numerycznej algebry liniowej, bardzo często wykorzystywana do badania wydajności w zakresie obliczeń naukowo technicznych. Wydajność jest określana na podstawie szybkości 3

4 rozwiązywania dużego układu równań liniowych z macierzą gęstą (przy największym udziale operacji zmiennoprzecinkowych). W oparciu o teoretyczną złożoność obliczeniową 2n 3 /3 + 2n (operacji z.p. dodawania i mnożenia), czas obliczeń jest przeliczany na Mflop/s lub Gflop/s. W obliczeniach testowych nie są natomiast wykonywanie dzielenia ani wywoływane funkcje matematyczne, a większość czasu zajmuje wykonywanie procedury o małej liczbie instrukcji, co oznacza, że nawet mały cache procesora dla instrukcji nie wpływa na degradację osiągów, natomiast wpływ może mieć cache procesora dla danych. W LINPACK wykorzystywane są 3 metryki: DP Mflop/s zwany również LINPACK Banchmark lub LINPACK 100x100; wartość Mflop/s przy rozwiązywaniu układu 100x100 metodą Gaussa; można stosować optymalizacje wyłącznie przy kompilacji, TPP Mflop/s (ang. Toward Peak Performance) LINPACK 1000x1000; liczba Mflop/s przy rozwiązywaniu układu 1000x1000 metodą Gaussa; można optymalizować algorytm i jego implementację pod warunkiem zachowania tej samej dokładności; musi być użyty tzw. driver program, który kontroluje proces rozwiązywania, wynik i wyznacza liczbę Mflop/s, Rpeak teoretyczna maksymalna wydajność przetwarzania (w Mflop/s) wyznaczana na podstawie maksymalnej liczby operacji z.p. wykonywanych w jednym cyklu procesora. Dla maszyn równoległych obowiązuje maksymalna wielkość układu możliwa do rozwiązania na danej maszynie. Stosowane są metryki: Rmax szybkość rozwiązywania maksymalnego układu równań na danym komputerze (w Gflop/s); na jej podstawie jest tworzona TOP500 lista 500 systemów komputerowych o największej mocy obliczeniowej, Nmax rozmiar największego układu równań na danym komputerze, M1/2 rozmiar układu, dla którego uzyskuje się Rmax1/2, Rpeak teoretyczna maksymalna wydajność przetwarzana dla danej maszyny. Są one określone dla maszyn wyposażonych w Nproc procesorów. Zestaw LINPACK nie nadaje się do badania wydajności maszyn przeznaczonych do celów komercyjnych, gdzie duży udział mają operacje I/O. Aplikacje (ang. applications), są kompletnymi programami komputerowymi, przeznaczonymi do rozwiązywania dobrze zdefiniowanych zagadnień z zakresu fizyki, chemii lub techniki, a także wspomagania zarządzania przedsiębiorstwem. Do tej kategorii należą Perfect Benchmarks, ParkBench, a także bardzo istotne dla oceny przetwarzania o charakterze komercyjnym - miary z rodziny SPEC, SAP, NotesBench i Baan. Perfect (ang. Performance Evaluation for Cost Effective Transformation) zestaw 13 programów testowych (w Fortranie) obejmujących różne zagadnienia obliczeniowe (naukowo-techniczne takie jak modelowanie procesów chem. i fiz., przetwarzanie 4

5 sygnałów, dynamika płynów). Największym problemem było przenoszenie na różne komputery złożonych programów. SPEC (ang. Standard Performance Evaluation Corporation) niekomercyjna organizacja standaryzacyjna opracowująca zadania testowe do badania wydajności komputerów. W jej skład wchodzą trzy grupy opracowujące własne zestawy testowe: Open Systems Group (OSG) miary wydajności dla procesorów pracujących w środowiskach UNIX, NT i VMS; High Performance Computing Group (HPC) intensywne obliczenia numeryczne w dużej skali; Graphics Performance Characterization Group (GPC) podsystemy graficzne i środowiska OpenGL i XWindows. Zestawy opracowywane przez SPEC obejmują programy źródłowe i narzędzia do ich uruchamiania (odpłatnie i po podpisaniu licencji na sposób korzystania). Co kwartał publikowane są wyniki testów. Zestaw SPEC CPU95 (SPEC95) obejmuje dwa zestawy: CINT95 przeznaczony do pomiarów i porównywania wyników w operacjach s.p., CFP95 przeznaczony do pomiarów i porównywania wyników w operacjach z.p.. Stosowane w tych testach metryki to: base wykorzystywana tylko podstawowa optymalizacja przy kompilacji, non-base możliwe stosowanie najwyższych poziomów optymalizacji przy kompilacji, rate określa jak wiele zadań może wykonywać komputer w przedziale czasu (przepustowość), non-rate miara wydajności komputera. Jak widać zestawy te służą do mierzenia wydajności maszyn z jednym CPU. Znormalizowane miary wydajności obliczane są jako iloraz wykonania poszczególnych programów i czasu ich wykonania na komputerze SPARCStation 10/40. Zestaw SPEC CPU2000 jest podzielony również na dwa analogiczne zestawy: CINT2000 i CFP2000. Służy do testowania nowoczesnych maszyn z efektywnymi procesorami, dużą ilością pamięci podręcznej, operacyjnej i optymalizującymi kompilatorami. Zmienił się zestaw programów używanych do testowania, aby dopasować testy do bieżących potrzeb. Komputerem referencyjnym jest w tym przypadku maszyna SUN Ultra 5. Istnieją jeszcze zestawy SPEC GPC (dla badania wydajności systemów graficznych), SPEC SFS (do testowania serwerów usług sieciowych; testowane są: procesor, pamięć masowa i współpraca z siecią komputerową), SPECweb96 i SPECweb99 (do badania serwerów HTTP) i SPECjvm98 (do testowania wydajności pracy Java Virtual Machine). SAP R/3 jest to system wspomagania zarządzaniem wykorzystywany do testowania wydajności w zakresie zastosowań komercyjnych na bardzo rozbudowanych instalacjach implementujących architekturę klient serwer obejmując sprzęt, relacyjną bazę danych i oprogramowanie SAP R/3. R/3 Standard Application Benchmarks szereg skryptów modelujących typowe zachowanie użytkownika z każdym z siedmiu modułów zawierających określone rodzaje transakcji bazodanowych. Przykładowo w popularnym module SD metrykami są: liczba użytkowników, czas odpowiedzi, przepustowość konfiguracji (liczba kroków dialogu na godzinę). 5

6 W SAP R/3 ocenie podlega serwer, na którym pracuje baza danych. Konfiguracja jest bardzo rozbudowana i obejmuje wiele komputerów realizujący warstwy aplikacji i prezentacji. BaanIV system analogiczny do SAP R/3, konkurujący z zestawem firmy SAP przy użyciu oprogramowania firmy Baan. Wydajność jest podawana jako Baan Reference User (BRU) generator obciążenia powiększa liczbę współbieżnie pracujących użytkowników pracujących z BaanIV, aż do przekroczenia określonego czasu odpowiedzi na transakcję. Specyfikacje (ang. specifications), stanowią zbiór wymagań funkcjonalnych, jakie powinny być zrealizowane przy dowolnej implementacji sprzętowej i programowej. Przykładem specyfikacji są rozpowszechnione w zakresie przetwarzania komercyjnego miary TPC-C, TPC-D oraz inne z rodziny TPC. TPC (ang. Transaction Processing Performance Council) niekomercyjna organizacja opracowująca metody porównywania osiągów systemów komputerowych w zakresie baz danych, przetwarzania transakcji i eksploracji danych. Zestaw TPC-C służy do pomiaru osiągów dla zastosowań typu transakcyjnego w środowiskach o wielu użytkownikach. Modeluje działania związane z transakcjami bazodanowymi (on-line transaction processing). Określa wydajność całego systemu, procesorów, pamięci, operacji I/O. Specyfikuje następujące metryki: tmpc liczba nowych transakcji na minutę; $/tmpc (price/performance) stosunek kosztów do osiągów czyli koszt zakupu danej konfiguracji z oprogramowaniem i 5-letnim utrzymaniem, podzielony przez osiągi. Zestaw TPC-D jest stosowany do pomiaru wydajności w odniesieniu do systemów wspierania podejmowania decyzji (buissness intelligence), które pozyskują duże bazy danych (transakcje OLTP) i wykorzystują data minig. Testowany jest system, jako całość i jego poszczególne elementy: procesory, pamięć, podsystemy I/O, sieć i reagowanie na błędy. Stosuje następujące metryki: QppD (Query Processing Performance) wydajność przetwarzania zapytań przy wykorzystaniu całej mocy na pojedynczy strumień zapytań; QthD (Query Throughput) liczba zapytań przetworzonych (współbieżnie) w ciągu godziny; $/QphD ($/Queries Per Hour) iloraz kosztów i średniej geometrycznej dwóch poprzednich metryk. Zestawy TPC-H i TPC-R mają podobne zastosowanie jak TPC-D, różnią się jedynie warunkami wykonywania eksperymentu. TPC-H bada wydajność przetwarzania zapytań, bez znajomości ich istoty, natomiast TPC-R używa predefiniowanego zestawu zapytań. Obydwie stosują podobne miary wydajności: QphH lub QphR wydajność przy przetwarzaniu pojedynczego strumienia zapytań i przepustowość w przypadku strumieni współbieżnych; QthH lub QthR liczba zapytań przetworzonych przez system w ciągu godziny (przepustowość) przy strumieniach współbieżnych; $/QphH lub $/QphR miara price/performance. 6

7 Tendencje rozwojowe procesorów W odniesieniu do technologii procesorowych stosuje się następującą terminologię: procesor nazwa stosowana w odniesieniu do układu mikroprocesorowego, realizacja sprzętowa architektury, technologia procesora jest określana przez typ instrukcji i sposób ich wykonywania (np. RISC, CISC lub EPIC), architektura procesora projekt procesora wykorzystujący określoną technologię (np. POWER, IA-64, PA-RISC), technologia półprzewodnikowa proces technologiczny zastosowany w produkcji procesorów. Architektura von Neumana (zwana również sekwencyjną) jest to klasyczna architektura (właściwie technologia) komputera wykorzystywana przez komputery sekwencyjne. Składa się z następujących elementów: jednostka arytmetyczno logiczna (arytmometr), pamięć operacyjna adresowana liniowo, w której zapisane są instrukcje i dane, system wejścia/wyjścia, układ sterujący. Podstawową własnością tej architektury jest sekwencyjność wykonywania rozkazów. Rozszerzeniem tej technologii są technologie RISC, CISC i EPIC. Technologia CISC (ang. Complex Instruction Set Computer) najwcześniej rozwinięta technologia procesorów, zakładająca operacje na obszernej i złożonej liście rozkazów o zmiennej długości. Ten właśnie fakt komplikuje analizę kodu i jego optymalizację oraz utrudnia uzyskanie równoległości na poziomie realizacji poszczególnych instrukcji. Przez to niemożliwe jest uzyskanie wysokiej wydajności i zwiększenie częstotliwości pracy, ponieważ realizacja architektury wymaga wiele materiału, co wiąże się dużą ilością produkowanego ciepła i podnosi koszty produkcji. Najczęściej realizowana jest w formie procesorów wieloukładowych dla wczesnych komputerów typu mainframe. Obecnie typ ten traci na znaczeniu. Technologia RISC (ang. Reduced Instruction Set Computer) technologia zakładająca listy rozkazów procesora do najprostszych i najczęściej używanych, realizowanych w jednym cyklu zegara oraz posiadającym jednakową długość. Upraszcza to etap kompilacji i optymalizacji programu oraz umożliwia stworzenie sprzętu realizującego wiele funkcji jednocześnie, w kolejności dopuszczalnej przez algorytm lecz optymalizowanej pod kątem wydajności przez procesor w trakcie obliczeń. Intensywnie wykorzystuje rejestry procesora dla operacji load/store poprzedzających odwołania do pamięci operacyjnej. Podstawowymi elementami stosowanymi obecnie w technologii RISC i podnoszącymi wydajność są: Zwielokrotnione jednostki funkcjonalne procesora (oddzielne układy mnożące i dodające dla arytmetyki stało- i zmiennoprzecinkowej), co pozwala na realizację w jednym cyklu kilku operacji (przetwarzanie superskalarne). Zazwyczaj obecnie 7

8 stosowane są 2 podwójne jednostki funkcjonalne zmiennoprzecinkowe, co w idealnym przypadku daje przykładowo dla częstotliwości pracy 200 MHz wydajność maksymalną wynoszącą 800 Mflop/s, Procesory jednoukładowe, co umożliwia zminimalizowanie opóźnienia w transmisji sygnałów i zwiększenie częstotliwości pracy. Zakres częstotliwości jest bardzo szeroki i wynosi obecnie od 200 MHz do 800 MHz, Rozbudowane bufory i rejestry służące do: o optymalizacji kolejności wykonywania obliczeń (ang. out-of-order), o organizacji przetwarzania superskalarnego; w praktycznych realizacjach funkcjonalne jednostki mnożące i sumujące są łańcuchowane i/lub zwielokrotnione, o realizacji przetwarzania potokowego, w którym kolejne instrukcje złożone znajdują się w różnych stanach realizacji, Duża pamięć podręczna (cache), często dwupoziomowa (w procesorze pamięć L1 i zewnętrzna, L2), stosowana oddzielnie dla danych i oddzielnie dla instrukcji; pewnym standardem jest wielkość cache wynosząca 1MB/1MB dla danych i instrukcji odpowiednio, Modyfikacje technologii półprzewodnikowej, związane ze zmniejszeniem szerokości ścieżek, złączy półprzewodnikowych oraz przejściem na technologię miedzianą. Procesory IBM są rozwijane w dwóch równoległych liniach: POWER i POWERPC w technologii RISC. Stosowane są zarówno na komputerach pracujących pod kontrolą systemu UNIX, jak też komputerach typu maiframe przeznaczonych do przetwarzania komercyjnego i wspomagania zarządzaniem przedsiębiorstw. Procesory linii POWER stosowane są głównie w obliczeniach naukowo technicznych z uwagi na dużą wydajność w arytmetyce zmiennoprzecinkowej. Procesory linii POWERPC były oryginalnie przeznaczone do przetwarzania transakcyjnego i układów sterowania. Nadają się idealnie do systemów o kilku procesorach realizujących przetwarzanie symetryczne (SMP). Procesory Sun Microsystems obecnie rozwija serię procesorów UltraSPARC. Są one głównie przeznaczone dla pojedynczych komputerów do przetwarzania grafiki i danych multimedialnych oraz dużych komputerów usług sieciowych i zastosowań komercyjnych. Procesory Compaq po fuzji z firmą DEC rozwija procesory z serii Alpha. Procesory SGI (Silicon Graphics) produkuje procesory przeznaczone głównie do zastosowań grafiki komputerowej, obliczeń naukowo technicznych i multimediów. Obecnie produkowane są procesory z serii MIPS (MIPS jest jednocześnie jedną ze składowych firm), przeznaczone głównie na maszyny dla projektantów korzystających z oprogramowania typu CAD, CAM i CAE. 8

9 Procesory Hewlett-Pacard produkuje obecnie procesory z serii PA o architekturze PA RISC. Procesory Intel dwie najważniejsze architektury rozwijane przez tę firmę to IA-32 i IA-64. Głównymi zastosowaniami tych procesorów są komputery PC. IA-32 kontynuacja podstawowej rodziny procesorów opartych na W jej skład wchodzą m. in. procesory Pentium II/III, początkowo komunikujące się z pamięcią podręczną L2 z połową częstotliwości, a od wersji Pentium II/III Xeon już z pełną częstotliwością, co znacznie podnosi wydajność ich pracy. Procesory Celeron posiadają zintegrowaną technologicznie pamięć L2 i są przeznaczone na rynek komputerów popularnych. IA-64 wykorzystuje technologię EPIC. Do jej głównych cech należą: możliwość przeglądania kolejnych rozkazów przed wykonaniem, wykonywanie długich rozkazów o stałej długości (LIW ang. long instruction word); są to słowa o długości 128 bitów zawierające 3 rozkazy, których postać jest podyktowana ogólną optymalizacją wykonania w jednym cyklu bez konieczności użycia mikrokodu; nowa technologia została nazwana EPIC (Explicity Parallel Instruction Computing), możliwość eliminacji rozgałęzień kodu programu, ładowanie danych z wyprzedzeniem, każde 128-bitowe słowo zawiera ramkę posiadającą kilka bitów, zapisanych przez kompilator, informujących bezpośrednio procesor, które instrukcjom mogą zostać wykonane równolegle. Procesor podczas wykonania programu nie traci cykli na analizę kodu dla wyszukania ukrytej równoległości (jak w przypadku technologii RISC), lecz korzysta z informacji uzyskanej na etapie kompilacji. Stosuje się 128 rejestrów stałoprzecinkowych i tyle samo rejestrów zmiennoprzecinkowych. kompilator dla architektury IA-64 stosuje technikę predykcji dla optymalizacji instrukcji warunkowych. Procesor wykonuje bloki warunkowe w sposób równoległy, a po określeniu właściwego - zachowuje odpowiednie, wyliczone wartości, resztę odrzucając. kompilator dla architektury IA-64 dokonuje predykcji także celem wyszukania odwołań do danych i umieszczenie ich w rejestrach zanim program się do nich odwoła. Mechanizm pozwala na ukrycie opóźnienia będącego skutkiem odwołania do pamięci. Wyróżnia się dwa współczesne podejścia przy projektowaniu nowych procesorów: CMP (ang. Chip Multiprocessor) - mikroprocesor wieloprocesorowy; integruje dwa lub więcej kompletnych procesorów w jednym układzie scalonym; każdy procesor jest powielony i używany niezależnie od innych, SMT (ang. Simultaneous Multithreaded Processor) superskalarny wielowątkowy procesor; w odróżnieniu od CMP dokonuje przeplotu wykonywania instrukcji z wielu wątków w kilku jednostkach potokowych; użycie kilku jednostek potokowych zamiast jednej umożliwia osiągnięcie superskalarności przetwarzania. 9

10 Modele obliczeń równoległych Systemem otwartym nazywamy system gotowy do komunikacji z dowolnym innym systemem otwartym za pomocą standardowych protokołów rządzących treścią, formą i znaczeniem komunikatów (np. TCP/IP). W systemach wieloprocesorowych możliwe jest obecnie wykorzystanie dwóch modeli (paradygmatów) obliczeniowych: model z wymianą wiadomości (message-passing paradigm, explicit parallel programming), wykorzystujący jedno popularnych środowisk do obliczeń numerycznych, np. PVM (Parallel Virtual Machine) lub MPI (Message Passing Interface); obecnie największą efektywność otrzymuje się właśnie przy zastosowaniu tego paradygmatu, model z równoległością danych (data-parallel programming, implict parallel programming lub data paralleism), posługujący się językiem programowania wysokiego poziomu; przykładami języków programowania operujących w tym paradygmacie są m. in. HPF (High Performance Fortran), pfortran, pc i środowisko OpenMP; model ten udostępnia programiście konstrukcje wysokiego poziomu, używane w definicji struktur danych, w dostępie do informacji i zarządzaniu współbieżnością procesów; program jest łatwiejszy w uruchomieniu i modyfikacjach, Istnieje również inny popularny model programowania wykorzystywany na współczesnych maszynach równoległych. SPMD (ang. Single Program Multiple Data) zakłada wykorzystywanie pojedynczego programu operującego na różnych danych znajdujących się w poszczególnych węzłach obliczeniowych. Jest to model pośredni pomiędzy dwoma wcześniej wymienionymi. W nielicznych przypadkach zastosowanie znajduje również model z równoległością instrukcji (ang. control paralleism), w którym różne instrukcje odnoszą się do tych samych danych (np. potokowe przetwarzanie przy wykorzystaniu wielu procesorów, z których każdy wykonuje różne operacje na tych samych danych). Innym modelem jest model heterogeniczny, który łączy w sobie cechy modelu SPMD i modelu z równoległością instrukcji. Jest przydatny w odniesieniu do klastrów składających się z kilku maszyn wieloprocesorowych. 10

11 Klasyfikacja architektur komputerowych Klasyfikacji architektur komputerowych można dokonać w oparciu o następujące cechy: mechanizm sterowania, organizacja przestrzeni adresowej, granulacja procesów, warstwa komunikacyjna. Podstawowy podział architektur komputerowych przedstawia poniższy rysunek. Architektury komputerowe Sterowane instrukcjami Sterowane danymi SISD SIMD MIMD Sieciowe Mechanizm sterowania SMP MMP DSM Klastry Rozproszone Organizacja przestrzeni adresowej Sześcian Drzewo Krata Homo Hetero Hetero Homo Pierścień Sieć Mechanizm sterowania jest omawiany w oparciu o taksonomię (klasyfikację) Flynna, zgodnie z którą istnieją cztery podstawowe klasy maszyn: SISD (ang. Single Instruction Stream/Single Data Stream) klasyczna architektura sekwencyjna, ponieważ kolejne instrukcje pojedynczego ich strumienia operują na pojedynczym strumieniu danych, SIMD (ang. Single Instruction Stream/Multiple Data Stream) jednymi z pierwszych maszyn wieloprocesorowych wykorzystywały ten właśnie model przetwarzania; posiadały one jeden układ sterowania wspólny dla wszystkich procesorów, w wyniku czego procesory przetwarzały równolegle tę samą instrukcję dla różnych danych; kolejne instrukcje tworzą więc jeden strumień instrukcji; ponieważ występuje tylko jeden układ sterujący, wyposażenie sprzętowe jest ubogie; model ten jest przydatny jest przydatny do obliczeń równoległych z równoległością danych i częstą synchronizacją; główną jego wadą jest brak możliwości przetwarzania różnych instrukcji równolegle i stosowania wyspecjalizowanych 11

12 procesorów; przykładem realizacji tego modelu są komputery wektorowe; obecnie model ten traci praktyczne znaczenie, MIMD (ang. Multiple Instruction Stream/Multiple Data Stream) model ten cieszy się obecnie największym powodzeniem; komputery realizujące go posiadają odrębne jednostki sterujące dla każdego procesora, co umożliwia przetwarzanie różnych strumieni instrukcji dla różnych strumieni danych; są przeważnie dużo bardziej złożone i zbudowane z tych samych typów procesorów, jak te, które są stosowane na stacjach roboczych, co z kolei ułatwia przenoszenie programów; niektóre realizacje posiadają sprzętowe wspomaganie dla operacji globalnych (np. redukcji), co umożliwia ich efektywne wykorzystanie w obu paradygmatach programowania z wymianą wiadomości i równoległością danych; przykładem realizacji tego modelu są komputery ASCI, MISD (ang. Multiple Instruction Stream/Single Data Stream) zasadniczo nie występuje samodzielnie; pewnym jej odpowiednikiem jest przetwarzanie potokowe, w którym pojedyncze instrukcje cząstkowe odnoszą się do tych samych danych, Już poza taksonomią Flynna wyróżniamy jeszcze modele sieciowe są to układy kilku lub więcej maszyn połączonych siecią; funkcjonalnie są zbliżone do klasy MIMD, jednak ze względu na większy zakres zastosowań, zróżnicowanie protokołów komunikacyjnych i stosowane paradygmaty programowania są wyróżnione; dominującym paradygmatem jest model z wymianą wiadomości, implementowany najczęściej w jednym ze środowisk programowania rozproszonego (np. PVM lub MPI); w typowych zastosowaniach sieciowych (np. WWW) częste jest podejście obiektowe; jednym z przykładów jest architektura i specyfikacja COBRA. Organizacja przestrzeni adresowej jest kolejnym elementem wyróżniającym współczesne komputery. Wyróżniamy zasadniczo dwa jej typy: pamięć wspólna posługuje się wspomaganiem sprzętowym dla zapewnienia operacji zapisu i odczytu informacji, dostępnej dla wszystkich procesorów systemu; jest typowa dla systemów wektorowych i komputerach o niewielkiej liczbie procesorów typu RISC; jej wadą jest mała skalowalność z liczbą procesorów przepustowość warstwy sieciowej, która implementuje magistralę lub przełącznicę krzyżową; w przypadku magistrali zaletą jest łatwa rozbudowa o dodatkowe jednostki funkcjonalne i łatwość programowania; ponieważ koszt dostępu do pamięci jest stały i nie zależy od procesora, często maszyny te nazywa się UMA (ang. uniform memory access) o jednolitym dostępie do pamięci; wspólne są również kanały I/O, SMP (ang. simetrical multiprocessing) symetryczne wieloprzetwarzanie; realizacja wielowątkowości na poziomie systemu operacyjnego zapewniająca równomierne obciążenie każdego z procesorów, pamięć rozproszona jest charakterystyczna dla systemów o dużej i bardzo dużej liczbie procesorów; dla MIMD każdy procesor (lub grupa) posiada pamięć lokalną; można tu wymienić pewne podgrupy: 12

13 o MPP (ang. Massively Parallel Processors) klasyczna architektura wymiany wiadomości (programowo) z luźno powiązanymi procesorami, z których każdy jest zarządzany przez osobny system operacyjny; ze względu na prostotę architektury i modelu programowania możliwe jest stosowanie wielu procesorów; o DSM (ang. Distributed Shared Memory) jest to architektura z pamięcią fizycznie rozproszoną, lecz wirtualnie wspólną, posiadająca dodatkowe jednostki funkcjonalne i oprogramowanie, które tę wspólną pamięć emulują; dla modelu z równoległością danych stosuje się protokoły uzgadniania zawartości pamięci wszystkich lub części procesorów (cc ang. cache coherency): cc-numa (ang. Nonuniform Memory Access) ponieważ dostęp do pamięci operacyjnej jest zależny od jej umieszczenia w pamięci lokalnej lub odległej dla danego procesora dlatego konstrukcje te nazywamy maszynami o niejednolitym dostępie do pamięci, scoma (ang. Simple Cache Only Memory Access) jej zalety są zbliżone do cc-numa, m. in. oferowana jest pamięć wspólna. DSM wykorzystuje równie efektywnie obydwa modele z wymianą wiadomości i równoległością danych. Systemy sieciowe wykorzystują pamięć rozproszoną. Rozróżnia się tutaj dwie grupy: systemy rozproszone ich węzły mogą być jednocześnie wykorzystywane przez wielu użytkowników (np. lokalnie lub przez sieć); ich głównym bogatym zakresem zastosowań jest realizacja usług sieciowych; dzielenie zasobów odbywa się za pośrednictwem dysków lokalnych, klastry mają charakter bardziej dedykowany obliczeniom lub wyspecjalizowanym usługom wysokiej dostępności; używane są do obliczeń o wysokiej złożoności; istnieją tzw. klastry wysokiej dostępności, w których dokonywana jest automatyczna migracja procesów w przypadku awarii jednego z węzłów; klastry możemy podzielić pod względem sposobu użytkowania na: dedykowane (najczęściej homogeniczne) i sieciowe (heterogeniczne), w których komputer wirtualny jest tworzony z wykorzystaniem komputerów innych użytkowników; jeśli chodzi o dzielenie zasobów, w klastrach wykorzystuje się najczęściej dyski dzielone wykorzystywane przez poszczególne węzły (zwłaszcza w k. wysokiej dostępności); warstwa komunikacyjna może być realizowana za pomocą zwykłych protokołów (np. ATM lub FastEthernet) oraz rozwiązań dedykowanych (np. Myrinet); klastry wysokiej dostępności polecane są dla przedsiębiorstw przy zarządzaniu i usługach komercyjnych. Granulacja procesów jest kolejnym kryterium służącym do podziału architektur komputerowych. Granulacją procesów nazywamy stosunek czasu przeznaczonego do wykonania elementarnej operacji komunikacji do czasu realizacji elementarnej jednostki obliczeniowej. Wyróżniamy: 13

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 12: Wstęp

Bardziej szczegółowo

16. Taksonomia Flynn'a.

16. Taksonomia Flynn'a. 16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 13 Jan Kazimirski 1 KOMPUTERY RÓWNOLEGŁE 2 Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD

Bardziej szczegółowo

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

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................

Bardziej szczegółowo

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.

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. Wstęp 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. Przedstawienie architektur sprzętu wykorzystywanych do

Bardziej szczegółowo

Podstawy Informatyki Systemy sterowane przepływem argumentów

Podstawy Informatyki Systemy sterowane przepływem argumentów Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer

Bardziej szczegółowo

Architektura komputerów

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.

Bardziej szczegółowo

Architektura mikroprocesorów TEO 2009/2010

Architektura mikroprocesorów TEO 2009/2010 Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład

Bardziej szczegółowo

Dr inż. hab. Siergiej Fialko, IF-PK,

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

Bardziej szczegółowo

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

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego. Plan wykładu Pojęcie magistrali i jej struktura Architektura pamięciowo-centryczna Architektura szynowa Architektury wieloszynowe Współczesne architektury z połączeniami punkt-punkt Magistrala Magistrala

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

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:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f) Zegar Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f) http://en.wikipedia.org/wiki/computer_clock umożliwia kontrolę relacji czasowych w CPU pobieranie, dekodowanie,

Bardziej szczegółowo

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

Bardziej szczegółowo

Budowa komputera Komputer computer computare

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

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Algorytmy dla maszyny PRAM

Algorytmy dla maszyny PRAM Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań

Bardziej szczegółowo

Budowa Mikrokomputera

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,

Bardziej szczegółowo

Analiza ilościowa w przetwarzaniu równoległym

Analiza ilościowa w przetwarzaniu równoległym Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2

Bardziej szczegółowo

Tworzenie 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 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ółowo

Architektura komputerów

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ń

Bardziej szczegółowo

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

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej Podstawy Techniki Mikroprocesorowej wykład 13: MIMD Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej e-mail: Jacek.Mazurkiewicz@pwr.edu.pl Kompjuter eta jest i klasyfikacja jednostka centralna

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

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

Bardziej szczegółowo

Architektura Komputerów

Architektura Komputerów 1/3 Architektura Komputerów dr inż. Robert Jacek Tomczak Uniwersytet Przyrodniczy w Poznaniu Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne dla programisty, atrybuty

Bardziej szczegółowo

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3 Spis treści 1 Wprowadzenie 1 1.1 Podstawowe pojęcia............................................ 1 1.2 Sieci komunikacyjne........................................... 3 2 Problemy systemów rozproszonych

Bardziej szczegółowo

3.Przeglądarchitektur

3.Przeglądarchitektur Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 24 stycznia 2009 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne

Bardziej szczegółowo

Numeryczna algebra liniowa

Numeryczna 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ółowo

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. 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ółowo

Architektura komputerów

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

Bardziej szczegółowo

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

Obliczenia Wysokiej Wydajności

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

Bardziej szczegółowo

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ść 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ółowo

3.Przeglądarchitektur

3.Przeglądarchitektur Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 17 marca 2014 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Metody optymalizacji soft-procesorów NIOS

Metody optymalizacji soft-procesorów NIOS POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

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

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) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór Przetwarzanie równoległesprzęt 2 Rafał Walkowiak Wybór 17.01.2015 1 1 Sieci połączeń komputerów równoległych (1) Zadanie: przesyłanie danych pomiędzy węzłami przetwarzającymi, pomiędzy pamięcią a węzłami

Bardziej szczegółowo

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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ść 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

Bardziej szczegółowo

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Obliczenia Wysokiej Wydajności

Obliczenia Wysokiej Wydajności Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności oraz łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

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

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

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

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,

Bardziej szczegółowo

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

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,

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

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

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 8 Magistrale systemowe Magistrala Układy składające się na komputer (procesor, pamięć, układy we/wy) muszą się ze sobą komunikować, czyli być połączone. Układy łączymy ze

Bardziej szczegółowo

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH 1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH 1 Klasyfikacje komputerów Podstawowe architektury używanych obecnie systemów komputerowych można podzielić: 1. Komputery z jednym procesorem 2. Komputery równoległe

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

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

Bardziej szczegółowo

Systemy rozproszone System rozproszony

Systemy rozproszone System rozproszony Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1. Tryby komunikacji między procesami w standardzie Message Passing Interface 2. HTML DOM i XHTML cel i charakterystyka 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver BUDOWA KART SIECIOWYCH I ZASADA DZIAŁANIA Karty sieciowe i sterowniki kart sieciowych Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface

Bardziej szczegółowo

System komputerowy. System komputerowy

System komputerowy. System komputerowy System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,

Bardziej szczegółowo

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

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080

Bardziej szczegółowo

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0> Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą

Bardziej szczegółowo

Magistrala systemowa (System Bus)

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

Bardziej szczegółowo

Zaawansowane narzędzia programowania rozproszonego

Zaawansowane narzędzia programowania rozproszonego Zaawansowane narzędzia programowania rozproszonego Karol Gołąb karol.golab@tls-technologies.com 28 listopada 2001 1 Streszczenie Omówienie i porównanie popularnych standardów mechanizmów komunikacyjnych:

Bardziej szczegółowo

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego 1 Historia i pojęcia wstępne Przetwarzanie współbieżne realizacja wielu programów (procesów) w taki sposób, że ich

Bardziej szczegółowo

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ść 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ółowo

Mikroprocesory rodziny INTEL 80x86

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

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

Architektura systemów komputerowych

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

Bardziej szczegółowo

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

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,

Bardziej szczegółowo

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

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne. Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne. Części wykładu: 1. Ogólny podział struktur systemów równoległych 2. Rodzaje systemów komputerowych z pamięcią

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Analiza 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 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ółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

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

Bardziej szczegółowo

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo

Bardziej szczegółowo

Stronicowanie w systemie pamięci wirtualnej

Stronicowanie 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ółowo

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

Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych Wprowadzenie do architektury komputerów Taksonomie architektur Podstawowe typy architektur komputerowych Taksonomie Służą do klasyfikacji architektur komputerowych podział na kategorie określenie własności

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM Marcin Tomana marcin@tomana.net SKRÓT WYKŁADU Zastosowania systemów operacyjnych Architektury sprzętowe i mikroprocesory Integracja systemu operacyjnego

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Bardziej szczegółowo

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

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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ą

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

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

Projektowanie 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ółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

Inżynieria Programowania - Projektowanie architektoniczne

Inżynieria Programowania - Projektowanie architektoniczne Inżynieria Programowania - Projektowanie architektoniczne Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 22 października 2016 1 2 3 4 5 Architektury charakterystyczne dla różnych dziedzin

Bardziej szczegółowo