Wykład. Potokowe wykonywanie operacji i rozkazów, stos, podprogramy, przerwania, układ sterowania, zarys historii komputera elektronicznego.

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

Download "Wykład. Potokowe wykonywanie operacji i rozkazów, stos, podprogramy, przerwania, układ sterowania, zarys historii komputera elektronicznego."

Transkrypt

1 Wykład Potokowe wykonywanie operacji i rozkazów, stos, podprogramy, przerwania, układ sterowania, zarys historii komputera elektronicznego. Zawartość wykładu: 1. Potokowe wykonywanie operacji obliczeniowych 2. Potokowe wykonywanie rozkazów 3. Pamięć stosowa w komputerze 4. Wywołania podprogramów 5. Przerwania i wyjątki 6. Budowa układów sterowania komputerów 7. Zarys historii komputera elektronicznego

2 Potokowe wykonywanie operacji obliczeniowych Potokowe przetwarzanie danych (ang. pipelined processing) polega na zorganizowaniu wykonywania operacji w komputerze, w sposób podobny do wytwarzania produkowania wyrobów w fabryce przy pomocy taśmy produkcyjnej. Taśma produkcyjna (ang. production pipeline) jest to urządzenie, które przesuwa wytwarzane produkty między kolejnymi stanowiskami, na których wykonywane są kolejne składowe operacje na produktach potrzebne do wytworzenia całego wyrobu. Stanowiska są ustawione w szereg wzdłuż taśmy w kolejności odpowiadającej kolejnym fazom procesu produkcyjnego.

3 Przed każdym przesunięciem taśmy na jej początek wstawia się kolejny nieobrobiony przez taśmę produkt inicjalny (mogą to być surowce lub produkt w stanie inicjalnym). Produkt jest przesuwany następnie przez wszystkie stanowiska robocze. Na każdym stanowisku produkt jest wzbogacany o wyniki wykonanych na nim odpowiednich operacji. Po przejściu przez wszystkie stanowiska produkt zamienia się w gotowy wyrób. Czas wykonania operacji na wszystkich stanowiskach na taśmie jest w przybliżeniu taki sam. W czasie między kolejnymi przesunięciami taśmy, muszą zakończyć się operacje na wszystkich stanowiskach, by taśma mogła być przesunięta o jedno stanowisko w kierunku ostatniej operacji w procesie produkcyjnym. Podczas pracy taśmy produkcyjnej na której jest n stanowisk, obrabianych jest jednocześnie n produktów.

4 Po każdym przesunięciu taśmy schodzi z niej gotowy produkt, o ile na początek taśmy stale podawane są produkty w stanie inicjalnym. Przy produkcji taśmowej na n stanowiskach, szybkość uzyskiwania gotowych wyrobów jest n razy większa w porównaniu z taką organizacją produkcji, gdzie nie ma przesuwającej się taśmy a cały wyrób jest wytwarzany od początku do końca na jednym stanowisku.

5 W informatyce taśmowe wykonywanie operacji obliczeniowych jest nazywane przetwarzaniem potokowym (ang. pipelined processing). Aby operacje obliczeniowe mogły być wykonywane w sposób potokowy musimy zbudować układ wykonawczy, który będzie działał podobnie jak taśma produkcyjna.

6 W celu zaprojektowania potokowego wykonania danej operacji obliczeniowej należy: podzielić operację obliczeniową na pewną liczbę n operacji składowych, wykonywanych sekwencyjnie - jedna po drugiej, takich, że czas wykonania wszystkich operacji składowych jest w przybliżeniu identyczny, zbudować dla każdej operacji składowej odrębny układ wykonawczy tzw. stopień potoku (ang. pipeline stage), połączyć stopnie potoku w taki sposób, aby wyjście z poprzedniego stopnia było podawane na wejście następnego stopnia, zbudować układ synchronizacji przekazywania danych między stopniami, aby dane przekazywane były między wszystkimi stopniami jednocześnie, w odstępach czasu równych czasowi wykonania operacji składowych, zwanych taktami potoku,

7 zapewnić, aby w chwili przekazywania danych między stopniami na wejście pierwszego stopnia podawane były nowe argumenty operacji obliczeniowej, odbierać co każdy takt wyniki z ostatniego stopnia potoku, stanowiące wyniki wykonania całej operacji obliczeniowej.

8 Rzadko udaje się podzielić operacje obliczeniową na dokładnie równe czasowo operacje składowe. Dlatego, między stopniami potoku wstawia się układy buforowe, do których wpisuje się wyniki działania stopni (patrz rysunek poniżej po prawej stronie). Każdy układ buforowy stanowi układ dwu rejestrów: rejestru wyjściowego stopnia poprzedniego i rejestru wejściowego stopnia następnego. Rejestr wyjściowy służy do asynchronicznego zapamiętania wyniku stopnia poprzedniego. Rejestry w obrębie jednego bufora są połączone ze sobą równolegle, w taki sposób, że co takt potoku następuje przepisanie zawartości rejestru wyjściowego do wejściowego. Przepisanie następuje we wszystkich buforach równocześnie, co zapewnia układ sterowania potoku.

9 Wyznacza się najdłuższy czas wykonania operacji wśród wszystkich stopni, włączając w to zapis wyniku stopnia do wyjściowego rejestru buforowego i ten czas przyjmuje się za długość taktu potoku. Wyniki działania stopni przekazuje się ze wszystkich buforów na wejście następnego stopnia w odstępach czasu równych przyjętemu taktowi potoku, równemu najdłuższemu czasowi działania stopnia. Pojedyncze rejestry buforowe umieszcza się również na wejściu pierwszego stopnia i wyjściu ostatniego stopnia potoku. Tak zbudowany potok pozwala na wykonanie przetwarzania potokowego również dla operacji, które nie dają się podzielić na dokładnie równe czasowo operacje składowe.

10 Struktura potoku dla wykonania operacji obliczeniowej rejestr we Stopień 1 (operacja 1) bufor 1 Sterowanie przesłaniem danych między stopniami Stopień 2 (operacja 2) bufor 2 Stopień n-1 (operacja n-1) bufor n-1 Stopień n (operacja n) rejestr wy

11 Budowa bufora między stopniami potoku Z poprzedniego stopnia Rejestr buforowy wy Sterowanie przesłaniem danych między stopniami Rejestr buforowy we Do następnego stopnia

