Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze.

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

Download "Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze."

Transkrypt

1 Wykład Temat: Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze. Zawartość wykładu: 1. Pojęcie modelu programowego procesora 2. Format słowa rozkazu wewnętrznego 3. Lista rozkazów wewnętrznych komputera 4. Tryby adresowania danych i rozkazów 5. Przykład formatu słowa rozkazowego współczesnego procesora 6. Cykl rozkazowy i jego realizacja w komputerze 7. Realizacja programu w komputerze

2 Pojęcie modelu programowego procesora Model programowy komputera wyjaśnia sposób wykonywania programu w komputerze. Jest to zbiór informacji o komputerze, który jest potrzebny do zrozumienia działania programów użytkowych w języku wewnętrznym komputera ( tym samym napisania takich programów). Model programowy komputera, który obejmuje sposób działania wszystkich rozkazów wewnętrznych komputera (całą listę rozkazów) jest równoważny architekturze komputera. Model programowy komputera obejmuje model programowy procesora i model współpracy z urządzeniami zewnętrznymi.

3 Model programowy komputera opiera się o znajomość podstawowego schematu blokowego procesora oraz schematu podłączenia do procesora pamięci operacyjnej i układów wejścia/wyjścia. Znajomość podstawowego schematu blokowego procesora i komputera jest niezbędna dla zrozumienia formatu i listy rozkazów wewnętrznych.

4 Uproszczony schemat blokowy mikroprocesora 8-bitowego Układ sterowania Rejestr rozkazów (RR) Zespół rejestrów uniwersalnych i specjalnych Selektor rejestru Rejestr danych (B) Układ arytmetyczno logiczny (ALU) Wewnętrzna szyna danych Akumulator (A) Sprzężenie z szynami zewnętrznymi Rejestr buforowy danych (RBD) Zewnętrzna szyna danych Taktowanie Dekoder rozkazów Rej. adresowy Rej. stanu proc. Rej. wsk. proc. Licznik rozk. (LR) ALU Przerwania Generator sygnałów sterujących Układ nastêpnika Rejestr warunków Wewnętrzna szyna adresowa Wewnętrzna szyna sterowania Rejestr buforowy adresu (RBA) Zewnętrzna szyna adresowa Zewnętrzna szyna sterowania

5 Na schemacie blokowym procesora (mikroprocesora) wyróżnione są cztery podstawowe podzespoły: układ sterowania, zespół rejestrów uniwersalnych i specjalizowanych, układ arytmetyczno-logiczny układ sprzężenia z zewnętrzną szyną systemową. Te podzespoły podłączone są do trzech szyn procesora: wewnętrznej szyny danych, szyny adresowej i szyny sterującej. Poprzez rejestr buforowy danych i rejestr buforowy adresów, szyna danych i szyna adresowa wraz z szyną sterującą wychodzą na zewnątrz procesora by stworzyć tam zewnętrzne szyny, do których podłącza się bloki pamięci operacyjnej i układy wejścia/wyjścia.

6 Na schemacie występuje jeden wykonawczy układ arytmetyczno-logiczny z rejestrem bitów warunków, wytwarzanych przez testy wyniku operacji arytmetycznej: wynik zerowy, wynik z nadmiarem, wynik z przeniesieniem, wynik ujemny, wynik w podwójnej precyzji, itp. W bardziej rozbudowanych procesorach występuje więcej układów wykonawczych, identycznych lub wyspecjalizowanych dla określonych operacji np. przesuwanie, porównywanie, mnożenie, dzielenie, operacje zmiennoprzecinkowe, operacje na adresach itp., które są równolegle podłączone do szyn wewnętrznych. Zespół rejestrów uniwersalnych liczy pewną liczbę rejestrów wykorzystywanych dla przechowywania danych. Rejestry specjalne zawierają rejestry adresowe, rejestr wskaźnika stosu i rejestr stanu. Zespół rejestrów adresowych jest wykorzystywany w operacjach modyfikacji adresu zawartego w rozkazie.

7 Rejestr rozkazów należący do układu sterowania przechowuje słowo rozkazu wewnętrznego podczas wykonania. Słowo rozkazu jest dekodowane przez dekoder rozkazu. W wyniku dekodowania, kody binarne operacji zawarte w słowie rozkazu zostają zamienione na sygnały logiczne, które podawane są do generatora sygnałów sterujących. Generator sygnałów sterujących realizuje kombinacje logiczne tych sygnałów z innymi sygnałami, takimi jak sygnały taktujące, wartości warunków i stany przerwań. W wyniku tych kombinacji logicznej powstają sygnały sterujące, które są rozprowadzane poprzez szynę sterującą do wszystkich elementów wykonawczych komputera.

8 Format słowa rozkazu wewnętrznego Budowę słowa rozkazu wewnętrznego i sposób dekodowania określa tzw. format rozkazu (ang. instruction format). Format rozkazu podaje długość słowa rozkazu, podział na pola bitowe oraz sposób interpretacji (traktowania) poszczególnych pól. Pola bitowe słowa rozkazowego służą do: zakodowania w nich operacji do wykonania w rozkazie zakodowania sposobu dekodowania rozkazu umieszczenia bitów danych.

9 Najprostszy format rozkazu składa się z dwu pól: pola części operacyjnej pola części adresowej. Część operacyjna Bity określające operacje podzespołów mikroprocesora Część adresowa Bity określające adres podzespołów mikroprocesora Najprostszy format rozkazu

10 Słowo rozkazowe w komputerze może mieć stałą lub zmienną długość. Długość słowa rozkazowego zależy od jego części operacyjnej i może być określona dopiero po jej zdekodowaniu Kod operacyjny Operand Kod operacyjny Adres operandu Kod operacyjny Adres operandu Adres operandu Stała i zmienna długość słowa rozkazu.

11 Część operacyjna może składać się z jednego lub wielu pól. W każdym polu zakodowano binarnie wykluczające się operacje, które mają być wykonane w ramach danego rozkazu. W polu części adresowej umieszczone być mogą adresy argumentów operacji z części operacyjnej ( binarne numery komórek pamięci albo rejestrów) albo też tzw. argumenty natychmiastowe czyli dane binarne, bezpośrednio użyteczne dla operacji rozkazu. Część operacyjna Część adresowa Pole A Pole B Pole C Ciąg bitów Budowa słowa rozkazowego

