peperonity.net
Welcome, guest. You are not logged in.
Log in or join for free!
 
Stay logged in
Forgot login details?

Login
Stay logged in

For free!
Get started!

Text page


sypsniux.peperonity.net

Koprocesorius Intel 8087

6. Koprocesorius Intel 8087

Koprocesorius yra skirtas mikroprocesoriaus Intel 8088 galimybi i?pltimui:
arimetini veiksm su slankiu kableliu atlikimui. Koprocesorius yra pavaldus
mikroprocesoriui ir paiame mikroprocesoriuje Intel 8088 yra atsi?velgta
koprocesoriaus buvimo galimyb per ESC komand.

Koprocesorius stebi mikroprocesoriaus imamas i? atminties vykdymui komandas ir,
jeigu eilin komanda yra koprocesoriaus komanda, tai jis j vykdo lygiagreiai
mikroprocesoriaus darbui. Tokiu bdu realiai gaunamas lygiagretus programos
vykdymas.

Kadangi vyksta lygiagretus darbas, yra btina ?io darbo sinchronizacija. Tuo tikslu
mikroprocesoriuje Intel 8088 naudojama komanda WAIT. Komanda WAIT pristabdo
mikroprocesoriaus darb, tol kol signalas TEST tampa aktyviu. Signalas TEST tampa
aktyviu, kai koprocesorius baigia vykdyti komand. Tokiu bdu galima garantuoti,
kad mikroprocesorius prats savo darb tik po to, kai koprocesorius baigs komandos vykdym.

Mikroprocesorius ir koprocesorius yra susieti tik i?ori?kai. Mikroprocesorius negali
kreiptis koprocesoriaus registrus ir atvirk?iai. Duomenimis abu procesoriai
apsikeiia tik per atmint, prie kurios jie abu turi prijim. Taiau atminties
adresavimo registrai yra tiktai mikroprocesoriuje Intel 8088, todl koprocesorius
operand atmintyje adresavimui naudojasi mikroprocesoriaus paslaugomis per
komand ESC. Sistemoje be koprocesoriaus komanda ESC yra analogi?ka komandai
NOP, taiau yra ilgiau vykdoma.

ESC komandos turi adresin informacij
, kuri saugoma adresavimo baite, su poslinkiu
arba be jo. Nors mikroprocesorius komandos ESC nevykdo ir traktuoja j kaip NOP,
taiau apskaiiuoja vykdomj adres ir kreipiasi atmint duomen skaitymui ir
ra?ymui. Jeigu adresavimo baitas nusako ne atmint, o registr, tai kreipimasis
atmint nevyksta.

Koprocesorius, pastebjs komandos ESC i? atminties pamim, toliau stebi, kada
mikroprocesorius ims i? atminties duomenis, ir duomen adresui atsidrus sisteminje
magistralje, koprocesorius j perima ir taip ?ino, kur yra atmintyje jam reikalingi
duomenys. Taigi mikroproesorius apskaiiuoja operando atmintyje adres, o
koprocesorius atlieka likusi komandos dal.

Koprocesorius nepakeiia nei vienos Intel 8088 komandos, o tiktai papildo komand
sistem nauj tip aritmetinmis operacijomis. Tokiu bdu koprocesoriaus
programavimas yra komand ESC sudarymas ir, jeigu mikroprocesoriui reikalingas
koprocesoriaus rezultatas, komandos WAIT naudojimas veiksm sinchronizavimui.

Koprocesorius turi i?plstin artimetini duomen tip rinkin, su kuriais yra
atliekamos aritmetin
s operacijos.


99


KOMPIUTERI ARCHITEKTRA

Mikroprocesorius atlieka veiksmus su baitais arba ?od?iais, traktuodamas skaiius
kaip skaiius su ?enklu arba be ?enklo, taip pat turi de?imtainius supakuotus ir
i?pakuotus skaiius.

Koprocesorius turi septynis duomen tipus, i? kuri ?e?i yra bdingi tik koprocesoriui,
t.y., j nra mikroprocesoriuje. Keturi koprocesoriaus duomen formatai yra skirti
darbui su sveikais skaiiais, vienas i? j yra i?plstinis de?imtainis formatas. Lik trys
formatai skirti veiksm su realiais skaiiais atlikimui.

6.1. Koprocesoriaus duomen formatai


1. Sveikas ?odis, dvejetainiu papildomu kodu.

s ...

15 1 0

2 baitai
?enklo bitas

2. Sveikas trumpas, dvejetainiu papildomu kodu.

s ...

31 30 1 0

4 baitai
?enklo bitas

3. Sveikas ilgas, dvejetainiu papildomu kodu.


s ... ...

63 62 1 0

8 baitai
?enklo bitas

4. Supakuotas de?imtainis i?plstas.
Vienas de?imtainis skaitmuo u?ima keturis bitus.

s x d ... d d d
16 017 1


79 72 10

10 bait
?enklo bitas
d
– de?imtainis skaitmuo;
i
s – jeigu s = 0, tai skaiius teigiamas, jeigu s = 1, tai skaiius neigiamas;
x – bitai, neturintys takos.

100

Ra?ant supakuoto de?imtainio i?plsto formato duomenis i? atminties koprocesoriaus
registr, bitai x yra neapibr?ti, o u?ra?ant toki reik?m i? registro atmint, x bitai
yra nuliniai.
A?tuoniolika de?imtaini skaitmen u?ima devynis baitus, dar vienas baitas yra
?enklo baitas (jis reikalingas ?enklo bitui), todl i? viso reikia de?imties bait.

5. Trumpas realus
8 bitai


s charakteristika mantis


31 23 0

4 baitai
?enklo bitas

