Architektura Systemów Komputerowych

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

Download "Architektura Systemów Komputerowych"

Transkrypt

1 Architektura Systemów Komputerowych Wykład 10: Redukcja opóźnień w procesorach superpotokowych i superskalarnych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie

2 Plan Opóźnienia w architekturach superpotokowych i superskalarnych Redukcja opóźnień skoków Redukcja opóźnień danych

3 Opóźnienia w procesorach superpotokowvch i superskaiarnych Duża liczba stopni potoków powoduje znaczące opóźnienia Opóźnienie wyraża się proporcjonalnym spadkiem wydajności w porównaniu z idealnym wykonaniem programu bez opóźnień w architekturach jednopotokowch bierze się pod uwagę liczbę straconych cykli procesora, która jest równa liczbie utraconych instrukcji w architekturach wielopotokowych liczbę straconych cykli należy pomnożyć przez liczbę potoków

4 Opóźnienia skoków Ze statystyki wynika, że skoki stanowią od 7 do 14 % wszystkich wykonywanych instrukcji dla dalszych rozważań przyjmiemy, że skoki stanowią 10% instrukcji W bardziej złożonych architekturach opóźnienia skoków paraliżują działanie procesora niezbędne są mechanizmy umożliwiające znaczącą redukcję opóźnień Architektura Liczba utraconych instrukcji Spadek wydajności MIPS R % MIPS R % Intel Pentium ok % Intel Pentium Pro / II / III ok % AMD K8 ok % Intel Pentium 4 / Core ok %

5 Spekulatywne wykonanie instrukcji Współczesne procesory są wyposażone w mechanizmy spekulatywnego wykonania instrukcji instrukcja jest wykonywana na podstawie przewidywania, że powinna być wykonana (np. po instrukcji skoku) w przypadku błędnego przewidywania następuje anulowanie instrukcji i wszelkich efektów jej wykonania procesory umożliwiają wielopoziomową spekulację wykonanie instrukcji po kilku nierozstrzygniętych skokach Jeśli w procesorze przebywa równocześnie 100 instrukcji, to wśród nich jest 10 skoków oznacza to, że niemal przez cały czas wykonanie instrukcji ma charakter spekulatywny bez spekulacji wydajność byłaby ok 10-krotnie mniejsza

6 Terminologia Wykonanie skoku wykonanie instrukcji skoku, które może, ale nie musi, powodować zmianę wartości PC Realizacja skoku zmiana zawartości PC Skok warunkowy przy niespełnionym warunku zostaje wykonany, ale nie zrealizowany Adres skoku: statyczny zawarty w instrukcji w postaci stałej dynamiczny zmienna wartość w rejestrze lub pamięci (w tym na stosie powroty z procedur) Skoki z adresem statycznym: względne w obrazie instrukcji jest zapamiętane przemieszczenie względem PC jako liczba ze znakiem (U2) bezwzględne w obrazie instrukcji jest zapamiętany adres docelowy, ładowany do PC

7 Przewidywanie skoków zasady Przewidywanie skoków polega na przewidzeniu wykonania instrukcji skoku przed faktycznym jej wykonaniem Po przewidzeniu skoku procesor spekulatywnie wykonuje instrukcje po skoku (zrealizowanym lub niezrealizowanym) Rzeczywiste wykonanie instrukcji skoku umożliwia sprawdzenie poprawności przewidywania Jeśli przewidywanie było poprawne: skok został wykonany bez opóźnień lub ze zmniejszonym opóźnieniem instrukcje wykonane spekulatywnie mogą zostać zatwierdzone Jeśli przewidywanie było błędne: instrukcje wykonane spekulatywnie są anulowane, a czas przeznaczony na ich wykonanie jest czasem opóźnienia skoku następuje wykonanie właściwego strumienia instrukcji

8 Przewidywanie skoków aspekty Przewidywanie wystąpienia instrukcji skoku w strumieniu instrukcji Przewidywanie adresu docelowego skoku Przewidywanie sposobu wykonania skoku warunkowego (zrealizowany / niezrealizowany)