12 Format rozkazu może być stały lub zmienny. Przy stałym formacie, długość i podział na pola jest identyczny dla wszystkich rozkazów wewnętrznych komputera. Dekodowanie wszystkich pól słowa rozkazowego może odbywać się jednocześnie, tzn. wszystkie bity są podane na wejścia wszystkich dekoderów pól. Strukturę dekodera rozkazu stanowi wiele dekoderów pól pracujących równolegle (każde wytwarza jeden sygnał aktywujący jakąś operację w komputerze).

13 Sposób dekodowania rozkazu o stałym formacie Część operacyjna Część adresowa Pole A Pole B Pole C Ciąg bitów DekA DekC DekB

14 Przy zmiennym formacie rozkazu, zarówno długość słowa rozkazu jak i sposób podziału na pola są różne dla różnych rozkazów. Przy zmiennym formacie rozkazu, dekodowanie rozkazu następuje stopniowo, jedna faza dekodowania po drugiej. W każdej fazie dekoduje się ustalone pola rozkazu. Wartości kodu w tych polach decydują o tym jakie pola dekodować w następnej fazie, a więc na wejścia jakich dekoderów dopuścić bity kolejne dekodowane w następnej fazie. Przy stwierdzeniu odpowiednich kodów w odpowiednich polach, dekodowanie bieżącego rozkazu ustaje i pobierany jest nowy rozkaz (poprzez odpowiednie sygnały z generatora sygnałów sterujących). Strukturę dekodera stanowi drzewo dekoderów z bramkami dopuszczającymi odpowiednie bity do odpowiednich dekoderów.

15 Sposób dekodowania rozkazu o zmiennym formacie Część operacyjna Część adresowa Faza I Faza II Faza III Ciąg bitów Faza I Selektor Selektor Selektor Selektor Faza II Faza II Faza III Faza III

16 Lista rozkazów komputera W komputerze o modelu von Neumana, wykonanie wszelkich programów (nawet napisanych w językach wysokiego poziomu) sprowadza się do wykonania ciągu rozkazów wewnętrznych składających się na program. Rozkazy wewnętrzne wyrażają prawie wszystkie operacje, które komputer może wykonać. Nie dotyczy to operacji, które nie są programowalne przez użytkownika komputera, tzn. jak to się mówi są zaszyte lub zrealizowane w sprzęcie (ang. hardwired), np. obsługa przerwań, obsługa pamięci podręcznej. Zbiór wszystkich rozkazów wewnętrznych, w które wyposażono dany komputer, rozumiany jako zbiór operacji tych rozkazów, nazywamy listą rozkazów komputera (ang. computer instruction list lub computer instruction set).

17 Typy rozkazów wewnętrznych komputera Ze względu na rodzaj operacji wykonywanej w rozkazie wyróżniamy następujące typy rozkazów wewnętrznych komputera: rozkazy arytmetyczno-logiczne rozkazy przesyłania danych rozkazy operacji na bitach rozkazy sterujące programem rozkazy systemowe.

18 W rozkazie wewnętrznym jest zawsze określona operacja, która ma być wykonana. W zależności od konkretnego rozkazu mogą tam być też podane: adresy argumentów operacji, sposób wyliczenia finalnego adresu argumentów operacji (tzw. tryb adresowania) na podstawie adresu zawartego w rozkazie (możliwa jest modyfikacja adresu przy użyciu informacji zapamiętanych w komputerze danych), dane natychmiastowe.

19 Rozkazy wewnętrzne mają postać bardzo niewygodną dla człowieka. Aby ułatwić pisanie programów niskiego poziomu przez programistów wprowadzono symboliczne języki programowania tzw. języki asemblerowe. W językach asemblerowych program wyraża się w postaci instrukcji odpowiadających rozkazom języka wewnętrznego zapisanych symbolicznie. Rozkaz asemblera zawiera: symbol operacji wykonywanej przez rozkaz (skróty mnemoniki), symbol trybu adresowania, wartości i symboli adresów używanych przez rozkaz (etykiety) symbole i wartości danych (stałe i zmienne). Wartości adresów i danych mogą być zapisywane w różnych zapisach: dziesiętnym, szesnastkowym, ósemkowym lub binarnym. lecz zawsze z określeniem rodzaju użytego zapisu (identyfikator).

20 Typy rozkazów wewnętrznych na przykładzie komputerów personalnych typu IBM PC. Rozkazy arytmetyczno-logiczne Rozkazy arytmetyczno logiczne składają się trzech podstawowych grup rozkazów: rozkazy arytmetyczne, logiczne przesunięć.

21 Rozkazy arytmetyczne ADD Obliczenie sumy argumentów (od ang. addition). SUB Obliczenie różnicy argumentów (od ang. subtraction). MUL Obliczanie iloczynu z podwójną lub pojedynczą dokładnością (od ang. multiplication). DIV Obliczenie ilorazu (od ang. division). ABS Obliczenie wartości bezwzględnej (od ang. absolute value). NEG Zmiana znaku liczby (od ang. negate sign). INC Zwiększ o 1 (od ang. increment). DEC Zmniejsz o 1 (od ang. decrement).

22 Rozkazy logiczne AND Wykonanie operacji AND na argumentach. OR Wykonanie operacji OR na argumentach. EXOR Wykonanie operacji EXOR na argumentach. NOT Wykonanie operacji NOT na argumentach.

23 Rozkazy przesunięć SHL/SHR Przesunięcie logiczne w lewo / w prawo. (od ang. shift left / shift right). SAL/SAR Przesunięcie arytmetyczne w lewo / w prawo. (od ang. shift arithmetical left / shift arithmetical right). ROL/ROR Wykonanie rotacji w lewo / w prawo. (od ang. rotate left / rotate right).

