mikroprocesori 1

27
Trogmagistraturna arhitektrura mikroprocesora Sistemski bus ili magistrala je fizicka grupa signalnih linija koje se koriste za prenos signala unutar sistema. Zbog razlicitih grupa signala koji se koriste u sistemu, vecina mikroprocesorskih sistema koristi tromagistralnu sistemsku arhitekturu koja se sastoji od: Adresnog bus-a, Data bus-a, Kontrolnog bus-a Adresni bus: Adresni bus je skup digitalnih linija kojima se prenosi adresna informacija i to samo u jednom smeru, od mikroprocesora ka memorijama ili U/I jedinicama Mikroprocesor na magistralu postavlja adresnu informaciju čime se precizno definiše i određuje put komunikacionih podataka na data busu Dakle, pomoću adresnog busa se uključuje određeni hardver u sistemu koji će da pošalje informaciju ka mikroprocesoru ili je primi od mikroprocesora Informacija koja se šalje ili prima naziva se podatak i nalazi se na data busu 1

Upload: kalabastra

Post on 03-Oct-2015

36 views

Category:

Documents


4 download

DESCRIPTION

Computer Microprocesor

TRANSCRIPT

Trogmagistraturna arhitektrura mikroprocesora

Sistemski bus ili magistrala je fizicka grupa signalnih linija koje se koriste za prenos signala unutar sistema.Zbog razlicitih grupa signala koji se koriste u sistemu, vecina mikroprocesorskih sistema koristi tromagistralnu sistemsku arhitekturu koja se sastoji od: Adresnog bus-a, Data bus-a, Kontrolnog bus-a

Adresni bus: Adresni bus je skup digitalnih linija kojima se prenosi adresna informacija i to samo u jednom smeru, od mikroprocesora ka memorijama ili U/I jedinicamaMikroprocesor na magistralu postavlja adresnu informaciju ime se precizno definie i odreuje put komunikacionih podataka na data busuDakle, pomou adresnog busa se ukljuuje odreeni hardver u sistemu koji e da poalje informaciju ka mikroprocesoru ili je primi od mikroprocesoraInformacija koja se alje ili prima naziva se podatak i nalazi se na data busu

Data bus: Funkcija data busa je da omogui prenos informacija koje se izmenjuju izmeu mikroprocesora i spoljneg hardvera odabranog adresnim busem. U odreenom trenutku mikroprocesor moe da prima ili alje podatke preko data busa, to znai da je data bus dvosmeran.Sve linije data busa, u odreenom trenutku, mogu da se koriste samo u jednom smeru, od mp-a ka memoriji ili izlaznoj jedinici, odnosno od memorije ili ulazne jedinice ka mp-u..

Kontrolni bus:Postoje, u sutini, etiri razliite mogunosti prenoenja podataka u mikroprocesorskom sistemu:Mp alje podatke u memorijuMp prima podatke iz memorijeMp alje podatke na izlaznu jedinicuMp prima podatke sa ulazne jediniceU jednom trenutku, moe se izvravati samo jedna od ove 4 funkcijeSignali kontrolnog busa je da definie koja od 4 napred navedene funkcije se trenutno odvija u Mp sistemuFunkcionisanje tromagistralne arhitekture:Pet je osnovnih funkcija koje se obavljaju u Mp sistemima: Upis podataka u memoriju itanje podataka iz memorije Upis podataka u izlaznu jedinicu itanje podataka iz ulazne jedinice komunikacija izmeu internih registara mikroprocesoraUpis podataka u memoriju:Da bi se podaci upisali u memoriju, potreban je sledei redosled radnji:1. Stanja signala na linijama adresnog busa moraju biti stabilna (naponski nivoi na adresnim izvodima memorije ne smeju da budu u prelaznom stanju). Naponski nivoi (logika stanja) signala na adresnom busu definiu fiziku lokaciju unutar memorije gde e se izvriti upisivanje podataka.2. Podaci koje treba upisati u memoriju, postavljaju se na data bus, odnosno na izvode memorijskog kola.3. Preko kontrolnog busa se alje odgovarajui signal na odgovarajui izvod memorijskog kola, ime se vri upis podataka na adresiranu memorijsku lokaciju4. Vremenski dijagrami signala na ova tri busa prikazani su na sledeoj slici:

itanje podataka iz memorije: itanje podataka iz memorije je inverzno upisu podataka u memoriju Da bi se ono ostvarilo, potrebno je sledee:1. Mikroprocesor postavlja adresu memorijske lokacije iz koje se trae podaci, na adresni bus. Adresna informacija mora da bude stabilna, kao i kod upisa podataka u memoriju2. Data bus mora biti spreman da prihvati podatke sa adresirane mem. lokacije (Mp prelazi u mod za prihvatanje podataka data izvodi na Mp-u sada se ponaaju kao ulazi)3. Kontrolni bus alje signal odgovarajueg logikog nivoa na odgovarajui izvod memorije ime memoriji daje informaciju da je sve spremno za postavljanje podataka na data bus.Dijagram koji pokazuje oblik i redosled izvrenja signala na tromagistralnoj sabirnici mikroprocesora prikazan je na sledeoj slici:

Upis podataka u izlaznu jedinicu: Pod izlaznom jedinicom se podrazumeva bilo koje odredite osim memorije, koje slui za prenos podataka iz Mp-a u spoljni svet. To moe biti ekran, , tampa, ili obina led dioda, na primer. Kad mikroprocesor upisuje podatke u izlaznu jedinicu, redosled radnji je skoro isti kao kod upisivanje podataku u memoriju:

itanje podataka iz ulazne jedinice: Ulazna jedinica moe biti bilo koji izvor, osim memorije, koji moe da alje podatke ka mikroprocesoru (na primer tastatura, ili A/D konvertor). Podaci se iz ulazne jedinice alju Mp-u kada je to zahtevano. itanje podataka iz ulazne jedinice je vrlo slino itanju podataka iz memorije. Vremenski dijagrami signala na tromagistralnoj sabirnici prikazani su na sledeoj slici:

Komunikacija izmeu internih registara: Kod ovakvih operacija, prenos podataka se obavlja unutar samog mikroprocesorskog kola i ne koristi se ni jedan sistemski bus.Primer ovakve radnje je operacija sabiranja (ADD instrukcija). Sadraj nekog internog registra se dodaje sadraju registra A (akumulator) i rezultat se upisuje u akumulatorMikroprocesor 8086:Jedan Mp moemo opisati pomou:a. njegovog skupa registara i njihove funkcije,b. putevima izmeu registara, c. nizom operacija koje se izvode nad binarnim podacima smetenim u registre, i upravljakim signalima (funkcijama) koji rukovode tim operacijamaPod c. spada i skup informacija, naini adresiranja, tipovi podataka, itd...Veina dananjih Mp-a opte namene je istog tipa arhitekture iji su standardni elementi sledei:Upravljaka jedinica (CU)ALUjedan ili vie Askup registara opte nameneadresni registriinterne sabirnice 8088 je 16bitni Mp sa 8bitnim data busom, ali na osnovu onga to vidi programer, ovaj Mp je 16bitni 8086 je 16bitni sa 16bitnim data busom Pod arhitekturom Mp-a podrazumeva se sve ono to programer u asembleru mora znaeti o procesoru da bi napisao program koji uvek daje isti rezultat bez obzira na realizaciju Mp (sistema) Svrha registara je poveanje brzine rada zbog smanjenja komuniciranja Mp-a sa memorijomRegistri Mp-a 8086