12 Łatwo zauważyć, że przez n-1 pierwszych taktów działania potoku na wyjściu potoku nie pojawi się żaden wynik. Pierwszy wynik operacji pojawi się po n-tym takcie i odtąd po każdym takcie będziemy odbierać wynik operacji obliczeniowej. Pomijając początkowe opóźnienie, potok obliczeniowy zawierający n stopni przyspiesza więc wykonanie operacji obliczeniowej n krotnie.

13 Potokowe wykonywania rozkazów Ideę przetwarzania potokowego można z powodzeniem zastosować do wykonania rozkazów w procesorze. Jak wiadomo cykl wykonawczy rozkazu można podzielić na następujące operacje składowe: Pobranie rozkazu Zdekodowanie rozkazu Wyznaczenie adresu argumentów Pobranie argumentów Wykonanie operacji Zapis wyników do pamięci

14 Sprzęt wykonawczy komputera możemy zbudować w ten sposób, że każda z podanych operacji składowych cyklu rozkazu będzie wykonana przez odrębny układ wykonawczy. Układ ten jest wstawiony jako stopień do potoku wykonania rozkazu, jak pokazano na rysunku poniżej. Założymy, że takt potoku ustalimy równy czasowi wykonania najdłuższej z powyższych operacji składowych. Między stopniami potoku wstawimy buforowe układy pamiętające, które będą przechowywać wyniki wykonania stopnia poprzedniego jako wejście dla stopnia następnego. Na wejście potoku będziemy podawać adresy kolejnych rozkazów programu wykonywanego przez procesor.

15 Stopnie potoku wykonującego rozkazy komputera adres rozkazu Pobranie rozkazu Zdekodowanie rozkazu Wyznaczenie adresu arg. Pobranie argumentu Wykonanie rozkazu Zapis wyniku

16 W kolejnych taktach potoku coraz to nowe adresy rozkazów będą wprowadzane do pierwszego stopnia potoku i pobierane będą z pamięci operacyjnej kolejne rozkazy programu. Po 6-tym takcie potoku otrzymamy wykonanie pierwszego rozkazu programu i po każdym następnym takcie będziemy mięć wykonany kolejny rozkaz programu, o ile potok będzie pracował bez przestojów - tzn. każdy stopień potoku będzie miał w każdym takcie gotowe dane wejściowe. Potok wykonania rozkazów zawierający 6 stopni, pracujący bez przestojów, przyspiesza wykonanie programu 6-ciokrotnie. Dzieje się tak dlatego, że przy pomocy potoku wykonanie programu zostaje zrównoleglone. Każdy stopień potoku pracuje dla innego rozkazu.

17 + Wykonanie potokowe rozkazów takty zegara Stopnie potoku: pobranie rozkazu zdekodowanie rozkazu wyznaczenie adresu operandów pobranie argumentów wykonanie operacji rozkazu zapis wyniku nr rozkazu

18 Przy wykonywaniu programów metodą potokową występują problemy z wykonaniem pewnych typów rozkazów oraz z wykonaniem programów o pewnych strukturach następstwa rozkazów. Rozkazy te powodują tzw. przestoje w potoku, z powodu braku danych na wejściu stopni potoku. Brak danej wejściowej uniemożliwia pracę danego stopnia, brak wyniku do przesłania do następnego stopnia a w konsekwencji, z pewnym opóźnieniem, brak wyniku na wyjściu potoku. Jeśli brak danych wejściowych trwa więcej niż jeden takt, powoduje to zatrzymanie pracy całego potoku (jego końcowego stopnia) na tyle taktów, dla ilu brak było danych wejściowych.

19 Problem rozkazów skoku Pierwszym typem rozkazów, które powodują przestoje w potoku wykonania rozkazów są rozkazy skoku. Wynikiem rozkazu skoku jest wprowadzenie do licznika rozkazów adresu następnego rozkazu do wykonania tj. adresu wytworzonego (lub zawartego) w tym rozkazie.

20 Przykład czas adres rozkazu R 1 Pobranie rozkazu R 2 R 3 rozkaz skoku Zdekodowanie rozkazu Wyznaczenie adresu arg. R 4 Pobranie argumentu R 5 Wykonanie rozkazu R 6 Zapis wyniku Dla pobrania rozkazu R 4, jego adres powinien znaleźć się w liczniku rozkazów już w chwili 3. Natomiast rozkaz skoku R 3 dostarczy ten adres dopiero w chwili 8. Tak więc, pierwszy stopień potoku nie będzie mógł pracować w chwilach od 3 do 7, powodując w konsekwencji przestoje dalszych stopni potoku i brak wyników na wyjściu potoku.

21 Sytuację tę można poprawić w trakcie kompilacji programu. Kompilator umieszcza w programie za rozkazem skoku odpowiedniej liczby rozkazów nic nie rób, które zastępuje następnie rozkazami obliczeniowymi obojętnymi z punktu widzenia miejsca ich wykonania w programie. W ten sposób lukę w ciągłej pracy potoku może być wypełniona. Metoda ta nosi nazwę opóźnionych skoków (ang. delayed branches).

22 Problem wzajemnej zależności kolejnych rozkazów Inną sytuacją w programie, w której potok zostaje wstrzymany jest bezpośrednia zależność kolejnych rozkazów ze względu na dane. Dzieje się tak, gdy następny rozkaz wykonuje operację na wyniku poprzedniego. Przykład M (125) := M (125) + R1 (ADD) R2 := R2 M (125) (MUL) gdzie: ADD, MUL oznacza rozkazy dodaj, pomnóż; M(125), R1, R2 oznaczają odpowiednio zawartości: komórki pamięci o adresie 125, rejestru R1, rejestru R2.

23 czas adres rozkazu r 1 r 2 r 3 ADD r 4 MUL Przestój potoku z powodu braku danej M (125) wytworzonej przez ADD Zdekodowanie rozkazu Wyznaczenie adresu arg. Pobranie argumentu Pobranie rozkazu Wykonanie rozkazu r 5 Zapis wyniku Przestój potoku w wyniku zależności sąsiednich instrukcji Na rysunku wykonania programu powyżej, widzimy przerwę długości 2 taktów potoku w wykonywaniu instrukcji MUL z powodu braku wyliczonego i odesłanego do pamięci wyniku dodawania ADD. Przerwa ta może być wypełniona przez wykonanie dwu obojętnych instrukcji obliczeniowych, wstawionych przez kompilator do programu bezpośrednio po instrukcji ADD.