24 Rozkazy przesyłania danych MOV Przesłanie danych między rejestrami lub między pamięcią a rejestrem (od ang. move). STR Przesłanie danych między rejestrem a pamięcią. (od ang. store). MOVSX Przesłanie bajtu, słowa, podwójnego słowa z rozszerzeniem znaku. (od ang. move single/double). LEA Ładowanie adresu efektywnego z pamięci do rejestru (od ang. load efective address).. PUSH Umieszczenie danych z rejestru na stosie. (wepchnij) PUSHA Umieszczenie zawartości wszystkich rejestrów na stosie (wepchnij wszystkie). IN, OUT Wejście, wyjście danych z urządzeń wejścia-wyjścia

25 Rozkazy operacji na bitach BTS Testowanie i ustawienie bitu. Kopiowana jest bieżąca wartość bitu do znacznika CF, a bit jest ustawiany na l. (od ang. bit test). BSP Sprawdzanie bitów w przód. Sprawdzane jest słowo lub podwójne słowo w poszukiwaniu bitu l a numer pierwszego bitu l jest zapisywany w rejestrze (od ang. bit set prime). CLR Wyzeruj zawartość rejestru. (od ang. clear). SET Wstaw same jedynki do rejestru.(ustaw na 1).

26 Rozkazy sterujące programem JMP Skok bezwarunkowy (od ang. jump). JE/JZ Skok warunkowy, jeśli równy (lub jeśli zero) (od ang. jump if equal, jump if zero). CALL Wywołanie podprogramu (wywołaj). RET Powrót z podprogramu (od ang. return). LOOPE/ LOOPZ Wykonanie pętli, jeśli równy /jeśli zero, skok warunkowy z badaniem zawartości w rejestru ECX po dekrementacji. (od ang. loop if equal, loop if zero). INT / INTO Przerwanie programowane / przerwanie w razie nadmiaru. (od ang. interrupt, interrupt if overflow). SKIP Pominięcie wykonania następnego rozkazu (przeskocz). HALT Zatrzymaj wykonywanie programu

27 Rozkazy systemowe LMSW Ładowanie słowa stanu procesora do rejestru stanu z pamięci lub rejestru, przełącz do trybu systemu operacyjnego. (od ang. load machine status word register). SGDT Zapisanie wskaźnika globalnej tablicy deskryptorów w pamięci (od ang. store global descriptor table register). LGDT Ładowanie wskaźnika globalnej tablicy deskryptorów z pamięci (od ang. load global descriptor table register). LSL Ładowanie granicy segmentu do rejestru. (od ang. load segment limit). LDS Ładowanie z pamięci rejestru wskaźnika segmentu DS (od ang. load DS). ENTER Utworzenie w stosie ramki dla parametrów procedury z języka wysokiego poziomu. ESC Skierowanie programu do koprocesora numerycznego (od ang. escape). WAIT Czekaj na zmianę stanu wejścia BUSY (czekaj).

28 Tryby adresowania danych i rozkazów Bardzo często zawartość pola adresowego rozkazu nie jest bezpośrednio użyta jako adres danej lub rozkazu lecz procesor wykonuje na nim tzw. operacje adresujące (ang. addressing operations), które przekształcają zawartość pola adresowego zanim zostanie wykorzystana jako ostateczny adres argumentu rozkazu. Rodzaj operacji, którą procesor wykonuje na zawartości pola adresowego rozkazu jest nazywany trybem adresowania (ang. addressing mode). Tryb adresowania dla rozkazu jest zwykle określony w jednym lub kilku polach należących do pola kodu operacji rozkazu. W niektórych przypadkach rozkazów, tryb adresowania wynika bezpośrednio z kodu operacji rozkazu.

29 Podstawowe tryby adresowania Adresowanie natychmiastowe Kod operacji Operand W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand (ang. operand) czyli daną dla rozkazu. Długość operandu zależy od kodu operacji lub od kodu operacji i dodatkowego pola sterującego w rozkazie. Ten tryb adresowania stosujemy, gdy np. chcemy bezpośrednio z rozkazu ( bez odwoływania się do pamięci) załadować do rejestru prostą daną bajt lub parę bajtów.

30 Adresowanie bezpośrednie (bezwzględne) Kod operacji Adres Pamięć Operand

31 Adresowanie bezpośrednie jest najbardziej podstawowym trybem adresowania. W tym trybie zawartość pola adresowego stanowi już finalny adres argumentu rozkazu w pamięci operacyjnej i nie podlega przekształceniu. Ten tryb stosujemy, gdy nie zależy nam na tym, aby nasz program był przesuwalny w pamięci operacyjnej, lecz jest przeznaczony do wykonania przy zapisie w ściśle określone miejsce w pamięci.

32 Adresowanie pośrednie Kod operacji Adres pośredni Pamięć Adres Operand

33 Przy adresowaniu pośrednim rozkaz zawiera adres komórki pamięci operacyjnej, w której zawarty jest finalny adres operandu rozkazu. W tym przypadku komórka pamięci wskazana przez adres rozkazu pośredniczy w określeniu finalnego adresu. Tryb pośredni stosujemy, gdy chcemy, aby finalny adres operandu rozkazu mógł być dynamicznie wstawiony do komórki pośredniczącej w adresowaniu w czasie wykonywania programu. Może tak być, gdy ten adres zależy od jakichś testów na wyniku operacji poprzedzającego rozkazu.

34 Adresowanie indeksowe Kod operacji Adres bazowy Rejestr indeksowy Przesunięcie Pamięć Przesunięcie Operand

35 Adresowanie indeksowe jest inaczej nazywane modyfikacją adresu przez indeksowanie. W tym trybie wykorzystuje się specjalne rejestry procesora tzw. rejestry indeksowe (ang. index registers), które zawierają przesunięcie, który trzeba dodać do adresu istniejącego w rozkazie aby wyliczyć adres finalny operandu. Ten tryb adresowania pozwala przesunąć adres zawarty w rozkazie o wartość rejestru indeksowego. Używając tego trybu we wszystkich rozkazach programu, można osiągnąć możliwość wykonania programu przy załadowaniu w dowolne miejsce pamięci. W tym celu należy napisać program wstawiając do rozkazów programu adresy, które odpowiadają umieszczeniu pierwszej instrukcji programu pod adresem zerowym w pamięci. Następnie wiedząc, pod jakim finalnym adresem jest umieszczony pierwszy rozkaz programu, umieszczamy ten adres w rejestrze indeksowym.

