Vvedenie v mikroprocessor 80386
---------------------------------------------------------------
Korrektura: Oleg Martynenko
---------------------------------------------------------------
SODERZHANIE
OSNOVNYE HARAKTERISTIKI 3
1.1 32-bitnaya arhitektura 3
1.2 Vysokoproizvoditel'naya tehnologiya 4
1.3 Obespechenie raboty s virtual'noj pamyat'yu 5
1.4 Mehanizmy zashchity 6
1.5 Rasshirennye vozmozhnosti otladki 6
1.6 Sovmestimost' s mikroprocessorami 8086/80286 6
1.7 Zaklyuchenie 7
PRIKLADNAYA ARHITEKTURA 7
2.1 Registry 7
2.1.1 Obshchie registry 7
2.1.2 Flagi i schetchik komand 8
2.1.3 Registry matematicheskogo soprocessora 8
2.2 Pamyat' i logicheskaya adresaciya 9
2.2.1 Segmenty 9
2.2.2 Logicheskie adresa 10
2.2.3 Registry segmentov i deskriptorov 10
2.2.4 Sposoby adresacii 11
2.3 Tipy dannyh i komandy 12
2.3.1 Glavnye tipy dannyh 12
2.3.2 Tipy dannyh matematicheskogo soprocessora 14
2.3.3 Drugie komandy 15
2.3.3.1 Komandy operacij so stekom 15
2.3.3.2 Komandy peredachi upravleniya 15
2.3.3.3 Dopolnitel'nye komandy 16
SISTEMNAYA ARHITEKTURA 16
3.1 Sistemnye registry 16
3.2 Obespechenie mnogozadachnyh operacionnyh sistem 17
3.2.1 Segment sostoyaniya zadachi 18
3.2.2 Smena zadachi 18
3.3 Adresaciya 19
3.3.1 Princip translyacii adresa 19
3.3.2 Segmenty 20
3.3.3 Stranicy 22
3.3.4 Virtual'naya pamyat' 23
3.4 Zashchita 25
3.4.1 Privilegii 25
3.4.2 Privilegirovannye komandy 26
3.4.3 Zashchita segmentov 26
3.4.4 Zashchita stranic 27
3.5 Sistemnye vyzovy 27
3.6 Preryvaniya i osobye situacii 29
3.6.1 Tablica deskriptorov 29
3.6.2 Osobye sluchai i registry otladki 30
3.7 Vvod/vyvod 31
ARHITEKTURNAYA SOVMESTIMOSTX 32
4.1 Sovmestimost' s 80286 32
4.2 Rezhimy real'nogo i virtual'nogo 8086 32
APPARATURNAYA REALIZACIYA 34
5.1 Vnutrennyaya struktura 34
5.2 Vneshnij interfejs 35
5.2.1 Sinhrosignal 36
5.2.2 SHiny dannyh i adresa 36
5.2.3 Opredelenie ciklov shiny 36
5.2.4 Upravlenie ciklom shiny 37
5.2.5 Dinamicheskoe upravlenie razryadnost' shiny 37
5.2.6 Status processora i upravlenie 38
5.2.7 Upravlenie soprocessorom 38
SVEDENIYA O FUNKCIONIROVANII 39
6.1 Vvedenie 39
6.2 Opisanie signalov 40
6.2.1 Vvedenie 40
6.2.2 Sinhrosignal (CLK2) 40
6.2.3 SHina dannyh (D0-D31) 40
6.2.4 SHina adresa (BE0#-BE3#, A2-A31) 40
6.2.5 Signaly opredeleniya tipa cikla shiny 42
6.2.6 Signaly upravleniya shinoj 43
6.2.6.1 Vvedenie 43
6.2.6.2 Strob adresa (ADS#) 43
6.2.6.3 Signal podtverzhdeniya (READY#) 43
6.2.6.4 Zapros sleduyushchego adresa (NA#) 43
6.2.6.5 Ukazatel' 16-razryadnoj shiny (BS16#) 43
6.2.7 Signaly arbitrazha shiny 44
6.2.7.1 Vvedenie 44
6.2.7.2 Zaprosy na zahvat shiny (HOLD) 44
6.2.7.3 Podtverzhdenie zahvata shiny (HLDA) 44
6.2.8 Signaly interfejsa s soprocessorom 44
6.2.8.1 Vvedenie 44
6.2.8.2 Zapros soprocessora (PEREQ) 45
6.2.8.3 Soprocessor zanyat (BUSY#) 45
6.2.8.4 Oshibka soprocessora (ERROR#) 45
6.2.9 Signaly preryvaniya 46
6.2.9.1 Vvedenie 46
6.2.9.2 Maskiruemyj zapros preryvaniya (INTR) 46
6.2.9.3 Nemaskiruemyj zapros preryvaniya (NMI) 46
6.2.9.4 Signal sbrosa (ustanovki v ishodnoe sostoyanie){RESET} 46
6.2.10 Spisok signalov 47
6.3 Mehanizm obmena po shine 49
6.3.1 Vvedenie 49
6.3.2 Prostranstva pamyati i vvoda/vyvoda 50
6.3.3 Organizaciya pamyati i vvoda/vyvoda 50
6.3.4 Izmenyaemyj razmer shiny dannyh 51
6.3.5 Svyaz' s 32 i 16 razryadnym ustrojstvami pamyati 52
6.3.6 Vyravnivanie operandov 54
6.4 Opisanie funkcionirovaniya shiny 54
6.4.1 Vvedenie 54
6.4.2 Konvejernaya adresaciya 55
6.4.3 Cikly chteniya i zapisi 56
6.4.3.1 Vvedenie 56
6.4.3.2 Nekonvejernaya adresaciya 57
6.4.3.3 Rezhim nekonvejernoj adresacii pri izmenenii razmera shiny dannyh 59
6.4.3.4 Konvejernaya adresaciya 60
6.4.3.5 Inicializaciya i podderzhanie rezhima konvejernoj adresacii 62
6.4.3.6 Konvejernaya adresaciya pri izmenenii razmera shiny dannyh 63
6.4.4 Cikly podtverzhdeniya preryvaniya(INTA) 64
6.4.5 Cikl indikacii ostanova 65
6.4.6 Cikl indikacii vyklyucheniya 65
6.5 Dopolnitel'nye svedeniya o funkcionirovanii 65
6.6.1 Vhod i vyhod v/iz sostoyaniya podtverzhdeniya zahvata shiny 65
6.6.2 Sbros v sostoyanii podtverzhdeniya zahvata shiny 66
6.6.3 Funkcionirovanie shiny v techenie i posle dejstviya signala RESET 66
6.7 Identifikatory tipa i modifikacii 67
OSNOVNYE HARAKTERISTIKI
Mikroprocessor 80386 yavlyaetsya vysokoproizvoditel'nym 32-bitnym
processorom, prednaznachennym dlya postroeniya naibolee sovershennyh
vychislitel'nyh sistem segodnyashnego i zavtrashnego dnya. Stancii
SAPR, graficheskie sistemy s vysokoj razreshayushchej sposobnost'yu,
izdatel'skoe delo, avtomatizaciya kontrolya proizvodstva - vot te
oblasti, gde segodnya mozhet byt' primenen 80386. Primeneniya
zavtrashnego dnya skoree budut ogranicheny voobrazheniem razrabotchikov
sistem, chem vychislitel'noj moshchnost'yu i vozmozhnostyami 80386.
Mikroprocessor 80386 daet razrabotchiku sistem bol'shoe chislo novyh
i effektivnyh vozmozhnostej, vklyuchaya proizvoditel'nost' ot 3 do 4
million operacij v sekundu, polnuyu 32-bitnuyu arhitekturu, 4
gigabitnoe (2 bajt) fizicheskoe adresnoe prostranstvo i vnutrennee
obespechenie raboty so stranichnoj virtual'noj pamyat'yu. Nesmotrya na
vvedenie v nego poslednih dostizhenij mikroprocessornoj tehniki,
80386 sohranyaet sovmestimost' po ob容kt nomu kodu s programmnym
obespecheniem, v bol'shom kolichestve napisannym dlya ego
predshestvennikov, 8086 i 80286. Osobyj interes predstavlyaet takoe
svojstvo 80386, kak virtual'naya mashina, kotoroe pozvolyaet 80386
pereklyuchat'sya v vypolnenii programm, upravlyaemyh razlichnymi
operacionnymi sistemami, naprimer, UNIX i MS-DOS. |to svojstvo
pozvolyaet proizvoditelyam original'nyh sistem neposredstvenno
vvodit' prikladnoe
programmnoe obespechenie dlya 16-bitnyh mashin v sisteme na baze
32-bitnyh mikroprocessorov. Ob容dinyaya v sebe proizvoditel'nost'
supermini |VM i nizkuyu stoimost' i funkcional'nuyu gibkost'
mikroprocessora, 80386 mozhet otkryt' novye rynki dlya
,(*`./`.f%aa.`-ke sistem. Primeneniya, nedopustimye prezhde iz-za
nevysokogo bystrodejstviya mikroprocessorov ili ne ekonomnosti
ispol'zovaniya supermini |VM, stali teper' prakticheski osushchestvimy
blagodarya 80386. Takie novejshie primeneniya, kak mashinnoe zrenie,
raspoznavanie rechi, intellektual'nye raboty i ekspertnye sistemy,
byvshie do nedavnego vremeni v osnovnom na stadii eksperimenta,
teper' mogut byt' predlozheny na rynke. Dlya togo, chtoby
udovletvorit' trebovaniyam budushchih primenenij, malo imet' 32-bitnye
registry, komandy i shiny. |ti osnovnye svojstva yavlyayutsya lish'
otpravnoj tochkoj dlya 80386. V nizhesleduyushchih razdelah v obshchih
chertah budet rassmotrena 32-bitnaya arhitektura 80386, obladayushchaya
takimi novymi dopolnitel'nymi svojstvami, kak:
- vysokoproizvoditel'naya tehnologiya,
- obespechenie raboty s virtual'noj pamyat'yu,
- mehanizmy zashchity,
- rasshirennoe otladochnoe obespechenie,
- sovmestimost' po ob容ktnomu kodu s 8086/80286
1.1 32-bitnaya arhitektura
32-bitnaya arhitektura 80386 obespechivaet programmnye resursy,
neobhodimye dlya podderzhki "bol'shih " sistem, harakterizuemyh
operaciyami s bol'shimi chislami, bol'shimi strukturami dannyh,
bol'shimi programmami (ili bol'shim chislom programm) i t.p.
Fizicheskoe adresnoe prostranstvo 80386 sostoit iz 2 bajt ili 4
Gbajt; ego logicheskoe adresnoe prostranstvo sostoit iz 2 bajt ili
64 terabajt (Tbajt). Vosem' 32-bitnyh obshchih registrov 80386 mogut
byt' vzaimozamenyaemo ispol'zovany kak operandy komand i kak
peremennye razlichnyh sposobov adresacii. Tipy dannyh vklyuchayut v
sebya 8, 16 ili 32 bitnye celye i poryadkovye, upakovannye i
neupakovannye desyatichnye, ukazateli, stroki bit, bajtov, slov i
dvojnyh slov. Mikroprocessor 80386 imeet polnuyu sistemu komand dlya
operacij nad etimi tipami dannyh, a takzhe dlya upravleniya
vypolneniem programm. Sposoby adresacii 80386 obespechivayut
effektivnyj dostup k elementam standartnyh struktur dannyh:
massivov, zapisej, massivov zapisej i zapisej, soderzhashchih massivy.
1.2 Vysokoproizvoditel'naya tehnologiya
32-bitnaya arhitektura ne garantiruet vysokoj
proizvoditel'nosti. Realizaciya potenciala arhitektury trebuet
novejshej mikroelektronnoj tehnologii, tochnogo razdeleniya funkcij i
vnimaniya k vneshnim operaciyam kristalla, v osobennosti k
vzaimodejstviyu processora s pamyat'yu. Vklyuchenie etih svojstv
obespechivaet 80386 samuyu vysokuyu proizvoditel'nost' po sravneniyu s
lyubym drugim sushchestvuyushchim mikroprocessorom.
Mikroprocessor 80386 realizovan s pomoshch'yu tehnologii firmy
INTEL CH MOSIII - tehnologicheskogo processa, ob容dinyayushchego v sebe
vozmozhnosti vysokogo bystrodejstviya tehnologii HMOS s malym
potrebleniem tehnologii KMOP. Ispol'zovanie geometrii 1,5 mkm i
sloev metallizacii daet 80386 bolee 275000 tranzistorov na
kristalle. Sejchas vypuskayutsya oba varianta 80386, rabotayushchih na
chastote I2 i I6 MGc bez sostoyanij ozhidaniya, prichem variant 80386
na 16 MGc obespechivaet skorost' raboty 3-4 milliona operacij v
sekundu.
Mikroprocessor 80386 razdelen vnutri na 6 avtonomno i
parallel'no rabotayushchih blokov s sootvetstvuyushchej sinhronizaciej.
Vse vnutrennie shiny, soedinyayushchie eti bloki, imeyut razryadnost' 32
bit. Konvejernaya organizaciya funkcional'nyh blokov v 80386
dopuskaet vremennoe nalozhenie vypolneniya razlichnyh stadij komandy
i pozvolyaet odnovremenno vypolnyat' neskol'ko operacij. Krome
konvejernoj obrabotki vseh komand, v 80386 vypolnenie ryada vazhnyh
./%` f() osushchestvlyaetsya special'nymi apparatnymi uzlami. Blok
umnozheniya/deleniya 80386 mozhet vypolnyat' 32-bitnoe umnozhenie za 9-
41 takt sinhronizacii, v zavisimosti ot chisla znachashchih cifr; on
mozhet razdelit' 32-bitnye operandy za 38 taktov (v sluchae chisel
bez znakov) ili za 43 takta (v sluchae chisel so znakami). Registr
gruppovogo sdviga 80386 mozhet za odin takt sdvigat' ot 1 do 64
bit.
Vo mnogih 32-bitnyh primeneniyah, v takih kak, naprimer,
pereprogrammiruemye |VM kollektivnogo pol'zovaniya, trebuetsya
preobrazovanie logicheskih adresov v fizicheskie i zashchita pamyati s
pomoshch'yu bloka upravleniya pamyat'yu, BUP. V drugih primeneniyah,
naprimer, v sistemah upravleniya v real'nom vremeni, eto ne
trebuetsya. Dlya bol'shinstva mikroprocessornyh sistem s 32-bitnoj
arhitekturoj takoe razdelenie funkcij realizuetsya putem
ispol'zovaniya dopolnitel'nogo korpusa bloka upravleniya pamyat'yu. V
otlichie ot nih bup 80386 vhodit v sostav processora kak odin iz
dvuh funkcional'nyh blokov konvejernoj struktury. Operacionnaya
sistema, upravlyayushchaya rabotoj bup, pozvolyaet, naprimer, sisteme
real'nogo vremeni obhodit' stranichnoe preobrazovanie. Vvedenie
upravleniya pamyat'yu vnutr' kristalla daet povyshennuyu
proizvoditel'nost' v sistemah, ispol'zuyushchih bup i ne privodit k ee
snizheniyu v teh sistemah, kotorye BUP ne ispol'zuyut. Takie
harakteristiki stali vozmozhny blagodarya snizheniyu zaderzhek
rasprostraneniya, ispol'zovaniyu vnutrennego poluperiodnogo
taktirovaniya i parallel'noj raboty.
Eshche odno svojstvo, neobhodimoe v odnih primeneniyah i ne
trebuyushcheesya v drugih, eto obrabotka bol'shih chisel, v osobennosti v
arifmeticheskih operaciyah s plavayushchej zapyatoj s odinarnoj i dvojnoj
tochnost'yu. Operandy s plavayushchej zapyatoj imeyut bol'shuyu dlinu, a
neobhodimyj nabor komand dlya operacij nad nimi yavlyaetsya dovol'no
slozhnym; dlya realizacii standartnogo nabora operacij s plavayushchej
zapyatoj v sootvetstvii so standartom IEEE754 trebuetsya neskol'ko
tysyach tranzistorov. V etih celyah v 80386 imeetsya apparatnoe
obespechenie sovmestnoj raboty s otdel'nym matematicheskim
soprocessorom. K 80386 mozhet byt' podklyuchen matematicheskij
soprocessor libo 80287, libo bolee proizvoditel'nyj 80387. Dlya
prikladnogo programmnogo obespecheniya soprocessory prozrachny; oni
lish' rasshiryayut arhitekturu 80386 s pomoshch'yu registrov, tipov dannyh
i operacij, trebuemyh standartom IEEE754. Kombinaciya 80386 i 80387
mozhet ispolnyat' 1,8 million operacij.
32-bitnyj processor, rabotayushchij s chastotoj 16 MGc, imeet
bol'shee bystrodejstvie, chem bol'shinstvo bystrodejstvuyushchih pamyatej,
v sledstvii chego ego proizvoditel'nost' mozhet byt' ogranichena
vremenami dostupa k pamyati. 80386 byl sproektirovan tak, chtoby s
maksimal'noj effektivnost'yu ispol'zovat' kak naibolee
bystrodejstvuyushchie statisticheskie OZU, tak i nedorogie dinamicheskie
OZU. Dlya obrashcheniya k bystroj pamyati, naprimer tipa kesh, 80386
vyrabatyvaet dvuhtaktnyj magistral'nyj cikl dlya adresa/dannyh.
(Pamyati tipa kesh 80386 mogut imet' lyuboj ob容m ot minimal'nogo
poleznogo 4 Kbajt do maksimal'nogo, ohvatyvayushchego vse fizicheskoe
adresnoe prostranstvo). Obrashchenie k bolee medlennoj pamyati (ili k
ustrojstvam vvoda/vyvoda) mozhet proizvodit'sya s ispol'zovaniem
konvejernogo formirovaniya adresa dlya uvelicheniya vremeni ustanovki
dannyh posle adresa do 3 taktov pri sohranenii dvuhtaktnyh ciklov
v processore. Vsledstvie vnutrennego konvejernogo formirovaniya
adresa pri ispolnenii komandy, 80386, kak pravilo, vychislyaet adres
i opredelyaet sleduyushchij magistral'nyj cikl vo vremya tekushchego
magistral'nogo cikla. Uzel konvejernogo formirovaniya adresa
peredaet etu operezhayushchuyu informaciyu v podsistemu pamyati, pozvolyaya,
tem samym, odnomu banku pamyati deshifrirovat' sleduyushchij
, #(ab` +l-k) cikl, v to vremya kak drugoj bank reagiruet na
tekushchij magistral'nyj cikl.
1.3 Obespechenie raboty s virtual'noj pamyat'yu
Virtual'naya pamyat' pozvolyaet stavit' maksimal'nyj ob容m
programmy ili gruppy programm v zavisimost' ot imeyushchegosya
adresnogo prostranstva na diske, a ne ot ob容ma fizicheskoj pamyati
(OZU), kotoraya v nastoyashchee vremya priblizitel'no v 400 raz dorozhe.
Iz vytekayushchej otsyuda gibkosti vyigryvayut izgotoviteli oborudovaniya
(kotorye mogut postavlyat' izdeliya, otlichayushchiesya lish' v
konfiguraciyah pamyati i v urovne proizvoditel'nosti), programmisty
(kotorye mogut predostavlyat' upravlenie hraneniem programm
operacionnym sistemam i izbegat' napisaniya programm s
perekryvayushchimisya strukturami) i konechnye pol'zovateli (kotorye
mogut vvodit' novye i bol'shie po ob容mu
prikladnye programmy, ne opasayas' nehvatki pamyati).
Virtual'naya pamyat' realizuetsya operacionnoj sistemoj s
sootvetstvuyushchej apparaturnoj podderzhkoj. Mikroprocessor 80386
obespechivaet rabotu s sistemami virtual'noj pamyati s segmentnoj
ili stranichnoj organizaciej. Segmentnaya virtual'naya pamyat' bol'she
podhodit dlya nebol'shih 16-bitnyh sistem, v kotoryh ob容m segmenta
ne prevyshaet 64 Kbajt. 80386 obespechivaet rabotu s segmentami
ob容mom do 4 Gbajt; poetomu v bol'shinstve bol'shih sistem na baze
80386 sistemy virtual'noj pamyati budut ispol'zovat' vozmozhnost'
stranichnogo zaprosa. Dlya kazhdoj stranicy 80386 vyrabatyvaet bity
prisutstviya, zanyatosti ili registracii obrashcheniya, kotorye
neobhodimy dlya effektivnoj realizacii virtual'noj pamyati so
stranichnymi zaprosami. V sluchae obrashcheniya k nesushchestvuyushchej
stranice 80386 avtomaticheski delaet perehod k operacionnoj
sisteme, esli operacionnaya sistema schitala s diska otsutstvuyushchuyu
stranicu, 80386 vypolnyaet komandu povtorno. Vysokaya
proizvoditel'nost' v rabote s virtual'noj pamyat'yu obespechivaetsya v
80386 ispol'zovaniem vnutrennej kesh-pamyati dlya hraneniya stranichnoj
informacii. |ta kesh-pamyat' (nazyvaemaya buferom prosmotra
translyacii, TLB) soderzhit informaciyu o raspredelenii adresov 32
stranic, ispol'zovavshihsya poslednimi. Stranicy virtual'noj pamyati
80386 imeyut ob容m 4 Kbajt, hranya odnovremenno raspredelenie 128
Kbajt pamyati, bufer TLB pozvolyaet 80386 preobrazovat' adresa
vnutri kristalla, ne obrashchayas' k hranyashchejsya v pamyati tablice
stranic. V tipichnyh sistemah 98-99% poiska adresov budet
osushchestvlyat'sya cherez bufer TLB.
1.4 Mehanizmy zashchity
Vypolnyaya 3-4 milliona operacij v sekundu, 80386 imeet
dostatochno vychislitel'noj moshchnosti dlya obespecheniya samyh slozhnyh
sistem, sostoyashchih iz soten ili tysyach programmnyh modulej. V takih
sistemah vopros zaklyuchaetsya ne v tom, budut li oshibki, a v tom kak
ih najti i po vozmozhnosti bystro ustranit' i naskol'ko ih dejstvie
mozhet byt' ogranicheno. Takie sistemy mogut byt' bystro otlazheny i
sdelany bolee nadezhnymi pri serijnom osvoenii, esli processor
budet proveryat' kazhduyu komandu po kriteriyu zashchity. Pri etom
stepen' i tip ispol'zuemoj zashchity zavisit ot konkretnogo
primeneniya. Obychno prostye sistemy real'nogo vremeni rabotayut
dostatochno horosho bez ispol'zovaniya zashchity. Razlichnye trebovaniya k
zashchite mogut byt' naibolee polno udovletvoreny s pomoshch'yu nabora
vyborochno ispol'zuemyh funkcij zashchity, vvedennyh v 80386:
- razdelenie adresnyh prostranstv zadach;
- vvedenie 0-4 urovnej privilegij;
- ispol'zovanie privilegirovannyh komand (naprimer, HALT);
- razdelenie segmentov po tipam (naprimer, kodovyj segment ili
a%#,%-b dannyh);
- vvedenie prav dostupa k segmentam i stranicam (naprimer,
pravo tol'ko chteniya ili tol'ko ispolneniya);
- proverka granic segmenta.
Dlya sohraneniya maksimal'noj proizvoditel'nosti vse proverki
zashchity v 80386 vypolnyayutsya odnovremenno s vypolneniem komandy.
1.5 Rasshirennye vozmozhnosti otladki
CHetyre vnutrennih otladochnyh registra 80386 pomogayut
znachitel'no sokratit' vremya otladki programmy. |ti registry
rabotayut nezavisimo ot sistemy zashchity i poetomu mogut byt'
ispol'zovany v lyubyh sistemah, vklyuchaya te, kotorye budut rabotat'
bez zashchity. Ne menee vazhno i to, chto oni dayut vozmozhnost'
ustanavlivat' kontrol'nye tochki dannyh, pomimo kontrol'nyh tochek
komand. 80386 otslezhivaet vse chetyre tekushchih adresnyh kontrol'nyh
tochki odnovremenno, ne snizhaya skorosti vypolneniya programmy.
Kontrol'nye tochki komand vyzyvayut perehod (obychno v programmu-
otladchik) pri vypolnenii komandy, v bol'shinstve processorov eto
osushchestvlyaetsya s pomoshch'yu special'noj komandy, kotoruyu otladchik
zapisyvaet posle komandy, predstavlyayushchej interes. Zadavaya adresa
kontrol'nyh tochek v registrah, 80386 ustranyaet programmnye
iskazheniya, neizbezhnye pri vnesenii komand perehoda v zashchishchennuyu
ili obshchuyu chast' programmy. Kontrol'nye tochki dannyh, nalichie
kotoryh yavlyaetsya, dlya mikroprocessora svojstvom unikal'nym, dlya
celej otladki osobenno polezny. Po kontrol'noj tochke dannyh mozhno
ustanovit' moment chteniya adresa ili zhe moment ego zapisi ili
chteniya. Ispol'zuya kontrol'nye tochki dannyh, programmist mozhet,
naprimer, bystro ustanovit' komandu, otvetstvennuyu za oshibochnuyu
zapis' v strukture dannyh. Krome registrov kontrol'nyh tochek,
80386 imeet i bolee tradicionnye otladochnye funkcii v vide
kontrol'nyh tochek komand i poshagovogo ispolneniya programmy.
1.6 Sovmestimost' s mikroprocessorami 8086/80286
Dva pokoleniya processorov semejstva 86 predshestvuyut processoru
80386 - 80286 i 8086, s kazhdym iz nih 80386 sovmestim na urovne
dvoichnyh kodov. Blagodarya takoj sovmestimosti ekonomyatsya
programmnye zatraty, obespechivaetsya bystryj vyhod na rynok i
dostup k obshirnoj biblioteke programmnogo obespecheniya, napisannogo
dlya mashin na baze mikroprocessorov semejstva 86.
Mikroprocessor 80386, konechno, mozhet vypolnyat' programmy dlya
8086, on takzhe mozhet odnovremenno vypolnyat' programmy dlya 80286 i
80386. Odnako naibolee vazhnym svojstvom sovmestimosti 80386
predstavlyaetsya svojstvo, nazyvaemoe VIRTUAL 86 ( virtual'nyj 86),
ustanavlivayushchee zashchishchennuyu strukturu dlya 8086 vnutri sistemy zadach
80386. Dopolnyaya svojstvo virtual'nogo 8086 stranichnoj organizaciej
pamyati, 80386 mozhet zakrepit' za kazhdoj zadachej virtual'nogo 8086
1 megabajtnoe adresnoe prostranstvo v lyuboj oblasti fizicheskogo
adresnogo prostranstva 80386. Bolee togo, esli operacionnaya
sistema 80386 obespechivaet rabotu s virtual'noj pamyat'yu, to zadachi
virtual'nogo 8086 mogut perenosit'sya s diska i obratno kak lyubye
drugie zadachi. Takim obrazom, svojstvo virtual'nogo 8086 pozvolyaet
80386 odnovremenno vypolnyat' programmy, napisannye dlya treh
pokolenij semejstva 86.
1.7 Zaklyuchenie
Mikroprocessor 80386 obespechivaet tu bazovuyu
proizvoditel'nost', kotoraya neobhodima dlya postroeniya
vysokoproizvoditel'nyh mikroprocessornyh sistem. arhitektura 80386
$.ab b.g-. gibka: ne orientiruyas' na odno predstavlenie o
vychislitel'noj mashine, ona daet razrabotchikam sistem vozmozhnost'
vybirat' te varianty, kotorye nailuchshim obrazom podhodyat dlya
konkretnogo primeneniya.
Polnyj nabor svojstv dlya upravleniya pamyat'yu, vklyuchayushchij
segmentaciyu, stranichnoe razdelenie i obespechenie raboty s
virtual'noj pamyat'yu, realizuetsya vnutri kristalla. Do chetyreh
urovnej zashchity mozhet byt' ispol'zovano dlya vozvedeniya granic
mezhdu programmnymi komponentami, odnako zashchita mozhet i ne
ispol'zovat'sya. Zadachi virtual'nogo 8086 mogut obogatit' 32-bitnye
sistemy neobychajno bol'shim naborom standartnyh programm, uzhe
razrabotannyh dlya mashin na baze 8086. Proizvoditel'nost' i
gibkost' mikroprocessora 80386 mogut byt' dopoleny drugimi
ustrojstvami firmy INTEL i dovedeny do maksimuma. K etim
ustrojstvam otnosyatsya kontrollery lokal'nyh setej,
usovershenstvannye kontrollery pryamogo dostupa k pamyati,
kontrollery diskov i graficheskie soprocessory.
PRIKLADNAYA ARHITEKTURA
Mikroprocessor 80386 daet razrabotchiku prikladnyh programm na
yazyke assemblera ili razrabotchiku kompilyatora shirokij nabor 32-
bitnyh resursov. V dannoj glave eti resursy rassmatrivayutsya v treh
razdelah:
1)registry;
2)pamyat' i logicheskaya adresaciya;
3)tipy dannyh i komandy.
2.1 Registry
Vo vseh vychislitel'nyh mashinah, vklyuchaya 80386, imeyutsya
registry, kotorye programmisty mogut ispol'zovat' dlya srochnogo
promezhutochnogo hraneniya. K dannym, hranyashchimsya v etih registrah,
mozhno obratit'sya bez magistral'nyh ciklov, chto sokrashchaet vremya
ispol'zovaniya komandy i predostavlyaet bol'she magistral'nogo
vremeni drugim processorom, naprimer, kontrolleram pryamogo dostupa
k pamyati. V 80386 imeetsya vosem' programmno dostupnyh obshchih
registrov, eshche vosem' registrov dobavlyaetsya pri podklyuchenii
matematicheskogo soprocessora 80287 ili 80387. Dva drugih registra
80386, prednaznachennyh ne dlya hraneniya dannyh, a dlya hraneniya
statusa i upravleniya processorom, takzhe vazhny dlya programmistov.
|to registr flagov i schetchik komand.
2.1.1 Obshchie registry
Kak vidno iz ris.2-1, Obshchie registry 80386 imeyut razryadnost'
32 bit, vnutrennie shiny dannyh, vneshnie shiny dannyh i adresa
processora takzhe imeyut razryadnost' 32 bit. V sootvetstvii s lyubym
obshche prinyatym opredeleniem 80386 yavlyayutsya 32-bitnoj mashinoj.
Odnako v sootvetstvii s praktikoj drugih processorov,
predshestvennikami kotoryh byli 16-bitnye mashiny, prinyato, chto v
80386 slovo oznachaet 16 bit, a 32-bita obrazuyut dvojnoe slovo.
Kak vidno iz ris.2-1 vse obshchie registry mogut ispol'zovat'sya
kak 16 ili 32-bitnye registry, a chetyre iz nih mogut byt'
ispol'zovany i kak 8-bitnye registry. Pochti vo vseh operaciyah
lyuboj obshchij registr mozhet byt' opredelen kak operand. Lyubye dva
registra, naprimer, mogut byt' peremnozheny. Analogichnym obrazom,
lyuboj registr pri vychislenii adresa mozhet byt' ispol'zovan v
kachestve bazovogo ili indeksnogo. Poskol'ku v lyuboj prakticheskoj
programme trebuetsya stek, obshchij registr ESP podrazumevaetsya kak
ukazatel' vershiny steka.
2.1.2 Flagi i schetchik komand
Na ris.2-2 pokazan format registra flagov 80386. Flagi delyatsya
na tri klassa: statusnye, upravlyayushchie i sistemnye. Processor
ustanavlivaet statusnye flagi posle mnogih komand, chtoby otrazit'
rezul'tat operacii. Naprimer, esli dva operanda pri sravnenii
okazyvayutsya ravnymi, to processor ustanavlivaet flag nulevogo
rezul'tata. Drugie komandy, preimushchestven no komandy uslovnogo
perehoda, proveryayut flag statusa i dayut razlichnye rezul'taty v
zavisimosti ot sostoyaniya flaga. Programmist mozhet ustanavlivat'
flagi upravleniya dlya izmeneniya semantiki nekotoryh komand.
Naprimer, komanda prosmotra stroki mozhet imet' napravlenie v
storonu bol'shih ili men'shih adresov v zavisimosti ot sostoyaniya
flaga napravleniya. Sistemnye flagi prednaznacheny dlya ispol'zovaniya
operacionnoj sistemoj i v prikladnyh programmah mogut
ignorirovat'sya. (Sistemnye flagi rassmatrivayutsya v glave 3). Na
praktike dlya isklyucheniya vozmozhnogo izmeneniya sistemnyh flagov
prikladnymi programmami mozhet byt' ispol'zovana sistema zashchity
80386.
1 - statusnye flagi
2 - perenos
3 - chetnost'
4 - vspomogatel'nyj perenos
5 - nol'
6 - znak
7 - perepolnenie
Schetchik komand 80386, oboznachaemyj EIP, imeet razryadnost' 32
bit. Schetchik komand upravlyaet vyborkoj komand (vklyuchaya
predvaritel'nuyu vyborku) i posle vypolneniya komandy processor
avtomaticheski uvelichivaet ego na I. Soderzhimoe schetchika komand
menyaetsya po preryvaniyam, v osobyh i pri vypolnenii komand menyaetsya
po preryvaniyam, v osobyh sluchayah i pri vypolnenii komand peredachi
upravleniya, naprimer, perehodah i vyzovah.
2.1.3 Registry matematicheskogo soprocessora
Registry matematicheskogo soprocessora, pokazannye na ris.2-3,
povyshayut proizvoditel'nost' sistem s bol'shim ob容mom vychislenij.
Pri podklyuchenii k 80386 matematicheskogo soprocessora 80287 ili
80387 eti registry dobavlyayutsya k 80386. Hotya matematicheskij
soprocessor raspoznaet formaty celyh, upakovannyh desyatichnyh i
chisel s plavayushchej zapyatoj razlichnoj dliny, vnutri nego vse
velichiny hranyatsya v formate s plavayushchej zapyatoj v registrovom
steke 8h80 bit. V matematicheskih operaciyah mogut byt' kak neyavnye
ssylki na verhnie elementy steka, tak i yavnye na drugie registry.
Statusnyj registr soderzhit ukazatel' vershiny steka, flagi,
identificiruyushchie osobye sluchai (naprimer, perepolnenie) i kody
sostoyanij, otrazhayushchie rezul'tat poslednej komandy. Registr
upravleniya soderzhit bity variantov i masok, kotorye programmist
mozhet ustanavlivat' dlya vybora algoritma okrugleniya, interpretacii
beskonechnosti, a takzhe zadaniya togo, kak budut obrabatyvat'sya
osobye sluchai - soprocessorom ili programmno.
1-REGISTER STACK
79 78 64 65 0
+----------------------------------------+
| | SIGNIFICAND | EXSPONENT |
+--+---------------+---------------------|
| | 2 | 3 |
+--+---------------+---------------------|
| | | |
+--+---------------+---------------------|
| | | |
+--+---------------+---------------------|
| | | |
+--+---------------+---------------------|
| | | |
+----------------------------------------+
15 0
+---------------------+
4 -| CONTHOL REGISTER |
+---------------------|
5 -| STATUS REGISTER |
+---------------------+
Ris.2-3 Registry matematicheskogo soprocessora; 1 -
registrovyj stek; 2 - poryadok; 3 - mantissa; 4 - registr
upravleniya; 5 - registr statusa.
2.2 Pamyat' i logicheskaya adresaciya
Dlya adresacii operandov v 4g bajtnom fizicheskom adresnom
prostranstve prikladnye programmy 80386 ispol'zuyut logicheskuyu
adresaciyu. Processor avtomaticheski transliruet eti logicheskie
adresa v fizicheskie, kotorye zatem vydayutsya na sistemnuyu
magistral'. Kak budet rassmotreno bolee podrobno v glave 3,
operacionnaya sistema 80386 mozhet perestraivat' predstavlenie
prikladnoj programmy o ee logicheskom adresnom prostranstve.
Naprimer, operacionnaya sistema 80386 mozhet opredelit' logicheskoe
adresnoe prostranstvo tak, kak eto delaetsya vo mnogih arhitekturah
, a imenno, kak prostoj massiv iz 2 bajt. S drugoj storony, ona
mozhet organizovat' logicheskoe adresnoe prostranstvo kak nabor
segmentov peremennoj dliny. Operacionnaya sistema mozhet opredelit'
kak bol'shoe chislo segmentov, tak i vsego neskol'ko, v zavisimosti
ot ee predstavleniya o logicheskoj pamyati; 80386 ne diktuet
konkretnoe ispol'zovanie segmentov i pozvolyaet ispol'zovat' ih
tak, kak togo trebuet dannoe primenenie. CHitaya dal'nejshie razdely,
sleduet pomnit' o tom, chto stepen' aktivnogo ispol'zovaniya
segmentov prikladnoj programmoj zavisit ot togo, kak oni
organizovany operacionnoj sistemoj.
2.2.1 Segmenty
Kak bylo otmecheno vyshe, operacionnaya sistema mozhet opredelit'
adresnoe prostranstvo kak odin ili neskol'ko segmentov. Segmenty
yavlyayutsya logicheskimi blokami, horosho prisposoblennymi pod
programmnye struktury, kotorye po suti svoej imeyut peremennuyu
dlinu. Naprimer, 1516-bajtnaya procedura polnost'yu soderzhit
segmente 1516 bajt, tak zhe, kak i 8 megabajtnyj massiv (naprimer,
displejnyj bufer 1028X1028X8) polnost'yu vhodit v segment takogo zhe
razmera. Imeya dlya segmentov sootvetstvuyushchie arhitekturnye resheniya,
80386 povyshaet proizvoditel'nost' sistem, v kotoryh mehanizm
strukturirovaniya osnovan na segmentah. (Stranicy, kotorye
rassmatrivayutsya v glave 3, imeyut fiksirovannye razmery; oni ne
prisposobleny pod programmnye struktury, no, s drugoj storony,
bolee podhodyat dlya takih funkcij operacionnoj sistemy, kak,
naprimer, peresylki mezhdu OZU i diskom).
Segment v sisteme 80386 mozhet imet' lyuboj razmer ot 1 bajta do
4gbajt. Dlya kazhdogo segmenta operacionnaya sistema podderzhivaet
' $ --k) arhitekturoj deskriptor, soderzhashchij opisanie segmenta.
Opisanie segmenta vklyuchaet v sebya 32-bitnyj bazovyj adres i dlinu
segmenta, a takzhe informaciyu o zashchite, predotvrashchayushchej
nepravil'noe ispol'zovanie segmenta. Vvidu togo, chto deskriptory
podderzhivayutsya operacionnymi sistemami, ih rassmotrenie
otkladyvaetsya do glavy 3. Prikladnye programmy pol'zuyutsya
deskriptorami lish' kosvenno, obrashchayas' k segmentam s pomoshch'yu
logicheskih adresov.
2.2.2 Logicheskie adresa
Vvidu togo, chto programma mozhet v principe obrashchat'sya k
neskol'kim segmentam, logicheskij adres 80386 dolzhen
identificirovat' segment. Poetomu logicheskij adres 80386 sostoit
iz dvuh chastej, 16-bitnogo selektora segmenta i 32-bitnogo
smeshcheniya v vybrannom segmente (sm. Ris.2-4). Posle selektora v
logicheskom adrese ukazyvaet na deskriptor segmenta. V principe
processor opredelyaet adres segmenta s pomoshch'yu selektora, kak
ukazatelya dlya tablicy deskriptorov, podderzhivaemoj operacionnoj
sistemoj. Dobavlenie smeshcheniya logicheskogo adresa k bazovomu
adresu, poluchennomu po deskriptoru segmenta, daet adres operanda.
1 - LOGICHESKIJ ADRES 2 - SEGMENT
+---------------+
47 3 31 32 4 0 | | |
+-------------------------+ | | |
| SELEKTOR | SMESHCHENIE | | | |
+-------------------------+ | | |
| | | 5 | | 7
| | +-----------| |
| +--------------?| OPERAND | | DO 2
| | +-----------| |
| TABLICA DESKRIPTOROV | | | | BAJT
| +-----------------+ | | | |
| | | | | | |
| | | +-----?| | |
| | 8 | | | | |
| +-----------------+ | +-----------+ |
+--?| DESKRIPTOR ------ ----
+-----------------+
| |
| |
+-----------------+
Ris.2-4.
2.2.3 Registry segmentov i deskriptorov
Dlya povysheniya effektivnosti logicheskoj adresacii v 80386
vvedeno 6 registrov segmentov i deskriptorov (sm. Ris.2-5) 1.
1 - SEGMENT 2 - DESKRIPTOR
15 0 63 0
+---------------+ +------------------------------+
| 3-selektor | |4-bazovyj adres, razmer i t.d.| 5 KODOVYJ SEGMENT
| | | |
+---------------| +------------------------------|
| | | | 6 STEK
+---------------| +------------------------------|
| | | | 7 DANNYE
+---------------| +------------------------------|
| | | | 7
+---------------| +------------------------------|
| | | | 7
+---------------| +------------------------------|
| | | | 7
+---------------+ +------------------------------+
Fakticheski eti registry ispol'zuyutsya kak programmno
upravlyaemyj kesh, pozvolyayushchij isklyuchit' iz bol'shinstva komand
selektory i proizvodit' translyaciyu bol'shinstva logicheskih adresov
vnutri kristalla bez obrashchenij k tablice deskriptorov.
Adresnye ssylki v bol'shinstve programm proizvodyatsya v
nebol'shih adresnyh diapazonah (takaya "lokal'nost' ssylok" delayut
virtual'nuyu pamyat' praktichnoj). Naprimer, esli procedura hranitsya
v segmente, to veroyatnee vsego bol'shoe chislo komand budet schitano
iz segmenta prezhde, chem upravlenie perejdet k drugoj procedure v
drugom segmente. Lokal'nost' ssylok v 80386 obespechivaetsya
programmno, putem zapominaniya vo vnutrennih registrah poslednih
ispol'zovavshihsya selektorov i deskriptorov. Vnutrennee hranenie
deskriptorov pozvolyaet translirovat' bol'shinstvo logicheskih
adresov bez obrashchenij k pamyati, zanimayushchih mnogo vremeni. V lyuboj
moment vremeni mozhno adresovat' do shesti segmentov: kodovyj
segment, segment steka i chetyre segmenta dannyh. V segmentnyh
registrah CS, SS, DS, ES, FS i GS hranyatsya selektory etih
segmentov. Ih deskriptory hranyatsya v sootvetstvuyushchih registrah
deskriptorov. V sluchae neobhodimosti programma mozhet sdelat'
adresuemym novyj segment s pomoshch'yu zagruzki selektora novogo
segmenta v segmentnyj registr. Processor avtomaticheski
podderzhivaet registry deskriptorov, zagruzhaya trebuemyj deskriptor
kazhdyj raz, kogda programma menyaet
segmentnyj registr. (Fakticheski, registry deskriptorov mogut
zagruzhat'sya tol'ko processorom; programme oni ne dostupny).
Schetchik komand soderzhit smeshchenie tekushchej komandy v tekushchem kodovom
segmente (opredelyaemom registrom CS), a registr ESP soderzhit
smeshchenie vershiny steka v tekushchem segmente steka (opredelyaemom
registrom SS).Vysokaya effektivnost' deshifracii komand dostigaetsya
dlya bol'shinstva iz nih blagodarya otsutstviyu yavnyh ssylok na
segmentnye registry. Naprimer, v komandah perehoda i zanesenie v
stek ssylki, sootvetstvenno, na registry CS i SS, delayutsya neyavno.
V sluchae neobhodimosti programmist mozhet ukazat' processoru na
ispol'zovanie konkretnogo segmenta v dannoj komande, chto
osushchestvlyaetsya putem dobavleniya pered komandoj odnobajtnogo
prefiksa peremeny segmenta. Prefiks ukazyvaet processoru na
registr segmenta, kotoryj dolzhen ispol'zovat'sya v translyacii
adresa v sleduyushchej za prefiksom komande.
Segment, bazovyj adres kotorogo raven 0, a predel'nyj razmer -
4 Gbajt, opredelyaet 4 gigabajtnoe logicheskoe adresnoe
prostranstvo. Poskol'ku processor vybiraet segmentnyj registr
avtomaticheski, to komanda mozhet ssylat'sya na operand v lyuboj
yachejke etogo 4gbajtnogo prostranstva s pomoshch'yu 32-bitnogo
smeshcheniya. Esli, kak pokazano na ris.2-6, Vse registry deskriptorov
budut zagruzheny bazovym adresom 0 k predel'nym razmeram 4gbajt, to
v etom sluchae segmenty ischezayut. Lyuboj bajt v logicheskom adresnom
prostranstve, nezavisimo ot togo, komandnyj eto bajt ili bajt
dannyh, ili zhe element steka, adresuetsya s pomoshch'yu prostogo 32-
bajtnogo smeshcheniya. Takim obrazom, segmentnye registry dayut 80386
shest' odnovremenno adresuemyh logicheskih adresnyh prostranstv
razmerom do 4 Gbajt kazhdoe. V tom sluchae, esli eti segmenty
sovpadayut, to programma budet raspolagat' odnim 4gbajtnym
+.#(g%a*(, adresnym prostranstve, identichnym takomu prostranstvu,
kotoroe obespechivaetsya menee gibkimi 32-bitnymi arhitekturami.
2.2.4 Sposoby adresacii
Mikroprocessor 80386 obespechivaet registrovuyu i
neposredstvennuyu adresaciyu operandov, soderzhashchihsya, sootvetstven
no, v registrah ili komandah. Eshche bolee vazhnym yavlyaetsya
sposobnost' 80386 obespechivat' razlichnye sposoby adresacii
neobhodimye dlya effektivnogo obrashcheniya k takim elementam struktur
dannyh v pamyati kak massivy, zapisi (struktury), massivy zapisej i
zapisi, soderzhashchie massivy. Pri etom programma opredelyaet pole
smeshcheniya v logicheskom adrese po odnomu iz sposobov adresacii
pamyati v 80386. Processor 80386 vychislyaet pole smeshcheniya
logicheskogo adresa po sleduyushchej formule:
smeshchenie = baza + (indeks X masshtab) + otklonenie
Dlya vychisleniya smeshcheniya mogut byt' ispol'zovany lyubye ili vse
peremennye bazy, indeksa i otkloneniya. Peremennye bazy i indeksa
yavlyayutsya velichinami, hranyashchimisya v obshchih registrah, a velichina
otkloneniya soderzhitsya v komande. Dlya hraneniya bazy ili indeksa
mozhet byt' ispol'zovan lyuboj obshchij registr. Velichina v indeksnom
registre mozhet byt' otmasshtabirovana (umnozhena) koefficientom
1,2,4 ili 8, chto daet vozmozhnost' delat' ssylki na elementy
massiva ili zapisi sootvetstvuyushchej dliny. Velichina otkloneniya
mozhet imet' razryadnost' 8 ili 32 bit i interpretiruetsya
processorom kak velichina so znakom v dopolnitel'nom kode.
Razumnye kombinacii bazy, indeksa i otkloneniya dayut sleduyushchie
sposoby adresacii pamyati 80386:
- pryamaya: ispol'zuetsya tol'ko otklonenie;
- registrovaya kosvennaya: ispol'zuetsya tol'ko baza;
- bazovaya: ispol'zuetsya baza + otklonenie;
- indeksnaya: ispol'zuetsya indeks (v masshtabe);
- indeksnaya s otkloneniem: ispol'zuetsya indeks (v masshtabe) +
otklonenie;
- bazovaya indeksnaya: ispol'zuetsya baza + indeks (v masshtabe);
- bazovaya indeksnaya s otkloneniem: ispol'zuetsya baza + indeks
(v masshtabe) + otklonenie;
2.3 Tipy dannyh i komandy
V dannom razdele budut rassmotreny komandy, chashche vsego
ispol'zuemye programmistami. Poskol'ku bol'shinstvo komand
operiruet s konkretnymi tipami dannyh (naprimer, s celymi), eti
tipy i komandy rassmatrivayutsya sovmestno. Privilegirovannye
komandy, vklyuchaya te, kotorye osushchestvlyayut vvod/vyvod i obrabotku
preryvanij budut rassmotreny v glave 3.
2.3.1 Glavnye tipy dannyh
V tabl. 2-1 Perechisleny tipy dannyh i komandy, obespechivaemye
processorom 80386. V etoj tablice privedeny tol'ko naibolee
upotrebimye komandy. Varianty komand, takie kak (v sluchae
ciklicheskogo sdviga) ciklicheskij sdvig vpravo i ciklicheskij sdvig
cherez perenos, takzhe opushcheny.
Tablica 2-1
GLAVNYE TIPY DANNYH I KOMANDY
+------------------------------------------------------------------------------+
| TIP | RAZRYADNOSTX | KOMANDY 3
+--------------+----------------+----------------------------------------------|
| CELOE, | 8, 16, 32 BIT | PERESYLKA, OBMEN, PREOBRAZOVANIE, PROVERKA, |
| PORYADKOVOE | | SRAVNENIE, PEREVOD, SDVIG, DVOJNOJ, SDVIG, |
| | | CIKLICHESKIJ SDVIG, OTRICANIE, LOGICHESKOE "I",|
| | | "ILI", ISKLYUCHAYUSHCHEE "ILI". |
| | | |
| | | SLOZHENIE, VYCHITANIE, UMNOZHENIE, DELENIE, |
| | | UVELICHENIE NA 1, UMENXSHENIE NA 1, PEREVOD |
| | | (PERESYLKA S RASSHIRENIEM ZNAKA/NOLYA) |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
|NEUPAKOVANNOE | 1 CIFRA | KORREKCIYA DLYA SLOZHENIYA, VYCHITANIYA, |
| DESYATICHNOE | | UMNOZHENIYA, DELENIYA |
+--------------+----------------+----------------------------------------------|
| UPAKOVANNOE | 2 CIFRY | KORREKCIYA DLYA SLOZHENIYA, VYCHITANIYA |
| DESYATICHNOE | | |
+--------------+----------------+----------------------------------------------|
| STROKA | 0-4 GBAJT SLOV | PERESYLKA, ZAGRUZKA, ZAPOMINANIE, |
| BAJTOV, SLOV,| DVOJNYH SLOV | SRAVNENIE, PROSMOTR, POVTOR |
| DVOJNYH SLOV | | |
+--------------+----------------+----------------------------------------------|
| STROKA BIT | 1-4GBIT | PROVERKA, PROVERKA I USTANOVKA, |
| | | PROVERKA I GASHENIE, PROVERKA I DOPOLNENIE, |
| | | PROSMOTR, VSTAVLENIE, IZ某ATIE |
+--------------+----------------+----------------------------------------------|
| LOKALXNYJ | 32 BIT | (SM. PORYADKOVOE) |
| UKAZATELX | | |
+--------------+----------------+----------------------------------------------|
| GLOBALXNYJ | 48 BIT | ZAGRUZKA |
| UKAZATELX | | 3
+------------------------------------------------------------------------------+
Primechanie: Lokal'nyj ukazatel' - 32 bitnoe smeshchenie v segmente,
opredelennom odnoj iz registrirovannyh par segmenta/deskriptora.
Global'nyj ukazatel' - eto polnyj logicheskij adres, sostoyashchij iz
selektora i smeshcheniya. Na ris.2-7 pokazany primery togo, kak
glavnye tipy dannyh hranyatsya v pamyati. Mnogobajtnye elementy mogut
razmeshchat'sya s lyubogo adresa bajta v zavisimosti ot struktury
magistrali, dlya obrashcheniya k operandam, razmeshchennym po adresu, ne
kratnym dline operanda v bajtah, mogut potrebovat'sya
dopolnitel'nye magistral'nye cikly. Poetomu dlya vysokoj
proizvoditel'nosti, ne zavisyashchej ot struktury magistrali,
bol'shinstvo programm orientiruyut slovnye operandy iz dvojnyh slov
na granicah dvojnyh slov i t.p.
| 5 | 4 | 3 | 2 | 1 | 0 | OTNOSITELXNYE ADRESA-1
+------------------------------------------------------------
---------------- VOZRASTANIE PORYADKA - 2
7 0
+-------+
| |3
| | BAJT PORYADKOVOGO
+-------+
+-----------+
4 |
VELICHINA --------
31 0
+------------------------+
| | |5
| | | DVOJNOE SLOVO CELOGO
+------------------------+
-------- VELICHINA - 4 -
L------- ZNAK 6
7 0
+-------+
| |7
| | NEUPAKOVANNOE
L-------- DESYATICHNOE
7 3 0
+-------+
| | |8
| | | UPAKOVANNOE
L---+---- DESYATICHNOE
+------- ------------------------+
| | | | | | | 9
| | | | | | | STROKA BAJTOV
+------- ------------------------+
10 MLADSHIJ BAJT -------
31 0
+-----------------------+
| | 11
| | LOKALXNYJ UKAZATELX
+-----------------------+
47 31 0
+--------------------------------+
| | | 12
| 13 | 14 | GLOBALXNYJ UKAZATELX
+--------------------------------+
+--------------------------------+
SELEKTOR SMESHCHENIE
2.3.2 Tipy dannyh matematicheskogo soprocessora
Matematicheskij soprocessor 80287 ili 80387 dobavlyayut k tipam
dannyh i komandam processora 80386 svoi, privedennye v tabl.2-2. V
bol'shinstve prikladnyh zadach vhodnye velichiny i poluchaemye
rezul'taty hranyatsya v vide tipov celyh, dejstvitel'nyh ili
upakovannyh desyatichnyh, a dlya promezhutochnyh velichin imeetsya tip
dannyh promezhutochnoe dejstvitel'noe, rasshirennyj diapazon i
tochnost' kotorogo v slozhnyh vychisleniyah svodyat k minimumu oshibki
okrugleniya, perepolneniya i ischeznoveniya poryadka. V sootvetstvii s
takoj model'yu matematicheskij soprocessor proizvodit bol'shuyu chast'
vychislenij nad promezhutochnymi velichinami, hranyashchimisya v ego
registrah. Pri zagruzke lyubogo tipa dannyh v registrovyj stek,
etot tip avtomaticheski menyaetsya na promezhutochnyj dejstvitel'nyj.
Promezhutochnaya dejstvitel'naya velichina v registre, v svoyu ochered',
mozhet byt' perevedena v lyuboj drugoj tip s pomoshch'yu komandy
zapominaniya.
Na ris.2-8 Pokazano, kak tipy dannyh matematicheskogo
soprocessora hranyatsya v pamyati.
Tablica 2-2
GLAVNYE TIPY DANNYH I KOMANDY MATEMATICHESKOGO
SOPROCESSORA
+------------------------------------------------------------------------+
| TIP | RAZRYADNOSTX | KOMANDY
|
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
| CELOE | 16,32,64 BIT | ZAGRUZKA, ZAPOMINANIE, SRAVNENIE, |
| | | SLOZHENIE, VYCHITANIE, UMNOZHENIE, DELENIE |
+--------------+--------------+------------------------------------------|
| UPAKOVANNOE | 18 CIFR | ZAGRUZKA, ZAPOMINANIE |
| DESYATICHNOE | | |
+------------------------------------------------------------------------+
+------------------------------------------------------------------------+
|DEJSTVITELXNOE| 32,64 BIT | ZAGRUZKA, ZAPOMINANIE, SRAVNENIE |
| | | SLOZHENIE, VYCHITANIE, UMNOZHENIE, DELENIE |
+--------------+--------------+------------------------------------------|
|PROMEZHUTOCHNOE | 80 BIT | SLOZHENIE, VYCHITANIE, UMNOZHENIE, DELENIE, |
|DEJSTVITELXNOE| | IZVLECHENIE, KVADRATNOGO KORNYA, |
| | | MASSHTABIROVANIE OSTATKA, VYCHISLENIE |
| | | CHASTI CELOGO, SMENA ZNAKA, VYCHISLENIE |
| | | ABSOLYUTNOJ VELICHINY, VYDELENIE PORYADKA |
| | | I MANTISSY, SRAVNENIE, OSMOTR, PROVERKA, |
| | | OBMEN, ARKTANGENS, 2-1,Y*LOG(X+1), |
| | | Y*LOG(X), ZAGRUZKA KONSTANTY (0.0, P, I |
| | | T.D.) (80387 DOBAVLYAET SINUS, KOSINUS, |
| | | SINUS I KOSINUS, NEUPORYADOCHENNOE |
| | | SRAVNENIE). |
+------------------------------------------------------------------------+
+-------------------------------------------------------------------+
| 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | OTNOSITELXNYE ADRESA - 1 |
+-------------------------------------------------------------------+
--------------- VOZRASTANIE PORYADKA - 2
79 71 3 0
--------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UPAKOVOCHNOE
| | | | | | | | | | | | | | | | | | | DESYATICHNOE
+-----------------------------------------+ 5
| L-------- 4 VELICHINA ----------------
L------- ZNAK - 3
31 23 0
+----------------------+ 7
| | | | NEPOLNOE
| | | | DEJSTVITELXNOE
+----------------------+
|L---T---L- VELICHINA --
| L-------- SMESHCHENNYJ PORYADOK 6
L------------- ZNAK
60 51 0
+--------------------------------------------+ 8
| | | | POLNOE
| | | | DEJSTVITELXNOE
+--------------------------------------------+
| +-------------+ +------- VELICHINA ---------
| L------ SMESHCHENNYJ PORYADOK
L--------------- ZNAK
79 62 0
--T-----------T--T---------------------------+ PROMEZHUTOCHNOE
| | | | | DEJSTVIE
+--------------------------------------------+ 9
| L-----T------ L------ 4 VELICHINA ---------
| L------------------ SMESHCHENNYJ PORYADOK
L------- ZNAK - 3
Ris.2-8.Primery hraneniya tipov dannyh matematicheskogo
soprocessora
2.3.3 Drugie komandy
Ne vse komandy processora 80386 svyazany s tipami dannyh. Takie
komandy rassmatrivayutsya v nizhesleduyushchih paragrafah.
2.3.3.1Komandy operacij so stekom
Stek processora 80386 yavlyaetsya stekom dvojnyh slov, osnovanie
i vershina kotorogo opredelyayutsya registrami, sootvetstvenno, SS i
ESP. Komanda PUSH zanosit dvojnoe slovo v stek, a komanda POP
izvlekaet s vershiny steka dvojnoe slovo i hranit ego v registre
pamyati ili v pamyati. Po komande PUSH ALL v stek zanosyatsya vse
obshchie registry, a po komande POP ALL proizvoditsya obratnaya
operaciya. Komanda INTER (vhoda v proceduru) i LEAVE (vyhoda iz
procedury) prednaznacheny dlya yazykov vysokogo urovnya s blochnoj
strukturoj. Po komande ENTER sozdaetsya kadr i obraz steka, kotorye
kompilyatory ispol'zuyut dlya svyazki vyzovov procedur. Po komande
LEAVE kadr steka i obraz udalyayutsya iz steka dlya podgotovki
vozvrata k procedure, sdelavshej vyzov.
2.3.3.2Komandy peredachi upravleniya
Komanda JUMP (perehod) peredaet upravlenie drugoj komande
putem zameny soderzhimogo schetchika komand. Novaya komanda mozhet byt'
v tom zhe kodovom segmente (so smeshchenie do 2 bajt) ili sovsem v
drugom. Operandom vnutrisegmentnogo perehoda yavlyaetsya lokal'nyj
ukazatel', t.e. smeshchenie novoj komandy v tekushchem kodovom segmente;
perehod takim obrazom, mozhet byt' sdelan k lyuboj yachejke v
maksimal'no vozmozhnom segmente. Operandom mezhsegmentnogo perehoda
yavlyaetsya global'nyj ukazatel', chto pozvolyaet peredavat' upravlenie
v lyubuyu tochku segmenta. (Pole selektora v global'nom ukazatele
zameshchaet velichinu v registre CS, a pole smeshchenie - velichinu v
EIP). V sisteme komand takzhe imeetsya polnyj nabor komand uslovnyh
perehodov, vetvlenie kotoryh osnovano na velichine flaga statusa;
eti komandy mogut peredavat' upravlenie yachejkam, kotorye takzhe
smeshcheny na maksimum 2 bajta.
Vyzov procedur i funkcij (podprogramm) proizvoditsya po
komandam CALL (vyzov), a vozvrat k vyzyvavshej podprogramme
osushchestvlyaetsya s pomoshch'yu komandy RETURN (vozvrat). Tak zhe, kak
komandy perehoda, vyzovy vnutri segmenta imeyut svoimi operandami
lokal'nyj ukazatel', zadayushchij novuyu velichinu v schetchike komand, a
vyzovy mezhdu segmentami ispol'zuyut v kachestve operandov global'nyj
ukazatel', kotoryj krome CS izmenyaet i velichinu EIP. Po komandam
vyzova adres sleduyushchej komandy zanositsya v stek, posle chego
proizvoditsya zagruzka schetchika komand (i registra CS, esli perehod
delaetsya v drugoj segment). Po komande vozvrata sohranennye
velichiny izvlekayutsya iz steka v EIP i, esli trebuetsya, v CS.
Vyzovy mogut imet' beskonechnuyu vlozhennost' i rekursivnost',
ogranichennye lish' razmerom steka.
Dlya upravleniya ciklami, pomimo uslovnyh perehodov, 80386
obespechivaet vypolnenie komand LOOP (bezuslovno i uslovnogo
cikla). Komandy cikla v kachestve schetchika ciklov ispol'zuyut
registr ECX; v kazhdom cikle ECX umen'shaetsya na 1 i vypolnenie
*., -$k zakanchivaetsya, kogda velichina v ECX stanovitsya ravnoj
nulyu. Komandy uslovnyh ciklov zakanchivayutsya v tom sluchae, esli
flag soderzhit zadannuyu velichinu. V to vremya kak komandy cikla
prednaznacheny dlya proverok "v konce cikla", komanda "perehod",
esli ECX=0 realizuet proverku v nachale cikla i pozvolyaet vypolnyat'
cikl 0 raz.
2.3.3.3Dopolnitel'nye komandy
Komanda BOUND (proverka granic) 80386 mozhet byt' ispol'zovana
dlya proverki togo, chto indeks massiva nahoditsya v ego granicah.
Processor 80386 imeet takzhe komandy ustanovki i gasheniya flagov,
zagruzki i zapominaniya bajta statusa registra flagov.
Matematicheskij soprocessor 80287 ili 80387 dobavlyaet komandy,
neobhodimye operacionnoj sisteme dlya ego inicializacii, obrabotki
osobyh sluchaev, a takzhe dlya zapominaniya i vosstanovleniya statusa
soprocessora.
Nakonec, estestvenno, processore 80386 imeet komandu "net
operacii".
SISTEMNAYA ARHITEKTURA
Naznachenie sistemnoj arhitektury zaklyuchaetsya v obespechenii
operacionnyh sistem, odnako operacionnye sistemy ves'ma razlichny
po svoim trebovaniyam. Dlya resheniya etoj problemy, processor 80386
obespechivaet nabor resursov, kotorye razrabotchiki operacionnyh
sistem mogut ispol'zovat' po svoemu usmotreniyu. V rezul'tate
sistemnaya arhitektura 80386 mozhet byt' skonfigurirovana tak, chtoby
udovletvorit' vsem trebovaniyam razrabatyvaemoj operacionnoj
sistemy.
3.1Sistemnye registry
Krome registrov, rassmotrennyh v predydushchej glave,
operacionnaya sistema inogda ispol'zuet registry 80386, pokazannye
na ris.3-1. (Dalee v etoj glave eti registry eshche budut
rassmatrivat'sya; zdes' oni pokazany dlya spravki). V osnovnom etimi
registrami pol'zuetsya sam 80386; operacionnaya sistema lish'
inicializiruet sistemnye registry i ignoriruet ih pri normal'noj
rabote. Odnako, operacionnaya sistema mozhet vospol'zovat'sya
sistemnym registrom pri obrabotke osobogo sluchaya. Naprimer, pri
stranichnoj oshibke processor zagruzhaet oshibochnyj adres v registr
CR2; obrabotchik stranichnyh oshibok operacionnoj sistemy ispol'zuet
etot adres dlya poiska sootvetstvuyushchego elementa stranichnoj
tablicy. Sistemnye registry obychno nedopustimy prikladnym
programmam, poskol'ku operirovat' s nimi mogut tol'ko
privilegirovannye komandy. (Osobye sluchai, stranichnye oshibki i
privilegirovannye komandy rassmatrivayutsya dalee v etoj glave).
47 15 0
+-----------------------------+
| BAZOVYJ ADRES | PR. RAZMER | GLOBALXNAYA TABLICA
+----------------+------------+ DESKRIPTOROV
| | | TABLICA DESKRIPTOROV
+-----------+----------------+------------+ PRERYVANIJ
| SELEKTOR | | | LOKALXNAYA TABLICA
L-----------+----------------+------------- DESKRIPTOROV
+-----------------------------------------+
SISTEMNYE ADRESNYE REGISTRY
31 0
+-------------------------+
| | VSPOMOGATELXNYJ
+-------------------------|
| | REZERVNYJ
+-------------------------|
| | LINEJNYJ ADRES STR. OSHIBKI
+-------------------------|
| | BAZOVYJ ADRES SPRAVOCHNIKA
| | STRANIC
+-------------------------+
SISTEMNYE UPRAVLYAYUSHCHIE REGISTRY
3.2Obespechenie mnogozadachnyh operacionnyh sistem
Mnogie svojstva sistemnoj arhitektury 80386 neposredstvenno
obespechivayut mnogozadachnye operacionnye sistemy, hotya, konechno,
80386 mozhet byt' ispol'zovan i v odnozadachnyh sistemah s
povyshennymi trebovaniyami. Mnogozadachnaya rabota predstavlyaet soboj
sposob upravleniya rabotoj vychislitel'noj sistemoj v teh sluchayah,
kogda rabota sistemy sostoit iz neskol'kih vidov deyatel'nosti;
tremya vidami deyatel'nosti mogut byt' naprimer, redaktirovanie
odnogo fajla, kompilyaciya drugogo i peredacha tret'ego fajla v
druguyu mashinu.
V mnogozadachnoj sisteme kazhdyj vid deyatel'nosti, kotoryj mozhet
osushchestvlyat'sya odnovremenno s drugimi, nazyvaetsya zadachej. (V
dannom materiale termin "zadacha " ekvivalenten terminu "process").
Kazhdaya zadacha vypolnyaet programmu, sostoyashchuyu iz komand i ishodnyh
dannyh. Odna i ta zhe programma mozhet vypolnyatsya neskol'kimi
zadachami; naprimer, v mnogozadachnoj sisteme s razdeleniem vremeni
neskol'ko zadach (po chislu pol'zovatelej) mogut ispol'zovat'sya
odnim i tem zhe kompilyatorom ili redaktorom. Programmy i zadachi
sootnosyatsya drug s drugom podobno partiture muzykal'nogo
proizvedeniya i ego ispolneniyu: programma - eto tekst, opisyvayushchij
algoritm, a zadacha - eto odnokratnoe ispolnenie etogo algoritma.
Programmy, vypolnyaemye zadachami. Sostavleny tak, kak esli by
oni vypolnyalis' na otdel'nyh processorah s obshchej pamyat'yu, t.e.
Ispol'zuya pauzy, neobhodimye dlya svyazi ili sinhronizacii s drugimi
zadachami, teoreticheski kazhdaya zadacha vypolnyaetsya nepreryvno
parallel'no s drugimi zadachami. Na samom dele , odnako, zadachi
vypolnyayutsya poocheredno odnim processorom.
Mnogozadachnaya operacionnaya sistema modeliruet neskol'ko
processorov, predostavlyaya kazhdoj zadache "virtual'nyj processor". V
kazhdyj moment vremeni operacionnaya sistema peredaet real'nyj
processor odnomu iz virtual'nyh processorov, vypolnyayushchemu svoyu
zadachu. Dlya podderzhivaniya vpechatleniya, chto kazhdaya zadacha imeet
svoj processor, operacionnaya sistema chasto pereklyuchaet real'nyj
processor na razlichnye virtual'nye processory. V sistemnoj
arhitekture 80386 dlya operacii smeny zadachi predusmotreny segmenty
sostoyaniya zadachi i komandy, vypolnyayushchie etu operaciyu.
3.2.1 Segment sostoyaniya zadachi
Segment sostoyaniya zadachi (TSS) yavlyaetsya odnoj iz neskol'kih
struktur dannyh, opredelyaemyh sistemnoj arhitekturoj 80386.
Fakticheski, eti struktury dannyh yavlyayutsya "tipami dannyh" dlya
operacionnyh sistem. Segment TSS(sm.Ris.3-2) Sootvetstvuet tomu,
chto v nekotoryh operacionnyh sistemah nazyvaetsya blokom upravleniya
zadachej; v etom segmente hranitsya sostoyanie virtual'nogo
processora zadachi. Kazhdaya zadacha 80386 predstavlena svoim TSS,
kotoryj delitsya na dve chasti. Mladshaya chast' TSS opredelena
sistemnoj arhitekturoj 80386 i soderzhit znacheniya registrov
processora. Starshaya chast' TSS mozhet byt' opredelena operacionnoj
a(ab%,.) dlya hraneniya dannyh, svyazannyh s zadachej, naprimer,
prioriteta vypolneniya, deskriptorov fajlov i t.d. Dlya sozdaniya
svoej zadachi operacionnaya sistema formiruet TSS i inicializiruet
ego velichinami, neobhodimymi zadache dlya nachala ee vypolneniya. V
rezul'tate 80386 podderzhivaet mladshuyu chast' TSS, a za ego starshuyu
chast' neset otvetstvennost' operacionnaya sistema.
+--------------------------------------+
| (OPREDELENNAYA OPERACIONNAYA SISTEMA) |
. .
+--------------------------------------|
| ADRES LOKALXNOJ TABLICY DESKRIPTOROV |
+--------------------------------------|
| SPRAVOCHNYJ ADRES STRANICHNOJ TABLICY |
+--------------------------------------|
| OBSHCHIE REGISTRY |
. .
+--------------------------------------|
| REGISTR FLAGOV |
+--------------------------------------|
+--------------------------------------|
| SEGMENTNYE REGISTRY |
. .
+--------------------------------------|
| PRIVILEGIROVANNYE |
. .
+--------------------------------------+
3.2.2 Smena zadachi
Operacionnaya sistema razreshaet vypolnenie ??????? v
sootvetstvii s planom. |tot plan ustanavlivaet vremya vypolneniya
zadach. Poskol'ku metody planirovaniya ???????? razlichnye, 80386
predostavlyaet eto operacionnoj sisteme. ???? Kogda operacionnaya
sistema reshaet nachat' vypolnenie ????? zadachi, ona napravlyaet
processor na vypolnenie eshche odnogo ?????, inogda nazyvaemogo
smenoj konteksta. Processor 80386 hranit selektor i deskriptor
????? tekushchej zadachi v svoem registre zadachi ?????? operacionnaya
sistema vydaet komandu perehoda ???????? yavlyaetsya selektor
segmenta TSS novoj zadachi ?????? etu komandu, zanosya vnachale svoi
registry v tekushchij TSS, a zatem zagruzhaya TR selektorom (i
svyazannym s nim deskriptorom), ukazannym v komande. Poluchiv adres
novogo TSS, processor zagruzhaet svoi registry velichinami iz novogo
TSS. Posle chego vypolnenie programmy prodolzhaetsya s komandy, na
kotoruyu ukazyvaet schetchik komand novoj zadachi. Dlya vozobnovleniya
staroj zadachi operacionnaya sistema dolzhna vydat' komandu perehoda
i TSS staroj zadachi, posle etogo vypolnenie staroj zadachi
prodolzhaetsya s komandoj, sleduyushchej posle komandy perehoda TSS,
prekrativshej ee vypolnenie. Takaya smena zadachi zanimaet 17 mks
(pri rabochej chastote 16 Mgc i otsutstvii sostoyanij ozhidaniya).
3.3Adresaciya
Fizicheskoe adresnoe prostranstvo bol'shinstva vychislitel'nyh
mashin organizovano prosto kak massiv bajtov. S poyavleniya blokov
upravleniya pamyat'yu (BUP), arhitektura mashin stala razlichat'
fizicheskoe adresnoe prostranstvo, realizuemoe, apparaturoj pamyati
i logicheskoe adresnoe prostranstvo, vidimoe programmistom. Blok
upravleniya pamyat'yu transliruet logicheskie adresa programm v
fizicheskie adresa, vydavaemye na
sistemnuyu magistral'. V bol'shinstve arhitektur logicheskoe adresnoe
prostranstvo zadachi predstavlyaetsya kak nabor sleduyushchih variantov:
Logicheskoe adresnoe prostranstvo sostoit iz
massiva bajtov, ne imeyushchego opredelennoj
BAJTY struktury (takoe adresnoe prostranstvo inogda
nazyvaetsya "ploskim" ili "linejnym").
Translyaciya adresa v etom sluchae ne trebuetsya,
poskol'ku logicheskij adres tochno ekvivalenten
fizicheskomu.
Logicheskoe adresnoe prostranstvo sostoit iz
neskol'kih ili bol'shogo chisla segmentov,
SEGMENT kazhdyj iz kotoryh soderzhit peremennoe chislo
bajtov. Logicheskij adres razdelen na dve
chasti, nomera segmenta i smeshcheniya vnutri
segmenta. Bup proizvodit translyaciyu
logicheskogo adresa v fizicheskij.
Logicheskoe adresnoe prostranstvo sostoit iz
bol'shogo chisla stranic, kazhdaya iz kotoryh
STRANICY vklyuchaet v sebya fiksirovannoe chislo bajtov.
Logicheskij adres sostoit iz nomera stranicy i
smeshcheniya vnutri stranicy. Bup proizvodit
translyaciyu logicheskogo adresa v fizicheskij.
STRANICHNYE Logicheskoe adresnoe prostranstvo sostoit iz
segmentov
Segmenty v svoyu ochered', sostoyat iz stranic.
SEGMENTY Logicheskij adres sostoit iz nomera segmenta i
smeshcheniya vnutri segmenta. Bup proizvodit
translyaciyu logicheskogo adresa v nomer stranicy
i smeshchenie v nej, kotorye zatem transliruyutsya
v fizicheskij adres.
Kazhdyj iz etih variantov horosho podhodit dlya odnih sistem i
malo prigoden dlya drugih. Naprimer, linejnoe prostranstvo vpolne
podhodit dlya sistem s prostymi vetvleniyami, v to vremya kak dlya
sistem, kotorye vypolnyayut individual'noe upravlenie i zashchitu
otdel'nyh programmnyh struktur, bol'she podhodit variant s
segmentaciej pamyati. V 80386 realizovan variant, predstavlyayushchij
pamyat' kak nabor segmentov, kotorye po zhelaniyu mogut byt'
razdeleny na stranicy. Na praktike arhitektura 80386 obespechivaet
operacionnye sistemy lyubym iz chetyreh variantov predstavleniya
pamyati.
3.3.1 Princip translyacii adresa
Princip translyacii logicheskogo adresa v fizicheskij v
processore 80386 illyustriruetsya na ris.3-3. Posledovatel'nost'
operacij, pokazannaya na ris.3-3, yavlyaetsya central'noj kak dlya
adresacii, tak i dlya zashchity. Zdes' ona rassmatrivaetsya v
shematichnoj forme s cel'yu dat' yasnoe obshchee predstavlenie o nej
prezhde, chem perejti k rassmotreniyu takih svojstv, kak virtual'naya
pamyat' i zashchita. V posleduyushchih razdelah budut podrobno rassmotreny
razlichnye etapy translyacii adresa i budet pokazano, kak oni mogut
byt' prisposobleny pod trebovaniya konkretnoj sistemy.
Kak pokazano v predydushchej glave, sposoby adresacii pamyati
80386 dayut 32-bitnoe smeshchenie iskomogo operanda. Sovmestno s
selektorom segmenta eto smeshchenie obrazuet sostavnoj logicheskij
adres: selektor etogo adresa identificiruet iskomyj segment, a
smeshchenie ukazyvaet na operand v segmente. V bol'shinstve komand
selektor zadaetsya neyavno kak soderzhimoe segmentnogo registra.
+--------------+
| TABLICY |
| DESKRIPTOROV |
+--------------+
LOGICHESKIJ ADRES ---------+-+ LINEJNYJ ADRES
+-----------------+ | | +--------+ +--+
|SELEKTOR|SMESHCHENIE+->|TRANSLYACIYA+--->| +--+ +----T-+
L--------+--------- | SEGMENTA | L--------- L--- | |
47 31 0 L----------- 31 0 ZAPRET | |
STRANIC | |
+-------------------------------------------+ |
| +--------------+
| +-----------+ | 31
0
| | TABLICY | |--------------------+
| | STRANIC | +--+ FIZICHESKIJ ADRES|
| +-----------+ |-+------------------+
| |+--------------------------+
31 | 0 | 31 0 |
+----------------+ +---------------------++------------------+|
| LINEJNYJ ADRES +-->| TRANSLYACIYA STRANICY +-->|FIZICHESKIJ ADRES+--
+----------------+ +---------------------++------------------+
Selektor predstavlyaet soboj indeks v tablice deskriptorov
segmentov, t.e. eto pole soderzhit nomer segmenta. Kazhdyj element
tablicy deskriptorov segmentov soderzhit bazovyj adres segmenta.
Processor dobavlyaet k nemu smeshchenie i poluchaet 32-bitnyj linejnyj
adres. Esli stranicy ne razresheny, processor schitaet, chto linejnyj
adres yavlyaetsya fizicheskim, i vydaet ego na adresnye vyvody.
Esli stranicy razresheny, to 80386 transliruet linejnyj adres v
fizicheskij. |to delaetsya s pomoshch'yu stranichnyh tablic. Stranichnaya
tablica po svoej organizacii analogichna tablice deskriptorov, za
isklyucheniem togo, chto kazhdyj element stranichnoj tablicy soderzhit
fizicheskij bazovyj adres stranicy 4kbajt. Poskol'ku sposoby
adresacii 80386 ohvatyvayut kak tradicionnye elementy strukturnogo
deleniya adresnogo prostranstva (segmenty, i dopolnitel'no,
stranicy) i poskol'ku segmenty mogut byt' ochen' bol'shimi (do 4
Gbajt), to eti sposoby adresacii okazyvayutsya ochen' gibkimi. Takim
obrazom, operacionnaya sistema mozhet dat' zadache odno linejnoe
adresnoe prostranstvo, linejnoe adresnoe prostranstvo iz stranic,
adresnoe prostranstvo iz segmentov ili segmentirovannoe adresnoe
prostranstvo so stranichnym deleniem.
Po vsej svoej gibkosti mnogostupenchataya translyaciya adresa v
80386 vypolnyaetsya dostatochno bystro. Tipichnoe vremya vychisleniya
smeshcheniya i translyacii logicheskogo adresa v fizicheskij sostavlyaet
1,5 takta. Bolee togo, vremya translyacii adresa nezametno dlya
programmy, poskol'ku vnutrennij BUP 80386 transliruet adres
parallel'no s drugimi operaciyami processora (krome sluchaev, kogda
komandy perehoda ili vyzova vremenno preryvayut sovmeshchennoe
vypolnenie operacij).
3.3.2 Segmenty
Segment yavlyaetsya edinicej logicheskogo prostranstva,
predstavlyaemogo processorom zadache, t.e. logicheskoe adresnoe
prostranstvo zadachi sostoit iz odnogo ili neskol'kih segmentov.
Operacionnye sistemy sushchestvenno otlichayutsya drug ot druga po
sposobu opredeleniya logicheskogo adresnogo prostranstva zadachi.
Naprimer, sistema real'nogo vremeni s vetvleniyami mozhet opredelit'
logicheskoe adresnoe prostranstvo kak edinoe celoe, sovmestno
ispol'zuemoe vsemi zadachami i samoj operacionnoj sistemoj, drugimi
slovami odin segment kollektivno ispol'zuetsya vsej sistemoj. V
drugom krajnem sluchae sistema mozhet raspredelit' kazhduyu strukturu
dannyh i proceduru po svoim segmentam, v sledstvii chego logicheskoe
adresnoe prostranstvo zadachi predstanet v vide desyatkov ili soten
adresnyh prostranstv, kazhdoe iz kotoryh budet sootvetstvovat'
svoej strukture dannyh ili procedure. Mezhdu etimi krajnimi
sluchayami okazyvaetsya universal'naya sistema s razdeleniem vremeni,
v kotoroj zadachi vypolnyayutsya v otdel'nyh logicheskih adresnyh
prostranstvah, i v kotoryh programmy zadach otdeleny ot ih dannyh,
a prikladnye programmy i dannye otdeleny ot programmy i dannyh
operacionnoj sistemy. Svojstvo segmentacii v processore 80386
dostatochno gibkoe, i mozhet obespechit' kazhdyj iz etih primerov, kak
i lyubye drugie.
Kak uzhe bylo pokazano v glave 2, komanda 80386 ssylaetsya na
operand v pamyati s pomoshch'yu sostavnogo logicheskogo adresa,
a.ab.oi%#. iz selektora segmenta i smeshcheniya vnutri segmenta. V
principe 80386 transliruet logicheskij adres v linejnyj s pomoshch'yu
selektora, ukazyvayushchego na deskriptor segmenta v tablice
deskriptorov. Deskriptor soderzhit bazovyj adres segmenta v
linejnom adresnom prostranstve, dobavlenie smeshcheniya k bazovomu
adresu daet linejnyj adres operanda. Na praktike translyaciya
logicheskogo adresa v linejnyj optimizirovana s pomoshch'yu neyavnogo
ukazaniya na selektory i hraneniya deskriptorov v registrah. Poetomu
obrashchenie k tablice deskriptorov proizvoditsya tol'ko dlya teh
komand, kotorye zagruzhayut novye selektory v segmentnye registry
(naprimer, vyzov procedury iz drugogo segmenta privodit k zamene
selektora v registre CS). Hotya na praktike eto byvaet redko, tem
ne menee udobnee predstavlyat' translyaciyu processorom logicheskogo
adresa kak obrashchenie k deskriptoram v tablicah deskriptorov
segmentov, poskol'ku otsyuda sleduet, chto imenno deskriptory v
tablicah deskriptorov segmentov zadachi opredelyayut logicheskoe
adresnoe prostranstvo zadachi. Bez deskriptora zadacha ne v
sostoyanii sgenerirovat' linejnye adresa.
Tablica deskriptorov segmentov predstavlyaet soboj massiv
deskriptorov, na ris.3-4 dan logicheskij format deskriptora. Pole
bazovogo adresa uzhe rassmatrivalos' vyshe. Pole predel'nogo razmera
opredelyaet dlinu segmenta, 80386 ispol'zuet pole predel'nogo
razmera dlya proverki pravil'nosti velichiny smeshcheniya v logicheskom
adrese, a imenno, chto ono popadaet vnutr' segmenta. Atributy
segmenta, v osnovnom, otnosyatsya k zashchite i budut rassmotreny dalee
v etoj glave.
ATRIBUTY
PRIZNAK POSLEDNEGO OBRASHCHENIYA ---------------------+
PRAVA -----------------------------------------+ |
TIP ----------------------------------------+ | |
PRIVILEGIYA ------------------------------+ | | |
PRIZNAK PRISUTSTVIYA ------------------+ | | | |
| | | | |
+--------------+
| | | | | |
+------------------------------|
| PREDELXNYJ RAZMER |
+------------------------------|
| BAZOVYJ ADRES |
+------------------------------+
Kazhdaya zadacha mozhet imet' sistemnoe i individual'noe
logicheskoe adresnoe prostranstvo. |ti prostranstva opisyvayutsya,
sootvetstvenno global'noj tablicej deskriptorov (GDT) i lokal'noj
tablicej deskriptorov (LTD). (V selektore imeetsya
bit, svyazyvayushchij ego s toj ili inoj tablicej). |ti tablicy
deskriptorov mogut soderzhat' maksimum 8192 deskriptora i sovmestno
oni opredelyayut logicheskoe adresnoe prostranstvo zadachi. |to
oznachaet, chto dlya togo, chtoby novyj segment mog adresovat'sya
zadachej, operacionnaya sistema dolzhna vnesti novyj deskriptor etogo
segmenta libo v GDT, libo v LDT zadachi. V sistemah s zashchitoj GDT i
LDT mogut byt' sdelany privilegirovannymi strukturami tak, chto
izmeneniya v nih smozhet proizvodit' tol'ko operacionnaya sistema.
Operacionnaya sistema iz ee nazvaniya, global'naya tablica
deskriptorov dostupna vsem zadacham, obychno operacionnye sistemy
zanosyat deskriptory sistemnyh segmentov v GDT. Kodovyj segment
(ili segmenty) operacionnoj sistemy yavlyaetsya horoshim primerom
segmenta, kotoryj dolzhen byt' dostupnym vsem zadacham, i deskriptor
kotorogo obychno nahoditsya v GDT. V protivopolozhnost' etomu kazhdaya
' $ g mozhet imet' svoyu lokal'nuyu tablicu deskriptorov. Processor
podderzhivaet adres LDT tekushchej zadachi v svoem registre lokal'noj
tablicy deskriptorov (LDTR), odnako on perezagruzhaet etot registr
(tak zhe, kak on perezagruzhaet svoi obshchie i segmentnyj registry)
novym znacheniem TSS pri smene zadach.
Zadachi mogut delit' odni segmenty v sleduyushchih sluchayah
(sm. ris.3-5):
1. Segment, deskriptor kotorogo nahoditsya v GDT, yavlyaetsya obshchim
dlya vseh zadach.
2. Zadachi, imeyushchie obshchuyu LDT, imeyut i obshchie segmenty,
opisyvaemye etoj LDT, takoj podhod dopustim v sluchae tesno
vzaimodejstvuyushchih zadach.
3. Deskriptory v razlichnyh LDT mogut ukazyvat' na odin i tot zhe
segment, takie deskriptory nazyvayutsya psevdoimenami. Ispol'zovanie
psevdoimeni pozvolyaet zadacham imet' obshchim tol'ko odin segment,
a ne vse segmenty, opredelennye tablicej deskriptorov.
3.3.3 Stranicy
Nezavisimo ot togo, soderzhit li logicheskoe adresnoe
prostranstvo zadachi odin ili mnogo segmentov, operacionnaya sistema
mozhet razdelit' linejnoe adresnoe prostranstvo na stranicy. S
tochki zreniya operacionnoj sistemy stranicy yavlyayutsya udobnymi
elementami dlya raspredeleniya i pereraspredeleniya pamyati, poskol'ku
oni vse imeyut odinakovyj razmer. Stranicy takzhe yavlyayutsya sredstvom
zashchity chastej bol'shih segmentov i, chto osobenno vazhno,
obespechivayut udobnyj sposob organizacii virtual'noj pamyati.
Ukazannye primeneniya stranichnoj organizacii pamyati obsuzhdayutsya
nizhe.
Stranica v 80386 imeet dlinu 4k bajt. |tot razmer nahoditsya v
soglasii s promyshlennoj tendenciej k uvelicheniyu dliny stranic i
vedet k uvelicheniyu proizvoditel'nosti po dvum napravleniyam.
Vo-pervyh, on obespechivaet horoshee otnoshenie pokazanij stranic
v kesh pri dannom ob容me kesh-pamyati, kotoraya mozhet byt' v nastoyashchee
vremya real'no razmeshchena na kristalle, ishodya iz dostignutogo
urovnya tehnologii. (Kesh-pamyat' 80386, raspolozhennaya na kristalle,
opisyvaetsya kratko). Vo-vtoryh, 4k bajtov yavlyayutsya effektivnym
razmerom bloka dlya diskovyh peredach. Bol'shinstvo operacionnyh
sistem, rabotayushchih na mashinah s men'shej dlinoj stranicy, dolzhny
gruppirovat' stranicy v "klastery", chtoby sokratit' kolichestvo
diskovyh peredach.
Operacionnaya sistema 80386 vklyuchaet stranichnyj mehanizm,
ustanavlivaya bit PG v upravlyayushchem registre 0 pri pomoshchi
privilegirovannoj komandy. Kogda stranichnyj mehanizm vklyuchen,
processor transliruet linejnyj adres v fizicheskij adres, ispol'zuya
stranichnye tablicy. Stranichnye tablicy yavlyayutsya chast'yu tablic
deskriptorov segmentov. Tak zhe kak tablicy deskriptorov segmentov
zadachi opredelyayut ee logicheskoe adresnoe prostranstvo, stranichnye
tablicy zadachi opredelyayut ee linejnoe adresnoe prostranstvo.
Analogichno supermini-|VM i bol'shim |VM stranichnye tablicy 80386
organizovany po principu
dvuhurovnevoj ierarhii, kak pokazano na ris.3-6. Kazhdaya zadacha
mozhet imet' spravochnik sistemnyh tablic. Sistemnyj registr CR3
processora 80386 (baza spravochnika sistemnyh tablic) ukazyvaet na
spravochnik stranichnyh tablic rabotayushchej zadachi. Processor
obnovlyaet registr CR3 pri kazhdom pereklyuchenii zadachi, poluchaya
novyj adres zadachi iz TSS novoj zadachi. Spravochnik stranichnyh
tablic imeet dlinu, ravnuyu odnoj stranice i soderzhit elementy
ab` -(g-.) tablicy opisyvayut 1024 stranicy. Takim obrazom, kazhdaya
stranichnaya tablica opisyvaet 4m bajta, a oglavlenie mozhet opisat'
do 4g bajt - maksimal'noe adresnoe prostranstvo.
Na ris.3-6 v funkcional'nyh oboznacheniyah pokazano kak 80386
transliruet linejnyj adres v fizicheskij adres, esli stranichnaya
adresaciya vklyuchena. Processor ispol'zuet starshie 10 bit linejnogo
adresa kak indeks v oglavlenii. Vybrannyj element oglavleniya
soderzhit adres stranichnoj tablicy. Processor dobavlyaet srednie 10
bit linejnogo adresa k adresu stranichnoj tablicy, chtoby najti
element stranichnoj tablicy, kotoryj opisyvaet neobhodimuyu
stranicu. Dobavlyaya mladshie 12 bit linejnogo adresa k adresu nachala
stranicy, processor poluchaet 32-bitnyj fizicheskij adres.
Dlya togo, chtoby sokratit' nakladnye rashody, voznikshie ot
poiska v stranichnyh tablicah, 80386 pomeshchaet spravochnuyu informaciyu
o 32-h poslednih stranicah, ispol'zovavshihsya im, v special'nuyu
bystruyu pamyat' (kesh), nahodyashchuyusya vnutri samogo mikroprocessora.
|ta pamyat' nazyvaetsya perekodirovannym buferom prosmotra
isklyuchenij (TLB). Tol'ko v tom sluchae, esli processor ne nahodit
spravochnoj informacii dlya stranicy v TLB, on obrashchaetsya k
spravochnikam i stranichnym tablicam, nahodyashchimsya v pamyati. Kak
pravilo, 98-99% adresnyh ssylok popadayut v TLB, ne trebuya
obrashchenij k osnovnoj pamyati dlya translyacii. Kogda neobhodimoj
informacii v TLB ne okazyvaetsya, processor zamenyaet naibolee
staryj element TLB novym elementom. Princip lokal'nosti ssylok
predpolagaet, chto novyj element skoree vsego budet ispol'zovat'sya
v budushchem.
Poskol'ku vklyuchenie stranichnogo mehanizma ne uvelichivaet
vremeni translyacii adresa, ono malo vliyaet na vremya ispolneniya
komandy tol'ko pri nepopadaniyah v TLB. Na ris.3-7 pokazany
osnovnye polya elementa stranichnoj tablicy (PTE). |lementy
spravochnika stranichnyh tablic identichny pokazannomu za tem
isklyucheniem, chto pole adresa rassmatrivaetsya kak fizicheskij adres
stranichnoj tablicy, a ne adres stranicy.
ATRIBUTY
PRISUTSTVIE -------------------------------------+
PRAVA ---------------------------------------+ |
PRIVILEGII ------------------------------+ | |
BYLO OBRASHCHENIE ----------------------+ | | |
BYLA ZAPISX ---------------------+ | | | |
OPREDELYAETSYA POLXZOVATELEM --+ | | | | |
| | | | | |
+-----------------------------------------------------------+
| ADRES STRANICY | | | | | | |
+-----------------------------------------------------------+
Zadachi mogut sovmestno pol'zovat'sya otdel'nymi stranicami ili
celymi stranichnymi tablicami. |lementy 1 razlichnyh stranichnyh
tablic, ukazyvayushchie na odnu i tu zhe stranicu , yavlyayutsya sinonimami
odin dlya drugogo, takzhe kak deskriptory s temi zhe samymi adresami
yavlyayutsya sinonimami drug dlya druga. V dvuh urovnevoj strukture
stranichnyh tablic processora 80786 legche razdelyat' stranicy mezhdu
zadachami putem razdeleniya celoj stranichnoj tablicy. Poskol'ku
adres razdelyaemoj stranicy v etom sluchae nahoditsya v odnoj
stranichnoj tablice, operacionnoj sistemy neobhodimo izmenit'
tol'ko odin element stranichnoj tablicy, kogda ona peremeshchaet etu
stranicu.
3.3.4 Virtual'naya pamyat'
Virtual'naya pamyat' pozvolyaet ochen' bol'shim programmam ili
#`c// , rabotat' v znachitel'no men'shem ob容me fizicheskoj pamyati
bez ispol'zovaniya tehniki overleev. Sistemy s virtual'noj mogut
osnovyvat'sya ili na segmentah, ili na stranicah. V oboih sluchayah
osnovnaya ideya virtual'noj pamyati sostoit v tom, chtoby ispol'zovat'
znachitel'no bolee deshevuyu diskovuyu pamyat' vmesto poluprovodnikovoj
pamyati. Operacionnaya sistema v sluchae s virtual'noj pamyat'yu
zapominaet vse segmenty ili stranicy v bol'shoj oblasti diskovoj
pamyati, nazyvaemoj chasto "oblast'yu obmena". Znachitel'no men'shaya
fizicheskaya (real'naya) pamyat' soderzhit tol'ko naibolee chasto
ispol'zuemye segmenty ili stranicy. Do teh por, poka segmenty ili
stranicy zapomnennye na diske, ispol'zuyutsya nechasto, sistema s
virtual'noj pamyat'yu budet vesti sebya takzhe horosho, kak i sistema
so znachitel'no bol'shej operativnoj pamyat'yu, no za znachitel'no
men'shuyu cenu. Klyuchevye arhitekturnye svojstva, neobhodimye dlya
effektivnogo ispol'zovaniya virtual'noj pamyati, perechislyayutsya nizhe:
z bit dlya kazhdogo segmenta ili stranicy, kotoryj govorit
processoru (ili ustrojstvu upravleniya pamyat'yu), imeetsya li dannyj
segment ili stranica v pamyati, ili neobhodimo zagruzit' ego (ee) s
diska;
z mehanizm lovushki ili osobogo preryvaniya, pri pomoshchi kotorogo
processor mozhet ukazat' operacionnoj sisteme o neobhodimosti
zagruzki v pamyat' otsutstvuyushchego segmenta ili stranicy;
z perezapuskaemye komandy, kotorye pozvolyayut processoru vybirat'
zanovo komandu posle togo, kak operacionnaya sistema zagruzila
tol'ko chto ne prisutstvuyushchuyu stranicu v pamyat' i pometila ee
prisutstvuyushchej.
Processor 80786 imeet vse eti neobhodimye svojstva, a takzhe
drugie, kotorye uluchshayut effektivnost' mehanizma upravleniya
virtual'noj pamyat'yu. Kak deskriptory, tak i elementy stranichnyh
tablic imeyut bit prisutstviya i poetomu mogut byt' ispol'zovany kak
osnova dlya postroeniya virtual'noj pamyat'yu. Obmen segmentami mezhdu
pamyat'yu i diskom yavlyayutsya razumnym podhodom, kogda segmenty
otnositel'no maly, kak eto bylo v 16-bitnyh arhitekturah. Kogda
segmenty mogut byt' ochen' veliki, kak eto vozmozhno v 80786, obmen
stranicami obychno yavlyaetsya bolee effektivnym priemom blagodarya
fiksirovannomu razmeru stranic. V stranichnyh sistemah operacionnaya
sistema raspredelyaet i osvobozhdaet pamyat' elementami razmerom so
stranicu, nazyvaemymi stranichnymi kadrami; stranica , zagruzhaemaya
s diska, budet podhodit' lyubomu imeyushchemusya kadru. Poskol'ku
bol'shinstvo iz 32-bitnyh sistem s virtual'noj pamyat'yu osnovyvaetsya
na mehanizme stranic, ostavshayasya chast' etogo razdela opisyvaet
stranichnyj virtual'nyj mehanizm 80786.
V obshchem sluchae operacionnaya sistema so stranichnoj virtual'noj
pamyat'yu peresylaet otsutstvuyushchie stranicy s diska v stranichnye
kadry po zaprosam, t.e. kogda ona budet opoveshchena processorom, chto
komanda obrashchaetsya k otsutstvuyushchej stranice. Kogda kolichestvo
svobodnyh kadrov stanovitsya malen'kim, operacionnaya sistema takzhe
peredaet stranicy iz stranichnyh kadrov na disk, pytayas' iz座at' te
stranicy, kotorye vryad li budut ispol'zovany v blizhajshem budushchem.
Putem takogo "prozrachnogo" obmena stranicami mezhdu stranichnymi
kadrami i diskom operacionnaya sistema sozdaet u prikladnogo
programmnogo obespecheniya illyuziyu, chto fizicheskaya pamyat' imeet
razmer ochen' bol'shoj oblasti obmena na diske. Nizhe podrobno
opisyvaetsya etot mehanizm.
Kogda v processe translyacii logicheskogo adresa processor
poluchaet linejnyj adres, kotoryj ssylaetsya na element stranichnoj
tablicy, chej bit prisutstviya sbroshen, v processore voznikaet
osobaya situaciya, nazyvaemaya, uslovno, stranichnoj oshibkoj. Osobye
a(bc f(( rassmatrivayutsya nizhe v etom razdele, no osnovnym
sledstviem etoj oshibki yavlyaetsya vyzov processorom procedury
operacionnoj sistemy, nazyvaemoj obrabotchikom stranichnoj oshibki.
Pri vhode v obrabotchik stranichnoj oshibki Upravlyayushchij registr 2
soderzhit linejnyj adres, svyazannyj s otsutstvuyushchej stranicej. Po
etomu adresu obrabotchik stranichnoj oshibki mozhet najti otnosyashchijsya
k nemu element stranichnoj tablicy putem translyacii linejnogo
adresa, kak eto delaet processor. Otmetim, chto vse ostal'nye bity,
za isklyucheniem bita prisutstviya v elemente stranichnoj tablicy,
opredelyayutsya pol'zovatelem; oni predstavlyayut dlya operacionnoj
sistemy udobnoe mesto dlya zapominaniya diskovogo adresa
otsutstvuyushchej stranicy. Opredeliv diskovyj adres otsutstvuyushchej
stranicy, obrabotchik stranichnoj oshibki mozhet najti svobodnyj
stranichnyj kadr i peredat' stranicu s diska v etot kadr. Zatem
obrabotchik stranichnoj oshibki izmenyaet adresnoe pole v elemente
stranichnoj tablicy i bit prisutstviya, posle chego vozvrashchaet
upravlenie programme, prervannoj stranichnoj oshibkoj. Posle etogo
processor avtomaticheski zanovo vybiraet komandu, v kotoroj
proizoshla stranichnaya oshibka, i rezul'tat budet takim zhe, kak esli
by stranica ranee nahodilas' v pamyati, kogda komanda nachala
ispolnyat'sya v pervyj raz.
Drugie polya v elemente stranichnoj tablicy processora 80786
pomogayut operacionnoj sisteme effektivno proizvodit' dejstviya,
svyazannye s upravleniem virtual'noj pamyat'yu. Krome zagruzki
stranic po zaprosam operacionnaya sistema dolzhna podderzhivat' nabor
svobodnyh stranichnyh kadrov, kotorye mogut byt' raspredeleny
obrabotchikom stranichnyh oshibok. Dlya uvelicheniya nabora svobodnyh
stranichnyh kadrov operacionnaya sistema dolzhna znat', kakoj kadr
osvobodit'. Prezhde chem osvobodit' kadr, operacionnaya sistema
dolzhna zapisat' etu stranicu na disk, esli stranica byla
modificirovana s teh por, kogda ona byla zagruzhena. Dlya togo,
chtoby pomoch' operacionnoj sisteme v etoj dlitel'nosti, arhitektura
80786 imeet bit dostupa i bit izmeneniya v kazhdom elemente
stranichnoj tablicy, processor izmenyaet eti bity avtomaticheski, dlya
vseh imeyushchihsya v pamyati stranic 80786 ustanavlivaet bit dostupa
vsegda, kogda proishodit chtenie ili zapis' v dannoj stranice, i
ustanavlivaet bit izmeneniya, kogda proishodit zapis' v etu
stranicu. Putem periodicheskogo prosmotra i sbrosa bitov dostupa
operacionnaya sistema mozhet opredelit' stranicy, kotorye davno ne
ispol'zovalis'. Kadry, soderzhashchie takie stranicy, yavlyayutsya
horoshimi kandidatami na osvobozhdenie, poskol'ku stranicy, kotorye
davno ne ispol'zovalis', vryad li budut ispol'zovany v blizhajshem
budushchem. Kogda operacionnaya sistema vybrala stranicu dlya
osvobozhdeniya ee stranichnogo kadra, stranica ne dolzhna zapisyvat'sya
na disk za isklyucheniem sluchaya, kogda processor ustanovil ee bit
izmeneniya.
Kazhdyj element stranichnoj tablicy takzhe soderzhit 3-h bitnoe
pole, kotoroe operacionnaya sistema mozhet ispol'zovat' po svoemu
usmotreniyu. Operacionnye sistemy obychno ispol'zuyut eto pole dlya
markirovki stranic special'nymi znakami takimi kak, naprimer,
"zakryto dlya vvoda/vyvoda".
3.4Zashchita
Processor 80786 obespechivaet neskol'ko mehanizmov zashchity,
kotoroe operacionnaya sistema mozhet selektivno vybirat' dlya svoih
nuzhd. Odna iz form zashchity - otdelenie prostranstv adresov zadach
pri pomoshchi tablic deskriptorov segmentov i stranichnyh tablic,
obsuzhdalas' vyshe. |to razdelenie effektivno predotvrashchaet
nalozhenie kodov i dannyh razlichnyh prikladnyh zadach. V dopolnenie
k izolyacii zadach drug ot druga 80386 obespechivaet vozmozhnost'
' i(bk operacionnoj sistemy ot prikladnyh zadach, zashchitu odnoj
chasti operacionnoj sistemy ot drugih chastej i zashchitu zadach ot
nekotoryh ih sobstvennyh oshibok. Krome togo, chto sistema zashchity
80386 delaet operacionnye sistemy bolee nadezhnymi, ona mozhet
uprostit' process otladki, ispol'zuya preryvaniya (lovushki) po
oshibkam dlya konkretnyh zadach. Vse svojstva zashchity processora 80386
realizovany vnutri kristalla, poetomu dejstviya po proverke zashchity
ne vliyayut na proizvoditel'nost' processora.
3.4.1 Privilegii
Mnogie iz svojstv zashchity processora 80386 baziruyutsya na
ponyatii ierarhii privilegij. V lyuboj moment privilegii zadachi
ekvivalentna urovnyu privilegij ispolnyaemogo kodovogo segmenta. V
kazhdom deskriptore segmenta imeetsya pole, kotoroe opredelyaet
uroven' privilegii svyazannogo s nim segmenta, pole mozhet prinimat'
0 - eto naibolee privilegirovannyj uroven', a uroven' privilegii 3
- naimenee privilegirovannyj.
Na ris.3-8 Pokazano, kak urovni privilegii processora 80386
mogut byt' ispol'zovany dlya ustanovki razlichnyh strategij zashchity.
Sistema bez zashchity mozhet byt' realizovana putem prostogo pomeshcheniya
vseh procedur v segment (ili segmenty), chej uroven' privilegii
raven 0. Tradicionnoe razdelenie na supervizora i pol'zovatelya
mozhet byt' realizovano putem pomeshcheniya prikladnoj zadachi v segment
s urovnem privilegii 3, a procedur supervizora - v segment chej
uroven' privilegij raven 0. Operacionnaya sistema mozhet takzhe
ispol'zovat' urovni privilegii 1 i 2, esli eto neobhodimo.
Naprimer, naibolee kriticheskie i naibolee izmenyaemye procedury
operacionnoj sistemy (inogda nazyvaemye yadrom operacionnoj
sistemy) mogut imet' uroven' privilegij 0. Uroven' privilegij 0.
Uroven' privilegij 1 mozhet byt' ispol'zovan dlya funkcij
operacionnoj sistemy , kotorye yavlyayutsya menee kriticheskimi i bolee
chasto izmenyayutsya ili rasshiryayutsya, naprimer, dlya drajverov
ustrojstv. Uroven' 2 mozhet byt' ispol'zovan dlya ispol'zovaniya
proizvoditelyami original'nogo oborudovaniya, takie proizvoditeli
original'nogo oborudovaniya dolzhny zatem prisvaivat' uroven'
privilegij 2 svoim programmam, ostavlyaya uroven' privilegij 3 dlya
konechnyh pol'zovatelej. V etom sluchae programmy proizvoditelej
original'nogo oborudovaniya zashchishcheny ot programm konechnyh
pol'zovatelej. Operacionnaya sistema zashchishchena kak ot programm
proizvoditelej original'nogo oborudovaniya i programm konechnyh
pol'zovatelej, a yadro operacionnoj sistemy zashchishcheno ot vseh
ostal'nyh programm, vklyuchaya tu chast' operacionnoj sistemy, kotoraya
yavlyaetsya predmetom chastnyh izmenenij. Kak budet pokazano nizhe,
uroven' privilegij zadachi opredelyaet, kakie komandy mozhno
ispol'zovat' i kakoe podmnozhestvo segmentov i/ili stranic v ih
adresnom prostranstve oni mogut obrabatyvat' (ispolnyat').
Processor osushchestvlyaet proverku na dopustimost' raboty soglasno
urovnyu privilegii zadachi i urovnyu privilegii segmentov ili
stranic, kotorye yavlyayutsya operandami komand. Lyubaya popytka zadachi
ispol'zovat' bolee privilegirovannyj segment ili stranicu privodit
k ostanovke raboty processora nad komandoj i vozniknoveniyu osoboj
situacii zashchity. (Osobye situacii opisyvayutsya v dannom razdele
nizhe kak sistemnye vyzovy, kotorye obespechivayut upravlyaemyj put'
dlya vyzova menee privilegirovannymi procedurami bolee
privilegirovannyh procedur).
3.4.2 Privilegirovannye komandy
V dopolnenie k tomu, kakie segmenty i stranicy mogut byt'
ispol'zovany, uroven' privilegii zadachi opredelyaet komandy,
kotorye zadachej mogut byt' ispol'zovany. Processor 80386 imeet
/.$,-.&%ab". komand, ispolnenie kotoryh dolzhno byt' tshchatel'no
proanalizirovano dlya togo, chtoby predotvratit' ser'eznye
razrusheniya sistemy. Vse komandy, kotorye zagruzhayut novye znacheniya
v sistemnye registry, yavlyayutsya primerami privilegirovannyh komand.
Tol'ko zadacha, rabotayushchaya na urovne privilegij 0, mozhet ispolnyat'
privilegirovannye komandy.
3.4.3 Zashchita segmentov
Deskriptory v registrah LDT i GDT - zadach opredelyayut logicheskoe
adresnoe prostranstvo zadachi. Segmenty, opredelennye v etih
tablicah, teoreticheski adresuemy, poskol'ku tablicy deskriptorov
obespechivayut informaciej, neobhodimoj dlya vychisleniya adresa
segmenta. Odnako adresuemyj segment ne mozhet byt' dostupen dlya
nekotoryh operacij, iz-za dopolnitel'nyh proverok zashchity,
osushchestvlyaemyh processorom 80386. Processor proveryaet kazhdoe
obrashchenie k segmentu (sgenerirovannoe pri ispolnenii komandy ili
pri vyborke komandy), chtoby opredelit', chto obrashchenie soglasuetsya
s atributami zashchity segmenta, kak eto opisano nizhe.
Privilegiya: CHtoby poluchit' dostup k segmentu, programma dolzhna
imet', po krajnej mere, takuyu zhe privilegiyu kak segment. Naprimer,
programma, rabotayushchaya na urovne 3, mozhet obrashchat'sya tol'ko k tem
segmentam, chej uroven' privilegij takzhe raven 3, v to vremya, kak
programma, rabotayushchaya na urovne 0, mozhet obrashchat'sya ko vsem
segmentam v svoem adresnom prostranstve.
Granica: Obrashchenie k segmentu dolzhno nahodit'sya vnutri granic
segmenta. Granicy segmenta pozvolyayut processoru obnaruzhivat'
programmnye oshibki, takie kak perepolnenie steka, nevernye
ukazateli i indeksy massivov, a takzhe nepravil'nye adresa vyzovov
i perehodov. V sluchayah, kogda operacionnaya sistema mozhet
opredelit', chto obrashchenie za granicy segmenta ne yavlyaetsya oshibkoj
(perepolnenie steka yavlyaetsya primerom dlya nekotoryh sistem),
operacionnaya sistema mozhet rasshirit' segment (naprimer, putem
dobavleniya stranicy k nemu) i nachat' komandu s nachala.
Tip: Kazhdyj deskriptor soderzhit pole tipa, kotoroe processor
proveryaet na sootvetstvie komande, kotoruyu on ispolnyaet. Obychnye
segmenty imeyut tip komand ili dannyh , pozvolyaya processoru,
naprimer, obnaruzhit' popytku zapisi v sushchestvuyushchij kod, naprimer,
tipy segmentov, neposredstvenno rabotayushchie v prikladnyh programmah
- eto komandy i dannye. Sistemnye deskriptory takzhe imeyut tip, tak
chto processor mozhet, naprimer, proverit' pri pereklyuchenii zadach,
chto segment, ukazannyj v komande JUMP TSS, dejstvitel'no yavlyaetsya
segmentom sostoyaniya zadachi.
Prava: Deskriptor segmenta mozhet byt' pomechen pravami,
ogranichivayushchimi operacii, kotorye mozhno proizvodit' so svyazannym s
nim segmentom. Segmenty komand mogut byt' pomecheny kak ispolnyaemyj
ili chitaemyj. Segmenty dannyh mogut byt' pomecheny kak dostupnye
tol'ko dlya chteniya ili kak dostupnye dlya chteniya i zapisi.
Vse proverki, opisannye vyshe, zavisyat ot celostnosti deskriptorov.
Esli zadacha, ispolnyayushchaya prikladnuyu programmu, mogla by izmenyat'
deskriptor, proverka nichego by ne garantirovala. Po etoj prichine
operacionnaya sistema mozhet ogranichit' dostup k tablicam
deskriptorov tol'ko dlya programm s urovnem privilegii 0.
Zametim, chto v sluchae razdelyaemyh segmentov razlichnye
deskriptory dlya odnogo i togo zhe segmenta (t.e. sinonimy) mogut
imet' razlichnye atributy zashchity, pozvolyaya, naprimer, odnoj zadache
chitat' i pisat' segment, v to vremya, kak drugoj tol'ko chitat' ego.
Sinonimy takzhe pozvolyayut operacionnoj sisteme preodolet' mehanizm
zashchity, esli eto neobhodimo, naprimer dlya peremeshcheniya kodovogo
segmenta.
3.4.4 Zashchita stranic
Sistemy, kotorye shiroko ne ispol'zuyut zashchitu segmentov, vmesto
etogo mogut zashchishchat' stranicy (zashchita stranic mozhet byt' takzhe
prilozhima k otdel'nym chastyam bol'shih segmentov). Analogichno
deskriptoru element stranichnoj tablicy imeet nabor atributov
zashchity, processor 80386 proveryaet kazhdoe obrashchenie k stranice na
sootvetstvie etim atributam.
|lement stranichnoj tablicy mozhet byt' otmechen odnim iz dvuh
urovnej privilegij: pol'zovatel'skij ili supervizornyj.
Pol'zovatel'skij uroven' sootvetstvuet urovnyu privilegij 3, a
supervizornye stranicy mogut byt' dostupny tol'ko zadacham,
rabotayushchim s urovnyami privilegij 0, 1 ili 2, pol'zovatel'skaya
stranica mozhet byt' otmechena kak dostupnaya tol'ko dlya chteniya ili
dlya chteniya i zapisi.
Processor 80386 proveryaet atributy zashchity stranic posle togo,
kak on udostoverilsya, chto dostup nahoditsya v sootvetstvii s
atributami segmenta. Takim obrazom, zashchita stranic yavlyaetsya
udobnym sredstvom dlya operacionnoj sistemy realizovat'
dopolnitel'nuyu zashchitu chastej segmentov. Naprimer, operacionnaya
sistema mozhet bezopasno zapolnit' dannye operacionnoj sisteme,
otnosyashchiesya k zadacham, takie kak stranichnye tablicy i deskriptory
fajlov, v segmente dannyh zadachi, oboznachiv stranicy, gde
raspolozheny eti dannye, kak supervizornye.
3.5Sistemnye vyzovy
Bol'shinstvo operacionnyh sistem organizuyut svoi funkcii kak
nabor procedur, kotorye mogut byt' vyzvany zadachami. Nezashchishchennaya
operacionnaya sistema processora 80386 mozhet pomestit' svoi
procedury i prikladnoj kod v kodovoj segment s urovnem privilegii
0/ ili v bolee chem odin takoj segment, prikladnaya zadacha mozhet
zatem vyzvat' funkciyu operacionnoj sistemy obychnoj komandnoj
vyzova. Takoj podhod yavlyaetsya bystrym, no trebuet ot prikladnyh
zadach, chtoby v nih ne bylo oshibok i chtoby oni vypolnyalis'
pravil'no (kak eto, naprimer, realizuetsya vo vstroennyh sistemah).
Nichto ne zapreshchaet zadache, rabotayushchej na urovne privilegii 0,
vyzyvat' procedury, nahodyashchiesya v adrese, kotoryj ne yavlyaetsya
tochkoj vhoda v operacionnuyu sistemu, nichto ne zapreshchaet takoj
zadache isportit' dannye operacionnoj sistemy. Dlya zashchity
operacionnoj sistemy prikladnye programmy i dannye mogut byt'
pomeshcheny v menee privilegirovannye segmenty. Takzhe kak zadacha,
rabotayushchaya na dannom urovne privilegii, ne mozhet chitat' ili pisat'
dannye v segment s bol'shim urovnem privilegii, zadacha takzhe ne
mozhet neposredstvenno vyzvat' proceduru iz bolee
privilegirovannogo segmenta. Dlya togo, chtoby pozvolit' zadache,
ispolnyayushchej komandy iz menee privilegirovannogo segmenta, sdelat'
vyzov zashchishchennoj sistemnoj procedury, operacionnaya sistema dolzhna
opredelit' odnu ili bolee vhodnyh tochek. V processore 80386 eti
vhodnye tochki nazyvayutsya shlyuzami (sm. ris.3-9).
ATRIBUTY
SCHETCHIK DVOJNYH SLOV
TIP
PRIVILEGIYA
+------------------------------------------------+
| | | | | BIT NALICHI |
+------------------------------------------------|
| UKAZATELX TOCHKI VHODA |
+------------------------------------------------+
SCHETCHIK DVOJNYH SLOV OTNOSITSYA TOLXKO K SHLYUZAM
Imeyutsya dva tipa shlyuzov, kotorye mogut byt' ispol'zovany dlya
realizacii vhodnyh tochek operacionnoj sistemy: shlyuzy lovushek i
shlyuzy vyzovov. Dva tipa shlyuzov, voobshche govorya, pohozhi, odnako shlyuz
vyzova pozvolyaet sdelat' interfejs operacionnoj sistemy identichnym
s interfejsom obychnoj procedury. Ispol'zuya shlyuzy vyzovov,
programmisty kompilyatorov i assemblerov mogut ispol'zovat' obshchij
nabor soglashenij dlya vyzova lyubyh procedur, ostavlyaya za
processorom 80386 zaboty o dopolnitel'noj obrabotke, neobhodimoj
dlya izmeneniya urovnej privilegii.
Kak pokazano na ris.3-9, shlyuz soderzhit logicheskij adres
vhodnoj tochki i nabor atributov. Naibolee vazhnyj atribut - eto
uroven' privilegii shlyuza. Uroven' privilegii shlyuza opredelyaet
urovni privilegii, kotorye mogut ispol'zovat' shlyuz, dlya
ispol'zovaniya shlyuza vyzyvayushchaya procedura dolzhna byt', kak minimum,
takzhe privilegirovanna kak shlyuz. Na ris.3-10 Pokazan primer. V
etoj gipoticheskoj sisteme programma pol'zovatelya imeet uroven'
privilegii 3, v to vremya kak operacionnaya sistema razdelena na 2
urovnya. YAdro operacionnoj sistemy rabotaet na urovne privilegii 0,
a menee kritichnye funkcii operacionnoj sistemy rabotayut na urovne
privilegii 1. (Uroven' privilegii 2 ne ispol'zuetsya). V etoj
sisteme pol'zovatel'skaya programma pozvolyaet vyzyvat' servisnye
procedury, no ne yadro. V sootvetstvii s etim obespechivaet shlyuz dlya
servisnyh procedur. Uroven' privilegij etogo shlyuza raven 3, tak
chto programma pol'zovatelya mozhet vyzyvat' procedury cherez nego.
Prisvaivaya shlyuzu yadra uroven' privilegii 1, operacionnaya sistema
pozvolyaet servisnym proceduram vyzyvat' yadro, no zapreshchaet dostup
k programme pol'zovatelya, kotoraya menee privilegirovanna, chem shlyuz
yadra. Takim obrazom operacionnaya sistema mozhet primenyat' shlyuzy dlya
akkuratnogo opredeleniya svoih tochek vhoda, vklyuchaya urovni
privilegii, neobhodimye dlya ispol'zovaniya etih tochek vhoda. Dlya
togo, chtoby sdelat' funkcii operacionnoj sistemy vyzyvaemymi iz
vseh zadach, operacionnaya sistema, obychno pomeshchaet ih shlyuzy vyzovov
v global'nuyu tablicu deskriptorov.
Dlya osushchestvleniya vyzova cherez shlyuz lovushki zadacha ispol'zuet
komandu preryvaniya, dlya osushchestvleniya vyzova cherez shlyuz vyzova
zadacha ispolnyaet komandu obychnogo mezhsegmentnogo vyzova. Obe
komandy izmenyayut uroven' privilegii zadachi perehodyat k steku,
opredelennomu (v TSS zadache) dlya starshego urovnya privilegii.
(Opredelennaya sistema dolzhna imet' svoj sobstvennyj stek dlya togo,
chtoby garantirovat' dostatochno stekovoe prostranstvo dlya raboty,
nel'zya verit' prikladnym zadacham, chto oni imeyut dostatochnoe
stekovoe prostranstvo). Pered vyzovom cherez stek vyzova zadacha
mozhet zaslat' parametry v svoj stek, kak ona sdelala by eto pered
vyzovom drugoj procedury. Processor 80386 avtomaticheski kopiruet
parametry v privilegirovannyj stek (pole schetchika dvojnyh slov v
shlyuze vyzova govorit processoru 80386, skol'ko dvojnyh slov
parametrov neobhodimo skompilirovat'). Sistemy, kotorye
osushchestvlyayut vyzovy cherez shlyuzy lovushek, mogut peresylat'
parametry v registrah.
3.6Preryvaniya i osobye situacii
Ustrojstva generiruyut preryvaniya, kogda oni trebuyut vnimaniya,
v to vremya kak komandy mogut vyzvat' osobye situacii, esli pri ih
ispol'zovanii voznikayut osobye usloviya, takie kak nesushchestvuyushchaya
stranica. Tipichnoe preryvanie ili osobaya situaciya trebuyut bystrogo
vmeshatel'stva programmnogo drajvera, kotoryj otvechaet na
preryvanie ili osobuyu situaciyu. Posle togo, kak drajver vernet
upravlenie, 80386 vozobnovlyaet ispolnenie komandnogo potoka,
kotoryj byl prervan ili kotoryj vyzval osobuyu situaciyu. Poskol'ku
preryvaniya i osobye situacii ves'ma pohozhi, processor 80386
` aa, b`(" %b ih unificirovannym sposobom.
Kazhdyj istochnik preryvaniya i kazhdyj tip osoboj situacii imeet
identifikacionnyj nomer v diapazone ot 0 do 255, processor 80386
ispol'zuet etot nomer dlya togo, chtoby vyzvat' obrabotchik,
svyazannyj s preryvaniem ili osoboj situaciej. Pri vozniknovenii
osobyh situacij oni raspoznayutsya processorom 80386, kotoryj
opredelyaet nomera osobyh situacij, kak eto pokazano v tabl.3-1.
Nomera preryvanij opredelyayutsya operacionnoj sistemoj. Operacionnaya
sistema inicializiruet programmiruemyj kontroller preryvanij 8259a
takim obrazom, chto kazhdyj istochnik preryvanij svyazyvaetsya so svoim
nomerom. Pri poyavlenii preryvaniya 8259a peredaet processoru 80386
nomer preryvaniya. Komandy preryvanij ukazyvayut svoi nomera svoih
operandah. Zametim, chto dlya sovmestimosti s sushchestvuyushchim i budushchim
oborudovaniem firmy INTEL nomera preryvanij i osobyh situacij ot 0
do 71 ne dolzhny ispol'zovat'sya inache, chem eto ukazano v tabl.3-1.
Vse drugie nomera mogut primenyat'sya bez ogranichenij.
Tablica 3-1
+-----------------------------------------------------------+
| NOMER | OPISANIE |
+----------------+------------------------------------------|
| 00 | DELENIE NA 0 |
| 01 | OSOBAYA SITUACIYA OTLADKI |
| 03 | KONTROLXNAYA TOCHKA PROGRAMMY |
| 04 | PEREPOLNENIE |
| 05 | NARUSHENIE GRANIC MASSIVA |
| 06 | NEDOPUSTIMYJ KOD OPERACII |
| 07 | SOPROCESSOR OTSUTSTVUET |
| 08 | DVOJNAYA OSHIBKA |
| 10 | NEPRAVILXNYJ TSS |
| 11 | SEGMENTNAYA OSHIBKA |
| 12 | PEREPOLNENIE STEKA SVERHU ILI SNIZU |
| 13 | NARUSHENIE OBSHCHEJ ZASHCHITY |
| 14 | STRANICHNAYA OSHIBKA |
| 16 | OSHIBKA SOPROCESSORA |
+-----------------------------------------------------------+
3.6.1 Tablica deskriptorov
Sgenerirovav ili poluchiv nomer preryvaniya ili osoboj situacii,
processor 80386 ispol'zuet ego kak indeks v tablice deskriptorov
preryvanij (IDT). IDT Mozhet byt' raspolozhena v lyubom meste pamyati,
operacionnaya sistema inicializiruet IDT i zagruzhaet ee adres v
registr tablicy deskriptorov preryvanij (IDTR). Podobno GDT ili
LDT, IDT yavlyaetsya vektorom deskriptorov, hotya shlyuzy yavlyayutsya
edinstvennym tipom deskriptorov, dopustimyh v IDT. V IDT imeetsya
odin shlyuz dlya kazhdogo obrabotchika preryvaniya i osoboj situacii
(IDT funkcional'no podobna tablice preryvanij, imeyushchejsya vo mnogih
arhitekturah).
Obrabotchik preryvanij ili osobyh situacij processora 80386
mozhet byt' realizovan v vide procedury ili zadachi, nizhe kratko
obsuzhdayutsya dostoinstva etih dvuh sposobov. Processor 80386
vyzyvaet obrabotchik, organizovannyj v vide procedury tak, on
vypolnyaet sistemnyj vyzov cherez shlyuz. Dlya vyzova obrabotchika,
organizovannogo v vide zadachi, processor 80386 osushchestvlyaet
pereklyuchenie zadach. Tip shlyuza IDT obrabotchika govorit processoru,
kakim obrazom neobhodimo vyzvat' obrabotchik (sm. Tabl.3-2). Kak
bylo ukazano, shlyuzy preryvanij i lovushek funkcional'no podobny
shlyuzam vyzovov, za isklyucheniem togo chto oni zastavlyayut 80386
zapomnit' registr flagov v stek obrabotchika. Oni otlichayutsya odin
ot drugogo tol'ko sostoyaniem flaga razresheniya preryvaniya (IF) pri
"e.$% v obrabotchik, v obrabotchik preryvanij vhodyat s zapreshchennymi
preryvaniyami, v to vremya kak v obrabotchik lovushki, kotoryj obychno
ispol'zuetsya dlya obrabotki osobyh situacij, vhodyat bez izmeneniya
zapreta. V processe vhoda v obrabotchik - zadachu 80386 zagruzhaet
registr flagov znacheniem, zapomnennym v ego TSS - zadache, razreshaya
obrabotchiku rabotat' s razreshennymi ili zapreshchennymi preryvaniyami.
Tablica 3-2
HARAKTERISTIKI SHLYUZOV PRERYVANIJ I OSOBYH SITUACIJ
+-----------------------------------------------------------+
| TIP SHLYUZA | OBRABOTCHIK | PRERYVANIYA |
+------------+----------------------+-----------------------|
| PRERYVANIE | PROCEDURA | ZAPRESHCHENY |
| SHLYUZ | PROCEDURA | RAZRESHENY |
| ZADACHA | ZADACHA | (FLAG IF OBRABOTCHIKA) |
+-----------------------------------------------------------+
Obrabotchiki - procedury yavlyayutsya podhodyashchim sredstvom dlya
programm, kotorye dolzhny rabotat' v kontekste (t.e. ispol'zovat'
adresnoe prostranstvo i znacheniya registrov) zadachi, kotoraya
prervana ili vyzvala osobuyu situaciyu. Pri 16-mgc-sinhrosignale
procedura vhoda v obrabotchik zanimaet 3,6 mks. Podobno lyuboj
drugoj procedura preryvaniya ili osoboj situacii imeet dostup ko
vsem resursam rabotayushchej zadachi: k ee dannym i kodu, ee registram
i steku. Tak i dolzhno byt' dlya bol'shinstva osobyh situacij,
poskol'ku v zadache voznikla osobaya situaciya i mozhet potrebovat'sya
dostup k dannym zadachi, chtoby etu osobuyu situaciyu razreshit'.
Naprimer, obrabotchiku stranichnyh oshibok neobhodimy stranichnye
tablicy rabotayushchej zadachi dlya togo, chtoby najti diskovyj adres
otsutstvuyushchej stranicy. V ideale preryvaniya dolzhny obrabatyvat'sya
zadachami, a ne procedurami, tak kak preryvanie , voobshche govorya, ne
otnositsya k zadache, kotoruyu ono preryvaet. Bolee togo, obrabotchik
preryvanij dolzhen imet' svoi sobstvennye resursy (naprimer, svoj
sobstvennyj stek), a ne vnedryat' v stek kakoj-to zadachi, kotoraya
rabotala v moment poyavleniya preryvaniya. S drugoj storony
pereklyuchenie zadach trebuet znachitel'no bol'shego vremeni chem vyzov
procedury (17 mks vmesto 3,6), poskol'ku processor zapominaet i
vosstanavlivaet registry pri pereklyuchenii zadach. Sistemy, kotorye
chrezvychajno chuvstvitel'ny ko vremeni reakcii na preryvaniya, mogut
obrabatyvat' preryvaniya pri pomoshchi procedur.
3.6.2 Osobye sluchai i registry otladki
Podobno bol'shinstvu processorov 80386 imeet komandu
kontrol'noj tochki, kotoruyu mozhno ispol'zovat' dlya vyzova
otladchika. Odnako otladochnaya apparatura 80386 imeet formu
registrov otladki, pokazannyh na ris.3-11. Registry otladki
podderzhivayut kontrol'nye tochki dannyh yavlyayutsya vazhnym
novovvedeniem, kotoroe mozhet sokratit' vremya otladki na mnogie
chasy, t.K. Naprimer, pozvolyaet ustanovit', kogda proishodit
nepredusmotrennaya zapis' v struktury dannyh.
Registry otladki takzhe sokrashchayut iskazheniya v programmah,
neobhodimye dlya zapisi komandy tochek ostanova v kod, osobenno dlya
programm, kotorye zashchishcheny ot zapisi ili razdeleny drugimi
zadachami.
Otladchik 80386 realizuet v vide obrabotchika osoboj situacii s
nomerom 1. Processor mozhet neposredstvenno vyzvat' otladchik posle
ispolneniya lyuboj komandy (putem ustanovki flaga TF - flaga lovushki
poshagovogo ispolneniya), posle pereklyucheniya opredelennoj zadachi ili
posle poyavleniya usloviya tochki ostanov, opredelennogo odnim iz
`%#(ab`." otladki. Analiziruya registr statusa otladki, obrabotchik
otladochnoj osoboj situacii mozhet opredelit', kakaya iz prichin ego
vyzvala.
Buduchi vyzvan pri pereklyuchenii zadach, otladchik mozhet
perezagruzit' registry otladki znacheniyami, podhodyashchimi dlya novoj
zadachi.
80386 Mozhet ozhidat' poyavleniya odnovremenno do chetyreh uslovij
kontrol'nyh tochek, vyzyvaya obrabotchik otladochnoj osoboj situacii
pro poyavlenii odnogo iz uslovij. Kazhdoe uslovie kontrol'noj tochki
opredelyaetsya soderzhimym registra otladki, eti registry mogut byt'
zagruzheny i zapomneny pri pomoshchi privilegirovannyh formatov
komandy MOVE. Uslovie kontrol'noj tochki soderzhit 32-bitnyj
linejnyj adres, 2-bitnoe pole dliny i pole dostupa, poslednie dva
elementa ukazyvayutsya v polyah registra upravleniya otladkoj DR7.
Adres usloviya kontrol'noj tochkoj i dlina formiruyut adresnyj
diapazon, kotoryj kontroliruetsya processorom pri kazhdoj ssylke na
pamyat'. Pole dostupa opredelyaet tip dostupa, dlya kotorogo
processor mozhet vyzvat' osobuyu situaciyu 1. Mogut byt' ukazany 3
tipa dostupa:
1) ispolnenie komandy po ukazannomu adresu;
2) zapis' dannyh v diapazon adresov;
3) chtenie ili zapis' dannyh v diapazone adresov.
3.7Vvod/vyvod
Sistemy, baziruyushchiesya na 80386, mogut raspredelyat' ustrojstva
vvoda/vyvoda v prostranstvo pamyati processora ili v otdel'noe
prostranstvo vvoda/vyvoda. Ustrojstvam vvoda/vyvoda,
raspredelennym v prostranstvo pamyati, mozhno obrashchat'sya dlya chteniya
ili zapisi, ispol'zuya takie komandy obrashcheniya, kak MOVE, OR ili
analogichnye. Ustrojstva, raspredelennye v pamyati, mogut byt'
zashchishcheny s pomoshch'yu standartnogo mehanizma zashchity segmenta i
stranicy processora 808386.
V dopolnenii k svoemu adresnomu prostranstvu processor 80386
imeet 64k-bajtnoe adresnoe prostranstvo vvoda/vyvoda. Ustrojstva,
raspredelennye v eto prostranstvo, upravlyayutsya komandami vvoda,
vyvoda, vvoda stroki i vyvoda stroki. Pervye dve komandy peredayut
bajt, slovo, dvojnoe slovo v ili iz EAX-registra. Poslednie dve
komandy peredayut stroku bajtov, slov ili dvojnyh slov v pamyat' ili
iz pamyati.
Komandy vvoda-vyvoda 80386 chuvstvitel'ny k urovnyu privilegij.
V registre flagov imeetsya pole, nazyvaemoe urovnem privilegij
vvoda/vyvoda (IOPL), kotoroe opredelyaet minimal'nyj uroven'
privilegij , na kotorom rabotayushchaya zadacha mozhet ispolnyat' komandy
vvoda/vyvoda (IOPL zagruzhaetsya iz TSS, tak chto zadachi mogut imet'
razlichnye IOPL). Naprimer, esli IOPL zadachi raven 1, to zadacha ne
mozhet vydavat' komandy vvoda-vyvoda, isklyuchaya sluchai, kogda ona
rabotaet na urovne privilegii 0 ili 1. Mehanizm IOPL podderzhivaet
operacionnye sistemy s mnogourovnevoj zashchitoj, v kotoryh,
naprimer, kritichnye i stabil'nye procedury yadra rabotayut na urovne
privilegii 0, a bolee izmenchivye procedury vvoda-vyvoda rabotayut
na urovne privilegii 1, v etom sluchae operacionnaya sistema dolzhna
tol'ko ustanovit' IOPL ravnym 1, kogda ona sozdaet zadachu,
poskol'ku IOPL harakteren dlya zadachi, te zadachi, kotorym mozhno
doveryat', mogut ispolnyat' komandy vvoda-vyvoda na prikladnom
urovne, pozvolyaya tem samym neposredstvenno rabotat' so
special'nymi ustrojstvami, dlya kotoryh ne imeetsya drajvera
operacionnoj sistemy.
Dlya togo, chtoby realizovat' pryamoj dostup k pamyati (DMA) ot
ustrojstv voda/vyvoda, operacionnaya sistema 80386 peredaet
d('(g%a*() adres kontrolleru DMA i dolzhna garantirovat', chto
segmenty i/ili stranicy, ko kotorym proishodit obrashchenie pri DMA-
peredachah , ne budut peremeshchat'sya vo vremya etoj operacii. Odin iz
sposobov pometit' stranicy "fiksirovannymi na vremya vvoda-vyvoda"
- eto ispol'zovanie odnogo iz treh bitov pol'zovatelya v stranichnoj
tablice.
ARHITEKTURNAYA SOVMESTIMOSTX
80386 sovmestim na urovne ob容ktnogo koda s 80286 i s 8086.
Hotya mozhno prosto ispol'zovat' 80386 kak bystryj 80286 ili kak
ochen' bystryj 8086, ih sovmestimost' obladaet dostatochno bol'shoj
gibkost'yu. Processor 80386 mozhet vypolnyat' programmy 80286 i 80386
parallel'no, i, ispol'zuya virtual'nyj rezhim 86 processora 80386,
sushchestvuyushchie programmy 8086 mogut takzhe ispolnyat'sya parallel'no.
Takim obrazom pri pomoshchi 80386 stanovitsya vozmozhnym stroit'
sistemy, kotorye mogut parallel'no ispolnyat' programmy, napisannye
dlya razlichnyh pokolenij semejstva mikroprocessorov.
4.1Sovmestimost' s 80286
Arhitektura 80286 yavlyaetsya tochnym podmnozhestvom arhitektury
80386. Tak kak processor 80386 raspoznaet vse komandy 80286,
registry, deskriptory i t.D., To operacionnaya sistema 80286 i
prikladnye programmy mogut byt' pereneseny na analogichnoe
oborudovanie, postroennoe na osnove 80386 bez izmeneniya hotya by
odnogo bita.
Pryamoj perenos, upomyanutyj vyshe, yavlyaetsya naibolee bystrym
putem dlya togo, chtoby zapustit' sushchestvuyushchie programmy, napisannye
dlya 80286 na sisteme, postroennoj na 80386. S drugoj storony
operacionnye sistemy dlya 80386 mogut razrabatyvat'sya tak, chtoby
oni podderzhivali sushchestvuyushchie prikladnye programmy dlya 80286, i,
pozvolyaya v to zhe vremya, novym prikladnym programmam polnost'yu
ispol'zovat' svojstva arhitektury 80386 (naprimer, 32-bitnye
parametry i dlinnye segmenty). V takih gibkih razrabotkah novye
prikladnye programmy vyzyvayut operacionnuyu sistemu
neposredstvenno, peredavaya 32-bitnye parametry. Vyzovy staryh
prikladnyh programm, kotorye organizovany v 16-bitnom formate
80286, perehvatyvayutsya i preobrazuyutsya v 32-bitnyj format, a zatem
peredayutsya v operacionnuyu sistemu.
4.2Rezhimy real'nogo i virtual'nogo 8086
Processor 80386 mozhet vypolnit' ob容ktnye programmy 80386
vodnom iz 2 rezhimov: real'nom rezhime ili virtual'nom rezhime 86.
80386 Vhodit v real'nyj rezhim pri sbrose. V real'nom rezhime
processor obespechivaet bystroe ispolnenie bez zashchity tak, kak na
8086. Mnogie operacionnye sistemy budut pereklyuchat'sya iz real'nogo
rezhima v rezhim zashchity posle inicializacii, no takzhe vozmozhno
rabotat' vse vremya v real'nom rezhime 8086. Principial'noe razlichie
mezhdu real'nym rezhimom 80386 i dejstvitel'nym rezhimom 8086
zaklyuchaetsya v skorosti: programmy 8086, kotorye kritichny po
skorosti ispolneniya (naprimer, ispol'zuyushchie rasschitannye vremennye
cikly), mogut potrebovat' nebol'shih izmenenij dlya togo, chtoby oni
rabotali pravil'no v znachitel'no bolee bystrom real'nom rezhime
80386. No osnovnoe mnozhestvo programm 8086 budet rabotat' bez
kakih-libo trudnostej, t.k. oni rabotayut v real'nom rezhime 80286.
Virtual'nyj rezhim 86 ustanavlivaet ispolnitel'nuyu sredu 8086
vnutri zashchishchennoj mnogozadachnoj sredy 80386. V to vremya, kak
real'nyj rezhim upravlyaet vsem, chto delaet processor, virtual'nyj
rezhim 86 mozhet primenyat'sya v izbrannyh zadachah 80386. Kogda
processor rabotaet v virtual'nom rezhime 86, on vedet sebya, kak v
8086, no pole pereklyucheniya k normal'noj zadache, processor
rabotaet kak 80386 (kotoryj, na samom dele, mozhet interpretirovat'
programmy kak dlya 80286, tak i 80386). Takim obrazom virtual'nyj
rezhim 86 pozvolyaet operacionnoj sisteme podderzhivat' ispolnenie
programm 8086, 80286 i 80386 odnovremenno.
V razdele 3 bylo opisano, kak segment sostoyaniya zadachi
otrazhaet sostoyanie svoego virtual'nogo processora. Flag VM86 v
registre flagov, kotoryj zagruzhaetsya iz TSS, opredelyaet rabotayushchij
virtual'nyj processor zadachi kak 8086 ili 80386. Kogda 80386
zagruzhaet svoi registry iz TSS, u kotorogo flag VM86 ustanovlen,
processor vhodit v virtual'nyj rezhim 86. Kogda pri posleduyushchem
pereklyuchenii zadachi, processor zagruzhaet znacheniya v registr iz
TSS, u kotorogo flag VM86 sbroshen, on vyhodit iz virtual'nogo
rezhima 86. Takim obrazom ot zadachi k zadache processor emuliruet
80386 ili 8086 soglasno znacheniyu flaga VM86. 80386 Takzhe vyhodit
iz virtual'nogo rezhima 86, kogda on vydaet osobuyu situaciyu ili
voznikaet preryvanie, i predostavlyaet polnye resursy arhitektury
obrabotchiku preryvanij i osobyh situacij. Pri vozvrate iz
obrabotchika, vyzvannogo v virtual'nom rezhime 86,80386
avtomaticheski vozvrashchaetsya v virtual'nyj rezhim 86. Tak kak
adresnoe prostranstvo 8086 ravno 1 megabajtu, logicheskie adresa,
generiruemye zadachej v virtual'nom rezhime 86, popadaet v pervyj
megabajt linejnogo adresnogo prostranstva 80386. Mnozhestvo zadach,
rabotayushchih v virtual'nom rezhime 86, mogut peresekat'sya drug s
drugom, poetomu oni vse dolzhny razdelyat' mladshij megabajt
linejnogo adresnogo prostranstva. Operacionnaya sistema mozhet
ispol'zovat' stranichnyj mehanizm 80386 dlya peremeshcheniya linejnyh
adresnyh prostranstv zadach, rabotayushchih v virtual'nom rezhime 86, v
razlichnye oblasti fizicheskogo adresnogo prostranstva. Ispol'zuya
stranichnyj mehanizm takim sposobom, ne tol'ko predotvrashchayut
nalozhenie zadach, rabotayushchih v virtual'nom rezhime 86, no pozvolyayut
operacionnoj sisteme s virtual'noj pamyat'yu obmenivat' stranicy
zadach, rabotayushchih v virtual'nom rezhime 86, kak esli by oni byli
zadachami 80386.
Zadacha, rabotayushchaya v virtual'nom rezhime 86, mozhet vypolnyat'
programmu, kotoraya byla napisana dlya vypolneniya na odnozadachnom
personal'nom komp'yutere. Takaya programma mozhet soderzhat' komandy,
kotorye potencial'no opasny, kogda oni vypolnyayutsya v mnogozadachnoj
srede. Naprimer pozvolyaya zadache, rabotayushchej v virtual'nom rezhime
86, vypolnyat' komandu ochistki flaga preryvanij, tem samym zapreshchaya
preryvaniya, mozhno ostanovit' vsyu sistemu. Dlya predotvrashcheniya takih
narushenij 80386 vydaet osobuyu situaciyu, kogda zadacha, rabotayushchaya v
virtual'nom rezhime 86, pytaetsya ispolnyat' komandu vvoda/vyvoda ili
komandu, otnosyashchuyusya k preryvaniyam.
Zapreshchenie ispolneniya takih komand zashchishchaet ostal'nuyu chast'
sistemy ot zadach, rabotayushchih v virtual'nom rezhime 86, no ne
udovletvoryaet potrebnosti zadach virtual'nogo rezhima 86 v
ispolnenii komand. Reshenie zaklyuchaetsya v modelirovanii opasnyh
komand v procedure operacionnoj sistemy, nazyvaemoj monitorom
virtual'noj mashiny. Kogda vyzyvaetsya obrabotchik osobyh situacij,
on mozhet proverit' flag VM86 v obraze registrov flagov v steke,
chtoby opredelit', yavlyaetsya li istochnik osoboj situacii zadachej
virtual'nogo rezhima 86, v etom sluchae obrabotchik osobyh situacij
mozhet vyzvat' monitor virtual'noj mashiny, kotoryj mozhet
promodelirovat' komandu i vernut' upravlenie zadache virtual'nogo
rezhima 86. Sleduet zametit', chto monitor virtual'noj mashiny
modeliruet tol'ko neskol'ko komand 8086, i kak modeliruemye
komandy, tak i te komandy, kotorye 80386 ispolnyaet
neposredstvenno, vypolnyayutsya znachitel'no bystree na 80386, chem na
8086.
Rabotaya sovmestno, 80386 i monitor virtual'noj mashiny
realizuet polnyj nabor komand 8086, i stranichnyj mehanizm mozhet
obespechit' kazhduyu zadachu virtual'nogo rezhima 86 svoim sobstvennym
zashchishchennym adresnym prostranstvom. Odnako, bol'shinstvo zadach 8086
trebuyut dopolnitel'nyh resursov, obespechivaemyh operacionnoj
sistemoj i periferijnym oborudovaniem. V kachestve primera pervogo
tipa resursov mozhno privesti fajlovuyu sistemu, v kachestve vtorogo
tipa mozhno privesti kontroller rastrovogo displeya, rabotayushchego
neposredstvenno pod upravleniem prikladnoj programmy. |ti resursy
mogut prisutstvovat' v sisteme, osnovannoj na 80386 v forme,
otlichnoj ot top, v kotoroj oni prisutstvovali ranee v sistemah,
dlya kotoryh byla sozdana programma 8086, chtoby uprostit' rabotu
dlya predostavleniya etih resursov v razlichnyh sredah, 80386 mozhet
realizovat' lovushki pri obrashchenii k operacionnoj sisteme i k
periferijnym ustrojstvam, kotorye delayutsya zadachami virtual'nogo
rezhima 86.
Naprimer, bol'shinstvo operacionnyh sistem 8086 ispol'zuyut
komandu preryvaniya dlya realizacii vyzovov operacionnoj sistemy.
80386 Vydaet osobuyu situaciyu, kogda zadacha virtual'nogo rezhima 86
pytaetsya ispolnit' komandu preryvanij. Monitor virtual'noj mashiny
mozhet zatem protranslirovat' vyzov operacionnoj sistemy v vyzov
operacionnoj sistemy 80386, kak eto pokazano na ris.4-1. Esli IOPL
zadachi virtual'nogo rezhima 86 ustanovlen ravnym znacheniyu, men'shemu
3, to 80386 budet analogichnym obrazom sozdavat' lovushki pri
ispolnenii vseh komand vvoda/vyvoda programmoj 8086. Stranichnyj
mehanizm 80386 mozhet byt' ispol'zovan dlya perenapravleniya
obrashchenij k ustrojstvam vvoda/vyvoda, raspredelennym v pamyat', na
drugie adresa, esli eto neobhodimo. Podobnye obrashcheniya mogut takzhe
vyzvat' osobye situacii putem ukazaniya sootvetstvuyushchih stranic
pamyati, kak prednaznachennyh tol'ko dlya chteniya (chtoby byt'
obnaruzhennym v sluchae zapisi) ili kak otsutstvuyushchih (dlya
obnaruzheniya pri
chtenii ili zapisi).
APPARATURNAYA REALIZACIYA
Arhitektura processora 80386, opisannaya v predydushchih razdelah,
realizovana bolee chem v 275000 tranzistorah, ispol'zuyushchih
tehnologicheskij process CHMOS III firmy INTEL. V dannom razdele
kratko rassmatrivaetsya vnutrennee ustrojstvo kristalla 80386 i
bolee podrobno signaly, pri pomoshchi kotoryh 80386 vzaimodejstvuet s
drugimi komponentami.
5.1Vnutrennyaya struktura
Na ris.5.1. privedena obobshchennaya funkcional'naya struktura
processora 80386. Pokazannye 6 ustrojstv organizovany v
konvejernuyu strukturu, kotoraya pozvolyaya im rabotat' parallel'no
nad razlichnymi komandami ili nad razlichnymi chastyami odnoj i to zhe
komandy. Ustrojstvo upravleniya shinoj upravlyaet peredachami na shine
dlya drugih ustrojstv. Esli ni odno iz drugih ustrojstv ne
trebuetsya shinoj, ustrojstvo predvaritel'noj vyborki chitaet
sleduyushchee dvojnoe slovo komandnogo potoka iz pamyati v ochered'
predvaritel'noj vyborki. Takim obrazom, bol'shinstvo chtenij bajtov
komandy proizvoditsya parallel'no s ispolneniem drugih komand vo
vremya svobodnyh ciklov shiny. Ustrojstvo dekodirovaniya
rasshifrovyvaet kazhdyj kod operacii, Preobrazovyvaet ego v
ukazatel' na mikrokod, kotorye realizuet dannuyu komandu.
Ispolnitel'noe ustrojstvo vypolnyaet mikroinstrukcii.
Ispolnitel'noe ustrojstvo mozhet skladyvat' dva 32-bitnye registra
za 2 takta. Apparatura umnozheniya/deleniya vypolnyaet 32-bitnoe
c,-.&%-(% za vremya ot 9 do 41 takta, v zavisimosti ot kolichestva
znachashchih cifr, a 32-bitnoe delenie za vremya ot 38 do 42 taktov, v
zavisimosti ot togo, yavlyayutsya operandy znakovymi ili bezznakovymi.
Sdvig, ciklicheskij sdvig i operacii nad polyami bitov vypolnyayutsya
pri pomoshchi bystrogo dvigatelya, kotoryj mozhet sdvigat' do 64 bit za
odin takt. V tipichnoj smesi komand, kotoraya vklyuchaet perehody i
vyzovy, 80386 ispolnyaet komandy so srednej skorost'yu v 4,4 takta
kazhdaya.
ISPOLNITELXNOE STRANICHNOE USTROJSTVO
USTROJSTVO USTROJSTVO SEGMENTACII
+--------------------+ +------------+ +-------------------+
| | | | | PEREKODIROVOCHNYJ |
| REGISTRY | | REGISTRY | | BUFER PROSMOTRA |
| | | SEGMENTOV | | ISKLYUCHENIJ |
+--------------------| | | | |
| BYSTRYJ SDVIGATELX | | | | |
| | | | | |
+--------------------| +------------| +-------------------|
| UMNOZHENIE/DELENIE | | TRANSLYATOR | | TRANSLYATOR |
+--------------------+ | SEGMENTOV | | STRANIC |
| ARIFMETICHESKOE +->| +->| |
| LOGICHESKOE | L-----T------- L---------T----------
| USTROJSTVO | | ---------
+--------T------------ | | USTROJSTVO UPRAVLENIYA
SHINOJ
| | | | +-------------+
| | | | | INTERFEJS |
| L----------T-------------------------+ SHINY +-+
| | +-------------+ |
| +---------------+ +------------------------+ |
| | DESHIFRATOR |<-+OCHEREDX PREDVARITELXNOJ-|<---
| | | | VYBORKI |
| +---------------| +------------------------|
| | OCHEREDX | | UZEL PREDVARITELXNOJ |
L-------------+ KOMAND | | VYBORKI |
+---------------+ +------------------------+
USTROJSTVO DEKODIROVANIYA
Konvejernaya organizaciya vyborki komandy, ee dekodirovanie i
ispolnenie na odnom kristalle ne yavlyaetsya tipichnym dlya sovremennyh
mikroprocessorov. S drugoj storony pomeshchenie ustrojstva upravleniya
pamyat'yu (MMU) na kristall, soderzhashchij konvejernuyu strukturu, takzhe
yavlyaetsya novovvedeniem. Vklyuchenie MMU v processornyj kristall
uluchshaet proizvoditel'nost', uskoryaet translyaciyu adresa. Za schet
umen'sheniya zaderzhki rasprostraneniya signala (bol'shinstvo ustrojstv
upravleniya pamyat'yu, organizovannyh v vide otdel'nyh kristallov,
vvodyat, kak minimum, odin takt ozhidaniya na kazhdoe obrashchenie k
pamyati). Eshche odnim sredstvom uskoreniya raboty processora yavlyaetsya
ispol'zovanie granic polutaktov sinhrosignala, kotorye dostupny
vnutri kristalla (chastota sinhronizacii na vhode 80386 vdvoe vyshe
chastoty, ispol'zuemoj v kristalle). Ustrojstvo upravleniya pamyat'yu
80386 sostoit iz segmentnogo ustrojstva i ustrojstva upravleniya
stranicami, kak pokazano na ris.5-1.
Ustrojstvo upravleniya segmentami transliruet logicheskie adresa
i proveryaet kazhdyj dostup na sootvetstvie atributam zashchity
segmenta. Dlya bol'shinstva komand ustrojstvo upravleniya segmentami
poluchaet dannye dlya translyacii i zashchity iz registrov segmentov i
deskriptorov, nahodyashchihsya na kristalle 80386. Ustrojstvo
c/` "+%-(o stranicami vklyuchaetsya ili vyklyuchaetsya programmami
operacionnoj sistemy. Kogda ustrojstvo vyklyucheno, linejnye adresa,
poluchennye ustrojstvom upravleniya, prohodyat
cherez ustrojstvo upravleniya stranicami bez izmeneniya. Kogda
stranichnyj mehanizm vklyuchen, ustrojstvo upravleniya stranicami
transliruet linejnye adresa v fizicheskie adresa i proveryaet, chto
dostup sootvetstvuet atributam stranicy. Ustrojstvo upravleniya
stranicami vklyuchaet 32-elementnyj perekodirovochnyj bufer prosmotra
isklyuchenij (TLB), kotoryj zapominaet neobhodimuyu dlya translyacii
informaciyu dlya nekotorogo chisla stranic, k kotorym proishodili
poslednie obrashcheniya. Ispol'zuya TLB, ustrojstvo upravleniya
stranicami mozhet translirovat' bol'shinstvo obrashchenij k stranicam
(obychno 98-99%) bez obrashcheniya k stranichnym tablicam, nahodyashchimsya v
pamyati. Pri neobhodimosti ustrojstvo upravleniya stranicami
generiruet cikly shiny, neobhodimye dlya vozvrata staryh elementov
TLB v ih stranichnye tablicy i dlya zagruzki svobodnyh mest v TLB
elementami stranichnyh tablic, obrashchenie k kotorym imeet mesto v
tekushchej komande.
5.2Vneshnij interfejs
Na ris.5-2. pokazana blok-shema tipichnoj sistemy, ispol'zuyushchej
processor 80386. |to, fakticheski rabochee mesto inzhenera-
proektirovshchika.
Na ris.5-3 pokazan vneshnij interfejs 80386 bolee podrobno,
vyvody processora sgruppirovany po funkcional'nomu naznacheniyu.
Nizhe opisany signaly, svyazannye s etimi vyvodami.
5.2.1 Sinhrosignal
Pervye versii 80386 rabotayut pri chastote 12,5 ili 16 MGc.
Signal sinhronizacii (CLK2) imeet chastotu vdvoe bol'shuyu, chem
chastota kristalla. Generator sinhrosignala 82384 generiruet signal
CLK2, kotoryj delitsya processorom 80386 na dva, chtoby poluchit'
svoyu vnutrennyuyu sinhrochastotu.
5.2.2 SHiny dannyh i adresa
Processor 80386 imeet otdel'nye 32-bitnye shiny adresa i
dannyh. Dlya sovmestimosti s sushchestvuyushchim oborudovaniem i
drajverami ustrojstv effektivnaya razryadnost' shiny mozhet
dinamicheski pereklyuchat'sya mezhdu 16 i 32 bitami. Nizhe etot vopros
obsuzhdaetsya bolee podrobno.
Sistema komand 80386 podderzhivaet 8-, 16- i 32-bitnye
peredachi. Adresnaya shina organizovana tak, chtoby neposredstvenno
ukazyvat' bajty dannyh, kotorye yavlyayutsya aktivnymi v dannom cikle
shiny. Starshie 30 bit kazhdogo adresa postupayut na vyvody A2-A31.
Vyvody BE0-BE3 (razreshenie bajta) ukazyvayut, kakie bajty shiny
dannyh otnosyatsya k tekushchej peredache. BE0 Sootvetstvuet razryadam D0-
D7, BE1 sootvetstvuet D8-D15 i t.D. |ti upravlyayushchie bajty
neposredstvenno sootvetstvuyut sposobu, kotorym bol'shinstvo 32-
bitnyh podsistem pamyati organizovany, i ustranyayut neobhodimost' v
apparature dekodirovaniya bajtov (sm.Ris.5-4). Esli, naprimer,
neobhodimo prisoedinit'sya k sistemnoj shine, kotoraya trebuet
nalichiya mladshih bitov adresa, A0 i A1 mogut byt' sgenerirovany iz
BE0-BE3 pri pomoshchi 4 klapanov.
Operandy v pamyati 80386 ne dolzhny byt' raspolozheny na kakih-
nibud' granicah, odnako proizvoditel'nost' povyshaetsya, kogda oni
popadayut na granicy adresov, kotorye kratny ih razmeru v bajtah.
|to znachit, chto slova nailuchshim obrazom raspolagayutsya na adresah,
delyashchihsya na dva, a dvojnoe slovo - na adresah, delyashchihsya na 4.
(|lementy dlinnee 32 bit, takie kak chisla s plavayushchej zapyatoj s
dvojnoj tochnost'yu, dolzhny takzhe raspolagat'sya na 4-bajtnyh
#` -(f e dlya nailuchshego bystrodejstviya). 80386 Avtomaticheski
generiruet neobhodimoe kolichestvo ciklov shiny dlya peredachi
operandov, ne raspolagayushchihsya na optimal'nyh granicah, naprimer,
celoe, raspolozhennoe v dvojnom slove, zapomnennoe v chetnom adrese,
ne delyashchimsya na 4, peredaetsya za dva 16-bitnyh cikla shiny.
5.2.3 Opredelenie ciklov shiny
80386 informiruet vneshnee oborudovanie o tom, chto na shine
nachinaetsya normal'nyj cikl shiny putem ustanovki signala ADS
(status adresa). V tot zhe samyj moment processor opredelyaet tip
cikla shiny s pomoshch'yu signalov W/R, D/C i M/IO. |ti signaly
otlichayut chtenie ot zapisi, dannye ot kodov komand i obrashchenie k
vvodu/vyvodu ot obrashcheniya k pamyati, sootvetstvenno.
80386 Vyrabatyvaet signal LOCK (zahvat shiny) dlya
mul'tiprocessornyh primenenij i primenenij s neskol'kimi vedushchimi
ustrojstvami. Signal govorit drugim vedushchim ustrojstvam shiny, chto
processor vypolnyaet operaciyu s neskol'kimi ciklami shiny, kotoraya
ne dolzhna preryvat'sya. 80386 avtomaticheski vydaet LOCK, kogda on
izmenyaet deskriptor segmenta i stranichnye tablicy, vo vremya ciklov
shiny, svyazannyh s proceduroj podtverzhdeniya, i kogda on vypolnyaet
komandu EXCHANGE. Komanda EXCHANGE obespechivaet nedelimuyu
operaciyu "proverka i ustanovka", kotoraya yavlyaetsya osnovnym
stroitel'nym elementom pri realizacii semaforov v razdelyaemoj
pamyati. Programmisty, rabotayushchie na yazyke assemblera, mogut
zahvatit' shinu vo vremya ispolneniya nekotoryh drugih komand, esli
etim komandam predshestvuet prefiks LOCK.
5.2.4 Upravlenie ciklom shiny
Po ukazaniyu vneshnego oborudovaniya 80386 mozhet realizovat' dva
tipa ciklov shiny: ne konvejernyj i konvejernyj. Pervyj tip cikla
obespechivaet 2-taktnyj dostup k vysokoskorostnym kesh-pamyatyam i
lokal'nym pamyatyam lyubogo ob容ma (effektivnost' obrashchenij k Kesh-
pamyatyam zavisit ot ih razmera po otnosheniyu k elementam informacii,
s kotorymi obrashchayutsya k nim prikladnye programmy). Vtoroj tip
cikla shiny pozvolyaet nizkoskorostnym pamyatyam imet' bol'she vremeni
dlya otveta na cikl shin, pozvolyaya processoru 80386 v to zhe vremya
rabotat' s maksimal'noj skorost'yu. Vneshnee oborudovanie mozhet
dinamicheski razreshat' i zapreshchat' konvejerizaciyu shiny putem
ustanovki signala NA (sleduyushchij adres), kak opisano nizhe.
Predostavlyaya vozmozhnost' dinamicheskogo upravleniya ciklom shiny,
processor 80386 pozvolyaet inzheneru-razrabotchiku ispol'zovat'
kombinacii iz razlichnyh komponentov (elementov) pamyati, kotorye
udovletvoryayut kriteriyam stoimosti, neobhodimogo ob容ma i trebuemoj
proizvoditel'nosti, a takzhe prisposablivat' proekt dlya
ispol'zovaniya perspektivnyh tehnologij pri sozdanii mikroshem
pamyati.
Processor 80386 vyvodit tip cikla shiny, kak opisany vyshe, a
vneshnee oborudovanie signaliziruet, chto ono otvetilo na cikl shiny
putem ustanovki signala READY. Esli, kak eto chasto byvaet, drugoj
zapros shiny ozhidaet vnutri processora 80386, kogda signal READY
uzhe ustanovlen, processor vyvodit sleduyushchij tip cikla shin. Esli
konvejerizaciya otklyuchena, minimal'noe vremya mezhdu adresami i
dannymi sostavlyaet dva takta. Vneshnee oborudovanie, kotoroe ne
mozhet otvetit' za dva takta, mozhet udlinit' cikl shiny putem
uderzhaniya signala READY v neaktivnom sostoyanii, t.e. putem
vstavleniya taktov ozhidaniya v cikl. Esli 32-bitnye cikly shiny
ispolnyayutsya drug za drugom, to maksimal'naya propusknaya sposobnost'
shiny 80386 sostavit 32 megabajta v sekundu pri chastote
sinhrosignala 16 MGc ili 25 megabajt v sekundu pri chastote 12,5
MGc.
Blagodarya vnutrennej konvejerizacii processor 80386 ochen'
chasto znaet adres i tip sleduyushchego cikla shiny, prezhde chem vneshnee
oborudovanie otvetit na tekushchij cikl. Vneshnee oborudovanie mozhet
ispol'zovat' svojstvo vnutrennej konvejerizacii adresa 80386 dlya
polucheniya bolee rannego dostupa k sleduyushchemu tipu cikla shiny.
Konvejerizaciya adresa mozhet dat' vneshnemu oborudovaniyu vremya,
ravnoe trem taktam mezhdu adresom i dannymi, v to vremya kak dlya
processora propusknaya sposobnost' shiny ostanetsya ravnoj dvum
taktam.
Konvejerizaciya adresa nailuchshim obrazom ispol'zuetsya v
sistemah s peremezhayushchejsya adresaciej, kotoraya mozhet otvechat' na
dostup v razlichnyh blokah pamyati parallel'no. Ustanavlivaya signal
NA, vneshnee oborudovanie mozhet zaprashivat' 80386 vydat' tip
sleduyushchego cikla shiny, kak tol'ko on stanet izvesten vnutri
processora, a ne ozhidat' signala READY (sm.Ris.5-6).
5.2.5 Dinamicheskoe upravlenie razryadnost' shiny
V dopolnenie k upravleniyu tipami ciklov shiny podsistema pamyati
(i vvoda/vyvoda) takzhe mozhet dinamicheski upravlyat' razryadnost'yu
shiny dannyh. Dinamicheskoe upravlenie razryadnost'yu shiny pozvolyaet:
1. Proizvol'no kombinirovat' 16- i 32-bitnye podsistemy pamyati,
programmnoe obespechenie takzhe mozhet osushchestvlyat' 32-bitnye
peredachi nezavisimo ot togo, imeet ono dostup k 16-ili k 32-
razryadnoj pamyati;
2. Dostatochno prosto podsoedinyatsya k 16-bitnym shinam, takim kak
shina MULTIBUS I;
3. Realizovyvat' sovmestimost' s 16-bitnymi periferijnymi
ustrojstvami (i ih drajverami), registry kotoryh obychno
raspolagayutsya na 16-razryadnyh, a ne na 32-razryadnyh granicah.
Ustanavlivaya signal "razryadnost' shiny 16" (BS16), vneshnee
oborudovanie mozhet proinstruktirovat' processor, chtoby on vypolnil
tekushchuyu peredachu tol'ko na 16 mladshih bitah shiny dannyh. Esli
signal BS16 ustanovlen, a obrashchenie 32-razryadnoe, processor 80386
prinimaet signal BS16 pozzhe v cikle shiny, pozvolyaya vne[nemu
oborudovaniyu ustanovit' ego tol'ko dlya sootvetstvuyushchih tipov
pamyati i vvoda/vyvoda.
5.2.6 Status processora i upravlenie
Drugoe vedushchee ustrojstvo shiny (processor ili intelligentnoe
periferijnoe ustrojstvo, takoe kak pdp-kontroller), mozhet
zaprosit' ispol'zovaniya lokal'noj shiny 80386 putem vystavleniya
signala HOLD. Processor podtverzhdaet peredachu shiny ustanovkoj
signala HLDA (podtverzhdenie zahvata) v konce tekushchego cikla shiny
(esli on imel mesto), zatem on podavlyaet svoj sleduyushchij cikl shiny
do teh por, poka signal HOLD ne budet snyat. Kogda processor 80386
osvobozhdaet shinu dlya drugogo ustrojstva, on podderzhivaet signal
HLDA v aktivnom sostoyanii, a ostal'nye svoi vyvody - v
vysokoimpedansnom sostoyanii, elektricheski izoliruyas' ot sistemy.
Preryvaniya 80386 klassificiruyutsya kak maskiruemye i ne
maskiruemye, maskiruemye preryvaniya postupayut na vhod processora
INTR (zapros preryvaniya), a preryvanie vtorogo tipa na vhod NMI
(zapros nemaskiruemogo preryvaniya). Programmy operacionnoj sistemy
mogut ignorirovat' vhod INTR putem ochistki flaga razresheniya
preryvaniya. Processor vsegda prinimaet signal na vhode NMI, mnogie
sistemy ispol'zuyut etot vhod dlya togo, chtoby informirovat'
processor ob avarii sistemy po pitaniyu ili global'noj sistemnoj
oshibke.
Zaprosy maskiruemyh preryvanij obychno podsoedinyayutsya ko vhodu
INTR cherez odin ili neskol'ko programmiruemyh kontrollerov
preryvanij 8259a (pkp). Kazhdyj 8259a mozhet obrabatyvat' do 8
istochnikov preryvanij, neskol'ko kontrollerov 8259a mogut byt'
kaskadirovany, chtoby obespechit' priem signalov ot maksimum 64
razlichnyh istochnikov preryvanij. Operacionnaya sistema
inicializiruet kazhdyj 8259a pri pomoshchi identificiruemogo nomera
(vektora), obespechivaya tem samym dlya kazhdogo vhoda preryvanij svoyu
programmu obrabotki. 8259A predostavlyaet etot nomer processoru
80386 v otvet na cikl shiny processora, svyazannoj s podtverzhdeniem
preryvaniya. 80386 Ispol'zuet etot nomer dlya vyzova obrabotchika,
prednaznachennogo dlya otveta na preryvanie.
Ustanovka signala RESET stavit processor v nachal'noe sostoyanie
(v real'nyj rezhim s zapreshchennymi preryvaniyami) i zastavlyaet ego
vybrat' komandu iz fizicheskogo adresa FFFFFFF04.
5.2.7 Upravlenie soprocessorom
Processor 80386 posylaet komandy i operandy v chislovoj
soprocessor 80287 ili 80387 putem vypolneniya ciklov vvoda/vyvoda
shiny k rezervnym adresam vyshe obychnogo 64-kbajtnogo prostranstva
vvoda/vyvoda . CHislovoj soprocessor mozhet byt' vybran vysokim
urovnem signala na linii A31 pri nizkom signale M/I0. 80386
Ispol'zuet razlichnye protokoly svyazi dlya kazhdogo soprocessora,
posylaya 16-bitnye velichiny v 80287 i 32-bitnye velichiny v 80387.
Processor 80386 znaet v moment sbrosa, prisutstvuet li 80387,
programmnoe obespechenie inicializacii mozhet proverit' nalichie
soprocessora 80287.
Soprocessor ustanavlivaet signal BUSY esli on vypolnyaet
komandu. 80386 Ne posylaet sleduyushchuyu komandu soprocessoru do teh
por, poka signal BUSY - nizkij. Programmnoe obespechenie mozhet
sinhronizirovat' processor 80386 s soprocessorom, vydavaya komandu
WAIT, kotoraya priostanavlivaet 80386 do teh por, poka signal BUSY
ostaetsya neaktivnym. Soprocessor ustanavlivaet signal ERROR, kogda
on obnaruzhivaet osobuyu situaciyu, kotoraya dolzhna byt' obrabotana
operacionnoj sistemoj, v otvet na eto 80386 vyzyvaet obrabotchik
osobyh situacij chislovogo soprocessora, vydavaya osobuyu situaciyu 7.
Vyvod PEREQ ispol'zuetsya dlya realizacii soprocessornogo protokola
processora 80386
SVEDENIYA O FUNKCIONIROVANII
6.1Vvedenie
Harakternoj chertoj 80386 yavlyaetsya nalichie prostogo
funkcional'nogo interfejsa dlya vzaimosvyazi s vneshnimi modulyami. V
80386 imeyutsya dve razdel'nye shiny: shina adresa i shina dannyh. SHina
dannyh - 32-razryadnaya i dvunapravlennaya. V bol'shinstve primenyaemyh
modulej dlya vysokoskorostnoj lokal'noj shiny ispol'zuyutsya 32
razryada adresa, peredavaemogo po adresnoj shine, iz nih 2 mladshih
razryada deshifriruyutsya v 4 signala stroba dannyh (kazhdyj iz etih
signalov razreshaet ili zapreshchaet peredachu sootvetstvuyushchego bajta
dannyh), a ostal'nye 30 razryadov predstavlyayut soboj dvoichnyj kod
adresa. Dlya upravleniya obmenom po shine adresa i shine dannyh
ispol'zuyutsya sootvetstvuyushchie upravlyayushchie signaly.
Izmenyaemaya shirina (razryadnost') shiny dannyh pozvolyaet
processoru vzaimodejstvovat' kak s 32-h, tak i s 16-razryadnymi
vneshnimi shinami v sinhronnom rezhime (sm. 6.3.4).
Esli peredacha informacii sostoit iz neskol'kih ciklov obmena,
kazhdyj iz kotoryh trebuet 16-razryadnoj shiriny shiny dannyh, to vse
ravno 80386 v kazhdom cikle avtomaticheski vypolnit neobhodimuyu
proceduru ustanovleniya razryadnosti shiny.
N-razryadnye periferijnye ustrojstva mogut byt' podklyucheny k 32-
h ili 16-razryadnym shinam, pri etom ih proizvoditel'nost' ne
snizhaetsya. V 80386 primenyaetsya novyj rezhim konvejernoj adresacii,
kotoryj obespechivaet v sluchae 32-h i 16-razryadnoj shin naibolee
racional'noe ispol'zovanie pamyati, osobenno eto proyavlyaetsya v
ochen' napryazhennom rezhime raboty s resursami pamyati (kogda dostup k
pamyati trebuetsya bol'shomu chislu abonentov).
Rezhim konvejernoj adresacii po sravneniyu s drugimi sposobami
adresacii znachitel'no sokrashchaet vremya nahozhdeniya interfejsa pamyati
v sostoyanii ozhidaniya (sm. 6.4.2). Konvejernuyu adresaciyu
celesoobrazno primenyat' v sistemah, imeyushchih v svoem sostave pamyat'
s rassloeniem. V sistemah s rabochej chastotoj 16 MGc, vklyuchayushchih v
sebya pamyat' s rassloeniem so vremenem obrashcheniya 100 Ns
(dinamicheskie OZU), mozhno sovsem isklyuchit' sostoyanie ozhidaniya,
primenyaya konvejernuyu adresaciyu. Kogda vneshnie moduli potrebuyut
rezhim konvejernoj adresacii, 80386 sformiruet adres i opredelit
dlitel'nost' cikla shiny dlya predstoyashchego cikla shiny (esli
pozvolyayut vnutrennie resursy), dazhe esli v nastoyashchij moment
processor ozhidaet podtverzhdenie v tekushchem cikle.
Odnako, ne konvejerizirovannyj sposob adresacii ideal'no
podhodit dlya ustrojstv, v sostav kotoryh vhodit kesh-pamyat', tak
kak vysokoe bystrodejstvie kesh-pamyati pozvolyaet rabotat' v ne
konvejerizirovannom rezhime. Dlya obespecheniya maksimal'noj gibkosti
sistemy na osnove sovmeshcheniya ciklov konvejernyj sposob adresacii
primenyaetsya v sinhronnyh sistemah.
Cikl shiny processora yavlyaetsya osnovnym sredstvom peredachi
informacii iz sistemy v processor ili iz processora v sistemu.
Minimal'naya dlitel'nost' cikla peredachi dannyh po shine v 80386
sostavlyaet dva perioda taktovoj chastoty. Poskol'ku processor 80386
imeet 32-razryadnuyu shinu dannyh i rabochuyu chastotu 16 MGc, to
sledovatel'no maksimal'naya propusknaya sposobnost' 80386 sostavlyaet
32 Mbajt/sek. Odnako, dlitel'nost' lyubogo cikla shiny mozhet byt'
uvelichena, esli v etom cikle zaderzhivaetsya vydacha podtverzhdeniya
obmena ot vneshnego modulya. V sootvetstvuyushchij moment vremeni
podtverzhdenie vydaetsya putem formirovaniya signala na vhode READY
(GOTOV) processora 80386.
80386 mozhet teryat' dostup k svoim lokal'nym shinam, peredavaya
upravlenie imi drugim ustrojstvam, naprimer, kanalam pryamogo
dostupa k pamyati. Pri etom, za isklyucheniem edinstvennogo vyhoda
HLDA, formiruemogo 80386, obespechivaetsya pochti polnaya izolyaciya
processora ot sistemy. Izolyaciya processora neobhodima pri peredache
upravleniya testovomu oborudovaniyu ili v otkazoustojchivyh
primeneniyah (v mnogoprocessornyh sistemah dlya izolyacii otkazavshego
processora i zameny ego drugim).
V dannom razdele predstavleny svedeniya ob interfejse
processora. Vo-pervyh, opisano naznachenie i funkcii vyvodov
processora (sm. 6.2 Opisanie signalov). Krome togo, opisany
izmeneniya signalov v techenie ciklov shiny (sm. 6.3 Mehanizm obmena
po shine, 6.4 Opisanie funkcionirovaniya shiny i 6.5 Drugie svedeniya
po funkcionirovaniyu).
6.2Opisanie signalov
6.2.1 Vvedenie
Podrazdel nachinaetsya s kratkogo opisaniya vhodnyh i vyhodnyh
signalov 80386, ob容dinennyh v funkcional'nye gruppy. Otmetim, chto
nalichie simvola # posle nazvaniya signala oznachaet, chto aktivnoe
sostoyanie signala - sostoyanie nizkogo urovnya. I naoborot, kogda
takogo simvola # net posle nazvaniya signala, to signal aktiven pri
vysokom urovne.
Primer oboznacheniya signala: M/IO#
- Vysokij uroven' oznachaet obrashchenie k pamyati.
- Nizkij uroven' oznachaet obrashchenie k ustrojstvam
vvoda/vyvoda.
V opisaniyah signalov vstrechayutsya inogda oboznacheniya vremennyh
parametrov, takih kak "t25 Reset/Setup Time" (Vremya sbrosa pri
vklyuchenii pitaniya) i "t26 Reset Hold Time" (Vremya uderzhaniya
signala sbrosa). Znacheniya etih parametrov privedeny v tablice 7-4
i tablice 7-6.
6.2.2 Sinhrosignal (CLK2)
CLK2 obespechivaet osnovnuyu sinhronizaciyu raboty 80386. |ta
taktovaya chastota delitsya popolam dlya togo, chtoby sformirovat'
vnutrennyuyu processornuyu taktovuyu chastotu, ispol'zuemuyu pri
vypolnenii komand vnutri processora. Vnutrennij sinhrosignal
sostoit iz dvuh faz: "fazy odin" i " fazy dva". Kazhdyj period
chastoty. Na ris.6-2 pokazano sootnoshenie dvuh sinhrosignalov. Esli
neobhodimo, faza vnutrennego sinhrosignala mozhet byt'
sinhronizirovan ot takogo otricatel'nogo fronta signala RESET,
kotoryj obespechit zadannye vremena ustanovki i uderzhaniya, t25 i
t26 (setup and hold times).
6.2.3 SHina dannyh (D0-D31)
Dvunapravlennye s tremya sostoyaniyami linii shiny dannyh
obespechivayut peremeshchenie dannyh ot 80386 k drugim ustrojstvam.
Nalichie vysokogo urovnya napryazheniya na vhodah/vyhodah shiny dannyh
oboznachaet nalichie kodov logicheskoj edinicy "1" na etih vyvodah.
SHina dannyh mozhet peredavat' dannye kak na 32-, tak i na 16-
razryadnye shiny blagodarya tomu, chto est' vozmozhnost' izmeneniya
razmera shiny dannyh; razmer shiny dannyh opredelyaetsya znacheniem
vhodnogo signala BS16# (sm. paragraf 6.2.6
SHina upravleniya).
Dlya pravil'nogo vypolneniya operacij schityvaniya signalov s shiny
dannyh trebuetsya obespechenie neobhodimyh znachenij vremeni
ustanovki t21 i vremeni uderzhaniya t22 schityvaemyh dannyh.
Pri lyuboj operacii zapisi (vklyuchaya cikly ostanova i
vyklyucheniya) 80386 vsegda peredaet vse 32 razryada dannyh, dazhe esli
v tekushchem cikle razmer shiny obmena raven 16 razryadam.
6.2.4 SHina adresa (BE0#-BE3#, A2-A31)
|ti vyhody s tremya sostoyaniyami obespechivayut fizicheskuyu
adresaciyu pamyati ili adresaciyu ustrojstv vvoda/vyvoda. SHina adresa
obespechivaet fizicheskoe prostranstvo adresov pamyati ob容mom 4
gigabajta (ot 00000000H do FFFFFFFFH) i prostranstvo adresov
vvoda/vyvoda ob容mom 64 kilobajta (ot 00000000H do 0000FFFFH) dlya
obrashcheniya k ustrojstvam vvoda/vyvoda. Dlya peredachi signalov
vvoda/vyvoda, avtomaticheski formiruemyh dlya obespecheniya
vzaimodejstviya 80386 s soprocessorom, ispol'zuetsya adresnoe
prostranstvo vvoda/vyvoda ot 800000F8H do 800000FFH, tak kak dlya
obrashcheniya k soprocessoru neobhodimo sovpadenie dvuh uslovij:
nalichie vysokogo urovnya napryazheniya na linii adresa A31 i nalichie
nizkogo urovnya na linii M/IO#.
Znacheniya signalov strobov dannyh BE0#-BE3# opredelyayut
sootvetstvenno te bajty 32-razryadnoj shiny dannyh, kotorye
uchastvuyut v tekushchej peredache. |to osobenno udobno dlya
vzaimodejstviya s vneshnej apparaturoj.
BE0# OPREDELYAET UCHASTIE V OBMENE RAZRYADOV D0-D7,
BE1# -"- D8-D15,
BE2# -"- D16-D23,
BE3# -"- D24-D31.
Kolichestvo strobov dannyh BE0#-BE3#, nahodyashchihsya v aktivnom
sostoyanii, opredelyaet razmer operanda obmena (1,2,3 ili 4 bajta)
(sm. paragraf 6.3.6 Vyravnivanie dannyh).
Kogda vypolnyaetsya cikl zapisi v pamyat' ili v ustrojstvo
vvoda/vyvoda, i peredavaemyj operand zanimaet tol'ko starshie 16
razryadov shiny dannyh (D16-D31), kopiya etogo operanda odnovremenno
peredaetsya po mladshim 16 razryadam shiny dannyh (D0-D15). |to
dublirovanie vypolnyaetsya dlya obespecheniya optimal'nogo rezhima
zapisi na 16-razryadnye shiny. Procedura dublirovaniya zapisyvaemyh
dannyh zavisit ot znachenij strobov dannyh BE0#-BE3#.
Tablica 6-1
ZAVISIMOSTX DUBLIROVANIYA ZAPISYVAEMYH DANNYH
OT ZNACHENIJ BE0#-BE3#
+-------------------------------------------------------------------+
|STROBY DANNYH 80386| ZAPISYVAEMYE DANNYE 80386 | ESTX LI |
+----T----T----T----+-------T-------T------T-----+ AVTOMATICHESKOE |
|BE3#|BE2#|BE1#|BE0#|D24-D31|D16-D23|D8-D15|D0-D7| DUBLIROVANIE? |
+----+----+----+----+-------+-------+------+-----+------------------|
|VYS.|VYS.|VYS.|NIZ.|NEOPR. |NEOPR. |NEOPR.| A | NET |
+----+----+----+----+-------+-------+------+-----+------------------|
|VYS.|VYS.|NIZ.|VYS.|NEOPR. |NEOPR. | V |NEOPR| NET |
+----+----+----+----+-------+-------+------+-----+------------------|
|VYS.|NIZ.|VYS.|VYS.|NEOPR. | S |NEOPR.| S | DA |
+----+----+----+----+-------+-------+------+-----+------------------|
|NIZ.|VYS.|VYS.|VYS.| D |NEOPR. | D |NEOPR| DA |
+----+----+----+----+-------+-------+------+-----+------------------|
|VYS.|VYS.|NIZ.|NIZ.|NEOPR. |NEOPR. | V | A | NET |
+----+----+----+----+-------+-------+------+-----+------------------|
|VYS.|NIZ.|NIZ.|VYS.|NEOPR. | S | V |NEOPR| NET |
+----+----+----+----+-------+-------+------+-----+------------------|
|NIZ.|NIZ.|VYS.|VYS.| D | S | D | S | DA |
+----+----+----+----+-------+-------+------+-----+------------------|
|VYS.|NIZ.|NIZ.|NIZ.|NEOPR. | S | V | A | NET |
+----+----+----+----+-------+-------+------+-----+------------------|
|NIZ.|NIZ.|NIZ.|VYS.| D | S | V |NEOPR| NET |
+----+----+----+----+-------+-------+------+-----+------------------|
|NIZ.|NIZ.|NIZ.|NIZ.| D | S | V | A | NET |
+-------------------------------------------------------------------+
Oboznacheniya: D = logicheskie zapisyvaemye dannye v bajte D24-D31
C= -"- D16-D23
B= -"- D8-D15
A= -"- D0-D7
6.2.5 Signaly opredeleniya tipa cikla shiny
(W/R#, D/C#, M/IO#, LOCK#)
|ti vyhody s tremya sostoyaniyami opredelyayut tip tekushchego cikla
shiny. V zavisimosti ot znacheniya W/R# vse cikly podrazdelyayutsya na
cikly zapisi i cikly chteniya. D/C# razdelyaet vse cikly na cikly
obmena dannymi i cikly obmena upravlyayushchimi signalami. M/IO#
otlichaet cikly obrashcheniya k pamyati ot ciklov obrashcheniya k
ustrojstvam vvoda/vyvoda. Po signalu LOCK# razlichayutsya cikly s
blokirovannoj shinoj.
Osnovnymi signalami opredeleniya tipa cikla shiny yavlyayutsya W/R#,
D/C# i M/IO#, tak kak eti signaly prinimayut dejstvitel'noe
znachenie odnovremenno s ustanovleniem aktivnogo urovnya signala
ADS# (vyhod stroba adresa). Dejstvitel'noe znachenie signala LOCK#
ustanavlivaetsya togda, kogda nachinaetsya cikl shiny (prichem, cikl s
konvejernoj adresaciej) i posle ustanovleniya aktivnogo urovnya
signala ADS# (sm. paragraf
6.4.3.4 konvejernaya adresaciya).
Tochnoe sootvetstvie tipov ciklov shiny znacheniyam signalov W/R#,
D/C# i M/IO# privedeno v tabl.6-2. Otmetim odnu kombinaciyu
signalov W/R#, D/C# i M/IO#, kotoraya nikogda ne mozhet byt'
poluchena pri aktivnom urovne signala ADS# (odnako, eta kombinaciya,
kotoraya oboznachena kak "zapreshchennaya" mozhet imet' mesto v nerabochih
sostoyaniyah shiny, pri neaktivnom urovne signala ADS#). Poskol'ku
dejstvitel'nye znacheniya signalov M/IO#, D/C# i W/R# opredelyayutsya
vremenem dejstviya signala ADS#, to v drugoe vremya dlya optimal'nogo
ispol'zovaniya deshifriruyushchej shemy mozhno ispol'zovat' i zapreshchennuyu
kombinaciyu.
Tablica 6-2
OPREDELENIE TIPA CIKLA SHINY
+-------------------------------------------------------------------+
| M/IO# | D/C# | W/R# | TIP CIKLA SHINY | BLOKIROVANA |
| | | | | LI SHINA? |
+-------+-------+-------+-----------------------------+-------------|
|NIZKIJ |NIZKIJ |NIZKIJ | PODTVERZHDENIE PRERYVANIYA | DA |
+-------+-------+-------+-----------------------------+-------------|
|NIZKIJ |NIZKIJ |VYSOKIJ| ZAPRESHCHENNAYA | DA |
+-------+-------+-------+-----------------------------+-------------|
|NIZKIJ |VYSOKIJ|NIZKIJ | CHTENIE DANNYH IZ USTROJSTVA | NET |
| | | | VVODA/VYVODA | |
+-------+-------+-------+-----------------------------+-------------|
|NIZKIJ |VYSOKIJ|VYSOKIJ| ZAPISX DANNYH V USTROJSTVO | NET |
| | | | VVODA/VYVODA | |
+-------+-------+-------+-----------------------------+-------------|
|VYSOKIJ|NIZKIJ |NIZKIJ | CHTENIE KOMANDY IZ PAMYATI | NET |
+-------+-------+-------+-----------------------------+-------------|
|VYSOKIJ|NIZKIJ |VYSOKIJ| OSTANOV: VYKLYUCHENIE: | NET |
| | | | ADRES=2 ADRES=0 | |
| | | | NNNNNNNN NNNNNNNNNNN | |
| | | | (BE0#VYS. (BE0#NIZK | |
| | | | BE1#VYS. BE1#VYS. | |
| | | | BE2#NIZK. BE2#VYS. | |
| | | | BE3#VYS. BE3#VYS. | |
| | | | A2-A31NIZK.) A2-A31NIZK.)| |
+-------+-------+-------+-----------------------------+-------------|
|VYSOKIJ|VYSOKIJ|NIZKIJ | CHTENIE DANNYH IZ PAMYATI | NEKOTORYE |
| | | | | CIKLY |
+-------+-------+-------+-----------------------------+-------------|
|VYSOKIJ|VYSOKIJ|VYSOKIJ| ZAPISX DANNYH V PAMYATX | NEKOTORYE |
| | | | | CIKLY |
+-------------------------------------------------------------------+
6.2.6 Signaly upravleniya shinoj
6.2.6.1Vvedenie
Nizhe perechislennye signaly pozvolyayut processoru opredelyat'
nachalo cikla shiny, a takzhe dayut vozmozhnost' drugim ustrojstvam
sistemy upravlyat' konvejernoj adresaciej, razmerom shiny dannyh i
opredelyat' konec cikla shiny.
6.2.6.2Strob adresa (ADS#)
|tot vhodnoj signal s tremya sostoyaniyami na vhode ukazyvaet na
to chto na vyvodah 80386 ustanovleny dejstvitel'nye znacheniya
signalov, opredelyayushchih tip cikla shiny, i signalov adresa (W/R#,
D/C#, M/IO#, BE0# - BE3# i A2-A31). Signal ADS ustanavlivaetsya v
techenie taktov T1 i T2 sostoyanij shiny (dopolnitel'nuyu informaciyu o
a.ab.o-(oe shiny sm. 6.4.3.2 Ne konvejerizirovannaya adresaciya i
6.4.3.4 Konvejernaya adresaciya).
6.2.6.3Signal podtverzhdeniya (READY#)
|tot vhod ukazyvaet na to, chto tekushchij cikl shiny zavershen, i
te bajty, uchastie kotoryh v cikle obmena opredeleno znacheniyami
BE0#-BE3# i BE16#, prinyaty ili peredany. Kogda v techenie cikla
chteniya ili cikla podtverzhdeniya preryvaniya formiruetsya aktivnyj
uroven' signala READY#, 80386 "zashchelkivaet" vhodnye dannye i
zavershaet cikl. Kogda signal READY# formiruetsya v cikle zapisi,
processor zavershaet cikl shiny. Signal READY# ignoriruetsya v pervom
takte vseh ciklov shiny, zatem v kazhdom takte sostoyanie READY#
oprashivaetsya do teh por, poka ne ustanovitsya aktivnyj uroven'
signala READY#. READY# dolzhen byt' sformirovan dlya podtverzhdeniya v
kazhdom cikle shiny, vklyuchaya cikly otobrazheniya ostanova i
otobrazheniya vyklyucheniya. Dlya pravil'noj raboty vremya ustanovki t19
i vremya uderzhaniya t20 sformirovannogo signala READY# dolzhny imet'
opredelennye neobhodimye znacheniya (Sm. vse paragrafy razdela 6.4
Opisanie funkcionirovaniya shiny).
6.2.6.4Zapros sleduyushchego adresa (NA#)
|tot signal ispol'zuetsya dlya zaprashivaniya adresa v rezhime
konvejernoj adresacii. |tot vhod soobshchaet processoru o tom, chto
sistema gotova prinyat' iz 80386 novye znacheniya signalov BE0#-BE3#,
A2-A31, W/R#, D/C# i M/IO#, dazhe esli zavershenie tekushchego cikla ne
podtverzhdeno signalom READY#.
Esli 80386 obnaruzhit na vhode NA# aktivnyj uroven', on vydaet
na shinu sleduyushchij adres, obespechiv vnutrennyuyu podgotovku k
sleduyushchemu zaprosu shiny (sm. paragraf 6.4.2 Konvejernaya adresaciya
i 6.4.3 Cikly chteniya i zapisi).
6.2.6.5Ukazatel' 16-razryadnoj shiny (BS16#)
Blagodarya signalu BS16# osushchestvlyaetsya neposredstvennaya svyaz'
80386 s 32-razryadnoj i 16-razryadnoj shinami dannyh. Ustanovka
aktivnogo urovnya etogo vhoda privedet k tomu, chto v tekushchem cikle
shiny obmen budet proizvodit'sya tol'ko po mladshej polovine shiny
dannyh (D0-D15) v sootvetstvii so znacheniyami signalov BE0# i BE1#.
Dopolnitel'noe vliyanie signala BS16# (ustanovlennogo v aktivnoe
sostoyanie) ne proyavitsya, esli v tekushchem cikle sformirovany
aktivnye urovni tol'ko signalov BE0# ili BE3#, dejstvie signala
BS16# (aktivnogo urovnya) zastavit processor 80386 vypolnit'
neobhodimye pereklyucheniya dlya pravil'noj peredachi starshego(ih)
bajta(ov) po liniyam D0-D16.
Esli operand zanimaet obe poloviny shiny dannyh i BS16# v
aktivnom sostoyanii, to 80386 avtomaticheski vypolnit vtoroj 16-
razryadnyj cikl shiny. Dlya pravil'noj raboty vremya ustanovki t17 i
vremya uderzhaniya t18 signala BS16# dolzhny imet' opredelennye
neobhodimye znacheniya.
Cikly vvoda/vyvoda, avtomaticheski vypolnyaemye 80386 dlya
vzaimosvyazi s soprocessorom, ne trebuyut ustanovki signala BS16#.
Soprocessory tipa 80287 i 80387 analiziruyut vhodnoj signal ERROR#
srazu posle otricatel'nogo fronta signala RESET. 80386
obmenivaetsya tol'ko 16-razryadnymi posylkami s 80287, a v sluchae
vzaimodejstviya 80386 s soprocessorom 80387 obmen proizvoditsya
tol'ko 32-razryadnymi posylkami. Takim obrazom, znachenie BS16#
vliyaet na cikly s uchastiem 80287, a v techenie ciklov s uchastiem
80387 signal BS16# dolzhen podderzhivat'sya na neaktivnom urovne.
6.2.7 Signaly arbitrazha shiny
6.2.7.1Vvedenie
V etom razdele opisyvaetsya mehanizm, blagodarya kotoromu
processor peredaet upravlenie svoimi lokal'nymi shinami drugim
aktivnym abonentam, zaprashivayushchim upravlenie shinoj (sm. 6.6.1).
6.2.7.2Zaprosy na zahvat shiny (HOLD)
|tot vyhod ukazyvaet na to, chto kakim-to ustrojstvam krome
80386 trebuetsya upravlenie shinoj.
Signal HOLD dolzhen podderzhivat'sya v aktivnom sostoyanii v
techenie vsego vremeni, poka lyuboe drugoe ustrojstvo yavlyaetsya
vladel'cem lokal'noj shiny. Signal HOLD ignoriruetsya vo vremya
dejstviya RESET. Esli signal RESET poyavitsya vo vremya dejstviya
signala HOLD, to bolee prioritetnyj signal RESET ustanovit shinu v
nerabochee sostoyanie bystree, chem ustanovitsya sostoyanie
podtverzhdeniya zahvata shiny (sostoyanie vysokogo soprotivleniya).
Processor srabatyvaet po frontu signala HOLD i, poka HOLD
podderzhivaetsya v aktivnom sostoyanii, postoyanno analiziruet uroven'
etogo signala. Vhod HOLD - sinhronizirovannyj. Dlya pravil'noj
raboty vremya ustanovki t23 i uderzhaniya t24 dolzhny vsegda imet'
opredelennoe neobhodimoe znachenie.
6.2.7.3Podtverzhdenie zahvata shiny (HLDA)
Formirovanie aktivnogo urovnya na vyhode HLDA ukazyvaet na to,
chto 80386 peredaet upravlenie svoej lokal'noj shinoj v otvet na
ustanovlenie signala HOLD i perehodit v sostoyanie podtverzhdeniya
zahvata shiny.
Sostoyanie podtverzhdeniya zahvata predpolagaet pochti polnuyu
izolyaciyu processora. Signal HLDA v etom sostoyanie - edinstvennyj
signal, vydavaemyj 80386. Drugie vyhodnye signaly ili
dvunapravlennye signaly (D0-D31, BE0#-BE3#, A2-A31, W/R#, D/C#,
M/IO#, LOCK# i ADS#) pereklyuchayutsya v tret'e (vysokoimpedansnoe)
sostoyanie, poetomu zaprosivshee shinu ustrojstvo mozhet zahvatit' ih.
K nekotorym signal'nym liniyam zhelatel'no podsoedinit' fiksiruyushchie
rezistory dlya togo, chtoby izbezhat' lozhnoe srabatyvanie po etim
signalam, kogda oni ne formiruyutsya tekushchim vladel'cem shiny (sm.
7.2.3 Rekomendacii po vyboru i primeneniyu rezistorov). Krome togo,
odin ispol'zuemyj front, kotoryj mozhet byt' sformirovan na vhode
NMI vo vremya sostoyaniya podtverzhdeniya zahvata, zapominaetsya s tem,
chtoby on byl proanalizirovan i obrabotan posle snyatiya signala
HOLD. Krome obychnogo ispol'zovaniya sostoyaniya podtverzhdeniya zahvata
pri vzaimodejstvii 80386 s kontrollerami PDP (pryamogo dostupa k
pamyati) ili aktivnymi periferijnymi ustrojstvami, sostoyanie pochti
polnoj izolyacii processora osobenno udobno ispol'zovat' v rezhime
testirovaniya sistemy, kogda testovoe oborudovanie upravlyaet
sistemoj, a takzhe v otkazoustojchivyh sistemah.
6.2.8 Signaly interfejsa s soprocessorom
6.2.8.1Vvedenie
V sleduyushchih paragrafah etogo razdela dano opisanie signalov,
prednaznachennyh dlya interfejsa s arifmeticheskim soprocessorom. |ti
signaly, dopolnyaya signaly shiny dannyh, shiny adresa i signaly
opredeleniya tipa cikla shiny, upravlyayut vzaimodejstviem 80386 s ego
soprocessorom 80287 ili 80387.
6.2.8.2Zapros soprocessora (PEREQ)
Aktivnyj uroven' etogo signala ukazyvaet na to, chto
soprocessor trebuet, chtoby v otvet na ego zapros operandy dannyh
byli peredany v/iz pamyati.
Aktivnyj uroven' etogo vhodnogo signala ukazyvaet na zapros
soprocessora na peredachu processorom 80386 operanda dannyh v/iz
pamyati, v otvet na etot zapros 80386 peredaet informaciyu mezhdu
a./`.f%aa.`., i pamyat'yu. Poskol'ku v 80386
hranitsya kod operacii, vypolnyaemoj soprocessorom, 80386
osushchestvlyaet zaproshennuyu peredachu dannyh v zadannom napravlenii i
po zadannomu adresu pamyati. 80386 analiziruet i srabatyvaet po
urovnyu signala PEREQ. Signal PEREQ mozhet byt' asinhronnym po
otnosheniyu k CLK2.
6.2.8.3Soprocessor zanyat (BUSY#)
Aktivnyj uroven' etogo signala ukazyvaet na to, chto
soprocessor eshche vypolnyaet zadannuyu tekushchuyu instrukciyu i poka ne
mozhet prinyat' druguyu instrukciyu.
Kogda 80386 vstrechaet lyubuyu instrukciyu soprocessora, kotoraya
operiruet s arifmeticheskim stekom (stekom soprocessora) (t.e.
instrukcii zagruzki, "POP" - instrukcii (ubrat' v stek) ili
arifmeticheskie operacii), ili instrukciyu ozhidaniya WAIT, on srazu
avtomaticheski analiziruet sostoyanie vhodnogo signala BUSY# i budet
prosmatrivat' ego do teh por, poka BUSY# ne pereklyuchitsya v
neaktivnoe sostoyanie.
Takoj prosmotr vhodnogo signala BUSY# predotvrashchaet
prezhdevremennuyu vydachu sleduyushchej instrukcii vo vremya vypolneniya
soprocessorom predydushchej instrukcii. Instrukciya soprocessora
FNINIT i FNCLEX mogut byt' vypolneny dazhe pri nalichii aktivnogo
urovnya na vhode BUSY#, tak eti instrukcii ispol'zuyutsya dlya
inicializacii i preryvaniya-sbrosa soprocessora.
80386 analiziruet i srabatyvaet po urovnyu signala BUSY#.
Signal BUSY# mozhet byt' asinhronnym po otnosheniyu k CLK2. Signal
BUSY# sluzhit eshche odnoj celi. Esli vo vremya otricatel'nogo fronta
signala RESET na vhode BUSY# imeetsya signal
nizkogo urovnya, to 80386 vypolnit proceduru samo diagnostirovaniya
(sm. 6.6.3 Funkcionirovanie shiny v techenie i posle dejstviya
signala RESET). Esli zhe v etot moment signal BUSY# budet imet'
vysokij uroven', to samo diagnostirovanie vypolnyat'sya ne budet.
6.2.8.4Oshibka soprocessora (ERROR#)
|tot vhodnoj signal ukazyvaet na to, chto pri vypolnenii
soprocessorom predydushchej instrukcii im byl sformirovan kod oshibki,
nemaskiruemyj upravlyayushchim registrom soprocessora. Pri vypolnenii
soprocessorom instrukcii processor 80386 avtomaticheski analiziruet
vhodnoj signal ERROR#, i esli ustanovitsya aktivnyj uroven' signala
ERROR#, to 80386 vyrabatyvaet preryvanie 7, chtoby obratit'sya k
programmam obrabotki oshibok.
Nekotorye instrukcii soprocessora, v osnovnom te, kotorye
sbrasyvayut flagi arifmeticheskih oshibok v soprocessore ili
sohranyayut sostoyanie soprocessora, ispolnyayutsya bez vyrabotki
processorom 80386 preryvaniya 7, dazhe esli ustanovleno aktivnoe
sostoyanie signala ERROR#. K takim instrukciyam otnosyatsya FNINIT,
FNCLEX, FSTSW, FSTSWAX, FSTCW, FSTENV, FSAVE, FESTENV i FESAVE.
80386 analiziruet i srabatyvaet po urovnyu signala ERROR#.
Signal ERROR# mozhet byt' asinhronnym po otnosheniyu k CLK2.
Signal ERROR# vypolnyaet eshche odnu funkciyu. Esli nizkij uroven'
signala ERROR# ustanovitsya ne pozzhe, chem cherez 20 periodov
taktovoj chastoty CLK2 posle otricatel'nogo fronta signala RESET, i
sohranitsya takim po men'shej mere do teh por, poka 80386 ne nachnet
svoj pervyj cikl shiny, to eto ukazyvaet na to, chto v sisteme
ispol'zuetsya soprocessor tipa 80387 (razryad ET v registre CR0
avtomaticheski ustanavlivaetsya v 1). V obratnom sluchae v sisteme
ispol'zuetsya soprocessor tipa 80287 ili ne ispol'zuetsya nikakoj
(razryad ET v registre CR0 avtomaticheski ustanavlivaetsya v 0). Sm.
6.6.3 Funkcionirovanie shiny v techenie i posle dejstviya signala
RESET. Izmenenie signala na vyhode ERROR# vliyaet na ustanovku
b.+l*. bita ET. Programmno ustanavlivayutsya neobhodimye znacheniya
bitov EM i MP v registre CR0. Sledovatel'no, dlya razlicheniya sluchaya
nalichiya v sisteme soprocessora tipa 80287 ot sluchaya, kogda v
sisteme voobshche net soprocessora, neobhodimo programmnoe zadanie
sootvetstvuyushchego znacheniya bita EM v registre CR0 (edinichnoe
znachenie bita EM ustanavlivaetsya v sluchae, kogda v sisteme net
soprocessora). Esli analiz izmeneniya sostoyaniya signala ERROR#
pokazal nalichie v sisteme 80387 (signal ERROR ustanovlen v nizkoe
sostoyanie posle sbrosa), no pozdnee programmno ustanovleno
edinichnoe sostoyanie bita EM (EM=1), to 80386 vedet sebya tak, kak
esli by v sisteme ne bylo soprocessora.
6.2.9 Signaly preryvaniya
6.2.9.1Vvedenie
V etom razdele opisyvayutsya vhodnye signaly, kotorye mogut
preryvat' ili priostanavlivat' vypolnenie processorom tekushchego
nabora instrukcij.
6.2.9.2Maskiruemyj zapros preryvaniya (INTR)
Aktivnyj uroven' etogo vhodnogo signala oboznachaet zapros na
obsluzhivanie preryvaniya, kotoroe mozhet byt' zamaskirovano bitom IF
flagovogo registra Flag Register 80386. V otvet na vhodnoj signal
INTR 80386 vypolnyaet dva cikla podtverzhdeniya preryvaniya i v konce
vtorogo cikla "zashchelkivaet" 8-bitovyj vektor preryvaniya, prinyatyj
po liniyam D0-D7, chtoby identificirovat' istochnik preryvaniya. 80386
analiziruet uroven' i srabatyvaet po urovnyu signala INTR. Signal
INTR mozhet byt' asinhronnym po otnosheniyu k CLK2. Dlya togo, chtoby
garantirovat' opoznanie processorom maskiruemogo zaprosa
preryvaniya, aktivnyj uroven' signala INTR dolzhen podderzhivat'sya do
nachala pervogo cikla podtverzhdeniya preryvaniya.
6.2.9.3Nemaskiruemyj zapros preryvaniya (NMI)
|tot vhodnoj signal opredelyaet zapros na obsluzhivanie
preryvaniya, kotoroe ne mozhet byt' programmno zamaskirovano. Zapros
nemaskiruemogo preryvaniya vsegda obrabatyvaetsya po programme,
adres nachala kotoroj ukazan v elemente (pozicii) 2 tablicy
preryvanij. Kogda obrabatyvaetsya NMI, to blagodarya fiksirovannomu
znacheniyu pozicii tablicy preryvanij, sootvetstvuyushchej NMI, cikly
podtverzhdeniya preryvaniya ne vypolnyayutsya.
80386 analiziruet i srabatyvaet po polozhitel'nomu frontu
signala NMI. Signal NMI mozhet byt' asinhronnym po otnosheniyu k
signalu CLK2. CHtoby garantirovat' opoznanie signala NMI, poslednij
dolzhen imet' neaktivnyj uroven' po men'shej mere v techenie 8-i
periodov CLK2, i zatem dolzhen byt' ustanovlen i podderzhivat'sya
aktivnyj uroven' signala NMI po men'shej mere v techenie 8-i
periodov CLK2.
Kak tol'ko nachinaetsya obrabotka zaprosa preryvaniya NMI, drugie
zaprosy NMI obrabatyvat'sya ne budut do poyavleniya ocherednoj
instrukcii IRET, kotoraya oznachaet konec procedury obsluzhivaniya
preryvaniya NMI. Odnako, esli vse-taki ran'she etogo vremeni snova
budet sformirovan aktivnyj uroven' signala NMI, to odin
polozhitel'nyj front signala NMI budet zapomnen dlya posleduyushchej
obrabotki posle vypolneniya ocherednoj instrukcii IRET.
6.2.9.4Signal sbrosa (ustanovki v ishodnoe sostoyanie){RESET}
|tot vhodnoj signal ostanavlivaet vypolnenie lyuboj operacii i
perevodit 80386 v sostoyanie, izvestnoe kak sostoyanie sbrosa. Sbros
80386 proizvoditsya ustanovkoj aktivnogo urovnya signala RESET v
techenie 15-i ili bolee periodov CLK2 (za 78 ili bolee periodov
CLK2 do zaprosa samo diagnostirovaniya). Kogda ustanovlen aktivnyj
c`."%-l signala RESET, signaly na vseh ostal'nyh vhodnyh vyvodah
ignoriruyutsya, a shinnye vyvody
perevodyatsya v nerabochee sostoyanie kak pokazano v tabl.5-3. Esli
odnovremenno ustanovleny aktivnye urovni signalov RESET i HOLD, to
bolee prioritetnym budet signal RESET. Sbros po signalu RESET
budet proizveden, dazhe esli 80386 nahodilsya v sostoyanii
podtverzhdeniya zahvata do ustanovki RESET.
80386 analiziruet i srabatyvaet po urovnyu (aktivnomu ili
neaktivnomu) signala RESET. Signal RESET mozhet byt' asinhronnym po
otnosheniyu s CLK2. Esli neobhodimo, faza vnutrennego sinhrosignala
processora, a takzhe celoe sostoyanie 80386 mogut byt' polnost'yu
sinhronizirovany s vneshnimi shemami, esli obespechit' neobhodimye
dlya etogo znacheniya vremeni ustanovki t25 i vremeni uderzhaniya t26
otricatel'nogo fronta signala
RESET.
Tablica 6-3
SOSTOYANIE VYVODOV (NERABOTAYUSHCHEJ SHINY)
V TECHENIE DEJSTVIYA SIGNALA RESET
+-----------------------------------------------------------------+
| OBOZNACHENIE VYVODOV | UROVNI SIGNALOV VO VREMYA SBROSA RESET |
+-------------------------+---------------------------------------|
| ADS# | VYSOKIJ |
+-------------------------+---------------------------------------|
| D0-D31 | TRETXE SOSTOYANIE (VYSOKIJ IMPEDANS) |
+-------------------------+---------------------------------------|
| BE0#-BE3# | NIZKIJ |
+-------------------------+---------------------------------------|
| A2-A31 | VYSOKIJ |
+-------------------------+---------------------------------------|
| W/R# | VYSOKIJ |
+-------------------------+---------------------------------------|
| D/C# | VYSOKIJ |
+-------------------------+---------------------------------------|
| M/IO# | NIZKIJ |
+-------------------------+---------------------------------------|
| LOCK# | VYSOKIJ |
+-------------------------+---------------------------------------|
| HLDA | NIZKIJ |
+-----------------------------------------------------------------+
6.2.10 Spisok signalov
V tabl.6-4 perechisleny signaly processora 80386 i privedeny
nekotorye ih harakteristiki.
Tablica 6-4
PERECHENX SIGNALOV 80386
+------------------------------------------------------------------------------+
| NAZVANIE | FUNKCII | AKTIVNYJ | VHOD/ | VHOD | PEREKLYUCHAETSYA |
| SIGNALA | SIGNALA | UROVENX | VYHOD | SINHRONNYJ | LI VYHOD |
| | | | | ILI | V TRETXE |
| | | | | ASINHRONNYJ | VYSOKOIMPEDANSNOE|
| | | | | PO | SOSTOYANIE VO |
| | | | | OTNOSHENIYU | VREMYA DEJSTVIYA |
| | | | | K CLK2 | HLDA? |
+----------+---------------+----------+-------+-------------+------------------|
| CLK2 | SINHROSIGNAL | - | VHOD | - | - |
+----------+---------------+----------+-------+-------------+------------------|
| D0-D31 | SHINA DANNYH | VYSOKIJ | VHOD/ | S | DA |
| | | | VYHOD | | |
+----------+---------------+----------+-------+-------------+------------------|
| E0#-BE3# | STROBY DANNYH | NIZKIJ | VYHOD | - | DA |
+----------+---------------+----------+-------+-------------+------------------|
| A2-A31 | SHINA ADRESA | VYSOKIJ | VYHOD | - | DA |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| W/R# | UKAZATELX | VYSOKIJ |VYHOD | - | DA |
| | REZHIMA ZAPISI | | | | |
| | ILI CHTENIYA | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| D/C# | UKAZATELX | VYSOKIJ |VYHOD | - | DA |
| | OBMENA DANNYMI| | | | |
| | ILI | | | | |
| | UPRAVLYAYUSHCHIMI | | | | 3
3 | SIGNALAMI | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| M/IO# | UKAZATELX | VYSOKIJ | VYHOD | - | DA |
| | OBRASHCHENIYA | | | | |
| | PAMYATI ILI V/V| | | | |
+----------+---------------+----------+-------+-------------+------------------|
| LOCK# | BLOKIROVKA | NIZKIJ | VYHOD | - | DA |
| | SHINY | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| ADS# | STROB ADRESA | NIZKIJ | VYHOD | - | DA |
+----------+---------------+----------+-------+-------------+------------------|
| NA# | ZAPROS | NIZKIJ | VHOD | S | DA |
| | SLEDUYUSHCHEGO | | | | |
| | ADRESA | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| BS16# | 16-RAZRYADNAYA | NIZKIJ | VHOD | S | DA |
| | SHIRINA SHINY | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| READY# | PEREDACHA | NIZKIJ | VHOD | S | DA |
| | PODTVERZHDENIYA | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| HOLD | ZAPROS NA | VYSOKIJ | VHOD | S | DA |
| | ZAHVAT SHINY | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| HLDA | PODTVERZHDENIE | VYSOKIJ | VYHOD | S | NET |
| | ZAHVATA SHINY | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| PEREQ | ZAPROS | VYSOKIJ | VHOD | A | NET |
| | SOPROCESSORA | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| BUSY# | SOPROCESSOR | NIZKIJ | VHOD | A | NET |
| | ZANYAT | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| ERROR# | OSHIBKA | NIZKIJ | VHOD | A | NET |
| | SOPROCESSORA | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| INTR | MASKIRUEMYJ | VYSOKIJ | VHOD | A | NET |
| | ZAPROS | | | | |
| | PRERYVANIYA | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| NMI | NEMASKIRUEMYJ | VYSOKIJ | VHOD | A | NET |
| | ZAPROS | | | | |
| | PRERYVANIYA | | | | |
+----------+---------------+----------+-------+-------------+------------------|
| RESET | SBROS | VYSOKIJ | VHOD |A{PRIMECHANIE}| NET |
+------------------------------------------------------------------------------+
Primechanie: Esli faza vnutrennego sinhrosignala processora dolzhna
byt' sinhronizirovana s vneshnimi shemami, to neobhodimo obespechit'
opredelennye znacheniya vremeni ustanovki t25 i vremeni uderzhaniya
t26 otricatel'nogo fronta signala RESET.
6.3Mehanizm obmena po shine
6.3.1 Vvedenie
Vse peredachi dannyh zanimayut odin ili bolee ciklov shiny.
Operandy logicheskih dannyh dlinoj v bajt, slovo i dvojnoe slovo
mogut byt' peredany bez vyravnivaniya fizicheskih adresov. Lyuboj
bajt mozhet byt' kraevym bajtom (pervym ili poslednim)
peredavaemogo operanda, no pri etom dlya peredachi ne vyrovnennogo
operanda mozhet potrebovat'sya dva ili dazhe tri fizicheskih cikla
shiny. (Sm.6.3.4 Izmenyaemyj razmer shiny dannyh i 6.3.6 Ne
vyrovnennye operandy.)
Signaly adresa 80386 predusmotreny dlya uproshcheniya apparatury
vneshnej sistemy. Starshie bity adresa realizovany liniyami A2-A31.
Mladshie bity adresa v vide BE0#-BE3# obespechivayut vyborku
sootvetstvenno chetyreh bajtov 32-bitnoj shiny dannyh. Blagodarya
etomu fizicheskij operand predstavlyaetsya v kazhdom cikle v naibolee
udobnoj forme.
Aktivnye urovni vyhodnyh signalov strobov dannyh BE0#-BE3#
ustanavlivayutsya, esli sootvetstvuyushchie im bajty shiny dannyh budut
prinimat' uchastie v predstoyashchem cikle shiny, kak ukazano v tabl.6-
6. Izmenyaya kombinaciyu ustanovlennyh strobov dannyh mozhno
.aci%ab"(bl lyuboj variant vyborki smezhnyh bajtov, no nikakaya
kombinaciya BE0#-BE3# ne pozvolit vybrat' bajty, razdelennye dvumya
ili tremya nefunkcioniruyushchimi bajtami.
Adresnye bity A0-A1 fizicheskogo adresa operanda mogut byt'
obrazovany, kogda neobhodimo (naprimer, dlya interfejsov Multibus I
i Multibus II), kak funkciya ustanovlennyh strobov dannyh.
Sootvetstvie znachenij A0 i A1 signalam BE0#-BE3# privedeno v
tabl.6-6. Logicheskie shemy formirovaniya A0 i A1 privedeny na ris.6-
3.
Tablica 6-6
STROBY DANNYH I SOOTVETSTVUYUSHCHIE IM BAJTY DANNYH I OPERANDOV
+-----------------------------------------------------------+
| STROBY DANNYH | SOOTVETSTVUYUSHCHIE SIGNALY SHINY DANNYH |
+----------------+------------------------------------------|
| BE0# | D0-D7 (BAJT 0 - MLADSHIJ BAJT) |
+----------------+------------------------------------------|
| BE1# | D8-D15 (BAJT 1) |
+----------------+------------------------------------------|
| BE2# | D16-D23 (BAJT 2) |
+----------------+------------------------------------------|
| BE3# | D24-D31 (BAJT 3 - STARSHIJ BAJT) |
+-----------------------------------------------------------+
Tablica 6-6
FORMIROVANIE SHINY A0-A31 IZ SHINY BE0#-BE3# I A2-A31
+-----------------------------------------------------------+
| ADRESNYE SIGNALY 80386 |
+-----------------------------------------------------------|
| A31 ......... A2 | BE3# | BE2# | BE1# | BE0# |
+--------------------------+-------+-------+-------+--------|
| | FIZICHESKIJ ADRES | | | | |
+----+---------------------| | | | |
|A31 | .... | A2 | A1 | A0 | | | | |
+----+------+----+----+----+-------|-------+-------+--------|
|A31 | .... | A2 | 0 | 0 | X | X | X | NIZKIJ |
+----+------+----+----+----+-------+-------+-------+--------|
|A31 | .... | A2 | 0 | 1 | X | X |NIZKIJ | VYSOKIJ|
+----+------+----+----+----+-------+-------+-------+--------|
|A31 | .... | A2 | 1 | 0 | X |NIZKIJ |VYSOKIJ| VYSOKIJ|
+----+------+----+----+----+-------+-------+-------+--------|
|A31 | .... | A2 | 1 | 1 |NIZKIJ |VYSOKIJ|VYSOKIJ| VYSOKIJ|
+-----------------------------------------------------------+
Ris.6-3. Logicheskie shemy formirovaniya A0, A1 kak funkcij signalov
BE0#-BE3#
K - MAP for A1 Signal - karta Karno dlya signala A1.
Kazhdyj cikl shiny vklyuchaet v sebya po men'shej mere dva sostoyaniya
shiny. Kazhdoe sostoyanie shiny zanimaet po vremeni odin period
taktovoj chastoty processora. Prostejshij cikl shiny mozhet byt'
dopolnen sostoyaniyami shiny, kotorye nazyvayutsya sostoyaniyami
ozhidaniya. Sm. 6.4 Opisanie funkcionirovaniya shiny.
Poskol'ku dlya vypolnenie cikla shiny trebuetsya kak minimum dva
sostoyaniya shiny (chto ravnyaetsya dvum periodam taktovoj chastoty
processora), to maksimal'naya skorost' peredachi dannyh mezhdu
vneshnimi ustrojstvami i 80386 ravna odnomu 4-bajtovomu dvojnomu
slovu v kazhdye dva perioda taktovoj chastoty processora, chto
sootvetstvuet maksimal'noj propusknoj sposobnosti shiny 32
megabajt/sek (80386-16 rabotaet na taktovoj chastote 16 MGc).
6.3.2 Prostranstva pamyati i vvoda/vyvoda
V techenie ciklov shiny vozmozhno obrashchenie k prostranstvu pamyati
ili k prostranstvu vvoda/vyvoda. Periferijnye ustrojstva v sisteme
mogut byt' otneseny libo k prostranstvu pamyati, libo k
prostranstvu vvoda/vyvoda, ili i k tomu i k drugomu prostranstvam.
Kak pokazano na ris.6-4, fizicheskie adresa pamyati nahodyatsya v
diapazone ot 00000000H do FFFFFFFFH (4 gigabajta), a adresa
vvoda/vyvoda - v diapazone ot 00000000H do 0000FFFFH (64
kilobajta), neobhodimom dlya adresacii ustrojstv vvoda/vyvoda.
Otmetim adresa vvoda/vyvoda, ispol'zuemye v avtomaticheski
vypolnyaemyh dlya vzaimosvyazi s soprocessorom ciklah vvoda/vyvoda.
|ti adresa ot 800000F8H do 800000FFH ne vhodyat v diapazon
vysheukazannyh adresov dlya programmnoj adresacii ustrojstv
vvoda/vyvoda i pozvolyayut legko sformirovat' signal vyborki
soprocessora, ispol'zuya signaly A31 i M/IO#.
FFFFFFFFh+------------+ + - - - - - - - +
| | | |
| |
| | | NEADRESUEMOE |
| |
| | | |
| |
| | | |
| | 800000FFh+---------------+ SOPROCESSOR
| FIZICHESKAYA | 800000F8h| | (80387 ILI 80287)
| PAMYATX | (PRIMECH.1)+---------------+
| | | |
| | NEADRESUEMOE
| 4 GBAJTA | | |
| |
| | 0000FFFFh+---------------|
| | | 64 KBAJTA | PROGRAMMNO ADRESUEMOE
| | | | PROSTRANSTVO VVODA/VYVODA
00000000h+------------+ 00000000h+---------------+
PROSTRANSTVO FIZICHESKOJ PAMYATI PROSTRANSTVO VVODA/VYVODA
Primechanie: Tak kak v techenie avtomaticheski vypolnyaemyh ciklov
vzaimosvyazi s soprocessorom ustanavlivaetsya vysokij uroven'
signala A31, to ustanovka edinichnogo urovnya A31 i nulevogo urovnya
stroba formirovaniya sigala vyborki soprocessora.
Ris.6-4 Prostranstva fizicheskoj pamyati i vvoda/vyvoda
6.3.3 Organizaciya pamyati i vvoda/vyvoda
SHirina magistrali dannyh ot 80386 k prostranstvam pamyati i
vvoda/vyvoda mozhet sostavlyat' 32 bita ili 16 bit. V sluchae 32-
razryadnoj shiriny magistrali prostranstva pamyati i vvoda/vyvoda
organizovany sootvetstvenno kak massivy fizicheskih 32-razryadnyh
dvojnyh slov. Kazhdoe dvojnoe slovo pamyati ili vvoda/vyvoda sostoit
iz 4-h individual'no adresuemyh (s pomoshch'yu posledovatel'nyh
adresov bajtov) bajtov. Samyj men'shij (iz chetyreh) adres bajta
otnositsya k signalam D0-D7; samyj bol'shij - k signalam D24-D31.
80386 imeet takoj signal upravleniya shinoj, kak BS16#, kotoryj
obespechivaet pravil'nuyu vzaimosvyaz' s 16-razryadnymi prostranstvami
pamyati i vvoda/vyvoda, organizovannymi v vide posledovatel'nosti
16-bitnyh slov. Cikly obmena s 16-razryadnymi i 32-razryadnymi
ustrojstvami pamyati ili vvoda/vyvoda mogut vstrechat'sya v lyuboj
posledovatel'nosti, tak kak sostoyanie signala BS16# analiziruetsya
v techenie kazhdogo cikla shiny. Sm. 6.3.4 Izmenyaemyj razmer shiny
dannyh. Signaly strobov dannyh BE0#-BE3# pozvolyayut obrashchat'sya k
otdel'nym bajtam pri lyuboj strukture pamyati ili vvoda/vyvoda (32-
razryadnoj ili 16-razryadnoj).
6.3.4 Izmenyaemyj razmer shiny dannyh
Izmenyaemyj razmer shiny dannyh otlichitel'naya osobennost' 80386,
obespechivayushchaya neposredstvennuyu svyaz' processora s 32-razryadnymi
ili 16-razryadnymi shinami dannyh pamyati ili vvoda/vyvoda. Odin
processor mozhet byt' soedinen s shinami dvuh razmerov. Peredachi
v/iz 32- ili 16-razryadnye porty soprovozhdayutsya opredeleniem v
kazhdom cikle shiny neobhodimoj shiriny shiny. V techenie kazhdogo cikla
shiny shema deshifracii adresa ili podchinennoe ustrojstvo sami mogut
ustanovit' aktivnyj uroven' signala BS16# dlya 16-razryadnogo porta,
ili neaktivnyj uroven' BS16# dlya 32-razryadnogo porta.
Kogda ustanovlen aktivnyj uroven' signala BS16#, processor
avtomaticheski vmesto odnoj peredachi razryadnost'yu bol'she 16 bit ili
odnoj 16-razryadnoj ne vyrovnennoj peredachi vypolnit dve ili tri
peredachi, kak potrebuetsya. Pri aktivnom urovne BS16# vse peredachi
operandov osushchestvlyayutsya tol'ko po liniyam D0-D16. Poetomu 16-
razryadnye ustrojstva pamyati ili vvoda/vyvoda obmenivayutsya tol'ko
signalami dannyh D0-D16. Special'nyh pereklyuchatelej ne trebuetsya.
Dejstvie aktivnogo urovnya signala BS16# proyavlyaetsya tol'ko togda,
kogda v tekushchem cikle shiny ustanovleny aktivnye urovni signalov
BE2# i/ili BE3#. Esli v peredache uchastvuyut tol'ko linii D0-D15, to
ustanovka aktivnogo urovnya BS16# ne budet imet' znachenie, tak kak
peredacha budet proizvodit'sya vse ravno po 16-razryadnoj shine
nezavisimo ot sostoyaniya BS16#. Drugimi slovami, ustanovka
aktivnogo urovnya BS16# neobyazatel'na, kogda tol'ko mladshaya
polovina
razryadov shiny uchastvuet v tekushchem cikle.
Sushchestvuyut dve situacii, pri kotoryh proyavlyaetsya vliyanie
aktivnogo urovnya BS16# na dejstviya processora, zavisyashchie takzhe ot
znachenij strobov dannyh BE0#-BE3# v tekushchem cikle shiny:
- v obmene uchastvuet tol'ko starshaya polovina linij shiny:
ustanavlivayutsya aktivnye urovni tol'ko signalov BE2# i/ili BE3#;
- v obmene uchastvuyut i starshaya, i mladshaya poloviny linij shiny:
ustanavlivayutsya aktivnye urovni po men'shej mere signalov BE1# i
BE2# (i vozmozhno takzhe signalov BE0# i/ili BE3#).
Vozdejstvie BS16# na cikly chteniya "s uchetom tol'ko starshej
poloviny linij shiny":
Ustanovka aktivnogo urovnya BS16# v techenie ciklov chteniya "s
uchastiem tol'ko starshej poloviny linij shiny" vynudit 80386
schityvat' mladshie 16 bitov shiny dannyh i ignorirovat' dannye na
starshih 16 bitah shiny dannyh. T.e. vmesto schityvaniya dannyh s
linij D16-D31 v sootvetstvii s ustanovlennymi BE2# i BE3# budut
schityvat'sya dannye s linij D0-D16.
Vzaimodejstvie signala BS16# na cikly zapisi "s uchastiem
tol'ko starshej poloviny linij shiny":
Ustanovka aktivnogo urovnya BS16# v techenie ciklov zapisi "s
uchastiem tol'ko starshej poloviny" ne otrazitsya na procedure
zapisi. Kogda v cikle zapisi ustanovleny aktivnye urovni signalov
BE2# i/ili BE3#, 80386 vsegda kopiruet signaly dannyh D16-D31 na
linii D0-D15 (sm. tabl. 6-1). Poetomu ne trebuetsya dopolnitel'nyh
dejstvij 80386 dlya togo, chtoby vypolnit' eti cikly zapisi po 32-
ili 16-razryadnoj shine.
Vozdejstvie signala BS16# na cikly chteniya "s uchastiem i
ab `h%) i mladshej polovin shiny":
Ustanovka aktivnogo urovnya signala BS16# v techenie ciklov
chteniya "s uchastiem i starshej i mladshej polovin shiny" zastavit
processor vypolnit' dva 16-razryadnyh cikla chteniya dlya peredachi
vsego fizicheskogo operanda. Bajty 0 i 1 (v sootvetstvii s
ustanovlennymi BE0# i BE1#) budut schitany v pervom cikle s linij
D0-D16. Bajty 2 i 3 (v sootvetstvii s ustanovlennymi BE2# i BE3#)
budut schitany vo vtorom cikle i snova s linij D0-D16. Signaly na
liniyah D16-D31 ignoriruyutsya v techenie oboih 16-razryadnyh ciklov.
BE0# i BE1# vsegda nahodyatsya v neaktivnom sostoyanii v techenie
vtorogo 16-razryadnogo cikla.
Aktivnyj uroven' signala BS16# neobyazatel'no ustanavlivat' na
vremya vtorogo 16-razryadnogo cikla. Sm. ris.6-14, cikly 2 i 2a.
Vozdejstvie signala BS16# (aktivnogo urovnya) na cikly zapisi
"s uchastiem i starshej i mladshej polovin shiny":
Ustanovka aktivnogo urovnya signala BS16# v techenie ciklov
zapisi "s uchastiem i starshej i mladshej polovin shiny" zastavit
processor 80386 vypolnyat' dva 16-razryadnyh cikla zapisi dlya
peredachi celogo fizicheskogo operanda. Nalichie vseh bajtov operanda
na liniyah D0-D15 v techenie pervogo cikla zapisi pozvolit vneshnim
ustrojstvam poluchit' bajty 0 i 1 (v sootvetstvii s ustanovlennymi
znacheniyami BE0# i BE1#) po liniyam D0-D16. Vo vtorom cikle 80386
skopiruet bajty 2 i 3 na linii D0-D15, i zapis' etih bajtov (v
sootvetstvii s ustanovlennymi znacheniyami BE2# i BE3#) budet
proizvedena takzhe po liniyam D0-D16. Signaly BE0# i BE1# vsegda
pereklyuchayutsya v neaktivnoe sostoyanie v techenie vtorogo 16-
razryadnogo cikla. Ustanovka aktivnogo urovnya signala BS16# v
techenie vtorogo 16-razryadnogo cikla neobyazatel'na. Sm. ris.6-14,
cikly 1 i 1a.
6.3.5 Svyaz' s 32 i 16 razryadnym ustrojstvami pamyati
V 32-razryadnyh ustrojstvah fizicheskoj pamyati, takih kak na
ris.6-5, kazhdoe fizicheskoe dvojnoe slovo nachinaetsya s bajta, adres
kotorogo kraten 4. Signaly A2-A31 obychno ispol'zuyutsya dlya vyborki
opredelennogo dvojnogo slova, a signaly BE0#-BE3# - dlya vyborki
opredelennogo bajta v dvojnom slove BS16# podderzhivaetsya v
neaktivnom sostoyanii vo vseh ciklah shiny, operiruyushchih s 32-
razryadnym massivom.
Kogda v sostav sistemy vhodyat 16-razryadnye fizicheskie massivy,
kak pokazano na ris.6-6, adres nachala kazhdogo 16-bitnogo
fizicheskogo slova kraten 2. Otmetim, chto shema deshifracii adresa
ADDRESS DECODER pri deshifracii adresa formiruet aktivnyj uroven'
signala BS16# tol'ko v techenie ciklov shiny, operiruyushchih s 16-
razryadnymi ustrojstvami pamyati, to shema deshifracii adresa
analiziruet takzhe znacheniya signalov BE0#-BE3# i W/R#, chtoby
opredelit', kogda dolzhen byt' ustanovlen aktivnyj uroven' signala
BS16#. Sm. 6.4.3.7 Optimal'noe ispol'zovanie metoda konvejernoj
adresacii v sluchae 16-razryadnoj shiriny shiny.
Signaly A2-A31 obychno ispol'zuyutsya dlya adresacii 32-razryadnyh
i 16-razryaznyh ustrojstv. Dlya adresacii 16-razryadnyh ustrojstv
neobhodimy takzhe signal A1 i dva signala stroba dannyh.
CHtoby sformirovat' neobhodimye znacheniya signala A1 i dvuh
signalov stroba dannyh dlya obrashcheniya k 16-razryadnomu ustrojstvu,
signaly BE0#-BE3# dolzhen byt' deshifrirovany v sootvetstvii s tabl.
6-7. Otmetim nekotorye zapreshchennye kombinacii BE0#-BE3#, nikogda
ne vyrabatyvaemye 80386. Pri nalichii zapreshchennoj kombinacii BE0#-
BE3# na vhode deshifratora vyhody ego ne analiziruyutsya i sostoyanie
ih oboznachaetsya X. Zapreshchennye kombinacii BE0#-BE3# mogut byt'
ispol'zovany pri neobhodimosti dlya bolee optimal'nogo
ispol'zovaniya deshifratora.
Tablica 6-7
FORMIROVANIE SIGNALOV A1, BHE# I BLE# DLYA
ADRESACII 16-RAZRYADNYH USTROJSTV
+-----------------------------------------------------------+
| SIGNALY 80386 | SIGNALY 16-RAZRYADNOJ | KOMMENTARII |
| | SHINY | |
+-------------------+-----------------------| |
|BE3#|BE2#|BE1#|BE0#| A1 | BHE# | BLE# (A0) | |
+----+----+----+----+----+------+-----------+---------------|
| H* | H* | H* | H* | X | X | X | X - NET NI |
| | | | | | | | ODNOGO AKTIV- |
| | | | | | | | NOGO BAJTA |
+----+----+----+----+----+------+-----------+---------------|
| H | H | H | L | L | H | L | |
+----+----+----+----+----+------+-----------+---------------|
| H | H | L | H | L | L | H | |
+----+----+----+----+----+------+-----------+---------------|
| H | H | L | L | L | L | L | |
+----+----+----+----+----+------+-----------+---------------|
| H | L | H | H | H | H | L | |
+----+----+----+----+----+------+-----------+---------------|
| H* | L* | H* | L* | X | X | X | X - NESMEZHNYE |
| | | | | | | | BAJTY |
+----+----+----+----+----+------+-----------+---------------|
| H | L | L | H | L | L | H | |
+----+----+----+----+----+------+-----------+---------------|
| H | L | L | L | L | L | L | |
+----+----+----+----+----+------+-----------+---------------|
| L | H | H | H | H | L | H | |
+----+----+----+----+----+------+-----------+---------------|
| L* | H* | H* | L* | X | X | X | X - NESMEZHNYE |
| | | | | | | | BAJTY |
+----+----+----+----+----+------+-----------+---------------|
| L* | H* | L* | H* | X | X | X | X - NESMEZHNYE |
| | | | | | | | BAJTY |
+----+----+----+----+----+------+-----------+---------------|
| L | L | H | H | H | L | L | |
+----+----+----+----+----+------+-----------+---------------|
| L* | L* | H* | L* | X | X | X | X - NESMEZHNYE |
| | | | | | | | BAJTY |
+----+----+----+----+----+------+-----------+---------------|
| L | L | L | H | L | L | H | |
+----+----+----+----+----+------+-----------+---------------|
| L | L | L | L | L | L | L | |
+-----------------------------------------------------------+
BLE# ustanavlivaetsya (aktivnyj uroven') kogda aktiviziruyutsya
razryady D0-D7 16-razryadnoj shiny.
BHE# ustanavlivaetsya (aktivnyj uroven') kogda aktiviziruyutsya
razryady D8-D15 16-razryadnoj shiny.
A1 imeet nizkij uroven' dlya vseh chetnyh slov; A1 imeet vysokij
uroven' dlya vseh nechetnyh slov.
OBOZNACHENIYA:
X - dopustim i vysokij i nizkij logicheskij uroven';
H - vysokij logicheskij uroven';
L - nizkij logicheskij uroven';
* - neispol'zuemye kombinacii BE0#-BE3#:
- kombinaciya, kogda vse stroby dannyh nahodyatsya v neaktivnom
sostoyanii;
- kombinacii strobov dannyh, pri kotoryh poyavlyayutsya nesmezhnye
aktivnye bajty.
6.3.6 Vyravnivanie operandov
Blagodarya gibkoj adresacii pamyati v 80386 vozmozhna peredacha
logicheskogo operanda, razryadnost' kotorogo bol'she slova ili
dvojnogo slova pamyati ili vvoda/vyvoda, naprimer 32-razryadnogo
operanda (dvojnoe slovo), adres nachala kotorogo ne kraten 4, ili
16-razryadnogo operanda (slovo), razdelennogo mezhdu dvumya
fizicheskimi dvojnymi slovami massiva pamyati.
Kogda peredacha operanda trebuet vypolneniya neskol'kih ciklov,
to vo vremya etih ciklov vypolnyaetsya vyravnivanie dannyh i
opredelenie razmera shiny. Tablica 6-8 opisyvaet opredelenie tipov
ciklov peredachi dlya vseh kombinacij takih harakteristik, kak dlina
logicheskogo operanda, vyravnivanie i shirina shiny dannyh. Kogda dlya
peredachi mnogobajtovogo logicheskogo operanda trebuetsya neskol'ko
ciklov shiny, to pervymi peredayutsya starshie bajty (no esli
ustanovlen aktivnyj uroven' BS16#, to budut vypolneny dva 16-
razryadnyh cikla, prichem pervymi budut peredany mladshie bajty).
Tablica 6-8
CIKLY PEREDACHI BAJTOV, SLOV I DVOJNYH SLOV
+-----------------------------------------------------------+
| | DLINA LOGICHESKOGO OPERANDA V BAJTAH |
| +-------------------------------------------|
| | 1 | 2 | 4 |
+---------------+---+-------------------+-------------------|
| ADRES BAJTA |XX | 00 | 01 | 10 | 11 | 00 | 01 | 10 | 11 |
| FIZICHESKOJ | | | | | | | | | |
| PAMYATI | | | | | | | | | |
| *MLADSHIE DVA | | | | | | | | | |
| BAJTA | | | | | | | | | |
+---------------+---+----+----+----+----+----+----+----+----|
|CIKLY PEREDACHI |b | W | W | W |hb, | d |hb, |hw, |h3, |
|PO 32-RAZRYADNOJ| | | | |lb | |l3 |lw |lb |
|SHINE DANNYH | | | | | | | | | |
+---------------+---+----+----+----+----+----+----+----+----|
|CIKLY PEREDACHI |b | W |lb,*| W |hb,*|lw,*|hb, |hw, |mw, |
|PO 16-RAZRYADNOJ| | |hb* | |lb* |hw* |lb,*|lw |hb,*|
|SHINE DANNYH | | | | | | |mw* | |lb |
+-----------------------------------------------------------+
OBOZNACHENIYA:
b = peredacha bajta
w = peredacha slova
l = mladshaya chast' operanda
m = srednyaya chast' operanda
h = ne ispol'zuetsya
* = aktivnyj uroven' BS16# vyzyvaet vypolnenie vtorogo cikla
shiny
3 = peredacha 3-h bajtov
d = peredacha dvojnogo slova
h = starshaya chast' operanda
6.4 Opisanie funkcionirovaniya shiny
6.4.1 Vvedenie
80386 imeet otdel'nye parallel'nye shiny: shinu adresa i shinu
dannyh. SHina dannyh - 32-razryadnaya i dvunapravlennaya. SHirina shiny
adresa - 32 razryada: iz nih 30 starshih razryadov - adres operanda i
2 razryada formiruyutsya iz 4-h signalov strobov dannyh kazhdyj iz
kotoryh sluzhit dlya vyborki sootvetstvuyushchego bajta v operande. |ti
shiny analiziruyutsya i upravlyayutsya sootvetstvuyushchimi im upravlyayushchimi
signalami. Tip kazhdogo cikla shiny opredelyaetsya tremya signalami:
M/IO#, W/R# i D/C#. Odnovremenno s etimi signalami ustanavlivaetsya
dostovernyj adres na liniyah BE0#-BE3# i A2-A31. Signal stroba
adresa ukazyvaet na vydachu processorom 80386 novogo tipa cikla
shiny i adresa.
Ob容dinennye shina adresa, shina dannyh i vse svyazannye s nimi
upravlyayushchie signaly nazyvayutsya v tekste prosto "shinoj". V rabochem
sostoyanii shina vypolnyaet odin iz nizhe perechislennyh ciklov shiny:
1) chtenie iz pamyati;
2) chtenie iz pamyati s blokirovkoj shiny;
3) zapis' v pamyat';
4) zapis' v pamyat' s blokirovkoj shiny;
5) chtenie iz ustrojstva vvoda/vyvoda (ili iz soprocessora);
6) zapis' v ustrojstvo vvoda/vyvoda (ili v soprocessor);
7) podtverzhdenie preryvaniya;
8) cikl ostanova ili cikl vyklyucheniya.
Tabl. 6-2 pokazyvaet sootvetstvie kombinacij signalov
opredeleniya tipa shiny kazhdomu tipu shiny. Sm. paragraf 6.2.5
Signaly opredeleniya tipa cikla shiny.
Otlichitel'noj chertoj shiny dannyh yavlyaetsya ee izmenyaemaya
shirina, kotoraya mozhet byt' 32-razryadnoj i 16-razryadnoj. SHirina
shiny dannyh ukazyvaetsya processoru 80386 ego vhodnym signalom
BS16#. Vse funkcii shiny mogut byt' vypolneny pri lyuboj
shirine shiny.
Kogda shina 80386 ne vypolnyaet ni odin iz vysheperechislennyh
ciklov, ona nahoditsya ili v nerabochem sostoyanii ili v sostoyanie
podtverzhdeniya zahvata shiny, poslednee mozhet byt' vyzvano vneshnej
shemoj.
Nerabochee sostoyanie shiny mozhet imet' mesto, kogda 80386 ne
vydaet dal'nejshih podtverzhdenij na svoj vyhod stroba adresa (ADS#)
posle nachala tekushchego cikla, i potomu tekushchij cikl budet
poslednim. Sostoyanie podtverzhdeniya zahvata shiny identificiruetsya
ustanovkoj processorom 80386 aktivnogo urovnya na svoem vyhode
podtverzhdeniya zahvata (HLDA).
Samoj korotkoj vremennoj edinicej deyatel'nosti shiny yavlyaetsya
sostoyanie shiny. Deyatel'nost' sostoyaniya shiny sostavlyaet odin period
taktovoj chastoty processora (dva perioda CLK2). Zakonchennaya
peredacha dannyh osushchestvlyaetsya v techenie cikla shiny, sostoyashchego iz
dvuh ili bolee sostoyanij shiny.
Samyj korotkij cikl shiny 80386 sostoit iz dvuh sostoyanij shiny.
Sostoyaniya shiny v kazhdom cikle oboznacheny kak T1 i T2. V techenie
takogo cikla shiny (iz 2-h sostoyanij) mozhet byt' vypolneno
obrashchenie po lyubomu adresu pamyati ili vvoda/vyvoda, esli vneshnyaya
apparatura obladaet dostatochnym bystrodejstviem. Vysokaya
propusknaya sposobnost' shiny i cikl shiny, zanimayushchij dva perioda
taktovoj chastoty, naibolee polno realizuyut vozmozhnosti bystroj
osnovnoj pamyati ili kesh-pamyati.
Kazhdyj cikl shiny dlitsya do teh por, poka ne pridet
podtverzhdenie ot vneshnih ustrojstv sistemy, ispol'zuyushchih dlya etoj
celi vhod 80386 READY#. Esli podtverzhdenie cikla shiny budet
sformirovano v konce pervogo iz sostoyanij T2, to eto opredelit
vypolnenie samogo korotkogo cikla shiny, sostoyashchego vsego iz dvuh
a.ab.o-() T1 i T2. Odnako, esli aktivnyj uroven' signala READY# ne
budet ustanovlen srazu (v konce pervogo T2), to sostoyaniya T2 budut
neogranichenno povtoryatsya do teh por, poka na vhode READY#
processor ne obnaruzhit aktivnyj uroven'.
6.4.2 Konvejernaya adresaciya
Rezhim konvejernoj adresacii obespechivaet opredelennye
protokoly cikla shiny. Protokol konvejernoj ili ne konvejernoj
adresacii vybiraetsya na osnove sovmeshcheniya ciklov s ispol'zovaniem
vhoda sleduyushchego adresa (NA#).
V rezhime ne konvejernoj adresacii tekushchij adres i tip cikla
shiny ostayutsya postoyannymi v techenie vsego cikla shiny.
V rezhime konvejernoj adresacii adres (BE0#-BE3#, A2-A31) i tip
cikla dlya sleduyushchego cikla ustanavlivayutsya i vydayutsya eshche do
okonchaniya tekushchego cikla. CHtoby signalizirovat' ob ih gotovnosti,
80386 ustanavlivaet takzhe aktivnyj uroven' na vyhode stroba adresa
(ADS#). Ris.6-9 illyustriruet samye bystrye cikly chteniya v rezhime
konvejernoj adresacii. Iz ris.6-9 sleduet, chto samye korotkie
cikly shiny, ispol'zuyushchie metod konvejernoj adresacii, sostoyat
vsego iz dvuh sostoyanij shiny, oboznachennyh T1R i T2R.
Sledovatel'no, cikly s konvejernoj adresaciej obespechivayut takuyu
zhe propusknuyu sposobnost' dannyh, kak i cikly s ne konvejernoj
adresaciej, no vremya vyborki adresa uvelichivaetsya po sravneniyu s
ne konvejernymi ciklami.
Iz-za uvelicheniya vremeni vyborki adresa rezhim konvejernoj
adresacii sokrashchaet trebuemoe kolichestvo sostoyanij ozhidaniya.
Naprimer, esli v rezhime konvejernoj adresacii trebuetsya odno
sostoyanie ozhidaniya, to v rezhime konvejernoj adresacii mozhet ne
potrebovat'sya ni odnogo sostoyaniya ozhidaniya.
Rezhim konvejernoj adresacii ispol'zuetsya v sistemah, imeyushchih
adresnye "zashchelki". V takih sistemah, srazu "zashchelkivayushchih" adres,
konvejernaya vydacha sleduyushchego adresa pozvolyaet dekodiruyushchej sheme
zaranee sformirovat' signaly vklyucheniya mikroshem (i drugie
neobhodimye signaly vyborki), poetomu obrashchenie k vybrannym
ustrojstvam osushchestvlyaetsya srazu, kak tol'ko nachinaetsya sleduyushchij
cikl. Drugimi slovami, vremya dekodirovaniya dlya sleduyushchego cikla
mozhet chastichno perekryvat'sya s okonchaniem tekushchego cikla.
Esli v sostav sistemy vhodit pamyat' s rassloeniem, imeyushchaya 2
ili bolee bankov, to metod konvejernoj adresacii vozmozhno
obespechit dazhe bol'shee perekrytie ciklov. Vysheskazannoe
dejstvitel'no, kogda kontroller pamyati s rassloeniem ustroen tak,
chtoby pozvolit' nachat' sleduyushchuyu operaciyu s pamyat'yu v odnom banke
pamyati v to vremya, kak tekushchij cikl shiny eshche operiruet s drugim
bankom pamyati. Ris.6-10 pokazyvaet osnovnuyu strukturu vzaimosvyazi
80386 s 2-bankovoj i 4-bankovoj pamyat'yu s rassloeniem. Otmetim,
chto kazhdyj bank pamyati s rassloeniem imeet shinu dannyh polnoj
shiriny (obychno razryadnost' dannyh sostavlyaet 32 bita, esli ne
zadaetsya 16-razryadnaya shirina shiny).
Dopolnitel'nye svedeniya o rezhime konvejernoj adresacii dany v
paragrafah 6.4.3.4 Konvejernaya adresaciya, 6.4.3.5 Inicializaciya i
podderzhanie rezhima konvejernoj adresacii, 6.4.3.6 Konvejernyj
adres pri izmenenii shiriny shiny i 6.4.3.7 Optimal'noe
ispol'zovanie konvejernogo adresa v sluchae 16-razryadnoj shiriny
shiny.
6.4.3 Cikly chteniya i zapisi
6.4.3.1Vvedenie
Peredachi dannyh osushchestvlyaetsya posredstvom vypolneniya ciklov
shiny, kotorye podrazdelyayutsya na cikly chteniya i cikly zapisi. Pri
vypolnenii ciklov chteniya dannye peredayutsya ot vneshnego ustrojstva
" processor. Pri vypolnenii ciklov zapisi dannye peredayutsya v
obratnom napravlenii: ot processora k vneshnemu ustrojstvu.
Dva varianta adresacii poperemenno izbirayutsya: ne konvejernaya
adresaciya ili konvejernaya. Posle nerabochego sostoyaniya shiny
processor vsegda rabotaet v rezhime ne konvejernoj adresacii.
Odnako, mozhet byt' ustanovlen aktivnyj uroven' vhodnogo signala
NA# (sleduyushchij adres), izbirayushchij rezhim konvejernoj adresacii dlya
sleduyushchego cikla shiny. Kogda vybran rezhim konvejernoj adresacii, i
v processore imeetsya ozhidayushchij obsluzhivaniya vnutrennij zapros
shiny, dostovernye adres i tip cikla dlya sleduyushchego cikla shiny
budut vydany dazhe do polucheniya podtverzhdeniya tekushchego cikla shiny
na vhode READY#. V kazhdom cikle shiny 80386 obyazatel'no analiziruet
sostoyanie signala na vhode NA#, chtoby opredelit' sposob adresacii,
neobhodimyj dlya sleduyushchego cikla.
Poperemenno izbirayutsya dva varianta razmera fizicheskoj shiny
dannyh: 32 bita ili 16 bitov. Obyazatel'no blizhe k koncu cikla shiny
sostoyanie vhodnogo signala BS16# (razmer shiny 16) analiziruetsya s
cel'yu ustanovleniya razmera fizicheskoj shiny dannyh, neobhodimogo v
tekushchem cikle. Vysokij uroven' signala BS16# ukazyvaet na 32-
razryadnyj razmer, aktivnyj uroven' (nizkij) BS16# ukazyvaet na 16-
razryadnyj razmer. Esli ukazan 16-razryadnyj razmer shiny, to 80386
avtomaticheski reagiruet na eto sootvetstvuyushchim obrazom, chtoby
zavershit' peredachu po 16-razryadnoj shine dannyh. V zavisimosti ot
razmera i raspolozheniya operanda mozhet potrebovat'sya vtoroj 16-
razryadnyj cikl shiny. Podrobno ob etom sm. tabl. 6-7. Kogda
neobhodimo, 80386 vypolnyaet dopolnitel'nyj 16-razryadnyj cikl shiny,
ispol'zuya linii D0-D15 dlya peredachi razryadov D16-D31.
Dlya zaversheniya cikla chteniya ili cikla zapisi, takzhe kak i
lyubogo drugogo cikla shiny, trebuetsya podtverzhdenie cikla,
ustanavlivaemoe na vhode READY#. Do polucheniya podtverzhdeniya
processor vvodit v cikl shiny sostoyanie ozhidaniya, chtoby
sootvetstvovat' bystrodejstviyu vneshnego ustrojstva. Vneshnee
ustrojstvo, raspoznavshee svoj adres i dekodirovavshee tip cikla
shiny, formiruet v sootvetstvuyushchij moment aktivnyj uroven'
signala READY#.
Signal READY# analiziruetsya vo vtorom sostoyanii cikla shiny.
Esli v eto zhe vremya vneshnyaya apparatura podtverzhdaet cikl shiny
ustanovkoj aktivnogo urovnya READY#, to cikl shiny zavershaetsya, kak
pokazano na ris.6-11.
Esli vo vtorom sostoyanii shiny signal READY# ostaetsya v
neaktivnom sostoyanii, kak pokazano na ris.6-12, cikl shiny
dopolnyaetsya eshche odnim sostoyaniem (sostoyaniem ozhidaniya), i signal
READY# budet snova analizirovat'sya v konce kazhdogo takogo
sostoyaniya ozhidaniya. Tak budet prodolzhit'sya neogranichenno do teh
por, poka cikl ne poluchit podtverzhdeniya po linii READY#.
Kogda processor poluchaet podtverzhdenie tekushchego cikla, on
zavershaet ego. Kogda podtverzhdaetsya cikl chteniya, 80386
"zashchelkivaet" informaciyu, sformirovannuyu k etomu vremeni na
vyvodah shiny dannyh processora. Kogda podtverzhdaetsya cikl zapisi,
80386 podderzhivaet dostovernoe znachenie zapisyvaemyh dannyh v
techenie pervoj fazy sleduyushchego cikla shiny, chtoby obespechit'
neobhodimoe znachenie vremeni uderzhaniya zapisyvaemyh dannyh.
6.4.3.2Nekonvejernaya adresaciya
Lyuboj cikl shiny mozhet byt' vypolnen v rezhime nekonvejernoj
adresacii. Dlya primera, na ris.6-11 pokazana posledovatel'nost'
ciklov chteniya i zapisi v rezhime nekonvejernoj adresacii. Iz ris.6-
11 sleduet, chto samye korotkie cikly, vozmozhnye v rezhime
nekonvejernoj adresacii, sostoyat kazhdyj iz dvuh sostoyanij shiny.
Sostoyaniya oboznacheny kak T1 i T2. V pervoj faze sostoyaniya T1
"k$ nbao dostovernye znacheniya signalov adresa i signalov
opredeleniya tipa cikla shiny, i odnovremenno ustanavlivaetsya
aktivnyj uroven' signala stroba adresa (ADS#), signaliziruyushchij o
gotovnosti vysheperechislennyh signalov.
V techenie ciklov chteniya ili zapisi shina dannyh funkcioniruet
kak opisano nizhe. V cikle chteniya 80386 pereklyuchaet svoyu shinu
dannyh takim obrazom, chtoby prinyat' signaly dannyh ot
adresovannogo vneshnego ustrojstva. V cikle zapisi signaly dannyh
peredayutsya processorom 80386, nachinaya so vtoroj fazy sostoyaniya T1
i konchaya pervoj fazoj sostoyaniya shiny, kotoroe budet ustanovleno
srazu posle polucheniya podtverzhdeniya cikla.
Ris.6-12 illyustriruet cikly shiny v rezhime nekonvejernoj
adresacii, prichem cikly 2 i 3 dopolneny odnim sostoyaniem ozhidaniya.
V ciklah 2 i 3 signal READY# okazalsya ne ustanovlennym v aktivnoe
sostoyanie T2. V etih ciklah aktivnyj uroven' signala READY#
ustanavlivaetsya v konce vtorogo iz sostoyanij T2.
Kogda ne ispol'zuetsya konvejernaya adresaciya, dostovernye
znacheniya adresa i tipa cikla shiny sohranyayutsya v techenie vseh
sostoyanij ozhidaniya. Kogda cikl dopolnyaetsya sostoyaniyami ozhidaniya, i
neobhodimo obespechit' rezhim nekonvejernoj adresacii, neaktivnyj
(vysokij) uroven' signala NA# dolzhen ustanavlivat'sya v techenie
kazhdogo iz sostoyanij T2, isklyuchaya samoe poslednee sostoyanie T2
cikla, kak pokazano na ris.6-12 v ciklah 2 i 3. Esli aktivnyj
uroven' NA# okazhetsya ustanovlennym v sostoyanie T2 (no ne v
poslednem T2), to sleduyushchim sostoyaniem, vmesto sostoyaniya T2 (dlya
nekonvejernoj adresacii), budet sostoyanie T2i (dlya konvejernoj
adresacii) ili T2p (dlya konvejernoj adresacii).
Ris.6-13 naibolee polno illyustriruet kartinu sostoyanij shiny i
perehodov iz sostoyaniya v sostoyanie dlya sluchaya, kogda konvejernaya
adresaciya ne ispol'zuetsya. Pokazannye perehody shiny mezhdu 4-mya
vozmozhnymi sostoyaniyami: T1, T2, Ti i Th. Cikly shiny soderzhat
sostoyaniya T1 i T2, prichem T2 mozhet povtoryat'sya (sostoyaniya
ozhidaniya). Krome etogo, shina mozhet nahodit'sya v nerabochem
sostoyanii, t.e. v sostoyanii Ti, ili v sostoyanii podtverzhdeniya
zahvata shiny, t.e. v sostoyanii Th.
"1"
+-------+
? |
+--------------+
+-----------| Th |?-------------+
| +--------------+ |
| - - |
| +----------+ | |
| | | |
"2" | | "1" |"3" "4" |
----+ | | | "6" |
|"5" | | +--------------|---------------+ |
| | | | | | |
? ? | ? ? ? |
+--------------+ +--------------+ "9" +------------+
+?| | "3" | +-----?| +-+
| | Ti +-----?| T1 | | T2 | |
| | | | |?-----| | |
| +--------------+ +--------------+ "7" +------------+ |
|"2" | - "8" |
+-------+ +------+
"1"-HOLD aktivizirovan
"2"-HOLD neaktivizirovan * net vnutrennego zaprosa
"3"-HOLD neaktivizirovan * est' vnutrennij zapros, ozhidayushchij
obsluzhivanie
"4"-READY# aktivizirovan * HOLD aktivizirovan
"5"-RESET aktivizirovan
"6"-READY# aktivizirovan * HOLD neaktivizirovan * net vnutrennego
zaprosa
"7"-READY# aktivizirovan * HOLD neaktivizirovan * est' vnutrennij
zapros, ozhidayushchij obsluzhivanie
"8"-READY# neaktivizirovan * NA# neaktivizirovan
"9"-postoyanno
SOSTOYANIYA SHINY
T1 t pervoe sostoyanie nekonvejernogo cikla shiny (80386 vydaet
novyj adres i ustanavlivaet aktivnyj uroven' ADS#).
T2 t posleduyushchie sostoyaniya cikla shiny, kogda pri prosmotre
signala NA# v tekushchem cikle shiny on okazyvaetsya v neaktivnom
sostoyanii.
Ti t nerabochee sostoyanie.
Th t sostoyanie podtverzhdeniya zahvata shiny (80386 ustanavlivaet
aktivnyj uroven' HLDA).
Samyj korotkij cikl shiny sostoit iz dvuh sostoyanij: T1 i T2.
CHetyre osnovnye sostoyaniya shiny opisyvayut funkcionirovanie shiny,
kogda ne ispol'zuetsya konvejernaya adresaciya. |ti sostoyaniya
rasprostranyayutsya na oba razmera shiny: 32 bita i 16 bit, t.e.
spravedlivy dlya lyubogo znacheniya BS16#. Esli pri aktivnom urovne
signala BS16# trebuetsya vypolnenie vtorogo 16-razryadnogo cikla,
poslednij vypolnyaetsya pered formirovaniem processorom signala
podtverzhdeniya zahvata shiny.
Ris.6-13. Sostoyaniya shiny 80386 (kogda konvejernaya adresaciya ne
primenyaetsya)
Dlya sluchaya, kogda konvejernaya adresaciya ne ispol'zuetsya,
diagramma sostoyaniya shiny takaya, kak pokazana na ris.6-13. V
nerabochem sostoyanii shina nahoditsya v Ti. Cikly shiny vsegda
nachinayutsya s T1. T1 vsegda predshestvuet sostoyaniyu T2. Esli cikl
shiny ne podtverzhden v techenie T2 i uroven' NA# pri etom
neaktivnyj, sostoyanie T2 povtoryaetsya. Kogda cikl podtverzhden v
techenie T2, to za etim posleduet sostoyanie T1 sleduyushchego cikla
shiny, esli imeetsya ozhidayushchij obsluzhivaniya vnutrennij zapros shiny
(zapros na zahvat shiny samim processorom), ili sostoyanie Ti, esli
takogo zaprosa net, ili sostoyanie Th, esli ustanovlen aktivnyj
uroven' vhodnogo signala HOLD.
Diagramma sostoyaniya shiny na ris.6-13 spravedliva pri lyubom
znachenii signala BS16#. Esli 80386 vypolnit vnutrennie
pereklyucheniya, neobhodimye dlya ustanovki 16-razryadnogo razmera
shiny, to eti pereklyucheniya ne povliyayut na sostoyaniya vneshnej shiny.
Esli dlya vypolneniya peredachi po 16-razryadnoj shine trebuetsya
dopolnitel'nyj 16-razryadnyj cikl shiny, on takzhe budet vypolnyat'sya
v sootvetstvii s perehodami sostoyanij, pokazannymi na ris.6-13.
V rezhime konvejernoj adresacii v 80386 mogut imet' eshche tri
tipa sostoyaniya shiny, ne pokazannye na ris.6-13. Na ris.6-20 v
paragrafe 6.4.3.4 "Konvejernaya adresaciya" pokazana bolee podrobnaya
diagramma sostoyaniya shiny, vklyuchayushchaya cikly v rezhime konvejernoj
adresacii.
SOSTOYANIYA SHINY2:
Tt pervoe sostoyanie nekonvejernogo cikla shiny (80386 vydaet
novyj adres i ustanavlivaet aktivnyj uroven' ADS#);
T2 t posleduyushchie sostoyaniya cikla shiny, kogda pri prosmotre
signala NA# v tekushchem cikle shiny on okazyvaetsya v neaktivnom
sostoyanii;
Ti ? nerabochee sostoyanie;
Th t sostoyanie podtverzhdeniya zahvata shiny (80386
ustanavlivaet aktivnyj uroven' HLDA).
CHetyre osnovnye sostoyaniya shiny opisyvayut funkcionirovanie
shiny, kogda ne ispol'zuetsya konvejernaya adresaciya. |ti sostoyaniya
rasprostranyayutsya na oba razmera shiny: 32 bit i 16 bit, t.e.
spravedlivy dlya lyubogo znacheniya BS16#. Esli pri aktivnom urovne
signala BS16# trebuetsya vypolnenie vtorogo 16-razryadnogo cikla,
poslednij vypolnyaetsya pered formirovaniem processorom signala
podtverzhdeniya zahvata shiny.
6.4.3.3Rezhim nekonvejernoj adresacii pri izmenenii razmera
shiny dannyh
SHirina fizicheskoj magistrali dannyh dlya lyubogo nekonvejernogo
cikla shiny mozhet sostavlyat' ili 32 razryada, ili 16 razryadov. V
nachale cikla shiny processor vedet sebya tak, kak esli by shirina
shiny dannyh sostavlyala 32 bita. Kogda cikl shiny podtverzhdaetsya
ustanovkoj aktivnogo urovnya signala READY# v konce sostoyaniya T2,
to analiziruemyj v etot moment uroven' signala BS16# okazhetsya v
neaktivnom sostoyanii, to razmer fizicheskoj shiny dannyh prinimaetsya
ravnym 32 razryadam. Esli zhe nablyudaetsya aktivnyj uroven' BS16#, to
razmer shiny prinimaetsya ravnym 16 razryadam.
Kogda ustanovlen aktivnyj uroven' BS16#, i dlya vypolneniya
odnoj peredachi trebuetsya dva 16-razryadnyh cikla, to aktivnyj
uroven' signala BS16# dolzhen byt' ustanovlen i vo vtorom cikle.
Inache 16-razryadnyj razmer shiny ne budet sohranen vo vtorom cikle.
Takzhe, kak i lyuboj drugoj cikl shiny, vtoroj 16-razryadnyj cikl
dolzhen byt' podtverzhden ustanovkoj aktivnogo urovnya READY#.
Kogda trebuetsya vtoroj 16-razryadnyj cikl dlya vypolneniya odnoj
peredachi po 16-razryadnoj shine, to adresa, formiruemye dlya dvuh 16-
razryadnyh ciklov shiny, tesno vzaimosvyazany. |ti adresa identichny
za isklyucheniem razryadov BE0# i BE1#, kotorye vsegda pereklyuchayutsya
v neaktivnoe sostoyanie (vysokij uroven') vo vtorom cikle, tak kak
signaly dannyh D0-D15 byli uzhe peredany v pervom 16-bitnom cikle.
Na ris.6-14 i 6-15 pokazany peredachi, pri kotoryh ustanovka
aktivnogo urovnya BS16# trebuet vtorogo 16-bitnogo cikla dlya
vypolneniya peredachi vsego operanda. Ris.6-14 illyustriruet cikly
bez sostoyanij ozhidaniya. Ris.6-15 illyustriruet cikly s odnim
sostoyaniem ozhidaniya. Otmetim, chto v cikle 1 na ris.6-15, v techenie
kotorogo ustanavlivaetsya aktivnyj uroven' signala BS16#, signal
NA# dolzhen byt' obyazatel'no pereklyuchen v neaktivnyj uroven' v
sostoyanii(yah) T2, predshestvuyushchem(ih) poslednemu sostoyaniyu T2. |to
neobhodimo dlya togo, chtoby v final'nom sostoyanii T2 processor
vosprinyal ustanovlennyj aktivnyj uroven' BS16# v rezhime
nekonvejernoj adresacii.
6.4.3.4Konvejernaya adresaciya
V rezhime konvejernoj adresacii adres i tip cikla dlya
sleduyushchego cikla shiny, kotoryj budet obsluzhivat' zhdushchij obrabotki,
vnutrennij zapros processora, zaprashivayutsya eshche do togo, kak budet
polucheno podtverzhdenie tekushchego cikla po linii READY#. Kogda
sleduyushchij adres podgotovlen i vydan, 80386 ustanavlivaet aktivnyj
uroven' signala ADS#. Protokol rezhima konvejernoj adresacii
stroitsya na osnove sovmeshcheniya ciklov i s pomoshch'yu vhodnogo signala
NA#. Kogda vypolnyaetsya cikl shiny i tekushchij adres dolzhen imet'
dostovernoe znachenie v techenie po men'shej mere odnogo polnogo
sostoyaniya shiny, znachenie vhodnogo signala NA# analiziruetsya v
konce kazhdoj pervoj fazy sostoyaniya do teh por, poka cikl shiny ne
poluchit podtverzhdenie. V techenie nekonvejernyh ciklov shiny,
sledovatel'no, NA# analiziruetsya v konce pervoj fazy v kazhdom
sostoyanii T2. Primerom mozhet sluzhit' Cikl 2 na ris.6-16, v techenie
kotorogo NA# analiziruetsya v konce pervoj fazy kazhdogo T2 (NA# byl
ustanovlen v aktivnyj uroven' odin raz v techenie pervogo sostoyaniya
T2 i ne okazyvaet dal'nejshego vozdejstviya na vypolnenie etogo
cikla shiny).
Esli processor pri prosmotre NA# obnaruzhit aktivnyj uroven'
etogo signala, to 80386 osvobozhdaetsya, chtoby vydat' adres i tip
cikla sleduyushchego cikla, i ustanovit' aktivnyj uroven' signala
ADS#, kak tol'ko v processore poyavitsya ozhidayushchij obsluzhivaniya
vnutrennij zapros shiny. Processor mozhet vydat' sleduyushchij adres uzhe
v sleduyushchem sostoyanii shiny, nezavisimo ot togo poluchil li v etot
moment podtverzhdenie tekushchij cikl ili ne poluchil.
CHto kasaetsya rezhima konvejernoj adresacii, to v etom rezhime
80386 imeet sleduyushchie osobennosti:
1. Dlya togo, chtoby processor vosprinyal aktivnyj uroven'
signala NA#, signal BS16# dolzhen byt' pereklyuchen v neaktivnyj
uroven' na vremya prosmotra signala NA# (sm. ris.6-16 Cikly 3 i 4;
ris.6-17 Cikly 2-4); V tom sluchae, esli signaly NA# i BS16#
okazhutsya oba aktivnymi v techenie poslednego perioda T2 cikla shiny,
prioritetom budet obladat' aktivnyj signal BS16#. Sledovatel'no,
esli oba signala aktivny, to tekushchij razmer shiny prinimaetsya
ravnym 16 razryadam, a sleduyushchij adres budet nekonvejernym.
Shematichno ris.6-18 pokazyvaet vnutrennyuyu logiku 80386,
obespechivayushchuyu eti osobennosti.
2. Sleduyushchij adres mozhet poyavit'sya v sostoyanii shiny, sleduyushchem
srazu posle momenta obnaruzheniya aktivnogo urovnya NA# (sm. ris.6-16
ili 6-17); V etom sluchae srazu shina perejdet v sostoyanie T2p.
Odnako, esli v etot moment otsutstvuet ozhidayushchij obsluzhivaniya
vnutrennij zapros shiny, to sleduyushchij adres ne budet ustanovlen
srazu posle aktivizacii NA#, i vmesto sostoyaniya T2p shina perejdet
v sostoyanie T2i (sm. ris.6-19 Cikl 3). Pri uslovii, chto tekushchij
cikl shiny eshche ne poluchil podtverzhdenie po linii READY#, shina
perejdet v sostoyanie T2p kak tol'ko 80386 vydaet sleduyushchij adres.
Vneshnie ustrojstva, poetomu, dolzhny sledit' za sostoyaniem
vyhodnogo signala ADS#, podtverzhdayushchim vydachu na shinu dostovernogo
sleduyushchego adresa.
3. V tom sluchae, kogda 80386 pri prosmotre obnaruzhit aktivnyj
uroven' NA#, 80386 sam prinimaet reshenie na obsluzhivanie samogo
prioritetnogo vnutrennego zaprosa shiny, ozhidayushchego obsluzhivaniya.
Processor ne smozhet bol'she vypolnit' druguyu 16-razryadnuyu peredachu
po tomu zhe adresu, dazhe esli BS16# budet ustanovlen v aktivnyj
uroven' vneshnim ustrojstvom, tak kak posle vospriyatiya processorom
aktivnogo signala NA# tekushchij razmer shiny prinimaetsya ravnym 32-m
razryadam; Sledovatel'no, esli processor opoznal aktivnyj signal
NA# v techenie cikla shiny, to posle etogo signal BS16# ignoriruetsya
v etom cikle shiny (sm. ris.6-16, 6-17, 6-19). Takim obrazom,
nel'zya aktivizirovat' signal NA# v teh ciklah shiny, v kotoryh 16-
razryadnyj razmer shiny dolzhen byt' zadan ustanovkoj aktivnogo
urovnya signala BS16#. Sm. 6.4.3.6 "Izmenenie razmera shiny v rezhime
konvejernoj adresacii".
4. Lyuboj adres, dostovernoe znachenie kotorogo podtverzhdeno
vyhodnym impul'snym signalom 80386 ADS#, budet sohranyat'sya na
adresnyh vyvodah v techenie po men'shej mere dvuh periodov taktovoj
chastoty processora. 80386 ne mozhet vydavat' novyj adres chashche, chem
* &$k% dva perioda taktovoj chastoty processora (sm. ris.6-16, 6-
17, 6-19);
5. Iz vseh signalov, neobhodimyh dlya sleduyushchego cikla shiny,
processor vydaet tol'ko adres i tip cikla shiny; Uroven' sovmeshcheniya
v rezhime konvejernoj adresacii ne bolee, chem odin cikl shiny (sm.
ris.6-19 Cikl 1). Polnaya diagramma perehodov sostoyanij shiny,
vklyuchaya funkcionirovanie v rezhime konvejernoj adresacii, dana na
ris.6-20. Otmetim, chto eta diagramma vklyuchaet diagrammu,
spravedlivuyu tol'ko dlya rezhima nekonvejernoj adresacii, i
dopolnitel'nye tri sostoyaniya shiny dlya rezhima konvejernoj
adresacii.
"1"
+----+
? |
+--------+ "2"
----------------+ Th |<--------------------------+
| +---------?| | "2" |
|"4" |"1" +--------+?-------------+ |
"5" | +--+ "6" "3"| | |
------+ | |+-----------------|--------------+ | |
? ? || ? | | |
+-----+| +-------+ | +-------+ |
--->| Ti +- "3" | T1 | VSEGDA L>| T2 +----+ |
| | +------------?| +------------?| |?-+ | |
+---+-----+ +-------+?------------+-------+ | | |
"4" - - "8" | - | | | |
| "8" | "12" | +--+ | | |
|"6 +--------------+ +--------------+ "9" | | |
| | ? "7"| | |
"15"+------+ | +--------+ +------+ | | |
--->| T2i +-- "16" | T2R | "14" | T1R | | | |
| | +------------?| +------------?| +-+ | |
+---+------+ +--------+?------------+------+ | |
| - - - | "13" | | |
| | | +---+ | | |
| | | "11" "17" | "10"| |
| | +----------------------------------------+ | |
| +---------------------------------------------------+ |
+-------------------------------------------------------+
"01"tHOLD aktivizirovan
"02"tREADY# aktivizirovan * HOLD aktivizirovan
"03"tHOLD neaktivizirovan * est' vnutrennij zapros, ozhidayushchij
obsluzhivanie
"04"tHOLD neaktivizirovan * net vnutrennego zaprosa
"05"tRESET aktivizirovan
"06"tREADY# aktivizirovan * HOLD neaktivizirovan * net
vnutrennego zaprosa
"07"tNA# neaktivizirovan
"08"tREADY# aktivizirovan * HOLD neaktivizirovan * est'
vnutrennij zapros, ozhidayushchij obsluzhivanie
"09"tREADY# neaktivizirovan * NA# neaktivizirovan
"10"t (net vnutrennego zaprosa * HOLD aktivizirovan) * NA#
aktivizirovan * READY# neaktivizirovan
"11"tNA# aktivizirovan * (HOLD aktivizirovan * net vnutrennego
zaprosa)
"12"tREADY# neaktivizirovan * NA# aktivizirovan * HOLD
neaktivizirovan * est' vnutrennij zapros, ozhidayushchij obsluzhivanie
"13"tNA# aktivizirovan * HOLD neaktivizirovan * est' vnutrennij
' /`.a, ozhidayushchij obsluzhivanie
"14"tREADY# aktivizirovan
"15"tREADY# neaktivizirovan * (net vnutrennego zaprosa * HOLD
aktivizirovan)
"16"tREADY# neaktivizirovan * est' zapros, ozhidayushchij
obsluzhivanie * HOLD neaktivizirovan
"17"tREADY# neaktivizirovan
SOSTOYANIYA SHINY :
T1?pervoe sostoyanie nekonvejernogo cikla shiny (80386 vydaet
novyj adres i ustanavlivaet aktivnyj uroven' ADS#).
T2?posleduyushchie sostoyaniya cikla shiny, kogda pri prosmotre
signala NA# v tekushchem cikle shiny on okazyvaetsya v neaktivnom
sostoyanii.
T2itposleduyushchie sostoyaniya cikla shiny, imeyushchie mesto kogda
obnaruzhen aktivnyj uroven' NA# v tekushchem cikle shiny, no eshche
otsutstvuet vnutrennij zapros shiny, ozhidayushchij obsluzhivanie (80386
ne vydast novyj adres ili ne ustanovit aktivnyj uroven' ADS#).
T2R?posleduyushchie sostoyaniya cikla shiny, imeyushchie mesto kogda v
tekushchem cikle shiny obnaruzhen aktivnyj uroven' NA#, i imeetsya
vnutrennij, ozhidayushchij obsluzhivanie, zapros shiny (80386 vydast
novyj adres i aktiviziruet signal ADS#). T1R-pervoe sostoyanie
konvejernogo cikla shiny.
Titnerabochee sostoyanie.
Thtsostoyanie podtverzhdeniya zahvata shiny (80386 ustanavlivaet
aktivnyj uroven' HLDA). Ustanovka aktivnogo urovnya NA# dlya
konvejernoj adresacii mozhet povlech' za soboj odno iz treh tipov
sostoyanij shiny: T2i,T2R i T1R. V rezhime konvejernoj adresacii
samyj korotkij cikl shiny
sostoit iz sostoyanij T1R i T2R.
Ris.6-20. Diagramma vseh vozmozhnyh sostoyanij shiny (vklyuchaya rezhim
konvejernoj adresacii)
Samyj korotkij cikl shiny v rezhime konvejernoj adresacii
sostoit tol'ko iz dvuh sostoyanij shiny, T1p i T2p (napomnim, chto
dlya rezhima nekonvejernoj adresacii takimi sostoyaniyami yavlyayutsya
sostoyaniya T1 i T2). T1p yavlyaetsya pervym sostoyaniem shiny
konvejernogo cikla.
6.4.3.5Inicializaciya i podderzhanie rezhima konvejernoj
adresacii
Pol'zuyas' diagrammoj sostoyanij na ris.6-20, prosledim perehody
shiny iz nerabochego sostoyaniya Ti, v nachalo konvejernogo cikla shiny
T1p. Cikl shiny, pervyj posle nerabochego sostoyaniya shiny Ti, dolzhen
nachinat'sya s sostoyaniya T1, sledovatel'no etot cikl budet
nekonvejernym. Odnako, esli budet ustanovlen aktivnyj uroven' NA#,
i pervyj cikl shiny zakonchitsya v sostoyanii T2p, to sleduyushchij cikl
shiny budet konvejernym (adres dlya sleduyushchego cikla shiny vydaetsya v
sostoyanii T2p pervogo cikla). Kratchajshij put' ot nerabochego
sostoyaniya k ciklu shiny s konvejernoj adresaciej pokazan nizhe:
NERABOCHEE SOSTOYANIE NEKONVEJERNYJ CIKL KONVEJERNYJ CIKL
Ti,Ti,Ti T1-T2-T2p T1p-T2p
T1-T2-T2p - sostoyanie cikla shiny, v techenie kotorogo
ustanavlivaetsya adres (konvejernyj) dlya sleduyushchego cikla shiny,
nachinayushchegosya s sostoyaniya T1p. Perehod k konvejernomu ciklu iz
sostoyaniya podtverzhdeniya zahvata shiny osushchestvlyaetsya analogichno i
pokazan nizhe:
SOSTOYANIE PODTVERZHDENIYA NEKONVEJERNYJ KONVEJERNYJ CIKL
ZAHVATA CIKL
Th, Th, Th T1-T2-T2p T1p*T2p
Perehod k konvejernoj adresacii pokazan na ris.6-17 Cikl
1. Cikl 1 ispol'zuetsya dlya perehoda v rezhim konvejernoj
adresacii dlya vypolneniya posledovatel'nosti konvejernyh ciklov 2,
3 i 4. V sootvetstvuyushchij moment ustanavlivaetsya aktivnyj uroven'
NA# dlya togo, chtoby vybrat' konvejernyj adres dlya ciklov 2, 3 i 4.
Kogda vypolnyaetsya cikl shiny, i dostovernoe znachenie tekushchego
adresa uderzhivaetsya v techenie odnogo sostoyaniya shiny, sostoyanie
vhoda NA# analiziruetsya v konce kazhdoj pervoj fazy do teh por,
poka etot cikl ne poluchit podtverzhdenie. Sledovatel'no, v Cikle 1
na ris.6-17 processor nachinaet analiz NA# v sostoyanii T2. Kak
tol'ko v tekushchem cikle NA# okazyvaetsya ustanovlennym v aktivnyj
uroven', 80386 osvobozhdaetsya, chtoby vydat' na shinu novyj adres i
tip cikla do nachala sleduyushchego sostoyaniya shiny. Naprimer, v Cikle 1
obespechivaet perehod v rezhim konvejernoj adresacii, tak kak on
nachinaetsya s sostoyaniya T1, no zakanchivaetsya sostoyaniem T2p.
Poskol'ku adres dlya Cikla 2 ustanavlivaetsya eshche do nachala Cikla 2,
poslednij nazyvaetsya konvejernym ciklom shiny i nachinaetsya s
sostoyaniya T1p. Cikl 2 nachnetsya, kak tol'ko aktivnyj signal READY#
zavershit Cikl 1. Primerami perehodnyh ciklov shiny yavlyayutsya Cikl 1
na ris.6-17 i Cikl 2 na ris.6-16. Na ris.6-17 pokazan perehod v
techenie cikla shiny, pervogo posle nerabochego sostoyaniya shiny, eto
samyj kratchajshij iz vozmozhnyh perehodov v rezhim konvejernoj
adresacii. Cikl 2 na ris.6-16 illyustriruet perehodnoj cikl shiny,
imeyushchij mesto vnutri posledovatel'nosti rabochih ciklov shiny. V
lyubom sluchae perehodnye cikly osushchestvlyayutsya analogichno nezavisimo
ot momenta ih poyavleniya: perehodnoj cikl sostoit po men'shej mere
iz sostoyanij T1, T2 (v etot moment vy ustanavlivaete aktivnyj
signal NA#), T2p (pri uslovii, chto 80386 uzhe imeet ozhidayushchij
obsluzhivaniya vnutrennij zapros shiny, eto uslovie vypolnyaetsya pochti
vsegda). Sostoyaniya T2p povtoryayutsya, esli cikl dopolnyaetsya
sostoyaniyami ozhidaniya.
Otmetim tri sostoyaniya (T1, T2 i T2p), kombinaciya kotoryh
trebuetsya tol'ko v cikle shiny, vypolnyayushchem perehod iz rezhima
nekonvejernoj adresacii v rezhim konvejernoj adresacii, naprimer,
Cikl 1 na ris.6-17. Cikly 2, 3 i 4 na ris.6-17 pokazyvayut, chto v
rezhime konvejernoj adresacii mogut vypolnyat'sya cikly shiny iz dvuh
sostoyanij kazhdyj, vklyuchayushchie tol'ko sostoyaniya T1p i T2p.
Kogda vypolnyaetsya konvejernyj cikl shiny, rezhim konvejernoj
adresacii podderzhivaetsya putem ustanovki aktivnogo signala NA# i
opredeleniem togo, chto 80386 ustanavlivaet sostoyanie T2p shiny v
tekushchem cikle shiny. Tekushchij cikl shiny dolzhen zakanchivat'sya
sostoyaniem T2p dlya togo, chtoby rezhim konvejernoj adresacii byl
sohranen i v sleduyushchem cikle. Sostoyanie T2p identificiruetsya
ustanovkoj aktivnogo signala ADS#. Na ris.6-16 i 6-17 rezhim
konvejernoj adresacii zakanchivaetsya posle Cikla 4, tak kak
poslednim sostoyaniem Cikla 4 yavlyaetsya sostoyanie T2i. |to oznachaet,
chto 80386 ne imel vnutrennego zaprosa shiny pered polucheniem
podtverzhdeniya Cikla 4. Esli cikl zakanchivaetsya sostoyaniem T2 ili
T2i, to sleduyushchij cikl budet nekonvejernym. V dejstvitel'nosti,
konvejernyj adres pochti vsegda ustanavlivaetsya srazu posle
obnaruzheniya aktivnogo urovnya NA#. |to proishodit potomu, chto pri
otsutstvii lyubogo drugogo zaprosa vnutrennij zapros
predvaritel'noj vyborki komandy pochti vsegda ozhidaet obsluzhivaniya
do teh por, poka zanyat deshifrator komand i polnost'yu zapolnena
ochered' predvaritel'no vybrannyh komand. Sledovatel'no,
konvejernyj adres ustanavlivaetsya dlya dlinnyh cepochek ciklov shiny,
esli shina dostupna, i v kazhdom cikle shiny okazyvaetsya
cab -."+%--k, aktivnyj uroven' signala
NA#.
6.4.3.6Konvejernaya adresaciya pri izmenenii razmera shiny dannyh
Nalichie signala BS16# obespechivaet prostoe soedinenie s 16-
razryadnymi shinami dannyh. Kogda ustanovlen aktivnyj uroven' BS16#,
shema shinnogo interfejsa 80386 vypolnyaet sootvetstvuyushchie
pereklyucheniya, chtoby osushchestvit' peredachu, ispol'zuya 16-razryadnuyu
shinu dannyh, soedinennuyu s liniyami D0-D16. Odnako, pri
odnovremennom ispol'zovanii signalov NA# i BS16# imeet mesto
nekotoroe vzaimnoe vliyanie etih signalov drug na druga. |to
vzaimnoe vliyanie proyavlyaetsya togda, kogda trebuyutsya mnogokratnye
cikly shiny dlya peredachi 32-razryadnyh operandov po 16-razryadnoj
shine. Esli operandu trebuyutsya obe 16-razryadnye poloviny 32-
razryadnoj shiny, to v sootvetstvii s etim trebovaniem 80386 dolzhen
vypolnit' vtoroj cikl shiny dlya togo, chtoby polnost'yu peredat' ves'
operand. Imenno eto trebovanie privodit k konfliktnoj situacii pri
ispol'zovanii signala NA#.
Kogda NA# okazyvaetsya ustanovlennym v aktivnyj uroven', 80386
daet sebe razreshenie na obrabotku sleduyushchego vnutrennego,
ozhidayushchego obsluzhivaniya zaprosa shiny i vydaet na shinu sleduyushchij
podgotovlennyj vnutri adres. Sledovatel'no, aktivizaciya NA# delaet
nevozmozhnym povtornuyu vyborku v sleduyushchem cikle shiny tekushchego
adresa po liniyam A2-A31, kak eto mozhet potrebovat'sya, kogda signal
BS16# aktivizirovan vneshnim ustrojstvom.
Dlya razresheniya etogo konflikta shema 80386 razrabotana takim
obrazom, chtoby udovletvoryat' sleduyushchim dvum usloviyam:
1. Dlya razresheniya konflikta 80386 razrabotan takim obrazom,
chtoby ignorirovat' signal BS16# v tekushchem cikle shiny, esli NA# uzhe
okazalsya ustanovlennym v tekushchem cikle. Esli NA# okazalsya
ustanovlennym, to tekushchij razmer shiny dannyh prinimaetsya ravnym 32
razryadam.
2. Takzhe dlya razresheniya konflikta v tom sluchae, esli i NA# i
BS16# okazalis' ustanovlennymi v odin i tot zhe moment vremeni,
aktivnyj BS16# obladaet bolee vysokimi po sravneniyu s aktivnym NA#
prioritetom, i 80386 funkcioniruetsya tak, kak esli by v etot
moment signal NA# okazalsya neaktivnym. Vnutrennyaya shema 80386,
shematichno pokazannaya na ris.6-18 rabotaet takim obrazom, chtoby
signal BS16# vosprinimalsya aktivnym i signal NA# vosprinimalsya
neaktivnym, esli oba vhodnyh signala aktivizirovany vneshnimi
ustrojstvami v odin i tot zhe moment prosmotra etih signalov.
6.4.4 Cikly podtverzhdeniya preryvaniya(INTA)
V otvet na zapros preryvaniya, postupivshij na vhod INTR, kogda
preryvaniya razresheny, 80386 vypolnit dva cikla podtverzhdeniya
preryvaniya. |ti cikly shiny analogichny ciklam chteniya, v kotoryh
imeyushchij mesto vid deyatel'nosti shiny sootvetstvuet signalam
opredeleniya tipa cikla shiny, i kazhdyj cikl prodolzhaetsya do teh
por, poka processor ne poluchit podtverzhdenie, nablyudaya za signalom
READY#.
V zavisimosti ot znacheniya adresnogo razryada A2 razlichayutsya
pervyj i vtoroj cikly podtverzhdeniya preryvaniya. Adres bajta,
vydavaemyj v pervom cikle podtverzhdeniya preryvaniya, raven 4 (A31-
A3 nizkie, A2 vysokij, VE3#-VE1# vysokie i VE0# nizkij). Adres,
vydavaemyj vo vtorom cikle podtverzhdeniya preryvaniya, raven 0 (A31-
A2 nizkie, VE3#-VE1# vysokie, VE0# nizkij).
Aktivnyj uroven' signala LOCK# ustanavlivaetsya s nachala
pervogo cikla podtverzhdeniya preryvaniya i do konca vtorogo cikla
podtverzhdeniya preryvaniya. CHetyre nerabochih sostoyaniya shiny, Ti,
vstavlyayutsya processorom mezhdu dvumya ciklami podtverzhdeniya
/`%`k" -(o, chtoby obespechit' vremya blokirovannogo nerabochego
sostoyaniya shiny ("mertvoe" vremya) po men'shej mere dlitel'nost'yu 160
ns., chto pozvolit v budushchem vvesti modifikacii skorosti 80386,
dostigayushchie 24 MGc (pri etom vneshnyaya chastota CLK2 dolzhna dostigat'
48 MGc), chto v svoyu ochered' obespechit sovmestimost' s vremennym
parametrom TRHRL kontrollera preryvanij 8259A.
V techenie oboih ciklov podtverzhdeniya preryvaniya linii D0-D31
otklyucheny. V konce pervogo cikla podtverzhdeniya preryvaniya dannyh
dlya chteniya ne imeetsya. V konce vtorogo cikla podtverzhdeniya
preryvaniya 80386 schitaet vneshnij vektor preryvaniya po liniyam D0-D7
shiny dannyh. Vektor ukazyvaet opredelennyj nomer preryvaniya (ot 0
do 255), trebuyushchego obsluzhivaniya.
6.4.5 Cikl indikacii ostanova
80386 ostanavlivaetsya v rezul'tate vypolneniya instrukcii HALT.
Dlya signalizirovaniya vhoda processora v sostoyanie ostanova
vypolnyaetsya cikl indikacii ostanova. Cikl indikacii ostanova
identificiruetsya opredelennoj kombinaciej signalov tipa cikla
shiny, ukazannoj v razdele 6.2.5 Signaly opredeleniya tipa cikla
shiny, i adresom bajta, ravnym 2. VE0# i VE2# pri etom sluzhat
tol'ko dlya razlicheniya cikla indikacii ostanova ot cikla indikacii
vyklyucheniya, v kotorom vydaetsya adres, ravnyj 0. V techenie cikla
ostanova dannye, peredavaemye po D0-D31, neopredelenny.
Ostanovlennyj 80386 vozobnovlyaet funkcionirovanie, kogda
ustanavlivaetsya aktivnyj uroven' signala INTR (esli preryvaniya
razresheny), ili signala NMI, ili signala RESET.
6.4.6 Cikl indikacii vyklyucheniya
80386 vyklyuchaetsya v rezul'tate poyavleniya oshibki zashchity pamyati
pri popytke obrabotat' dvojnuyu oshibku. Dlya signalizirovaniya
perehoda processora v vyklyuchennoe sostoyanie vypolnyaetsya cikl
indikacii vyklyucheniya. Cikl indikacii vyklyucheniya identificiruetsya
opredelennoj kombinaciej signalov opredeleniya tipa cikla shiny,
ukazannoj v razdele 6.2.5 Signaly opredeleniya tipa cikla shiny, i
adresom bajta, ravnym 0. Signaly VE0# i VE2# pri etom sluzhat
tol'ko dlya otlichiya cikla indikacii vyklyucheniya ot cikla indikacii
ostanova, v kotorom vydaetsya adres, ravnyj 2. V techenie cikla
vyklyucheniya dannye, vydavaemye na linii D0-D31, neopredelenny. Cikl
indikacii vyklyucheniya dolzhen byt' podtverzhden ustanovkoj aktivnogo
urovnya signala READY#.
Vyklyuchennyj 80386 vozobnovlyaet funkcionirovanie, kogda
ustanavlivaetsya aktivnyj uroven' signala NMI ili RESET.
6.5Dopolnitel'nye svedeniya o funkcionirovanii
6.6.1 Vhod i vyhod v/iz sostoyaniya podtverzhdeniya zahvata shiny
Sostoyanie podtverzhdeniya zahvata shiny, Th, vvoditsya v otvet na
ustanovku aktivnogo urovnya vhodnogo signala HOLD. V sostoyanii
podtverzhdeniya zahvata shiny 80386 vyklyuchaet vse vyhodnye ili
dvunapravlennye signaly, isklyuchaya signal HLDA. Aktivnyj uroven'
signala HLDA podderzhivaetsya vse vremya, poka 80386 nahoditsya v
sostoyanii podtverzhdeniya zahvata shiny. V sostoyanii podtverzhdeniya
zahvata shiny vse vhody, za isklyucheniem HOLD i RESET, ignoriruyutsya
(isklyuchenie sostavlyaet takzhe odin polozhitel'nyj front signala NMI,
kotoryj zapominaetsya dlya posleduyushchej ego obrabotki, kogda signal
HOLD perejdet v neaktivnoe sostoyanie).
Sostoyanie Th mozhet byt' vvedeno posle nerabochego sostoyaniya
shiny, kak na ris.6-25, ili posle podtverzhdeniya tekushchego
fizicheskogo cikla shiny, esli pri etom uroven' signala LOCK#
neaktivnyj, kak na ris.6-26 i 5-27. Esli ustanovka aktivnogo
a(#- + VS16# trebuet vypolneniya vtorogo 16-razryadnogo cikla shiny
dlya zaversheniya peredachi fizicheskogo operanda, to etot cikl
vypolnyaetsya do podtverzhdeniya signala HOLD, hotya diagrammy
sostoyanij na ris.6-13 i 5-20 ne otrazhayut etoj osobennosti. Vyhod
iz sostoyaniya Th osushchestvlyaetsya v otvet na snyatie aktivnogo urovnya
vhodnogo signala HOLD. Sleduyushchim sostoyaniem budet sostoyanie Ti,
kak na ris.6-25, esli ne imeetsya ozhidayushchego obsluzhivaniya
vnutrennego zaprosa shiny. Esli zhe imeetsya vnutrennij, ozhidayushchij
resheniya zapros shiny, to sleduyushchim sostoyaniem shiny budet sostoyanie
T1, kak pokazano na ris.6-26 i
6-27.
Vyhod iz sostoyaniya Th osushchestvlyaetsya takzhe v otvet na
ustanovku aktivnogo urovnya signala RESET. Esli v techenie sostoyaniya
Th poyavitsya polozhitel'nyj front na chuvstvitel'nom k frontu vhode
NMI, to eto sobytie zapominaetsya kak nemaskiruemoe preryvanie 2 i
obsluzhivaetsya posle vyhoda processora iz sostoyaniya Th krome
sluchaya, kogda do vyhoda iz Th proizojdet sbros 80386.
6.6.2 Sbros v sostoyanii podtverzhdeniya zahvata shiny
Aktivnyj signal RESET obladaet bolee vysokim prioritetom po
sravneniyu s aktivnym signalom HOLD. Sledovatel'no, v otvet na
ustanovku aktivnogo urovnya na vhode RESET osushchestvlyaetsya vyhod iz
sostoyaniya Th. Esli signal RESET aktiviziruetsya vo vremya dejstviya
signala HOLD, to 80386 ustanovit svoi vyvody v opredelennye
sostoyaniya v sootvetstvii s tabl.6-3 "Sostoyaniya vyvodov v techenie
dejstviya signala RESET" i vypolnit obychnuyu proceduru vnutrennego
sbrosa.
Esli aktivnyj uroven' signala HOLD ostaetsya ustanovlennym i
posle snyatiya aktivnogo signala RESET, to 80386 perejdet v
sostoyanie podtverzhdeniya zahvata shiny do togo, kak vypolnit svoj
pervyj cikl shiny, no pri uslovii, chto HOLD vse eshche ostaetsya
aktivnym v moment, kogda 80386 v drugom sluchae pristupil by k
vypolneniyu svoego pervogo cikla shiny. Esli HOLD ostaetsya aktivnym
posle snyatiya signala RESET, to vhod BUSY# vse ravno analiziruetsya
kak obychno, chtoby opredelit' trebuetsya li samotestirovanie, signal
ERROR# takzhe pri etom analiziruetsya kak obychno, chtoby opredelit',
kakoj iz dvuh vozmozhnyh soprocessorov prisutstvuet v sisteme (ili
kogda soprocessora voobshche net).
6.6.3 Funkcionirovanie shiny v techenie i posle dejstviya
signala RESET
RESET yavlyaetsya samym prioritetnym vhodnym signalom, pri
ustanovke aktivnogo urovnya RESET preryvaetsya lyubaya deyatel'nost'
processora. Vypolnyaemyj cikl shiny mozhet byt' prervannym na lyuboj
stadii, a nerabochie sostoyaniya ili sostoyaniya podtverzhdeniya zahvata
shiny prekrashchayutsya pri ustanovke sostoyaniya sbrosa.
RESET dolzhen podderzhivat'sya v aktivnom sostoyanii v techenie po
men'shej mere 15 periodov chastoty CLK2, chtoby on byl uverenno
prinyat vsemi shemami 80386, i po men'shej mere v techenie 78
periodov CLK2, esli vypolnyaetsya samotestirovanie 80386, zapros na
kotoroe analiziruetsya vo vremya otricatel'nogo fronta RESET.
Aktivnye impul'sy RESET dlitel'nost'yu men'she 15 periodov CLK2
mogut byt' ne vosprinyaty.
Aktivnye impul'sy RESET dlitel'nost'yu men'she 78 periodov CLK2,
za kotorymi sleduet samotestirovanie, mogut privesti k tomu, chto
test-struktura vydast soobshchenie o neispravnosti, kogda v
dejstvitel'nosti neispravnosti ne sushchestvuet. Dopolnitel'noe
rasshirenie impul'sa RESET neobhodimo dlya polucheniya dostovernyh
rezul'tatov samodiagnostirovaniya.
Pri uslovii, chto otricatel'nyj front RESET otvechaet
b`%!." -(o,, pred座avlyaemym k vremeni ustanovki t25 i vremeni
uderzhaniya t26, etot front opredelit fazu vnutrennej taktovoj
chastoty processora, kak pokazano na ris.6-28 i ris.7-7.
Samodiagnostirovanie 80386 mozhno zapustit', esli podderzhivat'
signal BUSY# na nizkom urovne v moment snyatiya signala RESET, kak
pokazano na ris.6-28. Dlya vypolneniya vsej procedury
samodiagnostirovaniya trebuetsya [(2^20)+ priblizitel'no 60]
periodov CLK2. Rezul'taty testirovaniya ne vliyayut na
prodolzhitel'nost' samodiagnostirovaniya.
Dazhe esli posle testirovaniya test-struktura ukazyvaet na
nalichie neispravnosti, 80386 vse ravno perejdet k vypolneniyu
procedury, kotoraya dolzhna byla sledovat' za sbrosom 80386.
Posle otricatel'nogo fronta RESET (i posle samotestirovaniya,
esli v nem byla neobhodimost') 80386 vypolnit posledovatel'nost'
vnutrennej inicializacii za vremya, priblizitel'no ravnoe 350-450
periodam CLK2. Vo vremya inicializacii, mezhdu dvadcatym periodom
CLK2 i pervym ciklom shiny (kotoryj posleduet za inicializaciej),
80386 analiziruet sostoyanie vhoda ERROR#, chtoby otlichit' sluchaj
prisutstviya v sisteme soprocessora 80387 ot sluchaya, kogda
prisutstvuet 80287 ili v sisteme voobshche net soproprocessora.
Razlichie mezhdu poslednimi dvumya sluchayami (v sisteme prisutstvuet
80287 ili v sisteme net soprocessora) zadaetsya programmno. 6.6
Signatura samotestirovaniya
Po zaversheniyu samotestirovaniya (esli samotestirovanie bylo
zaprosheno putem podderzhaniya nizkogo urovnya signala BUSY# vo vremya
otricatel'nogo fronta signala RESET), esli ne bylo obnaruzheno
neispravnostej 80386, to znachenie kazhdogo iz registrov AX i DX
budet ravno 0000H. |to spravedlivo dlya vseh modifikacij 80386.
Nenulevye znacheniya registrov AX ili DX posle samotestirovaniya
ukazyvaet na to, chto kakoj-to blok 80386 neispraven.
6.7Identifikatory tipa i modifikacii
CHtoby pomoch' pol'zovatelyam 80386, 80386 posle sbrosa
podderzhivaet identifikator tipa i identifikator modifikacii
sootvetstvenno v registrah BH i BL. BH soderzhit 03H dlya
identifikacii tipa 80386. BL soderzhit bezznakovoe dvoichnoe chislo,
sootvetstvuyushchee versii dannogo tipa processora. Hronologiya
izmeneniya identifikatora modifikacii (versii) 80386 v BL takova:
on nachinaetsya s nulya i izmenyaetsya (obychno uvelichivaetsya) pri
izmeneniyah dannogo tipa processora, prednaznachennyh dlya
usovershenstvovaniya dannogo tipa processora po sravneniyu s
predydushchimi versiyami. |ti osobennosti prednaznacheny dlya togo,
chtoby pomoch' pol'zovatelyam 80386 v ih prakticheskoj deyatel'nosti.
Odnako ne garantiruetsya, chto znachenie identifikatora versii budet
izmenyat'sya s kazhdym izmeneniem versii ili chto izmeneniya etogo
znacheniya v zavisimosti ot soderzhaniya ili celi versii ili v
zavisimosti ot materialov, trebuyushchih izmeneniya, budut sledovat'
strogo po nepreryvnoj chislovoj posledovatel'nosti. Firma Intel
postupaet s etimi harakteristikami dannogo tipa processora tol'ko
po svoemu usmotreniyu.
Tabl.6-10
ISTORIYA IDENTIFIKATOROV TIPA I VERSII
SODERZHAN IDENTIFIKA IDENTIFIKA SODERZHAN IDENTIFIKA IDENTIFIKA
IE TOR TIPA TOR VERSII IE TOR TOR VERSII
IZMENENI IZMENENI TIPA
YA 80386 YA
80386
_______________________________
1 8 ostal'nye polya deskriptorov opisyvayutsya v glave 3.
2 Samyj korotkij cikl shiny sostoit iz dvuh sostoyanij: T1 i T2.
Last-modified: Sun, 18 Feb 2001 13:22:52 GMT