MIKROPRO, Mikroprocesory 8086 i 8088 nale˙˙ do jednych z pierwszych 16-to bitowych procesor˙w. Ich list˙ rozkaz˙w mo˙na rozszerzy˙ o rozkazy koprocesora arytmetycznego oraz mo˙liwo˙˙ pracy w systemach jedno i wieloprocesorowych. Istotna r˙˙nica polega na tym, ˙e 80


Mikroprocesory 8086 i 8088 należą do jednych z pierwszych 16-to bitowych procesorów. Ich listę rozkazów można rozszerzyć o rozkazy koprocesora arytmetycznego oraz możliwość pracy w systemach jedno i wieloprocesorowych. Istotna różnica polega na tym, że 8088 ma 8-bitową magistralę danych a 8086 16-to bitową. Do ważniejszych parametrów należą: 1) 1MB przestrzeń adresowa pamięci (20 linii adresowych); 2) 64kB przestrzeń adresowa we-wy; 3) podział na dwa niezależne układy umożliwiające jednoczesne pobieranie rozkazów następnych i wykonywanie bieżących; 4) dwa tryby pracy (minimalny i maksymalny); 5) możliwość współpracowania z 8-bitowymi układami we-wy.

Wewnątrz procesorów znajduje się pamięć RAM typu FIFO (6 bajtów w 8086 i 4 bajty w 8088). W skład procesora wchodz 16-to bitowa jednostka arytmetyczno-logiczna, układ sterowania wraz z rejestrem rozkazów, 16-to bitowe rejestry robocze AX, BX, CX, DX, wskaźnik stosu SP, wskaźnik bazy BP, rejestry indeksowe źródła SI i przeznaczenia DI oraz rejestr znaczników F. Do rejestrów roboczych można odwoływać się jako do 16-to bitowych AX, BX, CX, DX lub 8-bitowych AL, AH, BL, BH, CL, CH, DL, DH. Rejestr znaczników zawiera 9 znaczników opisanych następująco: A-przeniesienie połówkowe, C-przeniesienie; O-przepełnienie; S-znak; P-parzystość; Z-zero; T-praca krokowa; I-określa czy wejście przerwania maskowalnego jest zablokowane (I=0) czy odblokowane (I=1); D-znacznik kierunku zmian rejestrów indeksowych przy operacjach na łańcuchach danych.

--------------------------------------

ADRESOWANIE PAMIĘCI

Pamięć dzieli się na segmenty. Każdy bajt pamięci ma dwa rodzaje adresów: logiczny i fizyczny. Adres logiczny składa się z adresu początku segmentu zawartego w jednym z rejestrów segmentowych CS, DS, SS, ES oraz z adresu efektywnego (offset), wskazującego położenie komórkiw segmencie. Adresy są 16-to bitowe. Na podstawie adresu logicznego wyznacza się 20-to bitowy adres fizyczny bajtu pamięci, dodając offset do adresu bazowego segmentu przesuniętego o 4 pozycje w lewo (pomnożonego przez 16). Przestrzeń adresowania bezpośredniego zawiera więc 1MB. Podczas wykonywania programu można określić dostęp do jednego z czterech segmentów pamięci: - CS segment programu; -DS segment danych; -ES segmentu dodatkowego; -SS segmentu stosu.

Maksymalna pojemność segmentu wynosi 64 kB. Początki segmentów mogą się znajdować w dowolnym miejscu pamięci, mogą zachodzić na siebie a w szczególnym przypadku pokrywać się. Położenie danej wewnątrz segmentu danych określony jest w zależności od sposobu adresowania; położenie komórki wewnątrz segmentu stosu wskazuje rejestr SP. Położenie komórki wewnątrz segmentu kodu programu określa wskaźnik rozkazów IP.

---------------------------------------

SPOSOBY ADRESOWANIA

---------------------------------------

Rozkazy procesora 8088 mogą mieć długość od 1 do 6 bajtów. Rozkazy wielobajtowe mają format przedstawiony poniżej, z tym, że bajty 3 do 6 mogą występować opcjonalnie w zależności od zawartości dwóch pierwszych bajtów. Sześć nabardziej znaczących bitów pierwszego bajtu rozkazu zawiera jego kod.

7..... 2

1

0

kod

D

W

pierwzsy bajt

7

6,5,4,3

2,1,0

MOD

REG

R/M

drugi bajt

trzeci bajt(opcjonalnie)

Następne bajty podobnie jak i trzeci bajt. Bit b1 pierwszego bajtu zależnie od rozkazu oznacza się jako D, S lub V. Symbol D kierunek przesyłania danych. D=1 dane przesyłane do rejestru wskazanego przez pole REG drugiego bajtu, D=0 oznacza, że dane przesyłane sa do rejestru lub komórki pamięci wskazanych przez pole R/M.

