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 operacji cyfrowych według dostarczonych mu instrukcji. 2
Historia mikroprocesora Jednym z twórców idei mikroprocesora był Ted Hoff z firmy Intel. Wpadł on na pomysł by zamiast projektować 12 niezale nych układów scalonych do kalkulatorów zaprojektować jeden, który będzie w stanie pełnić funkcje wszystkich ich razem wziętych i będzie pracować w taki sposób jak procesor w komputerze. W firmie Intel wyprodukowano pierwszy komercyjny mikroprocesor o nazwie 4004 - zawierał on 2300 tranzystorów i wykonany był w technologii pmos. Pierwszym na świecie procesorem był jednak ściśle tajny "chip" Ż14 CAŹC u ywany w samolocie Grumman F14 Tomcat. 3
Budowa mikroprocesora Mikroprocesor składa się z zasadniczych bloków funkcjonalnych : ALU - jednostka arytmetyczno-logiczna (Arithmetic Logic Unit), wykonuje ona operacje logiczne na dostarczonych jej danych, podstawowy zestaw to: dodawanie, podstawowe operacje logiczne (AND, XOR, OR, NOT), oraz przesunięcia bitowe w lewo i w prawo. W bardziej zło onych mikroprocesorach zestaw ten jest znacznie bogatszy. 4
CU - układ sterowania (Control Unit), zwany te dekoderem rozkazów. Odpowiedzialny jest on za dekodowanie dostarczonych mikroprocesorowi instrukcji i odpowiednie sterowanie pozostałymi jego blokami (na przykład jeśli zdekodowaną instrukcją będzie dodawanie, CU odpowiednio ustawi sygnały sterujące, by ALU wykonała tę właśnie operację) 5
Rejestry - umieszczone wewnątrz mikroprocesora komórki pamięci o niewielkich rozmiarach (najczęściej 4/8/16/32/64/128 bitów) słu ące do przechowywania tymczasowych wyników obliczeń (rejestry danych) oraz adresów lokacji w pamięci operacyjnej (rejestry adresowe). Proste mikroprocesory mają tylko jeden rejestr danych zwany akumulatorem. 6
Oprócz rejestrów danych i rejestrów adresowych występuje te pewna liczba rejestrów o specjalnym przeznaczeniu: PC - licznik rozkazów (Program Counter) zawiera on adres komórki pamięci zawierającej następny rozkaz do wykonania IR - rejestr instrukcji (Instruction Register) zawiera on adres aktualnie wykonywanej przez procesor instrukcji. SP - wska nik stosu (Stack Pointer) - zawiera adres wierzchołka stosu. Mikroprocesor komunikuje się z otoczeniem za pomocą szyny danych i szyny adresowej. 7
Do typowych rozkazów wykonywanych przez procesor nale ą: kopiowanie danych - z pamięci do rejestru - z rejestru do pamięci - z pamięci do pamięci (niektóre procesory) działania arytmetyczne - dodawanie - odejmowanie - porównywanie dwóch liczb - dodawanie i odejmowanie jedności - zmiana znaku liczby 8
działania na bitach - iloczyn logiczny - AND - suma logiczna - OR - suma modulo 2 (ró nica symetryczna) - XOR - negacja - NOT - przesunięcie bitów w lewo lub prawo skoki - bezwarunkowe - warunkowe 9
Mikroprocesor Z80 10
11
Budowa rejestrów mikroprocesora 12
Rejestr znaczników flagowych Ten rejestr jest przeznaczony do przechowywania dodatkowych cech wyników operacji np. : znak przekroczenia zakresu operacji znak parzystości znak przeniesienia lub po yczki Ka dy znak (flaga) jest jednobitowym znacznikiem zapisanym w odpowiednim miejscu rejestru. Je eli wartość tego bitu wynosi 1, oznacza to, e stan taki wystąpił po wykonaniu ostatniej operacji. 13
Wykorzystanie informacji z rejestru flagowego Informacje z rejestru flagowego mogą być wykorzystane przez programistów na dwa sposoby: ustawienie znacznika dla zapamiętania określonego stanu po wykonaniu operacji testowanie znacznika celem podjęcia odpowiedniego dalszego działania. 14
Znaczniki (flagi) stanu CF flaga przeniesienia, ustawiana przy przekroczeniu zakresu długości słowa, w którym jest zapisywany wynik. PF flaga parzystości, wskazuje na parzystą lub nieparzystą liczbę bitów o wartości jedynki. ZF flaga zera, sygnalizująca, e wynikiem ostatniej operacji było zero. PF przeniesienie pomocnicze dla kodu BCD SF flaga znaku, ustawiona gdy najstarszy bit wyniku jest równy 1 ( operacje na kodzie U2) OF flaga przepełnienia, sygnalizuje przekroczenie zakresu dla operacji arytmetycznych (U2) 15
Znaczniki (flagi) kontrolne TF znacznik pracy krokowej, IF znacznik zezwolenia na przerwanie DF znacznik kierunku IOPL znacznik ochrony instrukcji wejścia-wyjścia NT znacznik zadania zagnie d onego 16
Rejestry ogólnego przeznaczenia Akumulator rejestr funkcjonalnie związany z ALU, przeznaczony do przechowywania jednego z operandów (argumentów) wykonywanej operacji oraz wyniku operacji. Czasami wynik operacji mo e być przechowywany w innym rejestrze. W mikroprocesorze mo e być kilka takich rejestrów. 17
Rejestry segmentowe CS rejestr segmentowy programu, wskazuje segment programu, z którego aktualnie są pobierane rozkazy programu do wykonania DS. rejestr segmentowy stosu, wskazuje segment w którym są zapamiętywane zmienne u ywane przez program ES rejestr segmentowy dodatkowy, wskazuje dodatkowy segment danych SS rejestr segmentowy stosu, wskazuje segment pamięci, w której umiejscowiony jest stos. 18
Rejestry wska nikowe i indeksowe SP, BP rejestry wska nikowe słu ące do adresowania danych w obrębie wydzielonego obszaru pamięci. SI, DI rejestry indeksowe słu ące do adresowania danych w obszarze pamięci zwanym segmentem danych. Licznik rozkazów słu y do przechowywania adresu komórki, z której nale y pobrać następny rozkaz. Rejestr rozkazów słu y do przechowywania pobranych z pamięci słów-kodów rozkazów. 19
20
21
Stosem nazywamy wyró niony obszar pamięci, którego przeznaczeniem jest krótkotrwałe przechowywanie informacji. Stos jest zorganizowany w oparciu o metodę zapisu LIFO. 22
Rozkazy Rozkazem (instrukcją maszynową) nazywamy najprostszą operację do wykonania przez mikroprocesor. Listą rozkazów nazywamy zestaw rozkazów (instrukcji maszynowych) jakie potrafi wykonywać dany mikroprocesor. Formatem rozkazu nazywamy sposób rozmieszczenia informacji w kodzie programu. 23
Cykl rozkazowy mikroprocesora Realizując cykl rozkazowy mikroprocesor wykonuje pewne powtarzające się czynności polegające na cyklicznym pobieraniu kodów rozkazów z pamięci i przesyłaniu ich układu sterowania a następnie na ich wykonaniu Czas potrzebny na oczytanie kodu rozkazu z pamięci, na pobraniu argumentów, na wykonanie rozkazu, na przesłanie wyniku operacji nazywa się cyklem rozkazowym mikroprocesora. 24
25
Tryby adresowania mikroprocesora Trybem adresowania nazywamy sposób określenia miejsca przechowywania argumentów rozkazu. Argumenty rozkazu mogą być przechowywane w: Rejestrach Pamięci Kodzie rozkazu Do podstawowych trybów adresowania zaliczamy: Adresowanie bezpośrednie Adresowanie pośrednie 26
Przy adresowaniu bezpośrednim adres komórki zawiera się bezpośrednio w rozkazie. 27
Przy adresowaniu pośrednim adres komórki zawiera adres komórki, w której znajduje się adres argumentu lub rejestru. 28
Sposoby prezentowania rozkazu Kod rozkazu EB 03h Pamięć JMP SHORT ALA Adresy 11101011 000 00000011 001 010 011 ALA rozkaz 100 101 Mnemonik Argument Ten rozkaz zostanie wykonany po skoku 29
30
Sygnały sterujące mikroprocesora 80486 RESET Restart mikroprocesora RESET CLK Zegar CLK RDY# M/IO# RDY# żotowość np. pamięci M/IO# Operacja memory/io D/C# Obecność danych/kodu HOLD Stan zawieszenia ądanie HLDA Stan zawieszenia potwierdzenie D/C# HOLD HLDA INTR NMI W/R# INTR ądanie przerwania NMI Przerwanie niemaskow W/R# Zapis lub odczyt 31
ródła: 1. Jacek Bartman Architektura komputerów 2. Józef Kalisz Układy mikroelektroniczne.układy cyfrowe. WAT wewn. 634/77 3. Krzysztof Wojtuszkiewicz Urządzenia techniki komputerowej. 32