I. Budowa i zasada działania mikroprocesora.
1. Mikroprocesor to układ scalony, w którego strukturze zintegrowana jest kompletna jednostka centralna komputera.
2. Mikroprocesor komunikuje się z otoczeniem za pomocą trzech zespołów sygnałów cyfrowych tzw. szyn (bus):
- szyna danych (data bus)
- szyna adresowa (address bus)
- szyna sterująca (control bus)
Te trzy szyny zwane szynami systemowymi tworzą magistralę.
rys.1 Budowa mikroprocesora
3. Za ich pomocą przyłączane są do mikroprocesora dwa pozostałe elementy niezbędne do budowy komputera: pamięć oraz urządzenia peryferyjne.
4. Mikroprocesory mają zapewnić możliwie dużą szybkość przetwarzania danych. (Stan rozwoju mikroelektroniki w danym momencie wyraża się między innymi liczbą tranzystorów, które dają się upakować w strukturze pojedynczego układu scalonego).
5. Elementy mikroprocesora:
- jednostka arytmetyczno – logiczna ALU (ang. arithmetic and logic unit),
- akumulator A (ang. accumulator),
- licznik rozkazów PC (ang. program counter),
- zestaw rejestrów roboczych Ri (ang. general purpose registers),
- rejestr rozkazów IR (ang. instruction register),
- wskaźnik stosu SP (ang. stack pointer),
- układ sterowania CU (ang. control unit).
6. Mikroprocesor wykonuje operacje na słowach. Słowo jest elementarną jednostką informacji przesyłaną między podzespołami mikroprocesora. Długość słowa 4, 8, 16, itd. bitów; 8 bitów = 1 bajt.
7. Mikroprocesor składa się z dwóch układów: jednostka wykonawcza i jednostka sterująca. Nazewnictwo logicznie wynika z zadań, jakie pełni mikroprocesor.
8. Zadaniem jednostki wykonawczej EU (ang. execution unit) jest przetwarzanie informacji czyli wykonywanie wszelkich operacji arytmetycznych i logicznych.
9. Jednostka sterująca CU wytwarza wewnętrzne sygnały sterujące.
10. W skład EU wchodzi jednostka arytmetyczno – logiczna ALU oraz zestaw współpracujących z nią rejestrów.
11. Informacją wejściową części wykonawczej są dane, zaś wyjściową wyniki (liczby, informacja tekstowa, sygnały sterujące pracą określonych urządzeń.
12. W skład CU wchodzą: rejestr instrukcji (rozkazów IR), dekoder i układ sterujący.
13. W rejestrze instrukcji (rozkazów IR) przechowywany jest kod aktualnie wykonywanego rozkazu.
rys.2 Podstawowe podzespoły funkcjonalne mikroprocesora
14. Historia:
1944 – węgierski matematyk Johann von Neumann opracował koncepcję komputera,
1946 – pierwszy komputer ENIAC (USA) (18000 lamp elektronowych, 30 ton wagi),
1947 – Bardeen, Brattain i Shockly – stworzyli tranzystor (era półprzewodników),
1958 – USA – Texas Instruments – pierwszy układ scalony masowo produkowany w technologii TTL 7400 (tranzystor bipolarny),
1963 – USA – Fairchild – technologia CMOS (tranzystor polowy), (duża ilość tranzystorów),
1964 – IBM – wprowadzenie na rynek komputera serii 360,
1971 – Intel – pierwszy mikroprocesor – układ 4 bitowy jednostki centralnej – początek współczesnej techniki mikroprocesorowej,
1976 – Intel – mikroprocesor 8 – bitowy, Zilog – Z80; Motorola 6800,
1980 – Intel – tworzy mikrokontroler 8051.
¾ 142 ¾
1. Jednostka arytmetyczno-logiczna wykonuje operacje arytmetyczne i logiczne. Rejestr, przechowujący wyniki pośrednie, a przed wykonaniem rozkazu jeden z argumentów, to akumulator. W akumulatorze są najczęściej przechowywane wyniki z układu ALU.
2. Jednostka arytmetyczno-logiczna wykonuje również operacje dodawania, odejmowania, przesunięcia, obrotu w prawo i w lewo oraz realizuje funkcje logiczne AND, OR, EXCLUSIVE OR, a także uzupełnienia do l, uzupełnienia do 2.
3. Z jednostką arytmetyczno-logiczna jest bezpośrednio związany rejestr flag (znaczników) zawierający informację o aktualnym stanie systemu oraz wyniku wykonanej operacji. Obejmuje on następujące flagi:
C — przeniesienie (ang. carry),
AC — przeniesienie pomocnicze (ang. half carry).
V — nadmiar (ang. overflow),
N — ujemny znak (ang. negative),
Z — zero,
4. Przeniesienie (C). Bit przeniesienia jest ustawiony wówczas, gdy występuje przeniesienie z najbardziej znaczącego bitu wyniku.
Na przykład:
Niektóre rozkazy np. „dodaj z przeniesieniem" powodują automatyczne dodawanie przeniesienia do wyniku następnego dodawania. Przeniesienie jest również stosowane podczas operacji przesuwania i obrotu.
5. Nadmiar (V). W zapisie uzupełnień do 2 jedynka na najbardziej znaczącej pozycji słowa określa liczbę ujemną, zero - dodatnią. Podczas operacji dodawania przeniesienie z poprzedniej pozycji może pojawić się na pozycji znakowej i może zmienić liczbę ujemną na dodatnią. Bit nadmiaru służy do wskazywania tej nieprawidłowości. Matematycznie nadmiar (przy słowach 8-bitowych)jest funkcją EXCLUSIVE OR bitu przeniesienia z siódmej pozycji i bitu przeniesienia generowanego z pozycji 6 do 7.
6. Znak (N). Wartość bitu N jest ustawiona najbardziej znaczącym bitem wyniku. W zapisie uzupełnień do 2 najbardziej znaczący bit wyniku określa jego znak (l na tej pozycji wskazuje liczbę ujemną).
7. Zero (Z). Bit Z jest ustawiony w stan l wówczas, gdy w wyniku wykonania rozkazu otrzymuje się wartość zero. Bit ten jest ustawiany podczas realizacji rozkazów arytmetycznych lub operacji logicznych. Jest on często sprawdzany podczas wykonywania rozkazu we/wy w celu określenia, czy zawartość rejestru na dowolnym bicie została zmieniona. Jest to dokonywane przez realizację funkcji EXCLUSIVE OR. Jeżeli nie wystąpiła żadna zmiana zawartości rejestru w porównaniu z poprzednią, to w wyniku tej operacji otrzymuje się same zera (Z).
8. Przeniesienie pomocnicze (AC). Bit ten jest ustawiany podczas operacji wykonywanych w kodzie BCD. Podczas wykonywania operacji na bajtach, zawierających po dwie cyfry dziesiętne, wygenerowane przeniesienie z pozycji 3 wyniku na pozycję 4 ustawia bit V.
rys.3 Jednostka arytmetyczno – logiczna
9. Aby komputer był zdolny do przetwarzania danych zgodnie z programem, musi być wyposażony w pamięć, w której znajdują się rozkazy programu i dane, które program ma przetwarzać.
rys.4 Rodzaje pamięci
10. W pamięci operacyjnej znajdują się:
- rozkazy, które tworzą program,
- przetwarzane dane,
11. W pamięci programu są zapamiętane rozkazy.
12. W pamięci stałej są zapamiętane programy.
rys.5 Schemat blokowy pamięci
13. Każda pamięć jest zbudowana z dużej liczby elementarnych komórek pamięci. W każdej elementarnej komórce pamięci jest zapisany 1 bit.
14. W mikrokontrolerach 8 – bitowych, osiem elementarnych komórek pamięci tworzy razem jedno słowo pamięci, w której może być zapamiętany jeden bajt.
15. Liczba słów pamięci, które można zaadresować (a tym samym używać), jest określona przez długość adresu pamięci. Jest więc oczywiste że do procesora, w którym adres pamięci składa się z 16 bitów, nie ma sensu dołączać pamięci zawierającej więcej niż 216 = 65536 słów.
16. dekoder adresów pamięci dokonuje wyboru komórki pamięci określonej przez dany adres. Wybór ten polega na połączeniu każdej z ośmiu elementarnych komórek pamięci danego słowa z odpowiednią linią szyny danych.
17. Oprócz adresu procesor wysyła do pamięci, także sygnał sterujący. Sygnał ten, przekazywany poprzez szynę sterowania, wskazuje, czy dana ma być odczytana, czy wpisana do pamięci. Po wybraniu słowa o zadanym adresie pamięć wysyła do procesora poprzez szynę sterowania sygnał gotowości (READY). W operacji zapisu sygnał ten oznacza, że dana może być wprowadzona do pamięci, natomiast w operacji odczytu sygnał ten oznacza, że dane słowo pamięci jest już dostępne dla procesora i może być pobrane.
III. Transmisja danych
1. Przepływ danych z procesora do pamięci: (rys.6). Operacja zapisu do pamięci polega na przesłaniu danej z procesora do wybranej komórki pamięci. Na organizację tę składają się następujące kroki:
a) procesor przekazuje do pamięci adres komórki, do której ma być wpisane dane słowo,
b) adres jest dekodowany przez dekoder adresów,
c) procesor umieszcza słowo na szynie danych i jednocześnie wysyła sygnał sterujący zapisu,
d) słowo zostaje zapamiętane w wybranej komórce pamięci.
2. Przepływ danych z pamięci do procesora (ry.7). Operacja odczytu z pamięci polega na przesłaniu zawartości wybranej komórki pamięci do procesora. Na operację tę składają się następujące kroki:
a) procesor przekazuje do pamięci adres komórki, której zawartość ma być przesłana do procesora,
c) procesor wysyła sygnał sterujący odczytu,
d) zawartość wybranej komórki pamięci jest przesyłana do procesora
Uwaga: Rozkazy zapisu i odczytu komórek pamięci nazywa się „rozkazami odwołującymi się do pamięci”.
3. Przepływ danych z wejścia do procesora (rys.8). Operacja wejścia polega na pobraniu danej z urządzenia wejściowego i przesłaniu jej do procesora, który może ją dalej przetwarzać. Przesłanie danej z wejścia do CPU odbywa się w następujący sposób:
a) procesor umieszcza adres portu wyjściowego, którego zawartość ma być odczytana, na szynie adresowej i przekazuje go do modułu wejścia / wyjścia,
b) CPU wysyła sygnał sterujący odczytu,
c) Zawartość wybranego portu wejściowego jest przesyłana szyną danych do procesora,
4. Przepływ danych z procesora do wyjścia (rys.9). operacja wyjścia polega na przesłaniu danej z procesora do wybranego portu wyjściowego. Na operację tę składają się następujące kroki:
a) dekodowanie adresu wprowadzonego przez CPU na szyną adresową, tzn. wybranie portu wyjściowego, przez który dana ma być przekazana do urządzenia wyjściowego,
b) umieszczenie danej na szynie danych oraz wysłanie sygnału sterującego zapisu (czynności te wykonuje CPU),
c) wpisanie danej do wybranego portu wyjściowego.
Uwaga: Przedstawioną metodę wyboru portów wejścia / wyjścia nazywa się pamięciowym systemem wejścia / wyjścia, ponieważ operacje wejścia i wyjścia odbywają się tak samo, jak operacje odczytu / zapisu komórek pamięci. Niektóre procedury mają specjalne sygnały sterujące wprowadzania i wyprowadzania oznaczające operacje odczytu i zapisu dotyczące wejścia / wyjścia. Taki system nazywa się izolowanym systemem wejścia / wyjścia.
Transmisja danych wykorzystuje szyny adresową (16 linii), danych (8 bitów) i sterowania.
IV. Pojęcie stosu i wskaźnik stosu.
1. Stosem nazywamy wyróżniony obszar pamięci używany według następujących reguł:
a) informacje zapisywane są na stos do kolejnych komórek (pod kolejnymi adresami), przy czym żadnego adresu nie wolno pominąć,
b) odczytujemy informacje w kolejności odwrotnej do ich zapisu,
c) informacje odczytujemy z ostatnio zapamiętanej komórki, natomiast zapisujemy do pierwszej wolnej.
2. Stos – jest rodzajem pamięci (czy też buforem) oznaczonej przez LIFO (ang. last in first out) ostatni wchodzisz pierwszy wychodzisz.
3. Konieczna jest znajomość adresu ostatniej zapełnionej komórki stosu, przy czym komórkę odczytaną uważamy za pustą. Komórka ta zwana jest wierzchołkiem stosu.
4. Wskaźnikiem stosu nazywamy rejestr zawierający adres ostatniej zapełnionej komórki stosu (wierzchołek stosu).
5. Procesor ma specjalny 16 – bitowy rejestr, który adresuje komórki pomięci stosu (wskaźnik stosu) (ang. Stock Pointer – SP) i wskazuje adres tych komórek pamięci stosu, w których znajduje się potrzebny adres powrotu.
rys.10 Wykorzystanie stosu przy obsłudze podprogramów
6. Kierunek budowy stosu w kierunku rosnącym czy malejącym nie jest istotny i zależy od typu procesora.
1. Pojęcie przerwanie w układach mikroprocesorowych wiąże się z operacją wejścia / wyjścia (przerwanie programu).
2. Mikroprocesor podczas operacji wejścia / wyjścia wykonuje pętlę przepytywania w celu stwierdzenia gotowości tego układu do wymiany – jest to duża wada (ciągłe testowanie stanu układu).
3. Rozwiązanie tego problemu: mikroprocesor wykonuje pewien program zwany programem głównym, oczekując na sygnał gotowości do wymiany zgłoszony ze strony układu wejścia / wyjścia (nie testując w sposób programowy układu wejścia / wyjścia). W tym celu mikroprocesor dysponuje określonym wejściem zwanym „wejściem zgłoszenia przerwania”.
4. Aktywny poziom na tym wejściu sygnalizuje „zgłoszenie przerwania”, czyli gotowość układu wejścia / wyjścia do wymiany.
5. Zgłoszenie przerwania powoduje przerwanie przez mikroprocesor wykonywanie programu głównego i zapamiętanie informacji potrzebnej do późniejszego powrotu do programu głównego i jego kontynuowania.
6. Następnie mikroprocesor przechodzi do wykonania specjalnego programu zwanego „programem obsługi przerwania” (POP, ang. ISR – interrupt service routine). Program ten realizuje wymianę informacji.
7. Po zakończeniu wymiany, czyli po zakończeniu programu obsługi przerwania, mikroprocesor kontynuuje przerwany program główny.
rys.11 Wykonanie operacji wejścia / wyjścia z przerwaniem programu
8. Sytua...
Androids.apk