Symbol S należy interpretować łącznie z bitem W. Występuje on w rozkazach z adresowaniem natychmiastowym. SW=01 oznacza, że trzeci i czwarty bajt rozkazu zawierają 16-to bitowy argument, SW=11 oznacza, trzeci bajt po rozszerzeniu do 16-tu bitów z zachowaniem znaku stanowi argument. Symbol V występuje w rozkazach przesuwania i zawiera liczbę przesunięć. V=0 oznacza, że liczba przesunięć =1, natomiast V=1 ⇒ liczba przesunięć w rejestrze CL. Symbol W oznacza czy operacja będzie wykonywana słowie 8-mio bitowym (W=0), czy na 16-to bitowym (W=1). Pole REG wskazuje rejestr zawierający pierwszy argument w operacjach dwuargumentowych. Pole MOD określa czy drugi argument znajduje się w pamięci czy w rejestrze.

Wyróżnia się następujące sposoby adresowania:

- rejestrowe bezpośrednie (argument znajduje się w rejestrze 8 lub 16-bitowym, wskazanym przez rozkaz;

-natychmiastowe argument jest zawarty w rozkazie;

-rejestrowe pośrednie adres efektywny argumentu jest określony zawartością rejestrów SI, DI, BX

- bezpośrednie adres efektywny argumentu jest zawarty w rozkazie jako 8 16-to bitowe przesunięcie;

- bazowe - adres efektywny argumentu jest jest sumą 8 lub 16-to bitowego przemieszczenia zawartego w rozkazie i zawartości jednego z rejestrów bazowych BP lub BX;

-indeksowe- adres efektywny jest sumą 8-bitowego (gdy MOD=01) lub 16-to bitowego (gdy MOD=10) przemieszczenia i zawartości jednego z rejestrów indeksowych DI lub SI;

-bazowo-indeksowe - adres efektywny jest sumą zawartości jednego z rejestrów indeksowych DI lub SI i zawartości jednego z rejestrów bazowych BP lub BX.

-bazowo-indeksowe z przesunięciem- adres efektywny jest sumą zawartości jednego z rejestrów indeksowych DI lub SI, zawartości jednego z rejestrów bazowych BP lub BX i przemieszczenia 8 lub 16-to bitowego.

----------------------------------

ADRESOWANIE UKŁADÓW WE-WY

----------------------------------

Układy we-wy mogą być adresowane w jednolitej lub rozdzielonej przestrzeni adresowej. W pierwszym przypadku traktowane są jako komórki pamięci, wdrugim przypadku mikroprocesor zapewnia nam dwa sposoby adresowania tych układów:

-bezpośrednie- odnoszące się do rozkazów we-wy;

-pośrednie rejestrowe- odnoszące się do rozkazów we-wy, których kod operacji wskazuje, że rejestr DX zawiera adres układu we-wy.

Zatem jest możliwe zaadresowanie 65536 układów we-wy operujących na bajtech lub 32768 układów we-wy operujących na słowach 16-to bitowych. Rozdzielona przestrzeń adresowa nie jest segmentowana.

-----------------------------------

PROCESOR 286

-----------------------------------

Procesor ten w porównaniu z procesore 8088 posiada wiele dodatkowych właściwości:

-możliwość pracy wielozadaniowej;

-możliwość pracy w trybie adresowania rzeczywistego lub adresowania wirtualnego z ochroną zasobów

-wbudowanyukład zarządzania pamięcią MMU zapewniający użytkownikowi 1GB przestrzeni adresowej pamięci wirtualnej dla każdego zadania oraz 16 MB przestrzeń adresową pamięci fizycznej

-większa wydajność obliczeniowa wyrażana w milonach rozkazów na sekundę (MIPS)

Procesor ten pracując w trybie adresowania rzeczywistego jest w pełni zgodny z procesorem 8088. W trybie adresowania wirtualnego istnieje zgodność z procesorami 8088 i 8086 tylko na poziomie programów źródłowych. Wewnątrz procesora można wyróżnić następujące bloki:

-układ sterowania magistrali BIU

-układ rozkazowy IU

-układ wykonawczy EU

-układ adresowania AU

Wszystkie te układy dzięki rejestrom buforowym mogą pracować równolegle. Można zatem powiedzieć, że procesor ten umożliwia przetwarzanie potokowe, co znacznie przyspiesza realizację programów.

Z punktu widzenia programisty dostępne są te same rejestry co w 8086. Pamięć operacyjna ma również organizację bajtową i jest segmentowana. Innaczej jest interpretowana zawartość rejestrów segmentowych (CS, DS, ES, SS); pojawiają się trzy dodatkowe rejestry dostępne dla programisty oraz rejestry niedostępne tworzące pamięć cache. Ponieważ przestrzeń adresowa pamięci wirtualnej jest większ niż niż przestrzeń adresowa pamięci fizycznej, więz jeżeli nastąpi odwołanie się dosegmentu, którego aktualnie nie ma w pamięci fizycznej, to wtedy układ MMU wraz z systemem operacyjnym wykryje tą sytuację i zainicjuje wczytanie tego segmentu z pamięci masowej. Adres wirtualny składa się z adresu efektywnego i numeru segmentu. Numer segmentu jest zapisany w jednym z rejestrów segmentów spełniających w trybie adresowania wirtualnego rolę selektora). W układzie MMU na podstawie adresu wirtualnego wyznacza się 24-bitowyadres fizyczny umożliwiający adresowanie 16MB pamięci.