9 Możliwości przewidywania skoków Aby wykonać skok, procesor musi: wiedzieć, że występuje instrukcja skoku znać adres docelowy znać warunek wykonania dla skoków warunkowych Możliwość wykonania bez spekulacji: skoki statyczne bezwarunkowe natychmiast po stwierdzeniu wystąpienia instrukcji skoku skoki statyczne warunkowe po wyznaczeniu warunku adres docelowy znany bezpośrednio po zdekodowaniu skoki dynamiczne po wyznaczeniu adresu docelowego Przewidywanie może obejmować: dla wszystkich skoków wystąpienie skoku, adres docelowy skoku dla skoków warunkowych dodatkowo sposób wykonania

10 Przewidywanie statyczne i dynamiczne Statyczne zachodzi po zdekodowaniu instrukcji skoku, nie wymaga gromadzenia wiedzy o historii wykonania programu przewidywanie realizacji skoku warunkowego Dynamiczne na podstawie wiedzy o historii wykonania programu przewidywanie wystąpienia instrukcji skoku przed jej pobraniem przewidywanie adresu docelowego skoków statycznych i dynamicznych przewidywanie realizacji skoku warunkowego

11 Statyczne przewidywanie realizacji skoku Przewidywanie przez kompilator lub programistę kompilator języka wysokiego poziomu lub programista piszący program w asemblerze zna prawdopodobieństwo wykonania skoku warunkowego informacja ta może zostać umieszczona w programie o ile model programowy uwzględni dwa warianty skoków warunkowych skoki prawdopodobne skoki nieprawdopodobne przykłady: Alpha AXP, Intel Pentium 4 Przewidywanie przez procesor z analizy własności programów wynika, że ponad 60% skoków warunkowych w tył jest realizowanych, a skoków w przód nierealizowanych skoki warunkowe są zapisywane jako względne bit znaku przemieszczenia może zostać użyty przez procesor jako znacznik prawdopodobieństwa skoku

12 Dynamiczne przewidywanie wystąpienia skoku Wymaga wprowadzenia do struktury procesora dodatkowych bloków sprzętowych, gromadzących informację o historii wykonania programu Bufor docelowy skoków (BTB Branch Target Buffer) gromadzi informację o pewnej liczbie ostatnio wykonywanych skoków działa na zasadzie podobnej do pamięci podręcznej często realizowany w powiązaniu z pamięcią podręczną kodu Przy każdej realizacji skoku adres, pod którym jest położona instrukcja skoku jest odnotowywany w BTB na ogół razem z adresem docelowym skoku Przy każdym pobraniu instrukcji stopień pobrania sprawdza, czy adres pobrania został wcześniej zanotowany jako adres instrukcji skoku jeśli tak stopień pobrania może w następnym cyklu wykonać skok

13 Bufor docelowy działanie Przy wykonaniu skoku do adresu Y położonego pod adresem X w buforze docelowym zostaje zapamiętana para X,Y Równocześnie z pobraniem każdej instrukcji następuje przeszukanie bufora z wartością scanpc jako kluczem Jeśli w buforze znajduje się wartość X = scanpc, to na końcu cyklu następuje załadowanie Y do scanpc w następnym cyklu stopień pobrania pobierze instrukcję spod przewidywanego adresu docelowego skoku Opisany schemat działa poprawnie jeżeli: pod adresem X nadal znajduje się ta sama instrukcja skoku adres docelowy skoku pozostaje niezmienny warunek wykonania (dla skoku warunkowego) ma tę samą wartość Przy udanym przewidywaniu skok wykonuje się bez opóźnień

14 Bufor docelowy - ograniczenia Bufor docelowy w podstawowej formie nie może przewidywać: skoków dynamicznych skoków warunkowych przy różnych wartościach warunku w kolejnych wykonaniach Zastosowanie skoków dynamicznych: powroty z procedur bardzo częste, niezbędne wskaźniki na funkcje, w tym metody wirtualne zależne od przyjętego stylu programowania jedna z możliwych realizacji konstrukcji typu switch - zależne od kompilatora Skoki dynamiczne mogą być przewidywane w buforze docelowym jako statyczne działa to dość dobrze dla wskaźników na funkcje Potrzebny inny mechanizm przewidywania powrotów z procedur

15 Przewidywanie adresów powrotów z procedur Szczególnie potrzebne w procesorach CISC odczyt śladu ze stosu jest czasochłonny Założenie: adres powrotu jest ostatnim zapamiętanym śladem implikuje to wymaganie, że każdej instrukcji skoku ze śladem odpowiada instrukcja powrotu przewidywanie adresu powrotu nie działa dla par: PUSH-RET CALL-POP