24 Pamięć stosowa w komputerze Pamięć stosowa (ang. stack memory) jest specjalnym rodzajem pamięci wykorzystywanym w komputerze dla tymczasowego przechowywania informacji, gdy chcemy odczytywać informacje w dokładnie odwrotnym porządku w stosunku do kolejności zapisu, nie zajmując się problemami adresacji informacji Pamięć stosowa jest pamięcią szeregową ze szczególnymi ograniczeniami dostępu na zapis i odczyt do tylko jednej komórki tej pamięci tzw. wierzchołka (szczytu) stosu (ang. top of the stack).

25 Pamięć stosowa zachowuje się tak jak kolejka, w której informacja może być wpisywana do wierzchołka stosu, powodując przesunięcie informacji przechowywanych w kolejnych komórkach stosu o jedna pozycję w głąb tej kolejki. Odczyt ze stosu jest możliwy tylko z wierzchołka stosu a więc można odczytać tylko ostatnio zapisaną informację. Odczyt powoduje usunięcie wiadomości ze szczytu stosu i wprowadzenie na jej miejsce pierwszej informacji z głębi stosu, z przesunięciem wszystkich pozostałych informacji o jedno miejsce w kierunku szczytu stosu. Jest to więc kolejka typu Ostatni- Wpisany - Pierwszy - Odczytany (ang. Last-In-First-Out czyli LIFO).

26 Pamięć stosowa działa podobnie do magazynku karabinu, w którym wprowadzenie kolejnego naboju wpycha pozostałe naboje w głąb magazynka, a użycie naboju powoduje jego usunięcie i wprowadzenie na wierzch magazynka pierwszego naboju, który znajdował się pod tym zużytym.

27 Dla obsługi pamięci stosowej używane są trzy rozkazy: Wprowadź do stosu (ang. Push) Czytaj wierzchołek stosu (ang. Read Stack) Usuń ze stosu (ang. Pop ) Aby wpisać informację D do stosu wykonujemy operacje Push D. Aby odczytać informacje z wierzchołka stosu wykonujemy operacje Read stack. Aby usnąć informacje ze szczytu stosu wykonujemy operacje Pop.

28 Czasami stosowane są operacje arytmetyczne stosowe, które wykonują się na argumentach zapisanych w dwu kolejnych komórkach na szczycie stosu. Po wykonaniu operacji arytmetycznej wykonywana jest operacja Pop i wynik jest umieszczany na szczycie stosu. Wierzchołek Wierzchołek C B A Wierzchołek Dana C Dana B Dana A D C B A C B A Stan początkowy Po operacji PUSH D (wprowadź D do stosu) Po operacji POP (usuń ze stosu)

29 Budowa pamięci stosowej Pierwsze realizacje pamięci stosowej polegały na wykorzystaniu rejestrów, między którymi informacja była przesuwana równolegle, przy operacjach Push i Pop. Współcześnie pamięć stosowa jest realizowana w pamięci operacyjnej ze wspomaganiem sprzętowym w postaci rejestrów obsługujących mechanizm dostępu do stosu. Stos jest nieprzerwanym ciągiem komórek o kolejnych adresach zarezerwowanym w pamięci operacyjnej przy pomocy dwu specjalnych rejestrów procesora, przechowujących adresy komórek stanowiących górną i dolną granicę stosu. Są to tzw. rejestry podstawy i granicy stosu (ang. stack base register, stack limit register). Obszar pamięci pomiędzy tymi adresami jest wyłączony z innego wykorzystywania niż dla realizacji pamięci stosowej. Wierzchołek stosu jest określony przez adres przechowywany w trzecim rejestrze tzw. rejestrze wskaźnika stosu (ang. stack pointer register).

30 Przed rozpoczęciem wykonywania programów komputera, rejestr wskaźnika stosu jest ustawiany na zawartość rejestru podstawy stosu. Po każdej operacji Push, zawartość rejestru wskaźnika stosu jest zmieniana o liczbę bajtów odpowiadających jednemu słowu stosu w kierunku adresu granicy stosu. Po każdej operacji Pop, zawartość rejestru wskaźnika stosu jest zmieniana o liczbę bajtów odpowiadających jednemu słowu stosu w kierunku adresu podstawy stosu.

31 Pamięć operacyjna Rejestry specjalne procesora Rejestr granicy stosu Rejestr wskaźnika stosu Rejestr podstawy stosu Dane zapisane w stosie Obszar Stosu Realizacja stosu w pamięci operacyjnej komputera wierzchołek stosu w pamięci

32 Rysunek powyżej pokazuje przypadek realizacji stosu w pamięci operacyjnej gdzie wierzchołek stosu jest przechowywany bezpośrednio w pamięci. Inne rozwiązanie, pokazane na rysunku poniżej, zakłada, że wierzchołek stosu oraz komórka stosu bezpośrednio poniżej wierzchołka są przechowywane w specjalnych rejestrach procesora: rejestr wierzchołka stosu i rejestr pod-wierzchołka stosu.

33 Rejestry specjalne procesora Pamięć operacyjna Rejestr wierzchołka stosu Rejestr pod-wierzchołka stosu Rejestr granicy stosu Rejestr wskaźnika stosu Rejestr podstawy stosu Dane zapisane w stosie Obszar Stosu Realizacja stosu w pamięci operacyjnej z wierzchołkiem stosu w rejestrach

34 Wywołania podprogramów Wśród sterujących rozkazów wewnętrznych komputera wyróżniliśmy rozkazy wywołania podprogramów (ang. subroutine call) o symbolu Call i rozkazy powrotu z podprogramu (ang. subroutine return) o symbolu Ret. Podprogram (ang. subroutine) jest to sekwencja rozkazów zakończona rozkazem powrotu Ret. Z rozkazem wywołania podprogramu jest zawsze związany adres pierwszego rozkazu w podprogramie, zwany adresem podprogramu. Mechanizm wywoływania podprogramów i realizacja rozkazów Call i Ret opiera się na wykorzystaniu stosu.

35 Wykonanie rozkazu wywołania podprogramu Call polega na: 1. wprowadzeniu do stosu bieżącej zawartości licznika rozkazów (a więc adresu powrotu do rozkazu, następnego do wykonania po rozkazie Call ) poprzez operację Push, 2. wpisaniu następnie do licznika rozkazów adresu podprogramu z rozkazu Call, 3. pobranie rozkazu według nowej zawartości licznika rozkazów. Adres zapisywany do stosu będzie wykorzystany przez rozkaz powrotu z podprogramu Ret, do automatycznego powrócenia po wykonaniu podprogramu do następnego rozkazu po rozkazie Call.