36 Dzięki operacji indeksowania rozkazów programu, wszystkie adresy operandów zostaną przesunięte o tę samą wartość stąd nazwa zawartości rejestru indeksowego: przesunięcie. Taka organizacja przesuwalności programu w pamięci nosi nazwę dynamicznej relokacji programu w pamięci. Rejestrów indeksowych w procesorze jest zwykle wiele, gdyż mogą one być przydzielone różnym programom lub fragmentom programów, które są wykonywane w tym samym okresie czasu. Rejestr indeksowy do użycia, może być określony przy pomocy specjalnego pola wspomagającego kodowanie trybu adresowania w innym polu rozkazu.

37 Adresowanie względne Kod operacji Licznik rozkazów Przesunięcie Następna instrukcja Przesunięcie Operand

38 Adresowanie względne polega na modyfikacji adresu zawartego w rozkazie przez aktualną zawartość licznika rozkazów. Ten tryb adresowania dostarcza innego sposobu osiągnięcia dynamicznej przesuwalności adresów dostępu do danych, tj. gdy nie chcemy lub nie możemy znać przesunięcia całości programu w stosunku do adresu zerowego. Przy adresowaniu względnym, finalny adres danej jest wyliczany względem bieżącej zawartości licznika rozkazów, a więc do rozkazu wstawiamy przesunięcie danej w programie względem adresu następnego rozkazu, np. n komórek w przód lub w tył. Musimy tylko zapewnić, aby dana została umieszczona w spodziewanym miejscu pamięci, a ściślej w spodziewanej odległości od rozkazu, który z tej danej korzysta. Można to osiągnąć przez zaplanowanie w jakiej odległości od danego rozkazu, będzie umieszczony obszar danych programu.

39 Adresowanie pośrednie indeksowe Kod operacji Adres pośredni Pamięć Adres bazowy Rejestr indeksowy Operand

40 Adresowanie pośrednie indeksowe zapewnia jednoczesną możliwość zastosowania w programie adresowania pośredniego z modyfikacją adresu odczytanego z komórki pośredniczącej poprzez zawartość rejestru indeksowego. Umieszczony w rozkazie adres wskazuje na komórkę przechowującą adres danej, który może być tam wstawiany dynamicznie jako wynik obliczeń programu. Do tego adresu stosowane jest następnie indeksowanie poprzez zawartość rejestru indeksowego. Zawartość rejestru indeksowego może też być wstawiona dynamicznie w wyniku działania innej części programu. W zależności od zawartości rejestru indeksowego trafiamy zatem do innej komórki zawierającej operand. Adresowanie pośrednie indeksowe pozwala na dwupoziomowe dynamiczne określanie adresu danych w wyniku obliczeń wykonanych w poprzedzających fragmentach programu, metodą wpisania pewnego adresu bazowego a następnie modyfikacji tego adresu bazowego przez rejestr indeksowy.

41 Adresowanie indeksowe pośrednie Kod operacji Adres bazowy Pamięć Rejestr indeksowy Przesunięcie Adres Operand

42 Adresowanie indeksowe pośrednie zapewnia najpierw modyfikację adresu zawartego w rozkazie przez zawartość rejestru indeksowego a następnie tak otrzymany adres jest stosowany do wskazania komórki pamięci, w której jest przechowywany finalny adres operandu rozkazu. Adresowanie indeksowe pośrednie pozwala na dynamiczne określanie adresów danych w programie w czasie wykonania programu, przy zapewnieniu przesuwalności w pamięci całego programu.

43 Dla dynamicznego określanie adresów danych w programie, program piszemy począwszy od adresu zerowego w pamięci stosując adresowanie indeksowe do wszystkich rozkazów z wyjątkiem tych, które działają na danych wybieranych dynamicznie. Te rozkazy adresujemy poprzez użycie adresowania pośredniego indeksowego, umieszczając adres komórki pośredniczącej (względem adresu zero) w bieżącym rozkazie. Po załadowaniu programu do pamięci, wpisywana jest do rejestru indeksowego wartość przesunięcia początku programu w stosunku do adresu zerowego ( robi to program ładujący). W trakcie wykonywania programu wszystkie adresy programu, łącznie z tymi, gdzie zastosowano adresowanie pośrednie oraz tymi. które wpisują adres danej do komórki pośredniczącej, zostaną zmodyfikowane.

44 Adresowanie rejestrowe Mikroprocesor Kod operacji Numer rejestru Zespół rejestrów Operand Adresowanie rejestrowe stosuje się, gdy dana dla rozkazu jest przechowywana w rejestrze. Część adresowa rejestru zawiera wtedy jedno lub więcej pól, w których znajdują się identyfikatory rejestrów. Adresowanie rejestrowe jest często stosowane w tym samym rozkazie razem z innymi trybami adresowania dotyczącymi pamięci operacyjnej. Wówczas rozkaz dotyczy zarówno pamięci operacyjnej jak i rejestrów procesora.

45 Adresowanie pośrednie rejestrowe Kod operacji Numer rejestru Pamięć Mikroprocesor Zespół rejestrów Adres Operand Adresowanie pośrednie rejestrowe polega na tym, że jako miejsce pobrania finalnego adresu operandu rozkazu stosuje się rejestr procesora, którego identyfikator umieszczony jest w polu adresowym rozkazu.

46 Przy pomocy trybu adresowania pośredniego rejestrowego można dynamicznie określić finalny adres operandu poprzez odpowiednie załadowanie zawartości rejestru, w zależności od przebiegu obliczeń w programie.

