procesor 8086

background image

PROCESOR

PROCESOR

8086

8086

Państwowa Wyższa Szkoła Zawodowa w Elblągu

Technika Cyfrowa i
Mikrokomputery

dr inż. Stanisław Witkowski

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

HISTORIA

Procesor 8086 został zaprezentowany przez firmę INTEL
już w 1976 r. Był pierwszym procesorem 16-bitowym o
wielkiej na ówczesne czasy przestrzeni adresowej 1MB. W
dziesięć lat później, kiedy rynek został opanowany przez 8-
bitowe systemy PC, INTEL zaprojektował procesor 8088
będący odpowiednikiem 8086, ale mogący współpracować
z magistralami 8-bitowymi. Ten hybrydowy procesor
umożliwiał pracę oprogramowania wykorzystującego
rejestry 16-bitowe, mogące mieć dostęp do pamięci do
1MB i to za cenę systemu 8-bitowego. Procesor 8088 stał
się sercem systemów PC i PC XT. Częstotliwość zegara
wynosiła pierwszych modelach 4.77MHz późniejszych
4.77/8MHz, a w ostatnich modelach 10MHz.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Architektura procesora 8086

Ze struktury mikroprocesora 8086 daje się
wyodrębnić dwa pracujące w dużej mierze
niezależne układy:

wykonawczy EU
sterowania magistralą B/U

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

REJ ESTR

ZNACZNIKÓW

REJ ESTR

BUFOROWY

ALU

AH
BH

CH
DH

AL
BL

CL
DL

SP

BP

DI
SI

CS

DS
SS

ES

ID

SUMATOR

ADRES 20 BIT

16 BIT

MAGISTRALA

ADRESOWA

8 BIT

UKŁAD

STEROWANIA

REJESTRY

WEWNĘTRZNE

REJ EST R

INSTRUKCJ I

UKŁAD

STEROWANIA

DANE 16 BIT

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Mikroprocesor 8086 można ustawić do pracy w
jednej z dwóch konfiguracji:

1.

minimalnej

– przewidziana dla systemów

jednoprocesorowych, w której sygnały sterujące
magistralą zewnętrzną generuje układ B/U

2.

maksymalnej

– dla systemów

wieloprocesorowych w tym przypadku sygnały
sterowania systemem generuje wykorzystując
sygnały procesora zewnętrzny sterownik
magistrali (8288)

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Układ wykonawczy

Głównym

zadaniem

jest

dekodowanie

oraz

wykonywanie kolejnych rozkazów wprowadzanych przez
układ sterownia magistralą do tzw. kolejki rozkazów.
Wykonywanie rozkazów odbywa się przy udziale jednostki
arytmetyczno-logicznej (ALU), związanego z nią rejestru
znaczników arytmetycznych ogólnego przeznaczenia oraz
niedostępnych programowo rejestrów roboczych tzw.
chwilowych. Układ wykonawczy komunikuje się z
otoczeniem zewnętrznym za pośrednictwem układu
sterowania magistralą.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Układ sterowania magistralą

Układ ten realizuje wszystkie operacje dotyczące
zewnętrznej magistrali procesora takie, jak:

• komunikacja z pamięcią operacyjną
• wymiana danych z urządzeniami zewnętrznymi

Układ sterowania magistralą zawiera sumator oraz rejestry
służące do obliczania 20-bitowego adresu fizycznego. Dane
przesyłane są po 16-bitowej magistrali danych. Magistrala
adresowa jest 20-bitowa co pozwala na bezpośrednie
adresowanie za jej pośrednictwem pamięci operacyjnej
o pojemności do 1MB.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Jednostka

arytmetyczno-logiczna

(ALU

)

Jest podstawowym elementem układu wykonawczego
mikroprocesora. W typowych konstrukcjach realizuje ona
podstawowe operacje arytmetyczne takie, jak: dodawanie i
odejmowanie słów danych, ponadto realizuje także
operacje logicznej sumy iloczynu i sumy modulo 2. Często
realizuje ona większość funkcji procesora np. zliczanie. Jest
to o tyle korzystne, że ALU zawiera układy realizujące te
funkcje.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Rejestr

Są to grupy przerzutników służące do przechowywania

informacji. Często pewne rejestry procesora są związane z
określonymi operacjami. Wykonanie niektórych rozkazów jest
związane z określonymi rejestrami. Rejestry są na ogół szybsze
niż układy pamięci programu lub danych. W porównaniu z liczbą
komórek pamięci operacyjnej, ich ilość jest niewielka i w części
adresowej rozkazu niewielka liczba bitów jest potrzebna do
wskazania rejestrów. Główne użycie rejestrów polega na
przechowywaniu adresów lub danych przed lub w trakcie ich
przetwarzania. Różne mikroprocesory zawierają różną liczbę
rejestrów. Rejestry mogą być używane:

• do modyfikacji adresów
• do zapamiętywanie adresów powrotu spod programów
• jako liczniki rozkazów
• jako akumulatory pomocnicze
• jako małe pamięci notatnikowe

Sposób ich użycia istotnie zależy od architektury mikroprocesora.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Dostępne programowo rejestry procesora 8086

Rejestry te są wykorzystywane jako rejestry uniwersalne do

przechowywania

danych

i

wykonywania

różnych

operacji

arytmetycznych bądź logicznych, ale jednocześnie pełnią pewne

funkcje specjalne odpowiadające ich nazwą.
Rejestry podstawowe:

• AX – akumulator
• BX – rejestr bazowy
• CX – rejestr zliczający
• DX – rejestr danych

Wszystkie te rejestry można traktować jako parę rejestrów 8-

bitowych z niezależnym dostępem do części mniej lub bardziej
znaczących. Poszczególne rejestry przyjmują wówczas nazwę: AL, AH,
BL, BH, CL, Ch, DL, DH. Taka organizacja rejestrów pozwala na
wykonywanie w prosty sposób zarówno operacji 8-bitowych, jak i
16-bitowych. Dla wielu rozkazów szczególną funkcję pełni akumulator.
Rozkazy wykorzystujące rejestr AX (w przeciwieństwie do rozkazów
wykorzystujących pozostałe rejestry) mają zwarty kod, a czas ich
wykonania jest najkrótszy.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Rejestry wskaźnikowe i indeksowe

Procesor 8086 posiada 2 rejestry wskaźnikowe i 2 indeksowe.
Wszystkie są rejestrami 16-bitowymi. Mogą być wykorzystane jako
argumenty większości rozkazów arytmetycznych i
logicznych.

SP

– wskaźnik stosu – rejestr wskaźnikowy stosowany do

adresowania danych w obrębie wydzielonego obszaru pamięci
zwanego

segmentem

stosu.

Jest

modyfikowany

przy

standardowych operacjach prowadzonych z użyciem stosu.

BP

– wskaźnik bazy – podobnie jak rejestr bazowy BX może być

źródłem jednego ze składników adresu efektywnego. Bywa też
często wykorzystywany podczas operacji niestandardowych np.
przy pobieraniu parametrów przekazywanych przez stos.

DI

– rejestr indeksowy przeznaczenia

SI

– rejestr indeksowy źródła

Oba rejestry indeksowe mogą wchodzić w skład sumy dającej w
wyniku adres efektywny z tym, że po wykonaniu rozkazu
wykorzystującego

indeksowanie

adresacji

podlegają

automodyfikacji (zwiększenia lub zmniejszenia o 1 lub 2).

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Rejestry specjalnego przeznaczenia

1. Rejestry segmentowe

Wykorzystywane są do adresowania pamięci operacyjnej.

Pamięć o maksymalnej wielkości 1MB jest dzielona na

logiczne segmenty nie większe niż 64 kB. Adresy wewnątrz

segmentu są co najmniej 2 bitowe i mogą być generowane

przez 16-bitowe rejestry SI, BP, DI, SP. Rejestry

segmentowe zawierają adresy początkowe segmentów.

CS

– rejestr segmentowy programu wskazujący z

którego aktualnie pobierane są kolejne rozkazy do

wykonania

DS

– rejestr segmentowy stosu wskazujący segment

w którym są zapamiętywane zmienne używane

w programie

SS

– rejestr segmentowy stosu wskazujący segment

pamięci, który zdefiniowany jest jako stos

ES

– rejestr segmentowy dodatkowy wskazujący

dodatkowy segment danych

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

2. Licznik rozkazów

Rejestr IP – łącznie z rejestrem segmentowym CS
adresuje kolejne rozkazy przeznaczone do
wykonania. IP wskazuje adres względem
początku segmentu programu tzw. offset. Jako
rejestr 16-bitowy może przyjąć maksymalną
wartość 216-1. W tej sytuacji dodanie 1 zeruje
cały rejestr, który wskazuje wtedy początek
segmentu programu. mówimy wtedy o tzw. cyklu
zamkniętym.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

3.Znaczniki

Każdy znacznik jest bitem w rejestrze znaczników, który
wskazuje czy określony stan wystąpił. Znaczniki mogą być
wykorzystywane zarówno przez procesor jak i programistę
na dwa sposoby:

• ustawienie znacznika w stan 1 logicznej lub jego

wyzerowanie celem zapamiętania określonego stanu
zaistniałego po wykonaniu rozkazu

• testowanie znacznika celem umożliwienia podjęcia