36 Wykonanie rozkazu powrotu z podprogramu Ret polega na: 1. odczytaniu z wierzchołka stosu zapisanego tam adresu powrotu (do rozkazu następnego po rozkazie Call ), 2. wpisaniu tego adresu powrotu do licznika rozkazów, 3. wykonaniu operacji Pop na stosie, 4. pobraniu rozkazu według nowej zawartości licznika rozkazów. Adres powrotu zapisywany do stosu przy wywołaniu podprogramu nazywany jest czasem śladem (ang. trace) a rozkaz wywołania podprogramu nazywany jest inaczej skokiem ze śladem.

37 Istnieją zagnieżdżone wywołania podprogramów (ang. nested calls)), tzn. z wywołanego podprogramu można znowu wywołać następny podprogram, z niego następny, itd. Mechanizm powrotu z podprogramu według śladu zapisanych w stosie zapewnia automatyczne powroty do kolejnych podprogramów przy zachowaniu poprawnej kolejności.

38 Pamięć operacyjna Adresy 000 Program wiodący Stos CALL 500 Zapisz 101 do stosu Stos Podprogram 1 Stos 101 Pobierz ze stosu CALL 900 RET Zapisz 601 do stosu Stos Podprogram 2 Stos Pobierz ze stosu 950 RET Wykorzystanie stosu przy wywołaniach podprogramów

39 Rysunek powyżej przedstawia czynności związane z zagnieżdżonym wywołaniem podprogramów z programu wiodącego. Przy wywołaniu podprogramu 1 (Call 500 zapisany pod adresem 100) do stosu zostaje wpisany adres 101 powrotu z wywołanego podprogramu. Przy wywołaniu podprogramu 2 (Call 900 zapisany pod adresem 600) do stosu zostaje wpisany adres powrotu 601. Przy wykonaniu powrotu z podprogramu 2 ze stosu pobierany jest adres 601. Przy wykonaniu powrotu z podprogramu 1 ze stosu pobierany jest adres 101.

40 Przerwania i wyjątki Przerwania (ang. interrupts) umożliwiają sprzętową ingerencję z zewnątrz komputera w przebieg wykonywania programu. Procesor ma zazwyczaj 2 końcówki przerwań (końcówka maskowalna i niemaskowalna), na które układy zewnętrzne w stosunku do komputera mogą wysłać sygnały w celu wymuszenia wykonania programu obsługi przerwania. Zgłoszenie przerwania powoduje ( po dokończeniu aktualnie wykonywanego rozkazu) zawieszenie normalnego toku wykonywania bieżącego programu (następny rozkaz tego programu nie jest wykonywany) a zamiast tego następuje sprzętowe wymuszenie wywołania podprogramu obsługi przerwania spod adresu ustalonego w odpowiednim specjalnym rejestrze lub tablicy w pamięci procesora.

41 Operacje związane z obsługą przerwania Rozkaz Rozkaz Wywołanie podprogramu obsługi Zapamiętanie stanu wybranych rejestrów mikroprocesora w stosie Wykonanie podprogramu obsługi przerwania Przywrócenie stanu rejestrów mikroprocesora ze stosu Powrót (RET) Rozkaz

42 Podprogram obsługi przerwania zapamiętuje w stosie stan podstawowych rejestrów procesora, które potrzebne będą do odtworzenia stanu wykonywanego programu przy powrocie do jego wykonywania, tzw. kontekst programu. Są to licznik rozkazów, rejestr stanu procesora, wskaźnik stosu procesora, inne rejestry specjalne i często stan akumulatora lub paru podstawowych rejestrów uniwersalnych zawierających dane. Następnie wykonywany jest właściwy podprogram obsługi przerwania, który zwykle wypełnia jakieś operacje wyższej konieczności ( bardziej priorytetowe niż bieżący program) wywoływane asynchronicznie metodą zgłoszenia przerwania. Po zakończeniu programu obsługi przerwania, zawartości rejestrów procesora potrzebne do wznowienia przerwanego programu są jedna po drugiej pobierane ze stosu ( poprzez wykonania rozkazów read stack do akumulatora oraz Pop oraz rozkazów przesłania między rejestrem akumulatora i innymi rejestrami). Po przywróceniu stanu potrzebnych rejestrów wykonywany jest rozkaz powrotu z podprogramu przerwania, który pobiera rozkaz według licznika rozkazów.

43 Badanie obecności zgłoszenia przerwania odbywa się w cyklu wykonania rozkazów po każdym rozkazie, po którym przerwania są dozwolone. Wydłuża to cykl rozkazowy o trzecią fazę: fazę obsługi przerwań. Nie po wszystkich rodzajach rozkazów przerwania są dozwolone. Przerwania nie są dozwolone po rozkazach w których zbadano lub ustawiono stan komputera, który musi być zachowany przy wykonaniu następnego rozkazu. Rozkazy, po których nie może nastąpić obsługa przerwania są nazywane rozkazami nieprzerywalnymi. Obsługa przerwań może być zablokowana również w sposób programowy - poprzez maskowanie przerwań w wyniku wykonania związanego z tym rozkazu wewnętrznego. Nie dotyczy to jednak przerwań przychodzących na końcówkę przerwań niemaskowalnych. Te muszą być zawsze obsłużone, jednak tylko po rozkazach przerywalnych.

44 Obsługa przerwań a cykl wykonania rozkazów Start Pobierz następny rozkaz Faza pobierania rozkazu Przerwania zablokowane Wykonaj rozkaz Przerwania dozwolone Faza wykonania rozkazu Sprawdź, czy jest przerwanie: obsłuż przerwanie Faza obsługi przerwań Koniec

45 Na końcówkę przerwań może przychodzić sygnał, który jest sumą logiczną sygnałów przerwań pochodzących z wielu źródeł. Powstaje problem rozpoznania z jakich źródeł pochodzi dany sygnał przerwania i jeśli tych źródeł jest wiele na raz, powstaje dalszy problemsygnał z którego źródła obsłużyć, gdyż procesor może obsługiwać tylko jedno przerwanie w danej chwili. Problemami tymi zajmują się tzw. kontrolery obsługi przerwań (ang. interupt controllers), o których będzie mowa w wykładzie dotyczącym kontrolerów układów wejścia/ wyjścia. Obsługa przerwań może być zorganizowana z jednym lub wieloma poziomami priorytetów przerwań pochodzących z różnych źródeł. Kontrolery obsługi przerwań dostarczają do komputera oprócz sumarycznego sygnału przerwania, również kod identyfikacyjny przerwania o najwyższym priorytecie.

