Ocenite etot tekst:


---------------------------------------------------------------
    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
Ocenite etot tekst: