mazurkiewicz,Technika Cyfrowa, koprocesor arytmetyczny

background image

21

Koprocesor arytmetyczny

Jest wyodrębnioną częścią procesora, nie jest w stanie pełnić funkcji procesora

podstawowego.
Procesor jest odpowiedzialny za wykonanie programu, koprocesor śledzi

wykonanie programu i pozostaje „w gotowości”. Koprocesor posiada własną
listę rozkazów, niemożliwych do wykonania przez procesor podstawowy.

Koprocesor „wkracza do akcji”, gdy procesor podstawowy napotyka rozkaz
koprocesora.


Rozkaz jest pobierany do rejestru IR

dekodowanie rozkazu

wykrycie, że

jest to rozkaz dla koproc.

„ciało” rozkazu przesłane do koproc. (do

odpowiednika rejestru IR koproc.).


Koproc. jest pozbawiony możliwości:

- pobrania adresu czerpania danych, wysłania rezultatów (wyznaczenie adresu
efektywnego)

- pobrania rozkazu.

Koproc. wywalcza dostęp do magistrali i pobiera argumenty rozkazów, które
ma wykonać. Oba procesory „walczą” o magistralę – koproc. pracuje w trybie

„wykradania taktów”.

Rejestr znaczników – 2 bity:

00 – liczba zwykła
01 – liczba zero

10 – zawartość specjalna
11 – rejestr „pusty”

Procesory mogą pracować na liczbach stałoprzecinkowych.


Formaty liczb stałoprzecinkowych:

a) słowowy całkowity (word integer) – U2, 16 bitów

b) krótki całkowity (short integer) – U2, 32 bity
c) długi całkowity (long integer) – U2, 64 bity

d) BCD upakowany (packed BCD) – 16 bitowy BCD. BCD – 18

cyfr+znak

zajętych 80 bitów (cały rejestr)

background image

22


Formaty zmiennoprzecinkowe:

e) format krótki rzeczywisty (short real). 1 bit na znak, 8 bitów na

część wykładniczą, 24 bity na cz. ułamkową

f) format długi rzeczywisty. 11 bitów na wykładnik, 53 bity na cz.

ułamkową – lepsza precyzja

g) format rzeczywisty rozszerzony – 16 bitów na wykładnik, 64 bity

na część ułamkową – maksymalne wykorzystanie 80 bitów


Formaty danych:

znak

(0=+)

S

wykładnik

E

ułamek

F

Obiekt

0

MAX

0

Plus nieliczba (+NAN)

0

MAX

0

+

0

0<E<MAX

0

Liczba dodatnia

0

0

0

Liczba dodatnia w postaci
nieznormalizowanej

0

0

0

+0

1

0

0

-0

1

0

0

Liczba ujemna w postaci

nieznormalizowanej

1

0<E<MAX

0

Liczba ujemna

1

MAX

0

-

1

MAX

0

Minus nieliczba (-NAN)


Ograniczanie precyzji:

1) IC (infinity control) – np. możemy ustawić tylko +

(-

nie ma)

2) PC (precision control):

a. 00

24 bity

b. 10 53 bity
c. 11

64 bity

d. 01

zarezerwowane

3) RC – zaokrąglanie:

a. 00 – do liczby najbliższej
b. 01 – w dół

c. 10 – w górę
d. 11 – w kierunku zera


Przyczyny przerwania:


PE – precission – utrata dokładności

UE – underflow – niedomiar
OE – overflow – nadmiar

ZE – zero divide

background image

23

DE – denormalized operand – argument w postaci niunormowanej
IE – invalid operation – błędna operacja

Wszystkie przerwania mogą być maskowane (wyłączone) przez użytkownika

Lista rozkazów:

- przesłań (wymiany danych)
- arytmetyczne

- porównania i testowania
- wykonywanie funkcji przestępnych (new!)

- ładowanie stałych (new!)
- operacje sterujące


Lista rozkazów koprocesora – uzupełnienie:


- rozkazy przesłań

- rozkazy arytmetyczne
- porównywanie i testowanie

- funkcje przestępne – gotowe rozkazy do wyznaczania wartości funkcji, np.
trygonometrycznych:

FPTAN

FPATAN

F2XM1 (2

x

-1)

FYL2X (ylog

2

x)

FYL2XP1 (ylog

2

(x+1))


- ładowanie stałych – np. dla liczby

- określona precyzja liczby, np.:

FLD2 (0) FLDPI (

) FLDL2E (log

2

e)

