Viskas, kas už punktyro – magistralės interfeisas. Yra galimybė šį MP dalinai rekonfiguruoti – pervesti į vieną iš darbo rėžimų: minimalus ir maksimalus.
Min. rėžimas tai min architektūros kontrolerių ir MESM sudarymui. šiame rėžime naudojamas minimalus pagalbinių IS. Būtinai naudojama: taktinis geneeratorius, buferiniai registrai, magistralių formuotuvai. Min rėžime visus signalu, valdančius vidinį sisteminį interfeisą, formuoja pats MP.
Max rėžime MP naudojamas daugiaprocesorinių sistemų sudarymui, o magistralėa valdymo signalus formuoja ne MP, o sisteminis kontroleris(t.y. MP su CoProcesoriumi).
Blokų paskirtis.
Skiriamasisi MP bruožas yra tas, kad galima išskirti du, asinchroniškai dirvančius įtaisus: operacinis įtaisas ir magistralės interfeisas.
Operacinio įt. Paskirtis yra dekoduoti ir vykdyti komandas, o magistralės interfeisas užtikrina ryšį su periferiniais įtaisais. Abu šie įt. dirba lygiagrečiai. Kai operacinis įt vykdo komandą, tuo pačiu magistralės interfeisas inicijuoja sekančių komandų nuskaitymą iš atminties ir jų įrašymą į komandų eilutæ.
Operacinį įtaisą sudaro: registrų blokas, ALį, F-požymių registras.
Magistralės interfeisas:1 segmentinių registrų blokas, 2 komandų skaitiklis IP, 3 adresų sumatorius, 4 komandų eilė, 5 adresų/būsenos buferis, 6 adresų/duomenų buferis.
13. Komandų eilės veikimo principasMP 8086 struktūra
Komandų eilæ sudaro registrai, dirbantys FIFO principu. Komandos į komandų eilæ yra sustamos iš anksto. Kreipiantis nelyginiu adresu yra reikalingi du kreipiniai: jauniasniajam ir vyresniajam baitui. Jei kreipiamasi lyginiu adresu, užtenka vieno kreipinio. Kreipianti lyginiais adresais – taupomas laikas. Abiem atvėjais į konvejerį talpinamaos trys komandos: 1,2,3 baitų. Visas buferis pilnai užpildomas. Tai įmanoma tik tuo atvėju jei atmintis pradedamas užpildyti nuo lyginio adreso.
Darnus darbas sutrinka, kai pereinama prie perėjimo(besąlyginio) komandų JUMP, nes magistralės interfeisas nežino į kurį adresą persiųsta – lyginį ar ne – ir neaišku kokią komandą statyti į konvejerį.
Iš atminties komandą pasiima operacinis įtaisas, o konvejers pradedamas krauti iš naujo. Jei komanda reikalauja kreiptis į atmintį ar portus, operacinis įtaisas pareikalauja magistralės, kad ši atliktų magistralės ciklą. Kai magistralės interfeisas neužimtas šis pareikalavimas įvykdomas iš karto.
14. Pagrindinių signalų paskirtis
įėjimo signalas MN/MX. Nuojo priklauso MP darbo rėžimas(min,max).
signalų paskirtis min rėžime
AD0 – AD5 – tai yra multipleksinė dvikryptė adresų/duomenų magistralė. Pirmajame magistralės ciklo takte – kreipiamasi į atmintį ar išorinį įtaisą – MP pasiunčia į šią magistralæ jauniasniuosius 16 bitų atminties adreso arba arba pilną išorinio įtaiso adresą. šis adresas turi būti išsaugotas viso magistralės ciklo bėgyje. Tam panaudojamas išorinis registras, kuriame įrašoma adresinė informacija, panaudojant strobsignalą ALE. ALE yra leidimo signalas, užfiksuoti adresinæ informaciją.
Antrojoje magistralės ciklo pusėje AAD15 – AD0 perduodami duomenys arba komandų baitai. Tam pasityarnauja duomenų leidimo strobsignalas DEN. Jo aktyvus lygis lygus nuliui.
A19 –A16 tai taip pat multipleksinės adreso būsenos išėjimo linijos. Jos kartu multiplikuojamos su būsenos linijomis. Pirmajame takte į šios linijos pasiunčiama 4 vyresnieji baitai atminties adreso, o adresuojant išorinius įtaisus, paduodami nuliai. Linijų S3 ir S4 kodas nustato segmentinį registrą, kuris naudojamas formuojant fizinį atminties įtaisą.
S4,S3 SEG.REGISTRAS
00 ES
01 SS
CS
DS
S4,S3 gali būti panaudoti atminties išplėtimui, išskiraimas atskiras atminties kanalas, 1Mb apimties.