decyzji o sposobie dalszego przetwarzania danych.

Znaczniki przechowywane są w rejestrze znaczników

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

x – bit niewykorzystywany

Mikroprocesor

8086

ma

9

znaczników

przypisanych poszczególnym bitom w rejestrze
flag w sposób jak na rysunku.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Znaczniki

stanu

informujące

o

pewnych

cechach

otrzymanego wyniku po wykonaniu operacji arytmetycznej

lub logicznej. w zależności od stanu pojedynczych

znaczników lub ich logicznej kombinacji można za pomocą

właściwych

rozkazów

skoków

zmienić

przebieg

realizowanego programu.

CF

– wskaźnik przeniesienia

PF

– wskaźnik parzystości

AC

– przeniesienie pomocnicze

ZF

– wskaźnik 0

SF

– wskaźnik znaku

VF

– wskaźnik przepełnienia (nadmiaru)

Wskaźniki

kontrolne

ustawione

lub

zerowane

programowo celem wymuszenia odpowiedniego sposobu

pracy procesora.

TF

– praca krokowa

IF

– zezwolenie na przerwanie

DF

– znacznik kierunku – oznacza inkrementację lub

dekrementację rejestru indeksowego

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Wyznaczanie adresu fizycznego pamięci z wyk. rejestru segmentowego

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Ogólne reguły ustawiania i zerowania poszczególnych

znaczników

zilustruje

prostym

przykładem

celem

uproszczenia zapisu przykład będzie dotyczył działania na

bajtach. Wszystkie uwagi dotyczące bitu znaku (najbardziej

znaczącego bitu) odnoszą się do bitu o wadze 27 dla działań

wykonywanych na bajtach oraz bitu o wadze 215 dla

działań

na słowach 16-bitowych.

Przykład

1101110

+

0010100

1|0010010

CF = 1
PF = 1
AC = 1
ZF = 0
SF = 0
VF = 1

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

•CF

– znacznik przeniesienia przyjmuje wartość 1 wówczas, gdy

na skutek wykonywanego działania nastąpiło przeniesienie z bitu

najbardziej znaczącego na zewnątrz lub też nastąpiła pożyczka

z zewnątrz do bitu najbardziej znaczącego np. przy odejmowaniu.

w przeciwnym wypadku znacznik jest zerowany.

•PF

– przyjmuje wartość 1 wówczas, gdy w wyniku wykonanego

działania liczba bitów w najmniej znaczącym bajcie wyników jest

parzysta. Znacznik jest zerowany, gdy liczba jest nieparzysta.

•AC

– przyjmuje wartość 1 wówczas, gdy nastąpiło przeniesienie

z bitu 3 na 4 lub pożyczka z 4 na 3. W przeciwnym wypadku jest

0. Wskaźnik AC jest wykorzystywany przy działaniach na liczbach

w kodzie BCD.

•ZF

– przyjmuje wartość 1 wówczas, gdy wynik działania jest = 0

•SF

- przyjmuje wartość 1 wówczas, gdy najbardziej znaczący bit

w otrzymanym wyniku jest = 1. Stan znacznika SF jest zatem

zgodny z bitem znaku.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

•VF

- przyjmuje wartość 1 wówczas, gdy przy wykonaniu

określonego działania wystąpiło przeniesienie na bit znaku (lub

też z tego bitu została pobrana pożyczka), ale nie wystąpiło

przeniesieni (pożyczka) z bitu znaku. Stan znacznika VF jest

istotny podczas działań na liczbach ze znakiem.

•TF

– ustawiony w stan 1 powoduje wprowadzenie procesora

w tryb pracy umożliwiający po każdym wykonanym rozkazie

wygenerowanie przerwania i przejście do specjalnych procedur

obsługi np. programów uruchomionych. Wyzerowanie wskaźnika

powoduje powrót do normalnej pracy.

•IF

– ustawiony w stan 1 powoduje odblokowanie systemu

przerwań procesora. Zewnętrzne przerwania maskowane mogą

przerwać

realizację

aktualnie

wykonywanego

programu.

Wyzerowanie znacznika powoduje, ze przerwania są ignorowane.

•DF

– ustawiony w stan 1 powoduje, że przetwarzanie łańcuchów

słów odbywa się po rosnących adresach (inkrementacja).

Zawartość rejestru indeksowego jest zwiększana, jeżeli ustawimy

0 po adresach malejących.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Cykl pracy procesora 8086

Wykonanie kolejnych rozkazów związane jest z sekwencją

pewnych stałych kroków zwanych fazami cyklu. W

zależności od rodzaju rozkazu mogą wystąpić maksymalnie

4 fazy cyklu:

• pobrania