47 Przykład formatu słowa rozkazu wewnętrznego procesora Pentium Bajty 1 lub 2 0 lub 1 0 lub 1 0, 1, 2 lub 4 0, 1, 2 lub 4 Kod operacji MOD/RM Sterowanie modyfikacją Przesunięcie Natychmiastowy Modyfikacja Rejestr/Operacja Rejestr/Operacja Skala Rejestr indeksowy Rejestr bazowy Pole Kod operacji o długości 1-2 bajtów określa operację podstawowa wykonywaną w rozkazie. Pola MOD/RM oraz Sterowanie modyfikacją, o długości 0-1 bajt każde, określają tryb i szczegóły modyfikacji adresu wykonywanej na adresach argumentu (ów). Pole Przesunięcie zawiera przesunięcie adresu, o ile pola związane z modyfikacją wskazują na użycie przesunięcia dla określenia adresu argumentu (ów). Pole Natychmiastowy zawiera dane o długości 1-4 bajtów, o ile pola związane z modyfikacją wskazują na użycie argumentu natychmiastowego.

48

49 Cykl rozkazowy i jego realizacja w komputerze Rozkazy wewnętrzne komputera są wykonywane w procesorze w ramach tzw. cyklu wykonania rozkazu, który składa się z dwu faz: pobrania rozkazu i wykonania rozkazu. Start Pobranie następnego rozkazu Faza pobierania Wykonanie rozkazu Faza wykonania Stop

50 1 2 Wprowadzenie adresu rozkazu Pobranie rozkazu Następny rozkaz Faza pobierania 3 Dekodowanie kodu operacji rozkazu 4 wiele argumentów Obliczenie adresu argumentu 5 Pobranie argumentu 6 Operacja na danych Łańcuch lub wektor Faza wykonania 7 Obliczenie adresu wyniku wiele wyników 8 Zapisanie wyniku Składniki faz w cyklu wykonania rozkazu.

51 Fazy należące do cyklu wykonania rozkazu mają długości czasowe określone przez sygnały taktujące pochodzące z zegara. W każdej fazie generator sygnałów sterujących dostarcza odpowiednich sygnałów, które powodują realizację operacji przewidzianych w tych fazach. Odbywa się to metodą otwarcia odpowiednich dróg przesyłania informacji w komputerze (np. szyn) i aktywacji odpowiednich działań w układach wykonawczych (np. ALU dodanie/ odjęcie, układ następnika licznika rozkazów, itp.).

52 Realizacja programu w komputerze Realizację wykonania prostego programu rozważymy w uproszczonym komputerze składającym się mikroprocesora i pamięci operacyjnej podłączonej do niego za pomocą szyny systemowej ( szyna danych, szyna adresowa i szyna sterująca). Program, którego wykonanie rozpatrzymy składa się z 4 rozkazów zapisanych pod kolejnymi adresami w pamięci od 0 do 3 oraz z 3 danych dla których przeznaczono komórki o adresach od 4 do 6.

53 Program składa się z następujących rozkazów, (rozkazy zapisujemy za pomocą typowch skrótów języka asemblera) : move 4 - pobierz daną z pamięci spod adresu 4 do rejestru akumulatora, add 5 - dodaj do akumulatora daną spod adresu 5, store 6 - zapamiętaj zawartość akumulatora w pamięci pod adresem 6, stop - zatrzymaj wykonanie programu. Po wykonaniu programu wynik obliczeń znajduje się w komórce pamięci operacyjnej o adresie 6.

54 Podłączenie mikroprocesora do pamięci operacyjnej zawierającej program. Szyna danych Pamięć operacyjna Mikroprocesor Nr komórki Zawartość 0 move 4 1 add 5 2 store 6 3 stop Dekoder Sterowanie adresu pamięcią Szyna adresowa Szyna sterowania

55 Założona struktura blokowa procesora. 0 Szyna danych Pamięć operacyjna Taktowanie Kod operacji Adres Dekoder Generator sygnałów RR LR Selektor ±1 0 0 A ALU Warunki RBD RBA 0 Szyna adresowa Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Szyna sterowania RR rejestr rozkazów LR licznik rozkazów A rejestr akumulatora Warunki rejestr warunków (flagi) RBD rejestr buforowy danych RBA rejestr buforowy adresu

56 Pamięć operacyjna zawiera komórki, które symbolicznie są przedstawione w postaci wierszy składających się z numeru komórki i pola zawartości komórki. W rzeczywistości komórka zawiera tylko pole zawartości. Adres jest podawany do pamięci z zewnątrz (z procesora prze szynę adresów) i po zdekodowaniu przez dekoder adresu, powoduje uaktywnienie (wybranie) komórki o podanym adresie. Może być wykonany odczyt lub zapis zawartości (rodzaj operacji zależy od sygnału podanego przez szynę sterującą do układu sterowania pamięci).

57 Sposób wykonania kolejnych rozkazów komputera można omawiać wykorzystując symboliczny zapis operacji, czyli : tzw. język przesłań między-rejestrowych (ang. register transfer language). Nazwa języka pochodzi od tego, że podstawową operacją wyrażalną w tym języku są przesłania informacji między rejestrami, komórkami pamięci i blokami funkcjonalnymi (obliczeniowymi) w komputerze. Języki takie należą do większej grupy języków służących do opisu sprzętu komputera i sposobu jego działania, tzw. języków opisu sprzętu (ang. hardware description languages).

58 Język przesłań między-rejestrowych wykorzystuje reprezentacje elementów pamięciowych lub bloków obliczeniowych komputera (rejestrów, pamięci operacyjnej, pamięci pomocniczej, jednostki arytmetyczno-logicznej) w postaci ich nazw, np. A, RR, LR, pamięć, P, ALU, itp.. Zawartość elementów pamięciowych lub wyjściowe dane z bloku obliczeniowego (rozumiane jako ciąg bitów) symbolizuje nazwa elementu wzięta w nawias prostokątny, np. [A], [RR], [RBD], [ALU].

59 Adresowanie informacji wewnątrz elementu pamięciowego lub słowa wyjścia z bloku obliczeniowego opisuje się za pomocą nazwy elementu, po którym występuje specyfikacja wybranego fragmentu zawartości w nawiasie okrągłym. Przykłady: RR (Kod Operacji) pole rejestru RR o nazwie Kod Operacji, RR (Adres) pole rejestru RR o nazwie Adres, ALU (bity 10 24) bity od 10 do 24 słowa stanowiącego wynik operacji ALU.