Ax (accumulator), Bx (base), Cx (count), i Dx (data) su 16bitni registri za podatke (adresabilni) Ovi registri se mogu adresirati i kao 8bitni Dakle, programi pisani za 8080 ili 8085 mogu da rade i na 8086 (8088) Bilo koji od Ax, Bx, Cx, i Dx moe se upotrebiti za izvravanje aritmetikih i logikih operacija, i pri tome se moe raditi sa 16 ili sa 8bitnim podacima Ipak, sva 4 od ovih registara imaju svojih specifinosti: Cx u nekim sluajevima slui za brojanje (string operacije) Svi podaci koji ulaze u Mp ili izlaze iz Mp-a, moraju proi kroz Ax Dx sadrava adresu I/O vrata (porta) Podaci iz stek registara (SP-Stack pointer, i BP-Base pointer) i indeksnih registara (SI-Source index i DI-Destination index)kombinuju se sa podacima iz odreenih registara BIU (BUS Interface Unit), odnosno oni slue kao pomak koji se dodaje sadraju odgovarajuih segmentnih registara (relativno adresiranje) Vrednosti zapisane u ova 4 registra se mogu programski menjati ili modificirati, pa se tako formiraju potrebne adrese. Ovo se obavlja u EU (Execution unit) pre prelaska na izvrenje neke naredbe To znai da sama instrukcija moe sadrati ne adresu operanda, nego adresu registra u kome se nalazi ta adresa Sp slui za pokazivanje na aktivnu adresu steka. Ovu adresu ne pokazuje samostalno, ve se njegov sadraj sabira sa sadrajem SS (Stack segment) registra. Slino se upotrebljava i BP (Base pointer), samo se njime adresira ne vrh, ve unutranjost steka. SI (Source index) slui za adresiranje izvornog (Source) operanda, a DI (Destination Index) za adresiranje odredinog operanda. Adresiranje je relativno u odnosu na DS (Data egment) registar u BIU. Stek najee raste nanie, odnosno dekrementira se pri stavljanju podataka naredbom PUSH Poto SP radi sa 16bitnom adresom, to se dekrementiranje (i inkrementiranje) vri sa 2. Bus Interface Unit (nain adresiranja) Address bus Mp-a 8086 ima 20 bita. To znai da se moe adresirati 220=1Mbajt poto 8086 operie sa 16bitnim reima, jedna re nije dovoljna za celo Mbajtno podruje zato je memorija podeljena na segmente od po 64Kbajta poetna adresa svakog segmenta odreena je odgovarajuim segmentnim registrom: -CS (Code segment-segment instrukcije), DS (Data segment), SS (Stack segment) i ES (Extra segment-posebni segment) znai adresa, naprimer instrukcije, dobije se kombinovanjem sadraja PC i CS registara. To implicira da od ukupne 1Mbajt memorije, aktivna su uvek samo 4 segmenta od po 64Kbajta. podruje bilo kog segmenta se moe pomeriti zapisivanjem novog podatka u odgovarajui segmentni registar (poetna adresa segmenta).Nain upotrebe memorije i adresiranja Adresno podruje sastoji se od 1Mbajta sa adresama od 00000(16) do FFFFF(16) . Duina podatka u svakoj lokaciji je 8bita. Ako se radi sa 16bitnim reima, onda se one smetaju u dva susedna bajta.

Poetna adresa segmenta je: za instrukcije u CS za podatke u DS za stek u SS posebni u Es Adresa unutar segmenta dobija se dodavanjem pomaka iz odgovarajueg registra (SP, BP, SI, DI, i PC), na poetnu adresu segmenta. To su takozvani tekui segmenti. Poto su i segmentni registri 16bitni, a adresa 20bitna, mora se uiniti jo sledee: -sadraju segmentnog registra dodaju se na mesta najmanje teine etiri bita nula (sva 4 bita su nule). To znai da samo svaka 16-ta adresa moe biti poetna adresa segmenta. Na tu, poetnu adresu segmenta XXXX0, dodaje se 16bitni pomak koji moe odrediti bilo koju adresu unutar memorijskog segmenta od 64K. Sabiranje se obavlja u namenskom sabirau adrese, kako je prikazano na sledeoj slici:

PSW (Programm Status Word) registar: Ovaj registar naziva se jo i registar stanja, ili Flag registar (registar zastavica) njime se iskazuju neka stanja koja nastaju pri obradi podataka PSW je 16bitni, ali se ustvari upotrebljava samo 9bitova, i to: 6 zastavica statusa (status flags) 3 upravljake zastavice