46 Przy jednym poziomie priorytetu, programy obsługi przerwań nie są przerywalne przez następne przychodzące przerwania. Przy obsłudze przerwań z wieloma priorytetami, przerwania o wyższym priorytecie przerywają obsługę przerwań o niższym priorytecie, na zasadzie zagnieżdżonego wywoływania podprogramów obsługi z użyciem stosu na zapis stanów przerywanych programów.

47 Zasada obsługi przerwań z jednym poziomem priorytetu Priorytet 2 Przerwanie 1 Przerwanie 2 Przerwanie 3 1 Obsługa przerwania 1 Obsługa przerwania 2 Obsługa przerwania 3 0 Priorytet przerwania 3 = priorytet przerwania 2 = priorytet przerwania 1 czas

48 Zasada obsługi przerwań z wieloma poziomami priorytetów. Priorytet 7 Przerwanie 1 Przerwanie 2 Przerwanie 3 Przerwanie 4 Priorytet przerwania 4 > priorytet przerwania 2 > > priorytet przerwania 1 > priorytet przerwania czas Obsługa przerwania 1 Obsługa przerwania 4 Obsługa przerwania 2 Obsługa przerwania 3

49 Wyjątki (ang. exceptions) są swego rodzaju przerwaniami wewnętrznymi komputera, które są wywoływane bądź przez specjalne rozkazy wewnętrzne bądź przez wyjątkowe sytuacje zagrażające integralności systemu, jakie mogą pojawiać się przy wykonywaniu programów. Wyjątki są obsługiwane podobnie jak przerwania przychodzące na końcówkę przerwań niemaskowalnych.

50 Budowa układu sterowania komputera Zadaniem układu sterowania (układu sterującego) komputera (ang. control unit) jest pobieranie rozkazów programu z pamięci operacyjnej do rejestru rozkazów komputera i generowanie na podstawie kodu operacyjnego rozkazów sygnałów sterujących wykonaniem rozkazów. Sygnały te są rozsyłane do wszystkich bloków komputera, które biorą udział w wykonaniu rozkazu. W komputerach występują dwa typy układów sterowania: sprzętowe (układowe) układy sterowania (ang. hardwired control units) mikroprogramowane układy sterowania (ang. microprogrammable control units).

51 Schemat sprzętowego układu sterowania komputera Rejestr rozkazów Część operacyjna Część adresowa Sygnał prostokątny z zegara kwarcowego Dekoder rozkazów Układ taktujący Generator następnego stanu ster. Matryca sygnałów sterujących Sygnały sterujące dla układów wykonawczych Flagi i zmienne Sygnały zewnętrzne

52 Nazwa sprzętowy (układowy) układ sterujący pochodzi od tego, że część tego układu generator sygnałów sterujących potrzebnych do wykonania rozkazów, jest zaszyty w sprzęcie (ang. hardwired). Oznacza to, że pożądane sygnały sterujące są wytwarzane przez specjalnie zaprojektowane sprzętowe układy logiczne, w których nie można zmienić sposobu generowania sygnałów bez fizycznej zmiany (przebudowy) ich struktury. Podstawowe dane dla generowania sygnałów sterujących są zawarte w części operacyjnej rozkazu. Część operacyjna jest dekodowana w dekoderze rozkazów. Dekoder rozkazów jest to w ogólności zespół wielu dekoderów dekodujących różne pola części operacyjnej rozkazu. W wyniku zdekodowania rozkazu, zwykle kilka linii wychodzących z dekodera rozkazów uzyskuje aktywną wartość sygnału. Sygnały z tych linii są następnie stale podawane na wejście matrycy generującej sygnały sterujące dla układów wykonawczych komputera. Matryca ta realizuje kombinacje logiczne tych sygnałów z wyjściami matrycy wytwarzającej kolejne stany sterowania i z sygnałami przychodzącymi z zewnątrz komputera, np. sygnałami przerwań. Jest ona zbudowana podobnie do programowalnych układów logicznych.

53 Sygnały sterujące dla danego rozkazu muszą być wytwarzane zwykle nie w jednej chwili lecz w przeciągu interwału czasowego zawierającego wiele taktów czasowych, który odpowiada cyklowi wykonania danego rozkazu. Ten cykl jest zorganizowany w postaci szeregu stanów, które osiąga układ sterowania. Część sygnałów wyjściowych generowanych przez matryce sygnałów sterujących jest podana zwrotnie na wejście matrycy generatora następnego stanu sterowania. Ta matryca kombinuje te sygnały z sygnałami czasowymi wytwarzanymi w układach taktujących z podstawowego przebiegu zegarowego dostarczanego zwykle w wyniku działania generatora kwarcowego. W momencie dostarczenia nowego rozkazu do układu sterującego, układ ten przebywa w stanie inicjalnym - pobrania nowego rozkazu. Zdekodowanie rozkazu powoduje, poprzez linie sprzężenia zwrotnego, przejście do pierwszego stanu wykonania danego rozkazu, który trwa tak długo jak długo są niezmienione: sygnał taktujący lub inne sygnały wejściowe: flagi i zmienne stanu komputera.

54 Po zmianie każdego wejść generatora, następuje zmiana stanu sterowania, która powoduje wygenerowanie odpowiedniego wejścia dla matrycy generatora sygnałów sterujących. Pojawienie się sygnału zewnętrznego : np. sygnału przerwania, spowoduje, że następnym stanem sterowania, będzie stan związany z reakcja na ten sygnał zewnętrzny np. przerwanie. Wartości flag i zmiennych stanu komputera powodują wybranie odpowiednich stanów cyklu wykonawczego rozkazu. Ostatnimi stanami w cyklu są stany sterowania wywołujące pobranie następnego rozkazu programu: przesłanie zawartości licznika rozkazów do rejestru buforowego adresu pamięci operacyjnej a następnie odczyt z pamięci do rejestru rozkazów komputera. Gdy wykonywanym rozkazem jest rozkaz stopu, kończący wykonanie programu, układ sterowania zostaje wprowadzony w stan pracy systemu operacyjnego, w którym oczekuje on na następną dyrektywę użytkownika.

55 Struktury mikroprogramowanych układów sterowania Zasadniczą różnicą w budowie tych układów porównaniu ze sprzętowym układem sterowania jest obecność pamięci sterowania, która służy do przechowywania słów zawierających zakodowane sygnały sterujące, potrzebne dla wykonania rozkazów. W mikroprogramowanym układzie sterowania kolejne rozkazy są pobierane do rejestru rozkazów. Jednak część operacyjna rozkazu nie jest bezpośrednio dekodowana dla celów generacji sygnałów sterujących, lecz stanowi adres początkowy mikroprogramu zawartego w pamięci sterowania.