BHE signalas

Jo paskirtis – vyresniojo baito vyresniojo baito leidimas. Jis formuojamas pirmam ciklo takte, kartu su adresine ciklo informacija. Aktyvus rėžimas – 0. šio signalo pasirodymas reiškia, kad vyresniaja AD magistralės dalimi AD15 – AD8 yra perduodamas 8 bitų duomenys. šis signalas, kartu su jauniausios adresų linijos A0 signalu, nustato perduodamos informacijos formatą.

ALE signalas

Tai adreso strob signalas – leidimas užfiksuoti adresą. Jį į MP pasiunčia magistralės ciklo pradžioje ir naudojamas adreso įrašymui į registrą.
DEN signalas (DE)
Duomenų strobsignalas, arba duomenų perdavimo leidimas. Jis išduodamas skaitymo, rašymo ir magistrale formuojančių išvesties leidimo cikluose. Aktyvus lygis – nulis.

RD signalas

Skaitymas, aktyvus lygis – 0. Tai signalas atminčiai arba išoriniams įtaisams pateikti duomenis į magistralæ.

WR signalas

įrašymas. Jis inicijuoja rašymo į atminties įtaisą arba į išorinį įrenginį, ciklą. Tai “palydintis” duomenis į magistralæ signalas.

M/IO signalas

Jis nurodo į kur bus kreipiamasi. Jei jis =1, tai į atmintį. Jei 0 – išorinį įrenginį.

DT/R signalas

Signalas naudojantis duomenų perdavimo kryptį. Jei jis lygus 1, tai informacija perduodama iš MP į atmintį arba periferinį įtaisą. Jei lygus nuliui, tai tada kryptis į MP. šis signalas valdo magistralės formuotuvus ir veikia viso magistralės ciklo metu. Duomenų perdavimo kryptį nustato WR ir RD. tačiau jie nėra patogūs.

HOLD signalas

Tai magistralės pareikalavimo signalas, kurį formuoja periferiniai įrenginiai arba tiesioginio kreipimosi į atmintį kontroleris. šis signslas perduodamas kai norima užimti magistralæ.

HLDA signalas

Magistralės užemimo patvirtinimo signalas. Jis išduodamas atsiliepiant į HOLD signalą, kai MP pristabdė savo darbą ir adresų/duomenų magistralė atsijungė nuo MP. Jei HLDA=1, tai ta posistemė kuri inicijavo magistralės užėmimą, gali ja naudotis savarankiškai.

NMI signalas

Nemaskuojamos pertraukties signalas. Tai tokia pertrauktis, kuri įvykdoma nepriklausomai nuo požymio IF reikšmės. šis signalas paduodamas į to paties pavadinimo MP iėjimą.

INTR signalas

Pertraukties užklausimo siganalas, tik ar pertrauktis yra maskuojama, priklausys nuo MP požymių. šį signalą paduoda programuojamas pertraukčių kontroleris.

INTA signalas

Pertraukties užklausimo patikrinimas. Jis formuojamas atsiliepiant į INTR signalą.

RDY signalas

Parengties signalas. šis signalas parodo, kad duotame cikle įrenginys pasiruošæs keistis duomenimis(RDY=1). Jei RDY=0, MP pereina į laukimo rėžimą.

TEST signalas

Patikrinimas. šis signalas naudojamas kartu su laukimo komanda WAIT. MP tikrina signalo TEST lygį ir jei TEST =0, MP pereina prie sekančios komandos vykdymo. Jei TEST=1, MP tuščiai vykdo taktą T1 ir periodiškai patikrina signalo TEST reikšmæ. RDY – aparatinės parengties signalas.

CLK signalas

Taktinė sinchronizacija. šis signalas paduodamas iš išorinio taktinių impusų generatortiaus. 8086 periodas 200-500hS t.y.
2-5 MHz.

RESET signalas

šis signalas perveda MP į pradinæ būseną. Paveikus šiam signalui yra numetami segmentiniai registrai, komandų skaitikliai, visi požymiai, konvejerio registrai ir visi valdymo įtaiso vidiniai registrai. šis signalas neveikia bendros paskirties registrų, kurie į pradinæ būseną gali būti nustatomi programiniu būdu.

MN/MX signalas