16 Sprzętowy stos powrotów Niewielki, niewidoczny programowo stos (bufor LIFO), umieszczony w procesorze pojemność: 8 16 elementów Wykonanie instrukcji skoku ze śladem powoduje umieszczenie na stosie powrotów wartości śladu dzieje się to niezależnie od przesłania śladu na stos w pamięci (CISC) lub do rejestru (RISC) Napotkanie instrukcji powrotu powoduje zdjęcie śladu ze stosu przy przewidywaniu dynamicznym akcja ta jest inicjowana przez BTB przy pobraniu instrukcji powrót nie wnosi żadnych opóźnień przy przewidywaniu statycznym spekulatywny powrót następuje po zdekodowaniu instrukcji powrotu Wykonanie instrukcji powrotu weryfikuje poprawność spekulacji jeśli adres ze stosu sprzętowego jest różny od adresu powrotu następuje anulowanie całego ciągu instrukcji

17 Efektywność sprzętowego stosu powrotów Stos powrotów działa skutecznie dla fragmentów programu, w których zagłębianie procedur nie przekracza pojemności stosu Każda niesparowana instrukcja CALL lub RETURN powoduje desynchronizację stosu wszystkie następne powroty będą przewidywane błędnie, aż do zapełnienia całego stosu nowymi śladami

18 Dynamiczne przewidywanie realizacji skoku Sam bufor docelowy przewiduje skoki warunkowe jako bezwarunkowe skok niezrealizowany po zrealizowanym jest przewidziany błędnie Lepsze przewidywanie realizacji skoków wymaga implementacji predyktora, decydującego o tym, czy procesor ma traktować skok jako realizowany czy nierealizowany Skróty i konwencje: T (Taken) skok realizowany NT (Not Taken) skok nierealizowany PT (Predict Taken) skok przewidywany jako realizowany (na grafach kolor zielony) PNT (Predict Not Taken) skok przewidywany jako nierealizowany (na grafach kolor czerwony)

19 Dynamiczne predyktory realizacji skoku Automaty decydujące o sposobie spekulatywnego wykonania przewidywanego skoku warunkowego na podstawie historii wykonania programu Działanie predyktorów deterministyczne wykonanie (rozstrzygnięcie skoku) przez procesor powoduje modyfikację stanu predyktora spekulatywne wykonanie skoku na podstawie stanu predyktora Klasyfikacja predyktorów wg. konstrukcji elementarnego automatu predyktora dwustanowe Czterostanowe wg. sposobu wiązania instrukcji skoku z automatem predyktora jednopoziomowe prawdopodobieństwo bezwarunkowe dwupoziomowe prawdopodobieństwo warunkowe trójpoziomowe - prawdopodobieństwo warunkowe z adaptacją schematu przewidywania

20 Predyktor dwustanowy budowa T T Stany: T, NT T Predyktor przydzielany do instrukcji skoku z chwilą pierwszej realizacji NT NT T Kolejne przewidywanie skoku jest takie samo, jak było ostatnie wykonanie NT