56 Działanie mikroprogramowanego układu sterowania z jednopoziomową pamięcią sterowania W wyniku podania kodu z części operacyjnej rozkazu do pamięci sterowania (do jej rejestru adresowego) odczytany jest do rejestru mikrorozkazów pierwszy mikrorozkaz z mikroprogramu, który interpretuje (realizuje poprzez interpretację przez mikrorozkazy) wykonanie tego rozkazu. Mikrorozkaz zawiera w części operacyjnej zakodowane sygnały sterujące, przeważnie w postaci wielu pól bitowych. Część operacyjna podlega dekodowaniu w zespole dekoderów pól mikrorozkazu. Oprócz części operacyjnej, w mikrorozkazie znajduje się adres następnego mikrorozkazu w mikroprogramie interpretującym dany rozkaz oraz pole sterujące układem generacji adresu mikrorozkazu.

57 Pole sterujące układem generacji adresu określa tryb adresowania (operacje adresowa) do wykonania na adresie pochodzącym z bieżącego mikrorozkazu. Przy mikrorozkazach z warunkowym trybem adresowania następnego mikrorozkazu, adres jest modyfikowany przez wartości bitów z przerzutników warunków (flag), które reprezentują informacje o stanie obliczeń w komputerze. Ostatnim mikrorozkazem mikroprogramu danego rozkazu jest zwykle mikrorozkaz pobrania następnego rozkazu z pamięci operacyjnej do rejestru rozkazów.

58 Schemat mikroprogramowanego układu sterowania z jednopoziomową pamięcią sterowania Pamięć sterowania (mikroprogramów) Dekoder Rejestr adresu mikrorozkazu Z pamięci operacyjnej Rejestr rozkazów Część operacyjna Adres Część operacyjna Cz.ster. Adres Rejestr mikrorozkazów Dekoder DEK1 DEKp Sygnały sterujące Układy generacji adresu mikrorozkazu Informacje stanu z układów wykonawczych

59 W układzie sterowania z dwupoziomową pamięć sterowania, oprócz pamięci mikrorozkazów, występuje pamięć tzw. nanorozkazów. W takim układzie sterowania, mikrorozkazy nie zawierają zakodowanych sygnałów sterujących. W miejsce tego, w części operacyjnej mikrorozkazu podany jest adres słowa w pamięci nanorozkazów, które zawiera zakodowane sygnały sterujące. Pamięć nanorozkazów zawiera wszystkie możliwe kombinacje sygnałów sterujących występujące w mikroprogramach interpretujących zbiór wszystkich rozkazów danego komputera, zapisane jednokrotnie w postaci nanorozkazów. W ten sposób unika się wielokrotnego pamiętania tych samych części operacyjnych w mikrorozkazach.

60 Słowo mikrorozkazu jest w tym przypadku znacznie krótsze niż przy jednopoziomowej pamięci sterowania. Daje to znacznie mniejszą objętość w bitach pamięci mikrorozkazów a w rezultacie znacznie mniejszą objętość całej pamięci sterowania. W pamięci mikrorozkazów zapisane jest sterowanie wybieraniem kolejnych mikrorozkazów, natomiast sygnały sterujące są generowane na podstawie nanorozkazów. W nanorozkazach sygnały sterujące są często zakodowane metodą 1 bit na 1 sygnał, co eliminuje potrzebę dekodowania. Jednakże możliwe jest kodowanie sygnałów w polach wielobitowych, wymagających wprowadzenia dekoderów.

61 Schemat mikroprogramowanego układu sterowania z dwupoziomową pamięcią sterowania Pamięć mikrorozkazów Dekoder Rejestr adresu mikrorozkazu Z pamięci operacyjnej Rejestr rozkazów Część operacyjna Adres Część operacyjna Cz.ster. Adres Rejestr mikrorozkazów Układy generacji adresu mikrorozkazu Informacje stanu z układów wykonawczych Dekoder Pamięć nanorozkazów Sygnały sterujące zakodowane w słowie nanorozkazu

62 Mikroprogramowane układy sterujące nie są rzadkością w wykorzystywanych obecnie mikroprocesorach. Mikroprocesory firmy Intel serii x86 (USA), wykorzystywane do budowy komputerów personalnych typu IBM PC, mają układy sterowania z jednopoziomowymi pamięciami sterowania. Mikroprocesory firmy Motorola serii 68xxx (USA), wykorzystywane do budowy komputerów personalnych typu Mackintosh firmy Apple, mają mikroprogramowane układy sterowania z dwupoziomowymi pamięciami sterowania. Mikroprocesory typu RISC firm DECAlpha, Hewlett-Packard, SUN mają sprzętowe układy sterowania.

63 Zarys historii komputera elektronicznego J. Atanasoff, (pochodzenia bułgarskiego), Uniwersytet Iowa, USA, projekt komputera binarnego, częściowo elektronicznego o architekturze zbliżonej do architektury von Neumana, komputer ABC (1942) nie zrealizowany do końca fizycznie. K. Zuse, Niemcy, komputery Z1, Z2, Z3, budowa mechaniczno-elektryczno - przekaźnikowa, arytmetyka binarna, Z3 sterowany taśmą perforowaną, 8 bitowe instrukcje. B. Williams, firma Bell Telephone, USA, komputery zbudowane na przekaźnikach. H. Aiken, Uniwersytet Harvard, USA, komputer Mark I (ASCC), automatyczny kalkulator, z

64 pamięcią danych na przekaźnikach i pamięcią rozkazów programu na kartach perforowanych J. Ragazzini, R,. Randall, F. Russel, USA, komputer analogowy. J. Mauchly, J.P. Eckert, Universytet Pensylvania, USA, komputer ENIAC, pierwszy komputer na lampach elektronicznych, stały program programowany przewodami i przełącznikami, 20 rejestrów. J. Mauchly, J.P. Eckert, Universytet Pensylvania, USA, komputer programowany tablicami - przewody + przełączniki, pamięć 312 słów 12 cyfrowych. J. von Neuman, (pochodzenia węgierskiego), Uniwersytet Pensylvania, USA, komputer EDVAC, komputer na lampach elektronicznych, pamiętany wymienialny program w pamięci operacyjnej, pamięć na rtęciowej linii