W mikroprocerze korzysta się z rejestrów dodatkowych:

-TR, LDTR, GDTR, IDTR, MSW, dostępnych dla programisty

-deskryptorów segmentów niedostępnych dla programisty. Zawartość rejestrów ukrytych jest zmieniana automatycznie przez MMU. Rejestry deskryptorów segmentów danych programu i stosu stanowią rozszerzenie rejestrów segmentów isłużą do przechowywania 24-bitowego adresu bazowego.

W rejestrze flagowym mikroprocesora 286 znajdują się te same znaczniki co w rejestrze flagowym mikroprocesora 8088 i dodatkowo znajdują się tutaj dwa dodatkowe pola: NT i I/OPL. Dwubitowe pole I/OPL określa poziom uprzywilejo-wania układów we-wy. Znacznik NT wskazuje zagnieżdżenie zadań. Steruje on przbiegiem rozkazu IRET. Gdy NT=1 następuje przłączenie zadania (powrót do zadania poprzednio wykonywanego; gdy NT=0 rozkaz powrotu nie zmienia bieżącego zadania. Jest on zmieniany rozkazem CALL lub przerwaniem INT. Można go także zmienić rozkazami POPF i IRET.

-------------------------------------

SPOSOBY ADRESOWANIA ARGUMENTÓW W PAMIĘCI

------------------------------------

Wyróżnia się następujące sposoby adresowania:

- rejestrowe bezpośrednie (argument znajduje się w rejestrze 8 lub 16-bitowym, wskazanym przez rozkaz;

-natychmiastowe argument jest zawarty w rozkazie;

-rejestrowe pośrednie adres efektywny argumentu jest określony zawartością rejestrów SI, DI, BX

- bezpośrednie adres efektywny argumentu jest zawarty w rozkazie jako 8 16-to bitowe przesunięcie;

- bazowe - adres efektywny argumentu jest jest sumą 8 lub 16-to bitowego przemieszczenia zawartego w rozkazie i zawartości jednego z rejestrów bazowych BP lub BX;

-indeksowe- adres efektywny jest sumą 8-bitowego lub 16-to bitowego przemieszczenia zawartego w rozkazie i zawartości jednego z rejestrów indeksowych DI lub SI;

-bazowo-indeksowe - adres efektywny jest sumą zawartości jednego z rejestrów indeksowych DI lub SI i zawartości jednego z rejestrów bazowych BP lub BX.

-bazowo-indeksowe z przesunięciem- adres efektywny jest sumą zawartości jednego z rejestrów indeksowych DI lub SI, zawartości jednego z rejestrów bazowych BP lub BX i przesunięcia 8 lub 16-bitowego zawartego w rozkazie.

--------------------------------------

ADRESOWANIE UKŁADÓW WE-WY

--------------------------------------

W mikroprocerze 286 układy we-wy mogą być adresowane w jednolitej lub rozdzielonej przestrzeni adresowej. W pierwszym przypadku są traktowane jak komórki pamięci, natomiast w drugim procesor dysponuje 64-kB przestrzenią adresową układów we-wy. Przestrzeń ta nie jest segmentowana. Porty we-wy można adresować bezpośrednio lub pośrednio. Obszar we-wy o adresach 00F8H do 00FFH zarezerwowano dla potrzeb procesora.

-----------------------------------

MIKROPROCESOR 80386

-----------------------------------

Mikroprocesor 80386 jest procesorem 32-bitowym, który orócz jednostki centralnej zawiera układy wspomagające:

-zarządzanie ochronę pamięci,

-pracę wieloprogramową

-uruchamianie oprogramowania.

Zbiór rejestrów mikroprocesora 80386 zawiera 16-bitowe rejestry jego poprzedników. Rejestry EAX, EBX, ECX i EDX są 32-bitowe, ale można dokonywać operacji na ich młodszej 16-to bitowej części jak i na 8-bitowej części. Rejestry EBP, ESI, EDI i ESP są również 32-bitowe, ale można posługiwać się ich młodszą 16-to bitową częścią. Zawiera on ponadto 6 rejestrów segmentowych o długości 16 bitów, amianowicie : rejesrt segmentu programu CS, segmentu stosu SS i 4 rejestry segmentów danych. Rejestry te zawierają aktualne numery używanych segmentów. Każdy segment może mieć rozmiar do 4 GB. Logiczny adres segmentu w pamięci jest 48-bitowy. Składa się on 16-bitowego nr segmentu i 32-bitowego adresu efektywnego określającego położenie argumentu względem początku segmentu. W procesorze tym rejestrem adresowym może być dowolny rejestr roboczy z wyjątkiem- rejestr ESP nie może być rejestrem indeksowym. Tryby adresowania są w zasadzie takie same jak porzednich procesorach, z tą różnicą, że zawartość rejestru indeksowego może być skalowana tj. mnożona przez współczynnik równy 2, 4, 8.

Segmenty sa jednostkami logicznymi odpowiadającymi umieszczonym w pamięci takim strukturom jak procedura, tablice. Długość segmentu może być bardzo różna. Strony to jednostki pamięci o stałych rozmiarach 4kB. Podział pamięci na strony ułatwia proces zarządzania pamięciom. Występuje tutaj mechanizm stronicowania i segmentacji. Mechanizm segmentacji można ominąć, ustawiając dla wszystkich segmentów ten sam selektor oraz wpisując do deskryptorów segmentu ten sam adres początkowy segmentu. Wówczas adres logiczny jest równy adresowi liniowemu. Do pominięcia jest również mechanizm stronicowania, który może być włączony lub wyłączony. Przy wyłączonym adres liniowy jest równy adresowi fizycznemu.

--------------------------------------

UKŁADY WSPOMAGAJĄCE URUCHAMIANIE PROGRAMÓW

---------------------------------------

Oprócz mechanizmu pracy krokowej, który występuje również w 8086, oraz jednobajtowego rozkazu przerwania programowego, procesor 80386 ma cztery rejestry wspomagające uruchamianie programów. W rejestrach tych są zapisane 32-bitowe liniowe adresy punktów wstrzymania. Związany jest z nimi rejestr sterujący w zależności od którego procesor wykonuje określone czynności. Wstrzymanie następuje w określonym punkcie programu lub przy odwołaniu do knkretnej komórki pamięci danych.



Wyszukiwarka

Podobne podstrony:
dodatek do wykładu pierwszego negocjacje wymysł czy koniecznośc KONFLIKT nie obowiązuje na egzamin p
124341Innowacje, „Mądrość polega na tym, by nie tracić energii na przedsięwzięcia, do których
20030831183708, „Mądrość polega na tym, by nie tracić energii na przedsięwzięcia, do których s
WIERSZYK DO NAUKI PIERWSZEJ POMOCY
Dzieciobojstwo jest to przestepstwo polegajace na tym
życzenia na B.N. - W tym szczególnym dniu, KATECHEZA
Pierwsze lata wolności to żmudny proces integracji rozdartych jeszcze do niedawna zaborowymi kord
Administracja publiczna - Izdebski, administracja 8, Budżet zadaniowy- identyfikacja zadań i ile one
Prawo, pomoce na egzamin, wiedza do zdania prawa, Prawo to zespół (zbiór) norm usankcjonowanych lub
Wszystko co piękne na tym świecie
zgloszenie dziecka do klasy pierwszej w szkole obwodowej
Terroryzm -kto na tym korzysta, Terroryzm
Fizyka 37, W cia˙ach sta˙ych energie elektron˙w ograniczone s˙ dopewnych poziom˙w, kt˙re z kolei na
prokocim2006egz rozwiazany, DZIĘKUJEMY ROKOWI V ZA SPISANIE PYTAN KTÓRE BYĆ MOŻE URATOWALY NAS NA TY
instrukcja pierwszej pomocy wykaz pracownikow wyznaczonych do udzielania pierwszej pomocy
Condohotel jak wygląda inwestycja w pokój hotelowy i ile można na tym zarobić ebook demo
Wszystko na tym świecie jest przemijające i nietrwałe, Buddyzm, Teksty
Ściągi, Automatyka 3, Czujniki generacyjne zasada działania czujnika polega na tym, że zmiana szerok

więcej podobnych podstron