60 Komórki pamięci mogą być opisane przy pomocy nazwy całej pamięci np. P dla pamięci operacyjnej oraz specyfikacji adresu w nawiasie okrągłym Przykłady P (999) komórka pamięci P o adresie 999, P (RBA) komórka pamięci P o adresie zawartym w rejestrze RBA, P (LR) ( Kod Operacji) pole Kod Operacji w komórce pamięci P o adresie zawartym w rejestrze LR.

61 Na zawartościach elementów pamięciowych można wykonać operacje, które symbolizowane są operatorami, np. prześlij, + dodaj, - odejmij, itp. Przykłady [A] P (1024) oznacza prześlij zawartość rejestru A do komórki pamięci o adresie 1024, [RR (Adres)] LR prześlij zawartość pola Adres rejestru RR do rejestru LR, [A (0-15)] + [LR] LR dodaj zawartość bitów od 0 do 15 rejestru A do zawartości LR i wynik zapisz do LR.

62 Przesyłanie zawartości bitowej odbywa się z wpisywaniem bitów na te same pozycje w elemencie docelowym ( bit na pozycji zero elementu źródłowego wpisuje się na pozycje zero w elemencie docelowym), chyba, że jest to określone inaczej. Przykład [RR (Adres)] LR (14 31) przesłanie pola Adres z rejestru RR na bity rejestru LR.

63 Wykonanie przykładowego programu opisane za pomocą języka przesłań między-rejestrowych Dla prezentacji użyty będzie schemat blokowy komputera Elementy komputera, które biorą udział w opisywanej operacji zaznaczać będziemy na czerwono. Pod schematem blokowym podany jest opis operacji w języku przesłań międzyrejestrowych

64 Faza pobrania rozkazu Przed wykonaniem każdego programu, adres komórki pamięci operacyjnej, która zawiera pierwszy rozkaz programu musi być wprowadzony do licznika rozkazów LR. Wykonuje to system operacyjny na podstawie odpowiedniej dyrektywy użytkownika np. Wykonaj program o nazwie alfa.. We współczesnych komputerach taka dyrektywa jest nazwa zbioru zawierającego wykonywalny kod binarny programu, a więc alfa.exe. Nazwa jest zamieniana na adres pierwszego rozkazu programu o nazwie alfa. W przypadku naszego przykładowego programu jest to adres 0. Jest on wprowadzony do rejestru LR przed wykonaniem programu.

65 0 Taktowanie Kod operacji Adres Dekoder Generator sygnałów RR LR Selektor ±1 0 0 A ALU Warunki RBD RBA 0 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [LR] RBA W tej operacji zawartość licznika rozkazów LR jest przesłana do rejestru buforowego pamięci operacyjnej RBA. Odbywa się to pod wpływem sygnałów sterujących wysyłanych z układu sterującego, a ściślej jego generatora sygnałów.

66 0 Taktowanie Kod operacji Adres Dekoder Generator sygnałów RR LR Selektor ±1 1 0 A ALU Warunki RBD RBA 0 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [LR] + 1 LR Jako następna operacja jest wykonany następnik na zawartości licznika rozkazów LR. W ten sposób LR zawiera adres potencjalnego następnego rozkazu do wykonania. O ile pobrany rozkaz nie zmieni zawartości LR, to zawartość LR postała w wyniku operacji następnika będzie adresem następnego rozkazu. W naszym przypadku będzie to adres 1. Operacja następnika na LR w fazie pobierania rozkazu jest charakterystyczną cechą komputera o modelu von Neumana.

67 Taktowanie Kod operacji Adres Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki Move 4 RBD RBA 0 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [P (RBA)] RBD Kolejna operacja w fazie pobrania rozkazu jest odczyt komórki pamięci o adresie zawartym w RBA do rejestru buforowego RBD. Generator sygnałów sterujących podaje wtedy do układu sterowania pamięcią sygnał odczyt pamięci (ang. memory read). Po odczycie, rejestr RBD zawiera rozkaz move 4.

68 Taktowanie Move 4 Move 4 Dekoder Generator sygnałów RR LR Selektor ±1 1 0 A ALU Warunki RBD RBA 0 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [RBD] RR Następna operacja polega na przepisaniu zawartości rejestru RBD do rejestru rozkazów RR. Pole Kod operacji rejestru RR zawiera kod binarny rozkazu move a pole adresowe Adres zawiera liczbę binarną 4. Ta operacja kończy fazę pobrania pierwszego rozkazu naszego programu. Następna faza cyklu rozkazu to faza wykonania.

69 Faza wykonania rozkazu Taktowanie Move 4 Dekoder Generator sygnałów RR LR Selektor ±1 1 0 A ALU Warunki Move 4 RBD RBA 0 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Dekodowanie rozkazu move 4 Faza wykonania rozkazu rozpoczyna się od zdekodowania rozkazu a ściślej od zdekodowania pola Kod operacji rejestru RR. Generator sygnałów sterujących wysyła sygnały, który otwierają: 1) drogę z pola kod operacji rejestru RR do Dekodera rozkazów 2) drogę z Dekodera rozkazów do Generatora sygnałów sterujących

70 Te dwie drogi w układzie sterującym pozostaną otwarte już do końca wykonania rozkazu. Dekoder rozkazów podaje na wejście Generatora sygnałów sygnały odpowiadające kodowi move. Sygnały z dekodera są kombinowane logicznie w Generatorze sygnałów z sygnałami zegarowymi Taktowanie. W wyniku kombinacji logicznej powstają sygnały sterujące, które w kolejnych chwilach czasowych są wysyłane do wszystkich układów komputera, aby umożliwić tam wykonanie odpowiednich operacji składających się na wykonanie rozkazu move. Część tych sygnałów jest wysyłana z powrotem do układu zegarowego, aby wytwarzał sygnały Taktowanie odpowiednie dla rozkazu move.

71 Taktowanie Move 4 Move 4 Dekoder Generator sygnałów RR LR Selektor ±1 1 0 A ALU Warunki RBD RBA 4 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią [RR (Adres)] RBA Następuje obecnie przesłanie zawartości pola adresowego Adres rejestru rozkazów RR do rejestru buforowego adresu pamięci RBA. Liczba binarna 4 znajdzie się w RBA aby posłużyć w następnym takcie czasowym do wybrania komórki pamięci dla odczytu określonego w rozkazie move.