65 opóźniającej, następnie komputer IAS M. Wilkes, Uniwersytet Cambridge, Anglia, komputer EDSAC, elektroniczny z pamięcią rtęciową, następnie komputer BINAC, USA, z pamięcią rtęciową. A. Turing, Uniwersytet Cambridge, Anglia, komputer ACE, elektroniczny z pamięcią rtęciową. J. Eckert, J. Mauchly, firma i komputery rynkowe UNIVAC, wzorowane na ENIAC F. Williams, komputer z pamięcią na lampie kineskopowej. J von Neuman, Uniwersytet Princeton, USA, model komputera ORDVAC z pamięcią na lampie kineskopowej Williamsa MIT, Politechnika Massachussets, USA,

66 komputer WHIRLWIND I, z pamięcią na lampie kineskopowej Sperry RAND, CALDIC, USA, komputery z magnetyczną pamięcią bębnową. NCR, RCA, USA, pierwsze komputery tranzystorowe. DEC, USA, pierwszy minikomputer tranzystorowy PDP-1. IBM, USA, komputery tranzystorowe 7090 (7094), z magnetyczną pamięcią rdzeniową RAM i centralnym przełączaniu dostępu kanałów zewnętrznych do procesora. IBM, USA, pierwszy komputer serii IBM System 360, architektura oparta na centralnym przełączaniu kanałów DEC, USA, minikomputer PDP-8 ze strukturą

67 modularną opartą na centralnej magistrali systemowej, pamięć rdzeniowa INTEL, USA, mikroprocesor 4-bitowy Intel INTEL, USA, mikroprocesory 8-bitowe Intel 8008 i Intel DEC, USA, mikrokomputer PDP-8/A z pamięcią półprzewodnikową i procesorem zmiennoprzecinkowym. INTEL, USA, mikroprocesory 16-bitowe Intel Berkeley University, Kalifornia, USA, komputery RISC I i II Stanford University, Kalifornia, USA, komputer

68 typu RISC Stanford MIPS IBM, USA, komputer personalny IBM PC XT, (Intel bitowy). MIT, USA, komputer sterowany przepływem danych MIT Static Data Flow. INTEL, USA, mikroprocesor 16-bitowy Intel 80286, stosowany w komputerach personalnych IBM PC AT. INMOS, Anglia, pierwsze procesory transputerowe T414, potem T800. INTEL, USA, mikroprocesory 32-bitowe Intel 80386, zewnętrzna pamięć cache i koprocesor zmiennoprzecinkowy. INTEL, USA, mikroprocesory 32-bitowe Intel 80486, wbudowana pamięć cache i wewnętrzna jednostka zmiennoprzecinkowa, przetwarzanie

69 potokowe DEC, USA, początek rodziny 64-bitowych mikroprocesorów DECAlpha, model DECAlpha Hewlett-Packard, USA, początek rodziny mikroprocesorów PA-RISC, 32-bitowe INTEL, USA, mikroprocesory 32-bitowe Intel Pentium, przetwarzanie superskalarne i potokowe. IBM/Motorola/Apple, USA, początek rodziny mikroprocesorów PowerPC, model PowerPC 601. INTEL, USA, mikroprocesory 32-bitowe Intel Pentium Pro, przetwarzanie superskalarne, konwersja instrukcji CISC na RISC, przetwarzanie out of order.

70 Japonia, pierwszy mikroprocesor RISC z zegarem 1GHz. IBM, USA, pierwszy procesor dwurdzeniowy (dual core) - IBM Power4. INTEL, USA, mikroprocesory 64-bitowe IA-64 Itanium, architektura EPIC, format instrukcji typu VLIW. INTEL, USA, pierwsza wewnętrzna pamięć cache trzeciego poziomu (łączna) 3 Mbajty, (rozdzielna L1-16 Kbajtów każda, wbudowana łączna L2 256 Kbajtów ) Itanium 2. INTEL, USA, mikroprocesor Pentium 4 z zegarem 2,8 GHz. AMD, mikroprocesory 64-bitowe Athlon 64 FX z zegarem 2,2 GHz

71 INTEL, USA, mikroprocesor Pentium 4 z architekturą Hyper Threading z zegarem 3,06 GHz INTEL, USA, mikroprocesor dwurdzeniowy Intel Pentium Extreme Edition 840 z zegarem 3,2 GHz AMD, USA, mikroprocesor dwurdzeniowy Athlon 64 X , z zegarem 2,4 GHz AMD, USA, 64-bitowy mikroprocesor dwurdzeniowy Opteron Dual Core. INTEL, USA, mikroprocesor czterordzeniowy Intel Core 2 Extreme Quad-Core z zegarem 2,8 GHz SUN, USA, 8-rdzeniowy procesor Niagara 2 (UltraSPARC T2) z zegarem do 1,4 GHz, 64 wątki, technologia 65 nm.

72 AMD, USA, 4-rdzeniowy procesor Phenom X4 z zegarem do 2,6 GHz, technologia 65 nm. Procesory 3-rdzeniowe Phenom X3. Intel, USA, 4-rdzeniowy procesor Intel Core i7 z zegarem do 3,2 GHz, pamięci podręczne L1, L2, zintegrowana pamięć podręczna L3-8MB, kontroler pamięci w układzie procesora. Tilera, USA, rodzina rdzeniowych procesorów TILE Gx stanowiących macierze 64-bitowych procesorów z lokalnymi pamięciami L1, L2, L3, zegar do 1,5 GHz. Procesory 6-rdzeniowe Intel Core i7 980X oraz AMD Phenom II X6, z lokalnymi pamięciami podręcznymi L1, L2, L3. Oracle, USA, (dawniej SUN Microsystems), procesor SPARC T3 (Niagara-3), 16 rdzeni z 8 wątkami SMT na rdzeń, 1.67 GHz.

73 2011 AMD, USA, 8-rdzeniowe procesory serii Buldozer - AMD FX 81xx.

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

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy

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

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

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie

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

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

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

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

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

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

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

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

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu

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

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

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

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

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

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

LEKCJA TEMAT: Współczesne procesory.

LEKCJA TEMAT: Współczesne procesory. LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

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

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

Procesory. Schemat budowy procesora

Procesory. Schemat budowy procesora Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu

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

architektura komputerów w. 4 Realizacja sterowania

architektura komputerów w. 4 Realizacja sterowania architektura komputerów w. 4 Realizacja sterowania Model komputera CPU Jednostka sterująca Program umieszczony wraz z danymi w pamięci jest wykonywany przez CPU program wykonywany jest sekwencyjnie, zmiana

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. Układy wejścia-wyjścia komputera