21 Predyktor dwustanowy - charakterystyka for (j=0; j<jmax; j++) { // przed pierwszą iteracją // NT -> zmiana na T for (i=0; i<imax; i++) { if (i % 2) // zawsze błąd {... } else {... } } // po ostatniej iteracji // T -> zamiana na NT } Błędne przewidywanie skoku zamykającego pętlę zagnieżdżoną przy pierwszym i ostatnim wykonaniu istotne przy pętlach iterowanych niewielką liczbę razy Błędne przewidywanie po każdym odstępstwie od typowego wykonania 100% błędne przewidywanie skoków realizowanych co drugi raz

22 Predyktor czterostanowy T T Stany: ST ST Strongly Taken NT T WT Weakly Taken WNT Weakly Not Taken SNT Strongly Not Taken NT NT WT WNT T T Pierwsza realizacja skoku wprowadza predyktor w stan ST Zmiana przewidywania następuje po dwóch kolejnych takich samych wykonaniach SNT NT

23 Predyktor czterostanowy - charakterystyka for (j=0; j<jmax; j++) { // przed pierwszą iteracją // WT -> zmiana na ST for (i=0; i<imax; i++) { if (i % 1) // błąd co drugie wykonanie {... } else {... } } // po ostatniej iteracji // ST -> zamiana na WT } Błędne przewidywanie skoku zamykającego pętlę zagnieżdżoną przy ostatnim wykonaniu istotne przy pętlach iterowanych niewielką liczbę razy Błędne przewidywanie po każdym jednokrotnym odstępstwie od typowego wykonania Skoki realizowane co drugi raz przewidywanie poprawne w 50%

24 Ograniczenia predyktorów jednopoziomowych Brak możliwości trafnego przewidzenia wszystkich iteracji skoku zamykającego pętlę szczególnie istotne przy pętlach iterowanych niewielką liczbę razy, często spotykanych w oprogramowaniu Brak możliwości trafnego przewidzenia skoków wykonywanych cyklicznie np. dwa razy realizowany, następnie dwa razy nierealizowany

25 Predyktory dwupoziomowe Przechowują informację o prawdopodobieństwie warunkowym jak wykona się skok, jeśli ostatnio raz był zrealizowany i trzy razy niezrealizowany Predyktor elementarny nie jest bezpośrednio związany z instrukcją skoku wybór predyktora zachodzi na podstawie adresu instrukcji skoku i historii wykonań Rejestr historii: rejestr przesuwający o długości 8 16 bitów, zawierający historię wykonań (T/NT) dla ostatnich wykonań pojedynczego lub wielu skoków Predyktory dwupoziomowe i trójpoziomowe nazywane korelatorami skoków

26 Predyktor dwupoziomowy glocal Adres instrukcji skoku Tablica rejestrów historii Tablica predyktorów T/NT #

27 Predyktor dwupoziomowy gshare Adres instrukcji skoku Globalny rejestr historii Tablica predyktorów T/NT #

28 Predyktory dwupoziomowe - własności Powolne,,uczenie się predyktora trafne przewidywanie wymaga często wielu tysięcy wykonań skoku Możliwość poprawnego przewidywania sekwencji wykonań o długości równej co najmniej długości rejestru historii w tym możliwość poprawnego przewidywania zamknięć pętli iterowanych np. 8 razy Niewrażliwość na pojedyncze nieregularności wykonania Trafność przewidywania typowo około 95% lub więcej Predyktor glocal lepiej przewiduje pętle iterowane niewielką liczbę razy Predyktor gshare lepiej przewiduje rozejścia zależne od wartości danych o ile kilka kolejnych rozejść jest ze sobą powiązanych

29 Predyktory trójpoziomowe Predyktor trójpoziomowy jest hybrydą dwóch predyktorów, zwykle glocal i gshare Dwa schematy przewidywania dla każdego skoku, z możliwością wyboru schematu zmiana wyboru schematu dla danego skoku zachodzi, gdy dotychczas wybrany schemat przewidział skok błędnie, a alternatywny schemat poprawnie Trafność przewidywania typowo powyżej 96%

30 Redukcja opóźnień pobierania danych z pamięci W architekturach superskalarnych samo rozsunięcie instrukcji ładującej daną i instrukcji korzystającej z danej nie maskuje opóźnienia Niezbędne pobieranie danych z pamięci operacyjnej do pamięci podręcznej lub buforów na zapas (Data Prefetch) Realizacje: pobieranie inicjowane przez oprogramowanie automatyczne (spekulatywne) pobieranie przez procesor

31 Pamięć podręczna a wydajność Automatyczne umieszczenie danych w pamięci podręcznej nie zawsze przyspiesza wykonanie programu Przykład program przetwarzający dużą tablicę T1 przy użyciu danych z mniejszej tablicyt2 T2 mieści się w pamięci podręcznej L1 T1 mieści się w pamięci podręcznej L2, nie mieści się w pamięci podręcznej L1 odwołania do T1 powodują usuwanie elementów T2 z pamięci podręcznej L1 efektywny współczynnik trafień L1 wynosi 0 Rozwiązanie: buforować T1 tylko w pamięci podręcznej L2, a T2 - również w L1 szybki dostęp do T1(100% trafień w L1) wolniejszy dostęp tylko do T1 (w L2) Potrzebna jest możliwość sterowania buforowaniem danych z poziomu aplikacji wymaga to ujawnienia obecności pamięci podręcznej w modelu programowym program powinien brać pod uwagę konfigurację komputera, na którym działa

32 Instrukcje pobierania danych Instrukcje nie mają skutku w modelu programowym nie modyfikują kontekstu procesora Implementacja opcjonalna prostsze procesory mogą je wykonywać jako puste Instrukcje mają charakter sugestii (podpowiedzi), umożliwiających optymalizację działania procesora Jeden argument adres pamięci Wykonanie instrukcji polega na przesłaniu danych z pamięci operacyjnej do pamięci podręcznej lub bufora, ew. zmianie stanu linii pamięci podręcznej instrukcja pobrania do zapisu tylko alokuje linie w pamięci podręcznej, które mają być całkowicie zapełnione nowym danymi bez późniejszego zapisu danych ich wartość będzie nieokreślona! Czas i sposób wykonania mogą zależeć od bieżącego obciążenia interfejsu pamięci operacyjnej i pamięci podręcznej

33 Instrukcje PREFETCH x86 PREFETCHNTA pobranie danych z pominięciem pamięci podręcznej (do niewidocznego bufora danych w procesorze) dane będą użyte jednorazowo i nie powinny powodować usunięcia innych obiektów z pamięci podręcznej PREFETCHT0 pobranie danych do pamięci podręcznej poziomu 1 i ew. innych poziomów PREFETCHT1 pobranie danych do pamięci podręcznej poziomu 2 i ew. następnych dane nie mieszczą się w L1 i nie powinny jej zajmować PREFETCHT2 pobranie danych do pamięci podręcznej poziomu 3 i ew. następnych dane nie mieszczą się w L2 i nie powinny jej zajmować

34 Automatyczne pobieranie danych przez procesor Odpowiedni moduł sprzętowy wykrywa wzorce odwołań do pamięci realizowanych przez program Na podstawie rozpoznanego wzorca procesor samoczynnie wykonuje operację pobierania danych analogiczną do inicjowanej przez instrukcję PREFETCH Mechanizm zaimplementowany m.in. w procesorach Intel serii Pentium 4 i Core

35 DZIĘKUJĘ ZA UWAGĘ!

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 8: Procesory wielopotokowe, czyli superskalarne Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Struktury i rodzaje

Bardziej szczegółowo

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Procesor ma architekturę 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ółowo

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 7: Potokowe jednostki wykonawcze Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Budowa potoku Problemy synchronizacji

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 5 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) c.d. 2 Architektura CPU Jednostka arytmetyczno-logiczna (ALU) Rejestry Układ sterujący przebiegiem programu

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

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

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

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

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

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

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 Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 6: Budowa jednostki centralnej - CPU Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Procesor jednocyklowy Procesor

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie

Bardziej szczegółowo

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 9: Pamięć podręczna procesora jako warstwa hierarchii pamięci Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Zasada

Bardziej szczegółowo

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 12: Zarządzanie zasobami komputera. Sytuacje wyjątkowe. Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Zarządzanie

Bardziej szczegółowo

Systemy operacyjne III

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

Architektura potokowa RISC

Architektura potokowa RISC Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania

Bardziej szczegółowo

Laboratorium Komputerowe Systemy Pomiarowe

Laboratorium Komputerowe Systemy Pomiarowe Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Programowanie wielofunkcyjnej karty pomiarowej w VEE Data wykonania: 15.05.08 Data oddania: 29.05.08 Celem ćwiczenia była

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

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

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.

Bardziej szczegółowo

Przetwarzanie potokowe pipelining

Przetwarzanie potokowe pipelining Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły

Bardziej szczegółowo

Mikroinformatyka. Wielozadaniowość

Mikroinformatyka. Wielozadaniowość Mikroinformatyka Wielozadaniowość Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment

Bardziej szczegółowo

Technologie informacyjne (2) Zdzisław Szyjewski

Technologie informacyjne (2) Zdzisław Szyjewski Technologie informacyjne (2) Zdzisław Szyjewski Technologie informacyjne Technologie pracy z komputerem Funkcje systemu operacyjnego Przykłady systemów operacyjnych Zarządzanie pamięcią Zarządzanie danymi

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

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

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

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

Pamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com

Pamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com Pamięć wirtualna Jan Tuziemski Źródło części materiałów: os-book.com Pamięć wirtualna Na poprzednich wykładach omówiono sposoby zarządzania pamięcią Są one potrzebne ponieważ wykonywane rozkazy procesów

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr 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ół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

ECDL Podstawy programowania Sylabus - wersja 1.0

ECDL Podstawy programowania Sylabus - wersja 1.0 ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy

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

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22

3 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ół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

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje

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

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

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo

Architektura komputerów

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

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

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

System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni

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

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

Zuzanna Hartleb i Artur Angiel

Zuzanna Hartleb i Artur Angiel ARCHITEKTURA KOMPUTERÓW - LABORATORIUM Program hybrydowy Dokumentacja ćw. 1-4 Zuzanna Hartleb i Artur Angiel 2010-06-16 Działanie Program pobiera od użytkownika liczbę zmiennoprzecinkową, sprawdza poprawnośd

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27 ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP. c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Procesor część II Rejestry procesora dostępne programowo AX Akumulator Zawiera jeden z operandów działania i do niego przekazywany jest wynik BX,CX,DX,EX,HX,LX

Bardziej szczegółowo

elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie w asemblerze 1 Nazwa modułu w języku angielskim Assembly programming

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List)