Min.Max rėžimas. Jeigu 1- min,
Jei 0 – max
Viso MP valdo – min
Sisteminį kontrolerį – max.
15. Pertraukčių šaltiniai.
Kiekvienam pertraukčių tipui yra suteikiamas kodas. 8086 kodų 0 – 256. Taigi gali būti 256 prtraukčių tipai. Pertrauktys gali būti inicijuojamos išorinių įtaisų – išorinės pertrauktys, arba jos gali būti inicijuojamos programiškai. Kai kuriais atvėjais pertrauktis gali inicijuoti pats MP – tai vidinės pertrauktys.ši strukturinė scema parodo visus galimu pertraukčių timus ir būvius. Visa ši schema – pertraukčių šaltiniai. Pertrauktys ateina per programuojamą pertraukčių kontrolerį, per INTR ir per NMI patenka nemaskuojamos pertrauktys.
16. Išorinės pertrauktys
iširunės pertrauktys skirstomos į maskuojamas ir nemaskuojamas. Maskuojamos pertrauktys eina iš išorinių įtaisų. Pertrauktys gali būti neįvykdoma, priklauso nuo to ar ji uždrausta ar ne. programuojamas pertraukčių kontroleris – tas pats 8080 ir 8086 MP. Kai INTR pakliūna 1, MP reakcija priklauso nuo požymio IF. Tačiau iki einamosios komandos pabaigos MP neatlieka jokių veiksmų, nes INTA signalas – asinchroninis MP dažnio atžvilgiu. MP turi baigti vykdyti komandą per kelis ar keliasdešimt taktų. Kai komandos įvykdymo laikas yra l. ilgas, pertrauktis gali būti įvykdoma po bet kurios operacijos IF=1.
Kai IF=0, pertrauktys per įėjimą INTR yra uždraustos (užmaskuotos), MP ignoruoja pertraukties reikalavimą ir pereina prie tolimesniės komandos vykdymo.8086 pertrauktie reikaklavimas patvirtinimas vykdant du nuoseklius magistralės ciklus. Jei šių ciklų metu pareikalaujama magistralė, tai šis reikalavimas nevykdomas, kol nepasikeis abu INTA.
Reikalavimai nemaskuojamoms pertrauktims: signalai pakliūva į NMį ir jie naudojami išimtinais atvėjais, reikalaujanæiais neatidėliotinos reakcijos.
į NMį pakliuvusios pertrauktys yra įsimenamos MP ir turi aukštesnį prioritetą, nei pertrauktys, patenkančios per INTR. šios pertrauktys nepriklauso nuo požymio IF. MP reakcijos laikas į pertrauktis priklauso nuo vykdomos komandos.
17. Vidinės pertrauktys
Jos charakteruzuojamos pertraukties tipu, kuris būna iš anksto numatytas arba įrašytas į komandos kodą.vidinės pertrtauktys negali būti uždraustos, išskyrus žingsnines pertrauktis. Vidinės pertrauktys:
1.Dėl dalybos klaidos – dalyba iš nulio, arba iš l.mažo skaičiaus, kai įvyksta registrų perpildymas.tokios pertrauktys yra generuojamos iš karto, įvykdžius DIV komandas.
2.žingsninės pertrauktys – 1 tipo pertrauktys. Generuojamos automatiškai esant požymiui TF=1.
Apdorojant pertrauktį MP įrašo į dėklą registrų F, CS, IP turinius. Po to numeta IF ir TF.
3.pertrauktys dėl perpildymo. Ketvirtas tipas – INTO tai 1 baito komanda ir pertrauktis įvykdoma jei požymis OF=1.
18.Pertraukčių aptarnavimo procedūra
kiekvieną pertraukties tipą atitinka jam suteiktas kodas. Kiekvieną pertraukties tipą atitinka pertrauktį aptarnaujanti paprogramė. Paprogrames nurodo pertraukčių vektorių lentelė. Pilna lentelė užima 1Kb atminties ir susideda iš 256 elementų, įrašytų adresais 0…3FF. Kiekvienas elementas susideda iš dviejų žodžių, nusakančių pradinį paprogramės adresą. žodis su vyresniuoju adresu yra bazinis kodo segmento adresas, o žodis su jaunesniuoju – paprogramės poslinkis, atžvilgiu kodo segmento pradžios. Poslinkis įrašomas į registrą IP arba į komandų skaitiklį. Gaunamas pradinis kodo segmento adresas.
Kai pakeičiamas registrų IP ir CS turinys, MP išrenka paprogramės adresą ir toliau vykdo įprastines funkcijas t.y. išpildo komandų eilæ ir vykdo apsikeitimą duomenimis.
Vykdant perėjimą prie prie pertraukties aptarnavimo paprogramės, registrų F, CS, ir IP turiniai įrašomi į dėklą, požymiai IF ir TF – numetami, tuo būdu automatiškai uždraudžiamos išorinės pertrauktys pagal INTR įėjimą. Extra atvėju, pertraukimo aptarnavimas gali būti nutrauktas per įėjimą NMI. Paprogramės darbo pabaigoje atstatomi MP darbiniai turiniai. Pertraukties apdorojimo popragramė baigiama komanda IRET. Priš ją paprastai eina STI – leidžiamos pertrauktys. IRET “ištraukia” 3 vyresniuosius žodžius iš dėklo – registrų CS, IP, F turinius. Tai leidžia tiksliai vykdyti komandą, kuri būtų buvusi įvykdyta, jei pertraukties nebūtų buvæ.
19.MP funkcionavimas
kiekvienas MP dirba pagal programą, vykdydamas tos programos komandas. Komandų vykdymas – eilė magistralės ciklų, kurių metu MP išrenka iš atminties komandas arba apsikeiæia duomenimis tarp atminties ar išorinių įtaisų.
Magistralės ciklas turi keturis būtinus ciklus T1…T4.
T1 takte į bendrą adreso duomenų magistralæ pasiunčiamas adresas. T2 takte atliekama perdavimo krypties komutacija. T3 ir T4 taktuose vykdomas duomenų perdavimas. Jei MP sistemoje yra atminties ar išorinių įrenginių, kurie negali perduoti informacijos reikiamu greičiu, pasiunčiamas signalas RDY=0, reiškiantis kad įrenginys nepasiruošæs ir tarp taktų T3 ir T4 įvedamas reikiamas laukimo taktų skaičius. Jei RDY=1, vietoj laukimo taktų iš karto vykdomas T4. Magistralės ciklas vykdomas kai reikia užpildyti komandų konvejerį, arba apsikeisti informacija, vykdant komandą. Jei magistralės ciklų nebereikia, tuomet formuojami tušti T1 ciklai.