Architektura komputerów. Układy wejścia-wyjścia komputera Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs

Bardziej szczegółowo

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

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386 Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać

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

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

Architektura komputerów wer. 7

Architektura komputerów wer. 7 Architektura komputerów wer. 7 Wojciech Myszka 2013-10-29 19:47:07 +0100 Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie i wynik

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

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

Technika mikroprocesorowa I Wykład 2

Technika mikroprocesorowa I Wykład 2 Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,

Bardziej szczegółowo

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor. Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

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

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

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury 1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

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

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

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

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ Jednostka centralna dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Architektura i organizacja komputerów Architektura

Bardziej szczegółowo

Architektura komputerów egzamin końcowy

Architektura komputerów egzamin końcowy Architektura komputerów egzamin końcowy Warszawa, dn. 25.02.11 r. I. Zaznacz prawidłową odpowiedź (tylko jedna jest prawidłowa): 1. Czteroetapowe przetwarzanie potoku architektury superskalarnej drugiego

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

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

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

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

Architektura komputerów wer. 3

Architektura komputerów wer. 3 Architektura komputerów wer. 3 Wojciech Myszka, Maciej Panek listopad 2014 r. Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak 2 Centralny falownik (ang. central inverter system) Zygmunt Kubiak 3 Micro-Inverter Mikro-przetwornice działają podobnie do systemów

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

Witold Komorowski: RISC. Witold Komorowski, dr inż.

Witold Komorowski: RISC. Witold Komorowski, dr inż. Witold Komorowski, dr inż. Koncepcja RISC i przetwarzanie potokowe RISC koncepcja architektury i organizacji komputera Aspekty opisu komputera Architektura Jak się zachowuje? Organizacja Jak działa? Realizacja

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

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

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Podstawy Informatyki Układ sterujący

Podstawy Informatyki Układ sterujący - wersja szyta - wersja mikroprogramowana Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi - wersja szyta - wersja mikroprogramowana Plan wykładu 1 Maszyna W Lista rozkazów maszyny

Bardziej szczegółowo

Rozszerzalne kody operacji (przykład)

Rozszerzalne kody operacji (przykład) Tryby adresowania natychmiastowy (ang. immediate) bezpośredni (ang. direct) pośredni (ang. indirect) rejestrowy (ang. register) rejestrowy pośredni (ang. register indirect) z przesunieciem (indeksowanie)

Bardziej szczegółowo

WPROWADZENIE Mikrosterownik mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:

Bardziej szczegółowo

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936) Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?

Bardziej szczegółowo

Podstawy architektury procesorów z równoległością na poziomie instrukcji - równoległość w procesorach superskalarnych

Podstawy architektury procesorów z równoległością na poziomie instrukcji - równoległość w procesorach superskalarnych Temat: Podstawy architektury procesorów z równoległością na poziomie instrukcji - równoległość w procesorach superskalarnych Treść wykładu: 1. Potokowe wykonywanie operacji i instrukcji w komputerach.

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

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM Strona 1 z 7 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1.Budowa przetwornika ADC procesora

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

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

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

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

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

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

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

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

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

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

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

Instrukcja do ćwiczenia : Matryca komutacyjna

Instrukcja do ćwiczenia : Matryca komutacyjna Instrukcja do ćwiczenia : Matryca komutacyjna 1. Wstęp Każdy kanał w systemach ze zwielokrotnieniem czasowym jest jednocześnie określany przez swoją współrzędną czasową T i współrzędną przestrzenną S.

Bardziej szczegółowo

LICZNIKI PODZIAŁ I PARAMETRY

LICZNIKI PODZIAŁ I PARAMETRY LICZNIKI PODZIAŁ I PARAMETRY Licznik jest układem służącym do zliczania impulsów zerojedynkowych oraz zapamiętywania ich liczby. Zależnie od liczby n przerzutników wchodzących w skład licznika pojemność

Bardziej szczegółowo

Architektura systemów komputerowych. Przetwarzanie potokowe I

Architektura systemów komputerowych. Przetwarzanie potokowe I Architektura systemów komputerowych Plan wykładu. Praca potokowa. 2. Projekt P koncepcja potoku: 2.. model ścieżki danych 2.2. rejestry w potoku, 2.3. wykonanie instrukcji, 2.3. program w potoku. Cele

Bardziej szczegółowo

Podstawy Informatyki JA-L i Pamięci

Podstawy Informatyki JA-L i Pamięci Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Operator elementarny Proste układy z akumulatorem Realizacja dodawania Realizacja JAL dla pojedynczego bitu 2 Parametry

Bardziej szczegółowo

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne... Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8

Bardziej szczegółowo

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy 1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć

Bardziej szczegółowo

Architektura komputerów Wykład 2

Architektura komputerów Wykład 2 Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana

Bardziej szczegółowo

Architektura komputerów Historia systemów liczących

Architektura komputerów Historia systemów liczących Historia systemów liczących Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój

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

Wykład Mikroprocesory i kontrolery

Wykład Mikroprocesory i kontrolery Wykład Mikroprocesory i kontrolery Cele wykładu: Poznanie podstaw budowy, zasad działania mikroprocesorów i układów z nimi współpracujących. Podstawowa wiedza potrzebna do dalszego kształcenia się w technice

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

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1 PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej

Podstawy Techniki Mikroprocesorowej Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

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 hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna Literatura B. Siemieniecki, W. Lewandowski Internet w szkole, Wyd. A. Marszałek 2001, B. Siemieniecki

Bardziej szczegółowo

System mikroprocesorowy i peryferia. Dariusz Chaberski

System mikroprocesorowy i peryferia. Dariusz Chaberski System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób

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

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

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

SYSTEM MIKROPROCESOROWY

SYSTEM MIKROPROCESOROWY SYSTEM MIKROPROCESOROWY CPU ROM RAM I/O AB DB CB Rys 4.1. System mikroprocesorowy MIKROPROCESOR RDZEŃ MIKROPROCESORA PODSTAWOWE ZESPOŁY FUNKCJONALNE MIKROPROCESORA Mikroprocesor zawiera następujące, podstawowe

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

Projekt zespołowy. Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT. Rok akademicki 2008/2009

Projekt zespołowy. Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT. Rok akademicki 2008/2009 Projekt zespołowy Rok akademicki 2008/2009 Część1: Projekt potokowej jednostki przetwarzającej przeznaczonej do realizacji algorytmu FFT Kierunek studiów: Semestr: Grupa: Informatyka VII PKiSI 2 Wykonawca:

Bardziej szczegółowo