FLD1 (1) FLDL2T

(log

2

10)


- sterowanie


Układy I/O (WE/WY) procesora 8051


Port szeregowy – wprowadzenie i wyprowadzenie danych szeregowo w czasie –

w kolejnych taktach zegara, kolejno „bit po bicie”. Co najmniej 3 przewody –
we, wy, GND (masa)

background image

24


bufor szyny danych – pośredniczy w wymianie danych (magazynowanie),

zamiana postaci danych z równoległej na szeregową

bufor nadajnika – tu jest gromadzone słowo do wysłania i wysyłane bit po bicie
przez linię TxD razem z informacją zabezpieczającą


sterowanie nadajnika – powoduje właściwą transmisję

TxC – przebieg taktujący pracę nadajnika

TxE i TxRDY – świadczą o gotowości nadajnika

TxE – Transmiter Empty – ustawia się później, gdy nadajnik

skończy pracę

TxRDY – ustawia się wcześniej niż TxE

bufor odbiornika – RxD – dane odbierane poprzez bufor szyny danych do
systemu


RxC – taktowanie, RxRDY – gotowość odbiornika, SYNDET - linia nadzorująca

transmisję synchroniczną

Tryby pracy:

+ tryb asynchroniczny – nie oznacza braku sygnału taktującego (jest zegar)
+ tryb synchroniczny

Asynchroniczny:

– musi być to samo taktowanie,
- dane obudowywane ramką – wymagana taka sama budowa ramek w

nadajniku i odbiorniku

bity

startu

(opcja)

bity

stopu

1

dane

1, 1

background image

25

½, 2

5,6,7,8

bitów

bit

parzystości

Między grupami danych mogą wystąpić dowolnie długie przerwy.

Strona odbiorcza szuka bitów startu

Tryb synchroniczny

Zmienia się ramka, kształt umowny

słowo
synchronizacji

dane (słowo
danych)

część
kontrolna


Słowo synchronizacji – w odbiorniku i nadajniku musi być ustawione tak samo;

jedno – monosynchron., dwa – bisynchron.
Wysłanie słowa, później sygnał, że słowo jest prawidłowo rozpoznane (zgłasza

to SYNDET)

Dla trybu synchronicznego dalej są zaczepiane dane, część kontrolna, dane, cz.
kontrolna itd.

Dla trybu bisynchronicznego: słowo synchron., dane, cz. kontrolna, słowo
synchr.2, dane, cz. kontrolna, itd.


Przez cały czas transmisji danych linia SYNDET jest aktywna – dane

przychodzą prawidłowo
Wielomiany – to, co wyjdzie przez dzielenie danych przez ten wielomian to

część kontrolna
Np. CRC16 ma wielomian x

16

+x

15

+x

2

+1

W celu zawieszenia transmisji układ wysyła słowo synchronizacji

Port szeregowy w 8051

W 8051 mamy jeden port szeregowy obsługiwany 2 rejestrami:
- SCON – rejestr sterujący, opisuje warunki pracy portu szeregowego
- SBUF – rejestr danych

SCON:

9F

9E 9D 9C 9B 9A 99 98

SM0 SM1 SM2 REN TB8 RB8 TI RI
MSB

LSB

SM0, SM1 – definiują tryb pracy portu:

background image

26

SM0 SM1 = 00 – tryb zerowy transmisji, tryb synchroniczny, znaki 8-bitowe,
taktowane f

XTAL

/12, bez części kontrolnej i słowa synchronizacji, prędkość

wysyłania/odbioru danych = 1/12 taktu zegara


SM0 SM1 = 01 – tryb 1, asynchroniczny, znaki 8-bitowe, szybkość określona

programowo (za szybkość odpowiada licznik T1), budowa ramki:

bit

startu

8 bitów

danych

bit

stopu

SM0 SM1 = 10 – tryb 2, asynchroniczny, znaki 9-bitowe, szybkość f

XTAL

/64

lub f

XTAL

/32, ramka:

TB8/RB8

bit
startu

8 bitów
danych

bit
stopu

RB8

Bity TB8/RB8 to 9. bit danych, który można ustawić jako bit parzystości


SM0 SM1 = 11 – tryb 3, asynchroniczny, znaki 9-bitowe, licznik T1 określa

prędkość transmisji

Bit SM2 – bit sterujący – akceptacja danych z potencjalnym błędem (ustawiony
na 1):

- jeśli RB8=0 to ramki odrzucane (SM2=0)