Język programowania: Lista instrukcji (IL Instruction List) Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

architektura komputerów w. 8 Zarządzanie pamięcią

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

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

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

Podstawy Informatyki Układ przerwań

Podstawy Informatyki Układ przerwań maszyny W Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu maszyny W 1 Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy

Bardziej szczegółowo

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco 1. Liczby 3456.0012 i 0.000076235 w zapisie zmiennoprzecinkowym przedstawia się następująco a) 0.34560012 10 4 i 0.76235 10 4 b) 3.4560012 10 3 i 7.6235 10 5 c) 3.4560012 10 3 i 7.6235 10 5 d) po prostu

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

Modelowanie procesów współbieżnych

Modelowanie procesów współbieżnych Modelowanie procesów współbieżnych dr inż. Maciej Piotrowicz Katedra Mikroelektroniki i Technik Informatycznych PŁ piotrowi@dmcs.p.lodz.pl http://fiona.dmcs.pl/~piotrowi -> Modelowanie... Literatura M.

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

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 2 Podstawy programowania 2 Temat: Zmienne dynamiczne tablica wskaźników i stos dynamiczny Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Tablice wskaźników Tablice

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

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 3: Architektura procesorów x86 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcia ogólne Budowa mikrokomputera Cykl

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów. Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych

Bardziej szczegółowo