– rozkaz zostaje pobrany z pamięci

operacyjnej do procesora

• odczyt

– jeżeli rozkaz wymaga argumentu z pamięci

operacyjnej to zostaje obliczany jego adres, a

następnie jest odczytywany i wprowadzany do

procesora

• wykonanie

– operacja zdefiniowana rozkazem jest

wykonywana

• zapis

– jeżeli wynik operacji ma być umieszczony

w pamięci operacyjnej to zostaje obliczony adres

i wykonany zapis pamięci.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Ponieważ układ wykonawczy oraz układ sterowania magistralą

mogą pracować niezależnie, jest możliwe równoczesne

wykonywanie dwóch faz należących do cykli kolejnych rozkazów.

Zwiększa to szybkość pracy całego systemu. Gdy w kolejce

rozkazu są wolne co najmniej 2 bity, a układ wykonawczy nie

żąda od układu sterującego magistralą dostępu do magistrali, to

układ sterowania magistralą wykonuje samodzielnie cykle

pobrania uzupełniając kolejnymi bajtami kolejkę rozkazów.

Operacja ta nazywana jest pobraniem wstępnym i może

przebiegać równocześnie z fazą wykonania realizowaną

jednocześnie. Jeżeli układ wykonawczy zażąda dostępu do

magistrali w czasie, gdy układ sterowania magistralą obsługuje

fazę pobrania, to najpierw zostaje zakończona faza pobrania,

a dopiero potem uwzględnione zostanie żądanie układu

wykonawczego. W przypadku zdekodowania przez układ

wykonawczy rozkazu skoku, rozkazy z kolejki zostaną usunięte.

Na ich miejsce pobrane zostaną nowe spod adresu będącego

argumentem zdekodowanego rozkazu. W przypadku tego

procesora tylko co najwyżej jeden argument rozkazu może być

odczytywany z pamięci operacyjnej.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Hierarchia pamięci

1. rejestr wewnętrzny procesora

2. pamięci podręczne Cachel

3. pamięć operacyjna

4. pamięci dyskowe

5. pamięci optyczne CD, DVD

6. pamięci taśmowe

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Piramida pamięci w systemie komputera jest ściśle zależna
od typów pamięci wg ich szybkości, pojemności oraz cen.
Począwszy od najszybszych, ale zarazem najmniejszych
i najkosztowniejszych, a na powolnych, dużych i tanich
kończąc. Pierwszą szczytową warstwę stanowi pamięć
rejestrowa, która to jest pamięcią najszybszą, jednocześnie
najmniejszą. Liczba rejestrów ogranicza się od kilku do
kilkunastu. Najniższe warstwy w piramidzie stanowią
pamięci taśmowe, często w postaci robotów kasetowych,
które mają praktycznie nieograniczoną pojemność

.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

Rejestry procesora.

Wszelkie obliczenia przez komputer dokonywane są

w pamięci procesora. Ponieważ często obliczenia te są
skomplikowane, pamięć procesora podzieloną na rejestry
przyporządkowujące każdemu z nich inne zadania:

1. licznik rozkazów,

który zawiera adres następnego

rozkazu do wykonania w cyklu rozkazy

2. wskaźnik stosu

– przechowuje adres grzbietu stosu

uaktualniany automatycznie przez rozkazy wywołania
i powrotu spod programu

3. wskaźnik danych

– zawiera adres argumentu operacji

przechowywanego w pamięci operacyjnej komputera

4. akumulator

– przechowuje jeden z argumentów

wykonywanego rozkazu i mogą być również miejscem
zapamiętania

wyniku

operacji

logicznych

lub

arytmetycznych.

background image

Technika Cyfrowa i Mikrokomputery

Technika Cyfrowa i Mikrokomputery

DZIĘKUJĘ ZA

UWAGĘ !!!


Document Outline


Wyszukiwarka

Podobne podstrony:
Procesor 8086
Procesor 8086, POLITECHNIKA wydział E kierunek I, ARCHITEKTURA SYSTEMOW KOMPUTEROWYCH
Procesor 8086
architektura procesora [1] materialy 8086 1
MIKROPRO, Mikroprocesory 8086 i 8088 nale˙˙ do jednych z pierwszych 16-to bitowych procesor˙w. Ich l
W4 Proces wytwórczy oprogramowania
WEWNĘTRZNE PROCESY RZEŹBIĄCE ZIEMIE
Proces tworzenia oprogramowania
Proces pielęgnowania Dokumentacja procesu
19 Mikroinżynieria przestrzenna procesy technologiczne,
4 socjalizacja jako podstawowy proces spoeczny
modelowanie procesˇw transportowych
Proces wdrazania i monitoringu strategii rozwoju

więcej podobnych podstron