BUDOWA I ZASADA DZIAŁANIA MIKROKONTROLERA.
Pamięć
Pamięć jest urządzeniem, w którym mogą być zapisywane (zapamiętywane) i z którego mogą być odczytywane informacje dwójkowe. Pamięć przechowuje informacje dwójkowe w postaci grup bitów, zwanych bajtami. Komunikację między pamięcią a jej otoczeniem zapewniają linie sterujące, linie adresowe, linie wejściowe i wyjściowe danych.
Sygnały sterujące określają kierunek przesyłania danych (do pamięci lub z pamięci). Linie adresowe określają (adresują) słowa w pamięci. Linie wejściowe umożliwiają wprowadzenia danych do pamięci, natomiast linie wyjściowe - odczytywanie danych z pamięci.
Pamięci RAM umożliwiają zarówno zapis, jak i odczyt informacji, natomiast pamięci stałe ROM tylko odczyt informacji.
Pamięci RAM, realizowane jako układy scalone, są dostępne jako układy statyczne, jak i dynamiczne. Informacja zapisana w pamięci statycznej RAM jest w niej utrzymywana tak długo, jak długo włączone jest zasilanie. W pamięciach dynamicznych RAM informacja jest pamiętana w postaci ładunków elektrycznych na kondensatorach. Ładunki te mają tendencję do rozładowywania się z upływem czasu, co powoduje konieczność odświeżania (ang. Refreshing) pamiętanej informacji przez okresowe ponowne ładowanie kondensatorów.
Pamięć charakteryzuje się liczbą bajtów. Każdemu bajtowi w pamięci przypisany jest numer identyfikacyjny, zwany adresem. Wybór określonego bajta w pamięci odbywa się w wyniku podania jego dwójkowego adresu na linie adresowe.
W pamięciach stałych ROM informacja dwójkowa jest wprowadzana na stałe podczas produkcji i nie można jej zmienić.
Pamięci PROM (ang. Programmable ROM) są pamięciami, które mogą być programowane przez użytkownika (za pomocą specjalnych programatorów). W takim przypadku raz wpisanej informacji nie można zmienić.
Pamięć EPROM (ang. Erasable PROM) i EEPROM (ang. Electrically Erasable PROM) mogą być wielokrotnie programowane przez użytkownika (przez usuwanie zapisanych informacji i wprowadzanie nowych). Usuwanie zapisanych informacji przeprowadza się przez naświetlanie promieniami ultrafioletowymi (pamięci EPROM) lub elektrycznie (pamięci EEPROM).
Mikroprocesor
Mikroprocesor to procesor wykonany w technologii LSI (mikroprocesor 8-bitowe), VLSI (mikroprocesor 16-bitowe i 32-bitowe) lub ULSI (mikroprocesor 64-bitowe).
Układ, który dokonał rewolucji w informatyce, powstał trochę na zasadzie nieudanego produktu ubocznego. Pierwszy mikroprocesorem Intel 4004 (USA) z trudem znajdował zastosowania w wąskim gronie amatorów komputeryzacji i nie wróżono mu dalekiej przyszłości. Przodującymi producentami typowych mikroprocesorów są firmy: Intel, Motorola, MOS Technology oraz liczne zakłady dalekowschodnie, a przemysł mikroprocesorów stanowi istotną gałąź produkcji krajów rozwiniętych.
Cały sprzęt PC, sprzęt sieciowy i telekomunikacyjny, komputery laboratoryjne, osprzęt linii technologicznych, elektronika motoryzacyjna, niezliczone aplikacje domowe opierają się na mikroprocesorach.
Na procesor składają się głównie: układ sterowania, jednostka arytmetyczno - logiczna, zw. arytmometrem, oraz zespół rejestrów: rejestr rozkazów, licznik rozkazów, akumulatory i inne. Procesor wykonuje kolejne cykle rozkazowe, pobierając rozkazy i dane bezpośrednio z pamięci operacyjnej. Szczegóły dotyczące cyklu pracy mikroprocesora zostaną omówione dalej.
Pamięć operacyjna składa się z komórek ponumerowanych kolejnymi liczbami naturalnymi (0, 1, 2,...). Komórka jest ciągiem bitów, które można sobie wyobrazić jako miejsca, gdzie można wpisać 0 lub 1. Do komórek pamięci można więc wpisywać informacje w postaci zer i jedynek. Można również pobierać informacje tam zapisane. W czasie zapisywania poprzednia zawartość komórki ulega zniszczeniu. Przy odczytywaniu nie zmienia się. Numery komórek nazywane są adresami.
Zawartość pamięci może być odczytywana jedynie za pośrednictwem dwóch związanych z nią rejestrów: rejestru adresowego pamięci oraz rejestru buforowego pamięci (rys. 1). To samo dotyczy operacji zapisywania do pamięci. Przy odczytywaniu z pamięci do rejestru buforowego pobierana jest zawartość tej komórki pamięci, której adres znajduje się w rejestrze adresowym. Przy zapisie zawartość rejestru buforowego jest wpisywana do komórki o adresie z rejestru buforowego.
Rys. 1. Schemat pamięci operacyjnej (mem) oraz rejestru adresowego (ar) i buforowego (br) pamięci.
W pamięci umieszczane są programy oraz dane dla nich. Programy są ciągami rozkazów, które komputer ma wykonać. Dane są informacjami, które w wyniku wykonania programu są przekształcane w inne informacje. Arytmometr wykonuje rozkazy na danych umieszczonych w rejestrach z nim związanych. Mogą to być na przykład rozkazy dodawania liczb lub też rozkazy logiczne, takie jak iloczyn lub suma logiczna ciągów zer i jedynek. Wynik działania arytmometru pozostaje w jednym z jego rejestrów.
Poza wymienionymi wyżej rejestrami związanymi z pamięcią oraz arytmometrem w procesorze istnieją także takie, które sterują przebiegiem jego pracy. Kluczową rolę pełnia tu: rejestr rozkazów oraz rejestr zwany licznikiem rozkazów. W pierwszym pamiętany jest rozkaz aktualnie wykonywany przez komputer, w drugim - adres komórki pamięci, w której znajduje się następny rozkaz do wykonania.
Komputer działa według ustalonego schematu. Schemat ten, nazywany cyklem pracy komputera, wygląda następująco:
z pamięci operacyjnej komputera pobierana jest zawartość komórki pamięci o adresie równym zawartości licznika rozkazów
wartość ta jest przesyłana do licznika rozkazów, gdzie jest interpretowana jako rozkaz do wykonania
licznik rozkazów jest zwiększany o taką wartość, aby wskazywał następny rozkaz w pamięci operacyjnej
przygotowywane są argumenty rozkazu (operandy)
rozpoznany rozkaz jest wykonywany
następuje przejście do kolejnego cyklu pracy (chyba, że wykonano rozkaz zatrzymania pracy komputera).
Lista rozkazów mikroprocesora składa się zwykle z rozkazów arytmetycznych, logicznych, przesłań, rozkazów skoku, zatrzymania, wejścia / wyjścia oraz wywołania podprogramu. Każdy z tych rozkazów ma zero, jeden lub dwa argumenty. Argumenty mogą być umieszczone bezpośrednio w kodzie rozkazu, w rejestrze lub w pamięci. W związku z różnymi sposobami adresowania argumentów istotne jest podanie sposobu ich odnalezienia, który zależy od zastosowanego sposobu adresacji.
Sposoby adresowania operandów
Istnieje wiele sposobów adresowania. Sposoby te związane są z konkretnym typem mikroprocesora. Najprostsze jest adresowanie natychmiastowe (proste), gdy w formacie rozkazu po kodzie operacji następuje bezpośrednio argument, czyli nie ma potrzeby pobierać go ani z pamięci, ani z żadnego rejestru procesora.
Drugim popularnym trybem adresowania jest adresowanie rejestrowe. Żądany rejestr roboczy zazwyczaj jest wybierany przez wydzielone pole w kodzie operacji.
Jeśli w rejestrze roboczym jest umieszczony nie argument, lecz jego adres zwany wskaźnikiem argumentu, to otrzymuje się adresowanie wskaźnikowe, określane również jako rejestrowe pośrednie .
W adresowaniu bezpośrednim adres argumentu jest umieszczony wprost w części adresowej rozkazu.
Nazwa adresowanie indeksowe pochodzi od typowego zastosowania, związanego z operacjami na tablicach. Wówczas adres początku tablicy umieszcza się w części adresowej rozkazu, a pozycję (indeks) elementu tablicy określa zawartość rejestru indeksowego, którą można łatwo modyfikować (np. cyklicznie zwiększać lub zmniejszać o 1).
Masełko Rafał ED. 6.2
4