Zrównoleglenie i przetwarzanie potokowe

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

Metody Kompilacji Wykład 1 Wstęp

Metody Kompilacji Wykład 1 Wstęp Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35 ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP.2 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Procesor IPS R3 Potokowe wykonywanie instrkcji Konflikty

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

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

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 11: Procedury zaawansowane Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Ramki stosu Rekurencja INVOKE, ADDR, PROC,

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, ćwiczenia I KARTA

Bardziej szczegółowo

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia

Bardziej szczegółowo

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne

Bardziej szczegółowo

Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty).

Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Pudełkowy komputer Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Budowa komputera: każdy uczeń składa proste pudełko metodą orgiami Zobacz:

Bardziej szczegółowo

BMC Control-M Wybrane przypadki zastosowania

BMC Control-M Wybrane przypadki zastosowania Piotr Orlański Mariusz Gajewski CompFort Meridian Polska & BMC Software BMC Control-M Wybrane przypadki zastosowania Warszawa, 11 czerwca 2015 DISASTER RECOVERY Środowisko bankowe Problem: Zorganizowanie

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarzą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ółowo

Od programu źródłowego do procesu

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

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com Pamięć Jan Tuziemski Źródło części materiałów: os-book.com Cele wykładu Przedstawienie sposobów organizacji pamięci komputera Przedstawienie technik zarządzania pamięcią Podstawy Przed uruchomieniem program

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

Zarządzanie pamięcią operacyjną

Zarzą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ółowo

Wydajność obliczeń a architektura procesorów

Wydajność obliczeń a architektura procesorów Wydajność obliczeń a architektura procesorów 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych zadań, np.: liczba rozkazów na sekundę

Bardziej szczegółowo

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć

Bardziej szczegółowo