Kiekvien skaii z galima i?reik?ti tokia forma:
s eil
z = (-1)
· 2 · 0, mantis , arba :
s eil
z = (-1)
· 2 · 1, mantis ;
s abiejose formose yra ?enklo bito reik?m.

Dauguma kit procesori naudoja pirmj form, kurioje naudojama 0, mantis ,
taiau Intel procesoriai naudoja antrj form: 1, mantis .

Eils diapazonas yra -127 – 127 (reik?m -128 naudojama specialioms reikmms).
Charakteristika yra „pastumta“ eil: charakteristika = eil + 7Fh , (7Fh = 127
).
10
Charakteristikos diapazonas yra 0 – 254. Procesorius naudoja charakteristik – skaii
be ?enklo, o ne eil, tam kad bt galima efektyviau atlikti skaii lyginim: lyginant
du realius skaiius u?tenka juos per?irti i? kairs de?in, ir taip efektyviai su?inoti,
kurio charakteristika yra didesn. Jeigu vieno skaiiaus charakteristika yra didesn, tai
jis akivaizd?iai yra didesnis; jeigu charakteristikos lygios, tai tikrinami i? kairs
de?in mantiss bitai. Eil, tuo tarpu, yra skaiius su ?enklu, ir lyginimas, naudojant
j, bt ma?iau efektyvus.

Normalizuotame skaiiuje mantiss sveikas skaitmuo Intel procesoriuje yra 1, todl
nereikia jo saugoti; atliekant skaiiavimus, tas 1 yra turimas „omenyje“. ?iame
formate mantis sudaro 23 dvejetainiai skaitmenys. Mantis yra trupmenin realaus
skaiiaus dalis, t.y., kablelis yra kairiau mantiss.

Atmintyje gali bti saugomi tik normalizuoti skaiiai, t.y., pavidalo:
s char - 127
(-1)
· 2 · 1, mantis

0 0 00000 000
Skaiius 0 yra i?imtinis atvejis. Nulinis skaiius yra:

31 23 0
0 -127 -127
Taiau pagal trumpo realaus format tai yra (-1) · 2 · 1,0 = 2 .
0 -127
Todl ma?iausias ?io formato skaiius yra (-1)
· 2 · 1,00..01.

23 skaitmenys



101


KOMPIUTERI ARCHITEKTRA

Taigi ma?iausias galimas formato skaiius yra:
0 0 00000 001

31 23 0
6. Ilgas realus.
11 bit


s charakteristika mantis


63 52 0

8 baitai
?enklo bitas

Mantis sudaro 52 dvejetainiai skaitmenys. Mantis yra trupmenin realaus skaiiaus
dalis, t.y., kablelis yra kairiau mantiss.
Charakteristika yra eil, perstumta per 3FFh, t.y., eil = charakteristika – 3FFh, o
chrakteristika = eil + 3FFh , (3FFh = 1023
)
10


7. Vidinis realus
15 bit


s charakteristika I mantis


79 64 63

10 bait
?enklo bitas

Laikinas realus formatas yra skirtas saugoti reik?mms, kurioms reikia dar didesnio
tikslumo, negu gali u?tikrinti ilgas realus formatas. Didesnis tikslumas pasiekiamas
turint galimyb keisti mantiss sveik skaii, kuris dabar jau nebtinai yra 1 pagal
nutyljim, bet gali bti ir 0. Sveikas mantiss skaiius yra saugomas bite I . Taiau
tokios reik?ms nra normalizuotos, t.y., yra denoramlizuotos, todl jos negali bti
saugomos atmintyje, o tik koprocesoriaus registruose.

Charakteristika yra eil, perstumta per 3FFFh = 16383
, t.y., eil = charakteristika –
10
3FFFh, o charakteristika = eil + 3FFFh .

63-ias bitas I yra skirtas mantiss sveiko bito saugojimui, o kablelis suprantamas kaip
esantis tarp 63-io bito ir prie? 62- bit. Kaip ir mikroprocesoriaus atveju, taip ir
koprocesoriaus atveju, atmintyje operando duomenys saugomi taip, kad ma?esni
adres dalyje yra ma?esns bit reik?ms. ?enklo bitas visada yra operando lauke su
vyriausio baito adresu.




102

Sveiko ?od?io formatas yra identi?kas mikroprocesoriaus formatui: ?odiniam formatui
su ?enklu, ir yra apibr?iamas programoje operatoriumi DW (Define Word). Tokio
formato diapazonas yra -32768 – 32767.

Sveik trump format apibr?ia operatorius DD (Define Double Word). Jo reik?ms
31 31
yra keturi bait lauke, diapazone: -2
– 2 -1 . DD pagalba galima apibr?ti por:
segmentas : poslinkis .

Jeigu operandas yra adresas, tai pagal operatori DD asembleris sukuria por
segmentas : poslinkis. Jeigu operandas yra reik?m, tai operandas yra trumpo sveiko
formatas.

Skaii sveiko ilgo (keturgubas ?odis) formato apibr?imui naudojamas operatorius
63 63
DQ (Define Quadruple). Tokio formato skaii diapazonas yra -2
– 2 -1.
Operatorius DQ gali apibr?ti konstant .

Operatoriais DB (Define Byte), DW (Define Word), DD (Define Double word), DQ
(Define Quadruple) galima rezervuoti atitinkamo dyd?io laukus, asembleriu po j
nurod?ius ?. Panaudojus dar ir operatori DUP (DUPlicate), laukai yra dublikuojami.

Skaii supakuotas de?imtainis i?plstinis formatas yra analogi?kas
mikroprocesoriaus supakuotam de?imtainiui formatui, tik veiksmai i? karto atliekami
su a?tuoniolika skaitmen devyniuose ...
Next part ►


This page:




Help/FAQ | Terms | Imprint
Home People Pictures Videos Sites Blogs Chat
Top
.