Redosled zastavica u PSW registru je:XXXX OF DF IF TF SF ZF X AF X PF X CFStatusne zastavice: CF=Carry flag- postavlja se u stanje 1 ako se dogodi prenos iz najznaajnijeg bita pri izvedbi aritmetikih operacija ili pri posuivanju PF=Parity flag-postavlja se u stanje 1 ako rezultat dobijen izvoenjem instrukcije ima paran paritet (broj jedinica u rezultatu je paran broj) AF=Auxilary carry flag-postavlja se u stanje 1 ako se desi prenos iz 4 nia u 4 via bita ili posuivanje iz 4 via bita u 4 nia bita u bajtu manje teine 16bitne rei ZF=Zero flag-postavlja se u stanje 1 kada je rezultat izvoenja instrukcije 0 SF=Signal flag-postavlja se u stanje 1 ako je rezultat manji od nule, a 0 ako je rezultat vei od nule. Ovo je ustvari kopija bita najvee teine OF=Overflow flag-postavlja se u stanje 1 ako je rezultat, tretiran kao broj sa predznakom, izvan doputenog podruja

Upravljake zastavice: IF=Interrupt flag-ako je =0, INT se ne prihvata, a ako je =1, INT se moe prihvatiti DF=Direction flag-odreuje smer odvijanja string operacija. Za DF=0, ove instrukcije automatski smanjuju adresu, pa se podaci obrauju od vie adrese ka nioj, i obrnuto TF=Trap flag-ako je =1, omoguuje izvrenje izvoenja programa korak po korak, t.j. jedne po jedne naredbe. Ovo moe posluiti za doterivanje programaAdresiranje i skup instrukcija P 8086 kod 8086 I/O i M prostor su razdvojeni Svaki periferijski ureaj vezuje se u P sistem preko kontrolera. uloga kontrolera je da bez obzira na vrstu i tip periferijskog ureaja P prema spolja vidi isto. da bi se ovo ostvarilo, kontroleri treba da imaju: za prihvat podataka: -data registar za dobijanje informcija o reimu rada: -status registar za odreivanje reima rada kontrolera: -control registar kontrolerStatus registarData registarCPUControl registar

kontroleru se dodeljuje adresa u I/O prostoru, ili u prostoru zajednikom sa memorijom. kod P 8086 adrese portova se specificiraju naredbama IN i OUT, to znai da je ovo I/O prostor, razdvojen od memorijskog prostora. IN i OUT pored adrese kontrolera ukljuuju i dodatnu liniju koja omoguuje da memorija sa istom adresom zna da to nije za nju

skup instrukcija za P 8086 sadri 97 osnovnih tipova instrukcija ove instrukcije omoguuju rukovanje bitovima, reima i nizovima skup instrukcija moemo podeliti na 6 podskupova: instrukcije za prenos podataka aritmetike instrukcije logike instrukcije instrukcije za rukovanje nizovima instrukcije za prenos upravljanja instrukcije za upravljanje procesorom Instrukcije koje trebaju 2 operanda, omoguuju da jedan od njih bude smeten u: registru memoriji, pri emu je drugi operand u registru ili je konstanta u instrukcijskoj rei kao usputni podatak, u svim operacijama sa dva operanda izuzev mnoenja, deljenja i operacija sa nizovimaOrganizacija P 8086 P 8086 i P 8088 imaju istu arhitekturu, razlikuju se samo u nekim detaljima (napr. 8088 ima 8bitnu, a 8086 16 bitnu magistralu podataka, nije im isti instrukcijski red ekanja, itd.) P 8086 je podeljen na dve celine: BIU (Bus Interface Unit) EU (Execution Unit), kako je prikazano na sledeoj slici

uvoenjem segmentnih registara, omogueno je da se adresira 220 memorijskih lokacija to znai da za adrese treba 20 pinova za podatke treba 16 pinova kako je P 8086 ip sa 40 pinova, oigledno je da po istim linijama moraju ii i adresni i data vodovi to znai da postoje posebni ciklusi za adresiranje i za prenos podataka

Opis prikljuaka P 8086: rad BIU, a time i P-a u celini, kontrolie se prikljukom MN/MX, kojim se selektuje minimalni ili maksimalni nain rada P-a minimalni nain rada: P generie memorijske cikljuse i sve upravljake signale P generie i signale za dodatne ipove potrebne zbog preklapanja adresnih i data linija minimalni nain rada P 8086 je prikazan na sledeoj slici:

Prikljuci koji se koriste i u min. i u max. reimu rada: AD15-AD0=multipleksirane adresne i linije podataka A19/S6-A16/S3=multipleksirane adresne i statusne linije BHE/S7=BUS High Enable/Status ako je aktivan BHE, koristi se samo bajt vee teine rei podatka RD= kontrola itanja TEST=ulazni signal, u vezi sa 8087, utvruje da li je koprocesor zavrio instrukciju koju je inicirao 8086 ova linija moe biti testirana instrukcijom tipa wait for test. za TEST=1, P miruje, dok ne bude TEST=0, kada P nastavlja sa radom (znai 8087 alje signal na TEST.) 8086 i 8087 jedno vreme rade paralelno, a kada 8086 zahteva rezultat od 8087, ide wait) RADY=ulazni signal, koji se koristi u radu sa sporim memorijama, kojima treba vie od 4 takta vremena ovim signalom M javlja da joj treba vie od 4 takta za kompletiranje memorijskog ciklusa RESET=ulaz kojim se od spolja P moe dovesti u poetno stanje NMI i INT=na maskirajui i maskirajui zahtev za interaptom CLK= takt iz takt oscilatora 8284Prikljuci koji se koriste u minimalnom reimu rada: HOLD= ulazni signal na koji DMAC upuuje zahtev P-u da pree u 3-state stanje i prepusti upravljanje magistralom DMAC-u HOLDA= izlazni signal, kojim P odgovara DMAC-u da odobrava njegov zahtev za magistralom P i DMAC zauzimaju magistralu samo koliko je to neophodno P zauzme bus dok uita instrukciju, pa ga preda, opet ga zauzme dok dok uita I operand, preda, uzme bus i uita II operand, itd... u ostalim vremenskim intervalima pristup BUS-u ima DMAC pri HOLD=0, DMAC vraa magistralu P-u WR= upis u M ili u I/O M/IO= ako je 1, adresirana je memorija, a ako je 0, adresiran je I/O. I/O i M prostor su kod P 8086 razdvojeni. Zato RD i WR vae i za M i za I/O, a ovom komandom se vri njihovo usmeravanje znai, mogue je adresirati istu adresu, ali koja se odnosi na: memoriju ulazno/izlaznu jedinicu,i to: instrukcijama IN i OUT nekom memorijskom naredbom znai, M/IO daje kriterijum kojom instrukcijom je generisana data adresa DT/R=predaja/prijem podataka (data transmit/receive. Ovaj signal generie direktno 8086 DEN=Data Enable, izlazni prikljuak, dozvola za podatke ALE= Address Latch Enable-izlazni prikljuak, otvaranje adresnog lea da se u njega upie (upamti) adresa ALE=1 je obavetenje spoljnim elementima da je na adresnom bus-u valjana adresa INTA= Interrupt Acknowledge, izlazni signal, potvrda prekida P ovaj signal alje periferiji, da bi ona poslala INT vektor

Maksimalni nain rada: RQ/GT0 i RQ/GT1=Request/Grant Buss Access Control- zahtev/dodeljivanje kontrole pristupa sabirnici -predstavljaju zamenu za signale HOLD i HOLDA u minimalnom reimu rada, i bidirekcioni su-po istoj liniji idu i zahtev i dozvola prvenstveno su namenjeni za multiprocesorski i koprocesorski rad skevenca request/grant se ralizuje u tri faze: zahtev dodeljivanje oslobaanje procesor koji zahteva magistralu generie zahtev sa RQ/GT0(1)=0 po istoj liniji P generie povratni impuls, ukazujui da je uao u HOLD stanje, odnosno vri priznavanje zahteva i oslobaa magistralu BIU se za ovo vreme iskljuuje sa magistrale, a EU nastavlja rad sve dok ne naie na neku instrukciju koja zahteva koritenje magistrale, ili dok se ne isprazni instrukcijski red ekanja kada procesor koji je zahtevao magistralu, obavi svoj zadatak, on generie trei po redu impuls RQ/GT0=0, obavetavajui P da moe nastaviti prekinutu aktivnost RQ/GT0 je vieg prioriteta odRQ/GT1, dok su oba vieg prioriteta od interapt ulaza ema konfiguracije za maksimalni nain rada data je sledeom slikom, nakon ega sledi objanjenje ostalih prikljuaka P 8086 u maksimalnom reimu rada

LOCK=zakljuano-koristi se kada viestruke pristupe na magistrali od strane neke instrukcije treba uiniti nedeljivim signal sa ove linije koriste drugi kontroleri sabirnice kao znak da ne trebaju zahtevati kontrolu nad sabirnicom ova linija ostaje aktivna do zavretka instrukcije koja sledi iza instrukcije LOCK (dok se ne zavri naredba sa prefiksom LOCK) da bi se omoguila primena LOCK mogunosti, P mora na magistralu biti vezan preko BUS arbitra 8289 S2-S0= statusne linije za dekodovanje upravljakih signala od strane BUS kontrolera 8288 pored generisanja DT/R, DEN i ALE signala postojeih u minimalnom reimu, BUSC generie i S2-S0 signale, kako je to prikazano i objanjeno na sledeoj slici:

prefiks A u AIOWC i AMWTC ukazuje da se ovi signali generiu ranije (traju due od standardnih) QS0 i QS1= Queue Status-daju status instrukcijskog reda ekanja, prema sledeoj tabeli:QS1 QS0 vrsta aktivnosti 0 0 aktivnost postoji 0 1 prvi bajt opkoda uzma se iz reda cekanja 1 0 prazan red cekanja 1 1 uzima se sledeci bajt instrukcijeOpis prikljuaka P 8086: tipian primer koprocesiranja je koritenje 8087. i 8086 i8087 koriste zajedniki instrukcioni niz svaki procesor analizira proces pripreme instrukcije, sa ciljem da odredi dali on ili drugi procesor treba da izvri instrukciju nadgledanjem linija QS0 i QS1 koprocesor dobija i dekoduje instrukcije iz reda ekanja u sinhronizmu sa 8086 znai oba procesora vre pripremu i dekodovanje instrukcijskog niza paralelno kada 8087 dekoduje instrukciju ESCAPE, on poinje sa procesiranjem dekodovanje se zasniva na tome da su prvih 5 bitova za sve instrukcije 8087 identini sve ostale instrukcije 8087 ignorie 8086 kod ESCAPE instrukcija samo pristupa memorijskom operandu i postavlja ga na magistralu QS0 i QS1 se mogu koristiti i za potrebe emulacije dalje sledi jo prikaz statusnih signala zajednikih i za minimalni i za maksimalni reim rada: Statusni signali zajedniki i za MIN i za MAX reim rada: S3 i S4=odreuju rip pristupa magistrali koji je u toku S5=identian flagu IF iz PSW-a S6=0 - P koristi magistralu (kod multiproc. sistema)

S3 S4 Memorijski pristup 0 0 alternativni koristi se ES 0 1 steku, koristi se SS 1 0 programu, ili se ne vrsi pristup(CS ili ne) 1 1 podacima, koristi se DSOrganizacija magistrala Tipian BIU BUS ciklus, prikazan je na sledeoj slici

Za vreme T1 vri se upis adrese u poseban registar (address latch). Pri tome P generie signal ALE Za vreme T2, ukoliko se vri upis, samo se javlja WR (prelazak sa 1 na 0), a ako se vri itanje, interna logika se iz reima slanja prebacuje u reim itanja, i javlja se RD (prelazak sa 1 na 0) Za vreme T3 i T4, po istim linijama po kojima je ila adresa, sada ide podatak (AD0-AD15) u smeru P-magistrala. Ako u tkou T1-T4 stigne zahtev od DMAC-a, P nee poslati signal odobrenja za preuzimanje magistrale HLDA, ve e to uraditi (predati magistralu DMAC-u) teko posle T4. Ciklus itanja kod 8086: itanje podataka ostvaruje se za vreme jednog BUS ciklusa (T1-T4) po linijama AD0-AD15 za vreme T1 alje se adresa a za vreme T2 podatak

Samo kada ALE signal prelazi sa 0 na 1 (prednja ivica signala) signal adrese sa ulaza prolazi na address latch prelaskom ALE sa 1 na 0 (zadnja ivica signala) vri se zabravljivanje (LOCK), dakle tano posred Address Out i nakon toga promene ulaza se ne manifestuju na izlaz u latch-uCiklus pisanja kod 8086: signal WR se pojavljuje istovremeno kada i podaci, i to u toku T2 nakon toga, prvo WR postaje neaktivan (prelazi sa 0 na 1), pa se zatim sklanjaju podaci dakle, upravljaki signali dolaze posle adresnih i data signala, a odlaze pre njih!T1 T2 T3 T4AS3-S7, BHEAD15-AD0 ALEM/IODT/RDEN

Ciklus pisanja kod 8086: DT/R = data transmit/receive kada je =1, pisanje (predaja) podataka, a kada je =0, itanje (prijem) podataka

sa prethodne slike se vidi da postoji opasnost da u T1 kroz 8286/8288 (prijemnik/predajnik) proe adresa kao podatak (WR) da bi se ova mogunost otklonila, uvodi se DEN signal = data enable dozvola za podatke, koji sa 1 na 0 prelazi tek u toku T2 ovaj signal u toku T1 zakoi 8286 na ovaj nain i u prijemu spreava da neki podatak sa DATA BUS-a ode u AddressLatch (RD)Rad sa sporim memorijama Ako T1-T4 nije dosta da se kompletira cikljus itanja ili pisanja za neku sporu memoriju ili drugi periferijski ureaj, tada se deava sledee:1. periferija alje signal RDY (sa 1 na 0) kao signalizaciju da je spora-ovaj signal ide u 8284 (takt generator)2. Mp obezbeuje produenje memorijskog (BUS) ciklusa, sve dok se RDY ne vrati na 1(8284 alje RDYOUT)3. Izmeu T3 i T4 ubacuju se ekstra taktovi Tw4. Zahtev RDY mora stii najkasnije do kraja T2

Upravljanje sabirnicom od strane DMAC-a u minimalnom reimu: periferija DMAC-u upuuje zahtev za DMA prenosom DMAC alje Mp-u zahtev za magistralom (HOLD) Mp po zavretku tekue instrukcije i obavljanju pripremnih radnji javlja DMAC-u da mu preputa sabirnicu (HLDA), i stavlja se u 3state stanje prema sabirnici na sledeoj slici se vidi da po nailasku HOLD, Mp daje signal odobrenja tek po isteku T4 Ako se HOLD ne vrati na 0, tada je DMAC uzurpirao magistralu

Tidle

Zamena za signale HOLD i HLDA je jedna bidirekciona linija RQ/GT sada se koprocesorski rad (ili komunikacija sa DMAC-om) obavlja kao na sledeoj slici

Objanjenje BHE signala: adresna re 8086 je 20 bitna, dakle adresni prostor je 220 bajta pri tome: 19 bita ine adresu 16 bitnog podatka, a 20-ti bit, A0, pokazuje da li je re o gornjem ili donjem bajtu adresirane rei podatka sada je, dakle, memorija fiziki ureena u dve banke, parnu i neparnu, kao na sledeoj slici, a BHE i A0 su odgovrajui ip selekt signali

Neparno adresirana re se prenosi iz dva magistralna ciklusa: prvo BHE=0, A0=1, zatim BHE=1, A0=0Upotreba signala TEST i WAIT u vieprocesorskom radu: najee se vieprocesorski sklopovi organizuju tako da prvi Mp vri radnje I/O i memorijskog nadzora, a drugi Mp radi sve ostalo (glavni Mp) ova dva Mp-a se meusobno moraju dogovarati to se postie softverski, mehanizmom semafora SEMAFOR=1-magistrala je zauzeta, SEMAFOR=0-magistrala je slobodna Mp kome je potrebna magistrala gleda u semafor, i kada vidi 0, postavi ga u 1, zauzme BUS, i kada zavri posao, oslobodi BUS, i stavi semafor na 0

Algoritam preuzimanja magistrale: MOV Al,1WAIT: LOCK XCHG AL, SEMAPHORE TEST AL, AL JNZ WAIT ... ... MOV SEMAPHORE, 0 ako se ne bi radilo pod LOCK-om, moglo bi se desiti sledee: neko je zauzeo magistralu (semafor=1) mi uzmemo sadraj semafora u AL u prvom memorijskom ciklusu sada onaj ko je drao zauzetu magistralu, oslobaa je i u semafor stavi 0 u drugom memorijskom ciklusu mi vraamo 1 u semafor situacija je sada sledea: BUS je slobodan, a u semaforu se nalazi 1 =zaglavljeno-nema niko pristup magistrali, a ona je ustvari slobodna! zato se razmena obavlja pod LOCK-om, a onaj sa 0 neka saeka (nulu moe da gurne tek poto mi, koji smo uzeli sadraj semafora, u njega stavimo 1Koritenje instrukcija ESC (ESCAPE) i WAIT, i signala TEST ove instrukcije i signal slue za sinhronizaciju rada procesora 8086 i korpocesora 8087 kada se javi situacija da 8087 treba da izvri neku instrukciju, MP inicira to uz pomo instrukcije ESCAPE i 8086 i 8087 imaju BIU, i oba nadziru isti instrukcijski red ekanja 8087 stalno nadgleda INSTRUCTION QUEUE i analizira proces pripreme instrukcije sa ciljem da odredi da li instrukciju treba da izvri on ili 8086 uz pomo ESC, koju je aktivirao 8086, 8087 moe da primi instrukciju od 8086 8086 postavlja adresu operanda nad kojim se treba izvriti operacija i preputa ga 8087-ci 8087 poinje svoj posao, a 8086 nastavlja dalje paralelno da radi svoj posao, sve dok mu ne zatreba neki rezultat od 8087. tada proverava da li je 8087 zavrio-ako jeste, produava sa svojim radom ako 8087 jo nije zavrio, 8086 izvrava instrukciju WAIT, proveravajui stanje TEST noice kada pone sa radom, 8087 postavlja TEST na 1, a kada zavri, postavlja ga na 0 prikazano grafiki, to izgleda kao na sledeoj sl.:

Uloga magistrale prilikom Interapta1. periferija aktivira liniju zahteva za prekidom na sistemskoj sabirnici2. kontroler prekida prima zahtev i uporeuje njegov prioritet sa ranije pristiglim zahtevima3. ako je zahtev vieg nivoa od ostalih, ili je jedini, upuuje se MP-u4. Mp alje dva INTA impulsa PIC-u. Prvi zamrzava prioritet i postavlja nivoe u privremenu memoriju kontrolera (service level latch), a drugim INTA Mp zahteva vrednost 8bitnog pokazivaa za tabelu vektora prekida5. pokaziva pokazuje u TABELU VEKTORA PREKIDA, na vrednost IP i CS za rutinu konkretnog prekida6. Mp uzima novi IP i CS a tekui IP i CS sprema na STACK, kao i FLAG (PSW)registar, i vri skok na prekidni podprogram. IP, CS i PSW se na stek postavlja hardverski (automatski). sadraj registara opte namene (8registara opte namene) se na stek smeta programski registri koji su na stek bili smeteni hardverski, vraaju se po izvrenju potprograma sa steka instrukcijom RTN (povratak iz interapta) ostali registri sa steka se vraaju programski Interapt veltro tabela data je sledeom slikom:

Sekvenca prihvatanja interapta data je sledeom slikom:

signal LOCK koristi se samo u max. modu rada izmeu 1. i 2. BUS ciklusa mogue je nekoliko (tipino 3)stanja ekanja (IDLE CLOCK STATES) interapt BUS ciklus je slian RD ili WR ciklusu, samo umesto RD ili WR ide INTA u 1. ciklusu se na INTA=0 zamrzava prioritet i postavlja nivoe u service level latch PIC-a, u 2. ciklusu se na INTA=0 od strane PIC-a alje Mp-u 8bitni vektor broj po linijama podataka u Mp-u ovaj vektor se mnoi sa 4 (SHL, SHL) i tako se dobija adresa u prethodnoj tabeli

21