Skaitymo cikle, taktuose T2-T4 formuojamas signalas RD. jo aktyvus lygis yra nulis. šis signalas nurodo adresuojamam įrenginiui, apie būtinumą pateikti duomenis.
Rašymo cikle, takte T2 linijose A15 – AD0, adresas keičiamas duomenimis. Duomenys išlaikomi iki takto T4. šie duomenys palydimi signalu WR, kurio aktyvus lygis yra nulis.
20.Mainų tarp MP ir Pį būdai
Mainai gali būti tiesioginiai t.y. atliekami tiesioginio kreipimosi į atmintį ar Pį rėžime, ir programiškai valdomi mainai. Atliekant programiškai valdomus mainus, pagal atitinkamą įvesties programą, duomenys po baitą priimami iš periferinio įrenginio ir per duomenų magistralæ siunčiami į kaupiklį, prieš tai įrašant juos į operatyvinė atmintį ar registrą. Yra trys programiškai valdomų mainų būdai: 1.sinchroniai, 2.asinchroniniai, 3.naudojant pertrauktis.
Naudojant tiesioginio priėjimo prie atminties rėžimą, pasiekiamas didelis mainų greitis. šiuo atvėju MP atsijungisa nuo magistralės ir sistema pervedama į magistralės užėmimo būseną. MP šiuo atvėju mainuose nedalyvauja, o mainai vyksta betarpiškai tarp periferijos ir OA.
21.Mainai, pertraukiant programą
Tai gana plačiai taikomas informacijos apsikeitimas tarp MP ir periferinių įrenginių. Tai mainai, kai norint įvesti arba išvesti duomenis yra būtinas pagrindinės programos darbo nutraukimas. Tokių mainų iniciatorius – išorinis įrenginys. Tokie mainai daromi, kai reikia apsikeisti informacija su lėtaeigiu periferiniu įrenginiu, arba kai išorinio įrenginio kreipimosi laiko negalima nuspėti. šiuo atvėju MP vykdydamas kiekvieną komandą automatiškai tikrina ar nėra užklausimo pertraukčiai. Programa gali būti pertraukiama tik tose vietose kur yra EI(pertraukties leidimas). Vykdant duomenų perdavimą, pertraukiant programą, paprastai vykdomi tokie veiksmai:1.Pį pareikalauja pertraukties
2.Pabaigæs vykdyti einamąją komandą, MP pasiunčia pertraukties patvirtinimo komandą.
3.įsimenamas komandų skaitiklio turinys ir pereinama prie pertraukties aptarnavimo paprogramės vykdymo.
4.įsimenama MP vidinių registrų turiniai.
5.Atliekami informacijos mainai.
6.Grįžtama prie pagrindinės programos vykdymo toje vietoje, kur ji buvo nutraukta.

Ankstesnis straipsnisPasaulinė Turizmo Organizacija. Turizmas
Kitas straipsnisTV pagrindai

Komentuoti

Please enter your comment!
Please enter your name here