72 Przy przesłaniu zawartości pola Adres z rejestru RR następuje wykorzystanie tylko części linii wewnętrznej szyny danych. Na wyjściu z wewnętrznej szyny danych do zespołu rejestrów znajduje się układ Selektor, który otwiera drogę do potrzebnego rejestru, w tym przypadku rejestru RBA. Operacją sterują odpowiednie sygnały z Generatora sygnałów sterujących. W przypadku np. rozkazu jump lub call układ Selektor otworzyłby drogę z pola Adres rejestru RR do licznika rozkazów LR.

73 Taktowanie 10 Move 4 Dekoder Generator sygnałów RR LR Selektor ±1 1 0 A ALU Warunki RBD RBA 4 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [P (RBA)] RBD Nastepuje taraz odczyt z pamięci słowa o adresie 4 wskazanym przez rejestr buforowy adresu RBA i wpisanie tego słowa do rejestru buforowego danych pamięci RBD. Generator sygnałów sterujących wysyła do pamięci sygnał odczyt pamięci oraz sygnał otwierający zewnętrzną szynę danych do rejestru RBD. W ten sposób dana binarna 10 znajdzie się w rejestrze RBD.

74 Taktowanie 10 Move 4 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 0 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [RBD] A Następna operacja to przesłanie poprzez wewnetrzną szynę danych zawartości rejestru RBD do rejestru akumulatora A. Ta operacja kończy wykonanie rozkazu move 4.

75 Generator sygnałów sterujących wyśle teraz sygnały sterujące, które spowodują pobranie do rejestru rozkazów RR następnego rozkazu do wykonania. Jest to rozkaz add 5. Jego adres 1 czeka już w liczniku rozkazów LR. Pobranie składać się będzie z takich samych operacji jak pobranie rozkazu move 4 ale dotyczyć będzie innego adresu pobranego z licznika rozkazów LR. Operacje te są następujące: [LR] RBA [LR] + 1 LR [P (RBA)] RBD [RBD] RR

76 Po odczycie z pamięci rozkaz add 5 znajdzie się w rejestrze rozkazów RR. Pole Kod operacji rozkazu add 5 zawiera więc kod binarny add Pole Adres zawiera liczbę binarną 5. Jednocześnie w liczniku rozkazów LR mamy adres następnego rozkazu do wykonania, liczbę binarną 2.

77 Wykonanie rozkazu add 5 Pomijamy rysunek przedstawiający otwarcie dekodera na dekodowanie części operacyjnej rozkazu add 5. Rozkaz add 5 ma dodać zawartość rejestru akumulatora do zawartości komórki pamięci o adresie 5 i zapisać wynik w akumulatorze.

78 Taktowanie Add 5 Add 5 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 5 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [RR(Adres)] RBA Rysunek przedstawia pierwszą po zdekodowaniu rozkazu operację, która składa się na wykonanie add 5. Jest to przesłanie adresu 5 z pola Adres rejestru rozkazów RR do rejestru buforowego adresu RBA.

79 Taktowanie 20 Add 5 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 5 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [P(5)] RBD Kolejna operacja to odczyt słowa pamięci spod adresu 5 do rejestru buforowego danych RBD przez zewnętrzną.szynę danych. Generator sygnałów sterujących generuje sygnał odczyt pamięci i otwiera wyjście z pamięci na szynę i wyjście z szyny do rejestru RBD. RBD zawiera po tej operacji dana binarną 20.

80 Taktowanie 20 Add 5 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 5 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja {[A], [RBD]} ALU Następuje teraz dodanie danych w jednostce arytmetyczno-logicznej ALU. Zauważmy, że akumulator zawiera daną 10 pobrana w poprzednim rozkazie. Generator sygnałów sterujących wysyła sygnały, które otwierają wyjście z rejestru A oraz wyjście z RBD na wewnętrzną szynę danych i wejścia ALU. Sygnały te trwają tak długo, jak długo trwa operacja dodawania w sumatorze ALU.

81 Taktowanie 20 Add 5 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 5 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [ALU] A i wpisanie warunków Gdy wynik dodawania jest gotowy, następuje zamknięcie dostępu do wejść ALU ze strony wyjścia z rejestru A i wewnętrznej szyny danych oraz zamknięcie wyjścia z rejestru RBD na wewnętrzną szynę danych. W tej samej chwili następuje otwarcie wyjścia ALU na wewnętrzną szynę danych i wejścia z tej szyny do rejestru akumulatora A.

82 Otwarcie wejścia do A trwa tylko tak długo jak to jest potrzebne do zapisania w nim wyniku z ALU. Wynik z ALU utrzymuje się jeszcze stabilnie przez ten czas, ze względu na opóźnienie reakcji ALU na stan swoich wejść spowodowane propagacją sygnałów w układach logicznych. Jednocześnie z wpisaniem wyniku z ALU do A, zostają wpisane wyniki testów wyniku ALU do rejestru warunków - Warunki. Ta operacja kończy wykonanie rozkazu add 5. Przed pobraniem następnego rozkazu, bit Nadmiar ALU rejestru warunków jest analizowany w Generatorze sygnałów sterujących. Jeśli wystąpił nadmiar ALU, wykonywanie programu jest przerywane i pobierany jest rozkaz programu obsługi przerwania wewnętrznego (wyjątku), który sygnalizuje użytkownikowi błąd arytmetyczny. Generator sygnałów sterujących emituje niezbędne dla tego sygnały sterujące. Jeśli nadmiar ALU nie wystąpił, następuje pobranie następnego rozkazu naszego programu. Jest to rozkaz store 6 zapisany w pamięci pod adresem 2. Pobranie zostaje dokonane w znany już nam sposób, zgodnie z zawartością licznika rozkazów LR równą 2.

83 Wykonanie rozkazu store 6 Podobnie jak przy poprzednim rozkazie nie rysujemy rysunku dekodowania rozkazu. Po pobraniu rozkazu pole kod operacji rejestru RR zawiera kod store a pole Adres RR zawiera liczbę 6. Rozkaz store 6 ma zapisać do komórki pamięci o adresie 6 zawartość rejestru akumulatora A.

84 Taktowanie Store 6 Store 6 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 6 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [RR (Adres)] RBA Pierwszą operacją po zdekodowaniu rozkazu jest przesłanie zawartości pola Adres rejestru RR do rejestru buforowego adresu RBA. W ten sposób adres binarny 6 potrzebny dla wykonania rozkazu store znajdzie się w RBA.

85 Taktowanie 30 Store 6 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 6 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [A] RBD Następna operacja jest przesłanie zawartości rejestru A do rejestru buforowego danych RBD, aby można było wyprowadzić te zawartość na zewnętrzna szynę danych wiodąca do pamięci operacyjnej. W ten sposób liczba 30 znajdzie się w RBD.

86 Taktowanie 30 Store 6 Dekoder Generator sygnałów RR LR Selektor ± A ALU Warunki RBD RBA 6 Nr komórki stop Dekoder adresu Zawartość move 4 add 5 store 6 Sterowanie pamięcią Operacja [RBD] P (RBA) Ostatnią operacją składową rozkazu store 6 jest zapis danej 30 z rejestru buforowego danych do komórki pamięci o adresie 6 wskazywanej przez zawartość rejestru RBA. Generator sygnałów sterujących podaje do układu sterowania pamięcią sygnał zapisz pamięć oraz otwiera drogi (szynę adresową i danych) dla przesłania adresu z rejestru RBA oraz danych z rejestru RBD.

87

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

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu. Wada: rozmiar argumentu ograniczony do rozmiaru pola adresowego Adresowanie bezpośrednie jest najbardziej podstawowym

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

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

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

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

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

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

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

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

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

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

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej

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

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

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

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

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

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

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

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

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A Symulator Escape Konfiguracja ogólna Enable MUL and DIV Complete Set of Comp.Oper Sign Extension of B/H/W Memory Oper on B/H/W Program Program Dane Dane Załaduj konfigurację symulatora (File -> OpenFile)

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

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,

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

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

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

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

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

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

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

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

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Ryszard J. Barczyński, 2009 2013 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

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

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

Sprzęt i architektura komputerów

Sprzęt i architektura komputerów Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I

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

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat

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

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

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

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 Laboratorium 13 Symulator SMS32 Operacje na bitach

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda

Bardziej szczegółowo

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs Podstawowy S7. Spis treści. Dzień 1 Spis treści Dzień 1 I System SIMATIC S7 - wprowadzenie (wersja 1401) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6 Podstawowe

Bardziej szczegółowo

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387 Mikroinformatyka Koprocesory arytmetyczne 8087, 80187, 80287, i387 Koprocesor arytmetyczny 100 razy szybsze obliczenia numeryczne na liczbach zmiennoprzecinkowych. Obliczenia prowadzone równolegle z procesorem

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

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie

Bardziej szczegółowo

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

dr inż. Rafał Klaus Zajęcia finansowane z projektu Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle POKL Architektura komputerów wprowadzenie materiał do wykładu 3/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

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

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

Lista rozkazów mikrokontrolera 8051

Lista rozkazów mikrokontrolera 8051 Lista rozkazów mikrokontrolera 8051 Spis treści: Architektura mikrokontrolera Rozkazy Architektura mikrokontrolera Mikrokontroler 8051 posiada trzy typy pamięci: układ zawiera pamięć wewnętrzną (On-Chip

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Lista Rozkazów: Język komputera

Lista Rozkazów: Język komputera Lista Rozkazów: Język komputera Większość slajdów do tego wykładu to tłumaczenia i przeróbki oficjalnych sladjów do podręcznika Pattersona i Hennessy ego Lista rozkazów Zestaw rozkazów wykonywanych przez

Bardziej szczegółowo

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs Zaawansowany S7. Spis treści. Dzień 1 Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów

Bardziej szczegółowo

Sprzęt i architektura komputerów

Sprzęt i architektura komputerów Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I

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

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy: Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej

Bardziej szczegółowo

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów Operacje na stosie Stos jest obszarem pamięci o dostępie LIFO (Last Input First Output). Adresowany jest niejawnie przez rejestr segmentowy SS oraz wskaźnik wierzchołka stosu SP. Używany jest do przechowywania

Bardziej szczegółowo

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)

Bardziej szczegółowo

Procesory rodziny x86. Dariusz Chaberski

Procesory rodziny x86. Dariusz Chaberski Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM

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. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

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

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

A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym

A Machine Architecture that is Really Intuitive and Easy.  Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym MARIE A Machine Architecture that is Really Intuitive and Easy http://computerscience.jbpub.com/ecoa Słowo 16b Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym od 8000h (- 32,768 = -2^15) do 7FFFh

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 8 Jan Kazimirski 1 Assembler x86 2 Podstawowe instrukcje x86 Instrukcje transferu danych Arytmetyka binarna i dziesiętna Instrukcje logiczne Instrukcje sterujące wykonaniem

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Magistrala systemowa Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Asembler i koncepcja von Neumanna Wprowadzenie do programowania na

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

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

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

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

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

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

Ćwiczenie 3. Konwersja liczb binarnych

Ćwiczenie 3. Konwersja liczb binarnych 1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1 Tryb chroniony cz. 1 Moduł zarządzania pamięcią w trybie chronionym (z ang. PM - Protected Mode) procesorów IA-32 udostępnia: - segmentację, - stronicowanie. Segmentacja mechanizm umożliwiający odizolowanie

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

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

Podstawy Informatyki Elementarne podzespoły komputera

Podstawy Informatyki Elementarne podzespoły komputera Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Reprezentacja informacji Podstawowe bramki logiczne 2 Przerzutniki Przerzutnik SR Rejestry Liczniki 3 Magistrala Sygnały

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

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla Asembler A51 1. Symbole Nazwy symboliczne Symbol jest nazwą, która może być użyta do reprezentowania wartości stałej numerycznej, wyrażenia, ciągu znaków (tekstu), adresu lub nazwy rejestru. Nazwy symboliczne

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

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

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

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

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora

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

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

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

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

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

Bardziej szczegółowo