- jeśli SM2=1 – ramki akceptowane, nawet jeśli RB8=0

REN – programowe wł/wył odbiornika

Układ czasowo – licznikowy

Odmierzanie określonego odcinka czasu i sygnalizacja o tym, niezależnie od
obciążenia procesora

background image

27

- rejestr słowa sterującego – tu są wpisywane słowa określające zachowania
układu

- CLK – wejście sygnału zegarowego
- GATE – sygnalizacja upływu czasu

te linie pozwalają na programowe

sterowanie pracą licznika
- OUT


Liczniki są negatywne – zliczają „w dół” – zmniejszają swój stan o 1

2 tryby:

- liczniki binarne

- liczniki dziesiętne (w kodzie BCD)

Stałe definiujące prace liczników są 16-bitowe
Mamy 6 trybów pracy liczników


Tryby pracy liczników


Tryb 0


+ akcja jednokrotna

+ podanie nowej stałej nie powoduje zmiany w procesie odliczania (chyba, że
linia GATE się zmieni z 0 na 1)

+ przerwanie po procesie odliczania
+ linia GATE może wstrzymać odliczanie na pewien czas


Tryb 1


+ układ do generowania impulsu o określonej szerokości

+ zapisanie stałej nie powoduje automatycznego włączenia
+ włączenie powoduje przejście linii GATE z 0 na 1, wtedy na OUT pojawia się

0, co inicjuje proces zliczania
+ pod koniec linia OUT =>1 i tak pozostaje

+ tryb jednokrotny
+ linia GATE z 1 na 0 – nic się nie dzieje, z 0 na 1 (powrót) – reset licznika

+ podanie nowej stałej nie powoduje zmiany w procesie odliczania (chyba, że
linia GATE się zmieni z 0 na 1)


Tryb 2 (dzielnik częstotliwości)


+ wpisujemy stała, rusz odliczanie (niezależnie od linii GATE). Po zakończeniu
zliczania, na OUT jest 0
+ repetycja – stan 0 na OUT na 1 impuls CLK. Opisanie nowej stałej – reakcja

od nowego cyklu odliczania
+ w trakcie pracy – GATE z 1 na 0 – wstrzymanie (OUT

1), zawieszenie aż

GATE

1, wtedy wznowienie od bieżącej wartości stałej

Tryb 3 (generator fali prostokątnej – autorepetycja)

+ na podstawie sygnału na WE (CLK) jest generowany przebieg prostokątny o
innej częstotliwości. Wartość stałej/2 powoduje wyznaczenie nowego

background image

28

przebiegu. Jeśli stała jest nieparzysta – zero trwa krócej, 1 jest o jednostkę
dłuższa
+ linia GATE nie wpływa na pracę


Tryb 4 (generowanie pojedynczego impulsu strobującego)


+ odliczanie do 0 – na jeden takt – koniec

+ linia GATE jest niepotrzebna, tryb rusza po wpisaniu stałej

+ linia GATE może ingerować (jeśli zmieni się na 0) – wstrzymanie odliczania.
GATE

1 – wznowienie odliczania

+ tryb jednokrotny, bez repetycji

Tryb 5 (modyfikacja trybu 4 - inaczej się uruchamia)

+ GATE potrzebna do uruchomienia procesu (z 0 na 1)
+ jeśli GATE później przechodzi z 0 na 1 – reset


Układy czasowo – licznikowe w 8051



Wyszukiwarka

Podobne podstrony:
mazurkiewicz,Technika Cyfrowa, lista rozkazów procesora
mazurkiewicz,Technika Cyfrowa, pamięci
mazurkiewicz,Technika Cyfrowa, organizacjie komputerów
mazurkiewicz,Technika Cyfrowa, system przerwań procesora
mazurkiewicz,technika cyfrowa,cyfrowe układy scalone
mazurkiewicz,technika cyfrowa,Modemy i kodery multimedialne
Technika Cyfrowa (mazurkiewicz) -wyklady, edu, el, pwr, Technika Cyfrowa (mazurkiewicz) -wyklady
Technika cyfrowa Wykład II, Arytmetyka systemów cyfrowych cd
mazurkiewicz,Podstawy techniki cyfrowej i mikroprocesorowej I, opracowanie zagadnień
Technika cyfrowa opracowanie (Mazurkiewicz)
NOTAKI Z TECHNIKI CYFROWEJ
Laboratorium 4, Politechnika Koszalińska, III semestr, Laboratorium techniki cyfrowej

więcej podobnych podstron