Mikroprocesorių teorija
1.Pagrindinės sąvokos ir apibrėžimai
Šiuolaikinės SVS yra kuriamos panaudojant MP.MP vadinamas elektroninis įrenginys,skirtas skaitmeninės informacijos apdorojami ir šio apdorojimo proceso valdymui.
Pagrindinės MP bruožas-visas skaitmeninės informacijos apdorojimo procesas valdomas programiškai.T.y.tas pas MP gali būt naudojamas skirtingiems valdymo uždaviniams spręsti keičiant tik jos valdymo programą.
F-niu požiūriu MP skirstoma į:
1. Operacinė dalis.
2. Valdymo dalis.
Operacinėje dalyje vykdomas operacijos (veiksmai) su dvejetainiais skaičiais naudojamas kodavimas 8421.
Valdymo dalyje formuojami valdymo signalai,skirti dvejetainiais skaičiais valdymui. Šiuolaikinės MP sudaro vieną ar keletas didelių integrinių schemų (DIS),kurių kristaluose formuojama MP sschema(rezistoriai,tranzistoriai.). Jeigu MP sudaro 1 mikroschema,jie vadinami vienkristaliais. Jei keletas daugiakristaliais (sekcijiniais). Projektuojant MP sistemos naudojamas mikroprocesorinis komplektas (MPK). MPK vadinamas rinkinys (visuma,serija) mikroprocesorinių ir kitokių integrinių mikroschemų, kurios suderintas tarpusavy pagal technologinius parametrus. Šiuolaikinėse SVS mikroprocesorinis komplektas naudojamas projektuojant ir kuriant mikrokompiuterius,programuojamus valdiklius.
Mikrokompiuteriu (MK) vadinama skaitmeninės valdymo sistema (SVS),turinti:
1. Užbaigtą konstrukciją.
2. Autonominį (nuosavą) maitinimo šaltinį.
3. Informacijos įvedimo-išvedimo priemones.
4. Nuosavą programinį aprūpinimą.
Progruojami vardikliai (vardikliai) yra SVS‘os, turinčios šiuos pagr. požymius:
1. Vykdančios autonominio objekto valdymą pagal užprogramuotų valdymo algoritmą.
2. Turinčios savo sudėtyje MP‘ių (keletą MP)
3. Vykdančios valdymą rrealiame laike.
Pastaruoju metu plinta programuojamų valdiklių rūšis-progruojami loginiai valdikliai (PLV). Šie PLV paplitę visos veiklos srityse, pramonėje ir pan.
PLV vadinamas autonominis skaitmeninis elektroninis įrenginys,skirtas valdymo signalų (tiek diskretinių,tiek analoginių) priėmimui,jų apdorojami, naudojant logines operacijas (+,*,-,/),bei apdorotų signalų išvedimui.
PLV skiriasi tarpusavyje ppagal įėjimų-išėjimų skaičių ir konstrukciją. Pagal konstrukciją PLV gali būti: kompaktiniai,kreiptiniai.
MPS vadinamos informacijos surinkimo ar kitokios specializuotos sistemos,turinčios:
1. Mikrokompiuteri (MK) ar kitokį įrenginį su MP.
2. Priemones, kurios suderina MPS‘os valdymo signalus su objektu valdymo signalais (Įėjimo-išėjimo signalų suderinimo pramonės)
3. Valdymo programa,saugojama atmintyje.
Bet kurią MPS sudaro dvi glaudžiai tarpusavy susijusios dalys:
1. Techninė dalis („geležis“)
2. Programinė dalis („protas“)
2.MIKROPROCESORIŲ PAGINDINĖS TECHNINĖS CHARAKTERISTIKOS
Pagrindinis bet kurios MPS elementas MP charakterizuojamas šiomis techninėmis CH:
1. MP tipas (vienkristaliai,daugiakristaliai)
2. MP gamybos technologija. Nuo jos priklauso MP greitaeigiškumas,suderinamumas su kitų tipų MP, MP kaip integrinės schemos elementų integracijos laipsnis(elementų kiekis kristale)
3. MP informacinio žodžio ilgis. Tai dvejetainio kodo bitų (skilčių) skaičius,kurį vienu metu gali apdoroti MP:2,4,8,16,32,64. 8 skiltys-1 baitas.
4. MP adresų magistralės skilčių skaičius. Pagal šį skaičių atminties ląstelių arba įvedimo-išvedimo irenginių. M-adresų magistralės linijų skaičius, tai MP ggali adresuoti N=2m.Plačiausiai naudojamos 16 skilčių adresų linijos m=16,tada N=216=65536.
5. MP greitaeigiškumas,matuojamas 2 būdais:1) paprasčiausios operacijos(pvz.duomenų persiuntimo iš vieno registro į kitą) laiku;2)operacijų skaičiumi ,atliekamu per 1sek.
Mp greitaeigiškumas priklauso nuo gamybos technologijos ir taktinio dažnio. Kiekvienam MP nurodomas ribinis taktinis dažnis.
6. Maitinimo įtampa ir sunaudojama galia. Ši CH nurodo kiek įtampų reikalinga MP maitinimui, kokia galią sunaudoja MP. Pvz.: I8080 naudoja-5V,+5V, +12V (3 šaltiniai). Suvartojama galia neviršija 2W.
7. MP darbo aplinkos sąlygos: temperatūrų diapazonas (-60C+125C);drėgmė (santykinė drėgmė procentais); vibracijų diapazonas (matuojamas pagreičiu gg=9,8 m/s20.
3.Mikroprocesinis sistemos organizacija ir architektūra
MPS organizacija suprantama šiais pagr.požymiais:
1. Techninių ir programinių priemonių struktūra(sudėtis)
2. Tarpusavio sąveika tarp techninių ir programinių priemonių.
3. Techninių ir programinių priemonių funkcinės savybės.
MPS yra sudėtinga daugelio lygių (pakopų) sistema,kur kiekviename lygyje yra tam tikra to lygio organizacija.
Žemiausias lygis-fizinė organizacija. Ją apibūdina MPS funkcinė schema ir principinė elektrinė schema. F-inė schema parodo,iš kokių fizinių mazgų ar elementų sudaryta MPS. Kiekvienas fizinis elementas apibūdina tam tikras MPS funkcionavimo savybes.
Aukštesnis lygis-MPS loginė organizacija. Loginė organizacija techninių priemonių lygyje apima atskirų MPS techninių mazgų tarpusavio ryšius (laikinės funkcionavimo diagramos) ,atskirų mazgų funkcionavimo algoritmus; Programinių priemonių loginė organizacija apima MPS programavimo aplinkas,programinės įrangos sudėtį,jos savybes.
Projektuojant MPS yra paskirstoma atskirai techninė dalis ir programinė dalis. Svarbu optimaliai parinkti santykį tarp šių dalių.MPS architektūra suprantama kaip MPS funkcinės galimybės,naudojamos kuriant programas, perduodant ir priimant duomenis,kuomet MPS funkcionuoja tam tikru optimaliu būdu. T.y architektūra-techninių priemonių visuma, jų funkcinės galimybės.
MPS architektūrą apibūdina apibendrinta MP funkcinė schema:
MP-mikroprocesorius.
SM-sisteminė magistralė.
AĮ-atminties įrenginys
Įv-Iš Į-įvedimo išvedimo įrenginys.
Pagrindinis elementas yra MP,kuris vykdo visas pagrin. MPS f-jas(valdymo). Ryšys tarp MP ir kitų MPS mazgų vyksta per sisteminę magistralę SM.Ją sudaro linijų visuma, kurios skirstomos į:
1. Adresų magistralė.
2. Duomenų magistralė
3. Valdymo magistralė
AM skirta adresavimui(adreso nurodymai) dvejetainio kodo pavidale. Dirbant MPS adresui nurodomi AĮ ar Įv-Iš Į ir pan. Įrenginys tturi savo autonominį adresą.
DM naudojama duomenų perdavimui(rašymui) arba duomenų priėmimui (skaitymui). Duomenų perdavimas ir priėmimas-tai informacijos mainai.
VM naudojama valdymo signalams formuoti,kurie užtikrina informacijos mainus per duomenų magistralę.
AĮ(atmintinė) yra skirtas komandų,programos ir duomenų,reikalingų programai vykdyti,įsiminimui.
AĮ turi 2 rūšių atmintis:
1. Pastovioji atmintis
2. Operatyvioji atmintis.
Pastovioji atmintis išlieka nepakitus išjungus maitinimo įtampą (PA).
Operatyvioji atmintis (OA)-tai atmintis ,kuri išsitrina išjungus maitinimo įtampą.
Įv-Iš Į skirtas informacijos mainams tarp MPS ir išorinių objektų,kurie prijungiami prie MPS.Informacijos mainai tarp išorinio objekto ir MP vykdomi per Įv-Iš Į ir SM. Tačiau gali būti naudojamas tiesioginės informacijos mainų režimas,kuomet informacija perduodama ir priimama be MP pagalbos. Šiuo atveju informacijos mainų valdymą turi vykdyti Įv-Iš Į ir jie vyksta tarp AĮ ir ĮvžIš Į, ir per jį su išoriniu objektu.
Informacija per Įv-Iš Į perduodama ir priimama 2 pavidalais:
1. Lygiagretusis pavidalas
2. Nuoseklus pavidalas
NRK-nuoseklaus ryšio kanalas:
MP sisteminė magistralė atvira-prie jos gali būti jungiami ir kiti įrenginiai. Dažnai MPS naudojamas įrenginys yra realaus laiko skaičiavimo įtaisas (laikmatis)-taimeris. Jis jungiamas prie SM.
Bendru atveju MPS funkcionuoja taip:įjungus maitinimo įtampą MP iš AĮ pagal pradinį adresą (nulinį 0000H) skaito pirmą komandą. Ji dešifruojama MP, formuojami jai vykdyti reikalingi valdymo signalai , o komanda vykdoma. Po to MP skaito antrą komandą iš AĮ ir t.t.
Visos komandos vykdomos griežtai nuosekliai,viena paskui kitą. Kiekvienu llaiko momentu apdorojama tik 1 komanda.
3. MPS pagrindiniai architektūrų tipai (pagal atminties organizaciją).
Pagal tai MPS skirstomos į:
1. Dž.fon Neimano
2. Harvardo laboratorijos (Prinstono universiteto)
Pagal (1) architektūrą programos kodai ir duomenys jai vykdyti talpinami vieningame atminties lauke ir nėra jokio skirtumo tarp komandos ir duomenų jai vykdyti. Komanda atskiriama nuo duomenų tik ją įvedus į MP. Pagal (2) architektūrą AĮ turi 2 skirtingas atminties sritis,kuriose atskirai saugojamos programos ir atskirai duomenys jai vykdyti. Komandos,kurių visuma sudaro programą,saugojamos kodų segmente CSEG, o duomenys saugojami duomenų segmente DSEG. Jos yra griežtai atskirtos ir kreipimasis į jas vyksta skirtingais būdais.
3. tipas plačiausiai paplitęs paskutinės kartos MP ir turi šiuos pagr.privalumus:
1) labai supaprastėja komandų sistema;
2) komandų sistemos komandos tampa žymiai efektyvesnės:viena komanda vykdoma greičiau ir gali atlikti daugiau funkcijų.
Toliau vystantis atminties organizacijai,buvo suformuota speciali atminties sritis-registrų segmentu RSEG.
RSEG-tai tam tikras atminties ląstelių rinkinys,skirtas tam tikro riboto informacijos skaičiaus saugojimui ir labai greitiems informacijos mainams.RSEG talpinamas pačiame MP.RSEG struktūra priklauso nuo konkretaus MP tipo.
Infor. mainams su išoriniais įrenginiais išskiriama speciali atminties sritis-įvedimo išvedimo segmentu IOSEG (Input-Output seg.). Per šią atminties duomenys perduodami ir priimamai iš išorinių įrenginių. IOSEG, per kurį vyksta inf. mainai, paskirtis gali būti dvejopa:
1) jame talpinami duomenys,priimti iš išorinio įrenginio.
2) —-//—-,skirti perdavimui į išorinį įrenginį.
MPS atmintis gali būti
organizuota naudojant IOSEG dvejopai:
1. Su „izoliuota“ IOSEG.
2. Su bendru „IOSEG“
1 atveju IOSEG valdomas atskiromis komandomis. 2 atveju į IOSEG galima kreiptis kaip ir į atminties ląstelę.
Grafiškai atminties organizaciją galima pavaizduoti taip:
a) b)
1)Neimano
a) b)
2) Harvardo labor.
5.MPS ATMINTIES ORGANIZAVIMAS
MPS atminties įrenginys naudojamas programos komandoms ir duomenims,reikalingus programai vykdyti,saugoti programiniu požiūriu.atminties įrenginys (AĮ) yra laikomas-atminties lauku.
Atminties lauką dažniausiai sudaro tiesinė seka atminties ląstelė ir tokia atmintis-tiesinės organizacijos atmintimi.Kiekvienos atminties ląstelė turi savo numerį ir vadinama jos adresu.
Atminties ląstelių skaičius priklauso nuo MP adresų mmagistralės linijų skaičiaus. Esant m linijų skaičiui,MPS yra 2m atminties ląstelių. Atminties ląstelių adresai dar vadinami atminties adresų lauku. Bendru atveju atminties laukas yra nuo 0.2m-1,m=16,18,20,24,32.
Kiekviena atminties ląstelė saugoja tam tikrą informacijos vienetų,dažniausiai 8 bitus(1 baitą). Tokia atmintis,kurios atminties ląstelės turi talpą 1 baitą (B),vadinami baitinės organizacijos atmintis.
MPI8080 atminties įrenginys lauką galima pavaizduoti grafiškai.
Atminties laukas sudarytas iš baitinių atminties ląstelių. Kur kiekvienoje ląstelėje yra saugomas duomenų baitas (DB), DB sudarytas iš 8 bitų, kurie kinta nuo D7.D0. Baitas skirstomas į 22 dalis:
1.D3.D0 – jaunesnioji tetrada;
2.D4.D7 – vyresnioji tetrada.
Kartais 2 baitai apjungiami ir sudaro vieningą informacijos vienetą, vadinamą duomenų žodžiu (DW).
DW=DBH+DBL;
DBL – jaunesnysis baitas; DBH – vyresnysis baitas.
Komandose nurodant DW, nurodomas jaunesniojo baito DBL adresas. Atminties ląstelėje saugojama informacija dar kartais vvadinama komandiniu objektu.
Jį sudaro komanda ir jai vykdyti reikalingi duomenys, kurie vadinami operandais.
6.Programa,komanda,komandinis ciklas
MPS bet kuriuo laiko momentu vykdomi šie veiksmai:
1.Duomenų arba informacijos įvedimas.
2.Informacijos apdorojimas
3.Duomenų išvedimas
Visi šie veiksmai vykdomi pagal programą, kuri talpinama atminties įrenginyje.
Programa – tai nuosekli komandų seka. Programos vykdymas – tai nuoseklus komandų vykdymas.
Komanda vadinama pilnai užbaigtas elementarus veiksmas, kurį atlieka MP.Komanda charakterizuojama šiais požymiais:
1.Duomenų naudojimui komandai vykdyti tipai
2.Komandos veiksmo tipas (h atlieka komanda);
3Duomenų reikalingų vykdyti komandas šaltinis.
4.Rezultato gauto vykdant komandą, talpinimo vieta.
5.Kitas komandos iškvietimo adresas (šaltinis).
Kiekviena komanda saugojama AĮ, koduotame pavidale.Šių komandų visuma koduotame pavidale ir sudaro programą, pagal kurią dirba MPS.Kodai, kurie saugojami AĮ –mašinų kodai.
Komandinis ciklas – tai laikas, per kurį atliekama 1 komanda. Komandinis ciklas skirstomas į:
1.Išrinkimo fazę.
2Vykdymo fazę.
Komandų vykdymo ciklą galima atvaizduoti ggrafiškai:
1.Išrinkimo fazė. Visoms komandoms ji vienoda. Šioje fazėje iš AĮ pagal adresą, kuris nurodomas programiniame skaitiklyje, komanda skaitoma ir talpinama komandų registre. Kartu PC turinys didinamas 1 arba 2.
2.Vykdymo fazė. Ji skirtinga kiekvienai komandai, priklausomai nuo komandos tipo. Šioje fazėje atliekami 2 pagrindiniai veiksmai:
1)komandos kodo, patalpinto IR dešifravimas;
2)valdymo signalo formavimas pagal dešifravimo rezultatą;
3)komandos vykdymas.
2 veiksmas vykdymo fazėje apima tokius procesu:
1.Duomenų skaitymas iš AĮ arba ĮIĮ.
2.Duomenų rašymas į AĮ ar ĮIĮ.
3.Matematinės operacijos.
4.Loginės operacijos.
5.Perėjimas iš vienos programos į kitą.
6.Keičiant PC.
Pabaigus vykdymo fazę pprocesas kartojamas, skaitoma eilinė komanda iš AĮ.
Ypatinga komanda HALT, kuri nutraukia komandinio ciklo eigą ir MP pereina į laukimo būseną.
Visumoje MPS veikia taip:įjungus maitinimo įtampą (nuspaudus pradinio nustatymo mygtuką), išvalomas programinis skaitiklis PC=0000H. Šis adresas vadinamas startiniu adresu, pagal kurį skaitoma pirmoji programa iš AĮ. Vykdoma išrinkimo fazė. Komanda dešifruojama ir atliekami tam tikri veiksmai, būdingi dešifruotai komandai.Skaitoma antroji iš eilės komanda ir procesas kartojamas.
7.MPS sisteminė magistralė (SM).SM tipai
MPS informacijos mainai tarp MP ir AĮ bei ĮIĮ įvyksta per ryšių linijų visumą, kuri vadinama sistemine magistrale (SM).SM linijos grupuojamos pagal funkcinę paskirtį į šias grupes:
1.Adresų linijos – adresų magistralė (AB)
2. Duomenų linijos – duomenų magistralė (DB)
3.Vykdymo linijos – valdymo magistralė (CB)
MPS, priklausomai nuo šių magistralių skaičiaus, naudojamos 2 tipų sisteminės magistralės:
1.Trijų magistralių sisteminės magistralė (I80808)
2.Dviejų magistralių SM(I8085).
1.Trijų magistralių SM (I8080).
AB vienakryptė ir naudojama AĮ arba ĮIĮ adresų nustatymui (adresavimui). Linijų skaičius priklauso nuo MP naudojamo MPS. I8080 turi 16 linijų.
AB=ADRH+ADRL; adresai nuo A15.A0.
ADRH – A15.A8; ADRL – A7.A0.
DB- dvikryptė, t.y, duomenys perduodami ir priimami, ir naudojama duomenų įvedimui ar išvedimui. I8080 turi 8 linijas D7.D0. CB- dvikrypte, linijų signalai perduodami į MP arba iš MP. CD naudojama duomenų mainų procesui aptarnauti. Šioje magistralėje yra formuojami valdymo signalai, naudojami ddirbant MPS kai vykdoma eilinė komanda.
2. Dviejų magistralių SM (I8085).
Magistralė turi bendrą adresų ir duomenų magistralę ADB. Čia ADB skirtingais laiko momentais yra perduodamas adresas ir duomenys. Pradedant komandinį ciklą, pradžioje ADB magistralėje formuojamas adresas. Adreso fiksavimui išoriniame adresų registre naudojamas specialus valdymo magistralės CB signalas ir jo atitinkama linija ALE. Šiam signalui kintant iš loginio 1 į loginį 0 adresas suformuotas ADB turi būti fiksuojamas išoriniame adreso registre. Kai signalas ALE=0, ADB magistralėje formuojami duomenys arba jie skaitomi. Signalas ALE naudojamas ADB funkcijoms atskirti; kai ALE=1, ADB atlieka AB funkcijas, o kai ALE=0, ADB atlieka OB funkcijas. Pagal adresų registro vietą MPS, galimos šios MPS schemos:
1. Su vietiniais adresų registrais.
2. Su bendru adresų registru.
Pagal 1 schemą AĮ, ĮIĮ turi atskirus adresų registrus, kuriuose fiksuojami adresai. 2 schemoje su bendru registru:
Pradedant komandinį ciklą magistralėje ADB formuojamas adresas laiko momentu t1, kintant signalui ALE iš 1 į 0, adresas fiksuojamas adresų registre. Toje pačioje magistralėje formuojami duomenys (jei vykdomas rašymo ciklas ar duomenys įvedami, jei vykdomas skaitymo ciklas) laiko momentu t2. Skaitymui rašymui naudojami strobavimo signalai.
8. Sisteminės magistralės darbo ciklai
Programiniu požiūriu komanda – elementarus ir nedalomas veiksmas kurį atlieka MP. Tačiau techniškai bet kuri komanda susideda iš 1 arba kkelių elementarių veiksnių, kuriuos atlieka MP vykdydamas komandą. Kiekvienas MP turi tam tikrą ribotą skaičių elementarių veiksnių, kurie vadinami tipiniais veiksniais. Kiekvienas tipinis veiksmas, kurį atlieka MP, susijęs su kreipimusi i sisteminę magistralę (SM). Šie tipiniai veiksmai vadinami SM darbo ciklais. Priklausomai nuo MP, jo komandų sistemos, gali būti įvairūs SM darbo ciklai. Tačiau bet kurioje MPS galima išskirti šiuos pagrindinius darbo ciklus:
1. skaitymo darbo ciklas
2. rašymo darbo ciklas
3. specialūs darbo ciklai iš kurių pagrindiniai yra:
a. pertraukties darbo ciklas
b. tiesioginių info mainų darbo ciklas
c. paleidimo darbo ciklas
d. sustojimo darbo ciklas
Kiekvienas iš šių darbo ciklų yra aptarnaujamas naudojant tam tikrus vykdymo signalus, kurie formuojami valdymo magistralėje. Pagrindiniai valdymo signalų rinkiniai yra 2 rušių:
Pirmas rinkinys
1. MRDC (memory read command)
2. MWTC (memory write command)
3. IORC (input/output read command)
4. IOWC (input/output write command)
5. PSEN (programm segment enable)
Antras rinkinys
1. RD read
2. WR write
3. M/ memory/input output
4. COD code
Visus šiuos valdymo signalus galima suskirstyti į 2 grupes: sinchronizacijos arba strobavimo signalai – tai dinaminiai signalai kurių poveikis pasireiškia kintant iš 1 į 0; valdymo signalai – potencialiniai loginai signalai, kurių poveikis pasireiškia tam tikram loginiam lygiui.
1 grupės signalų paskirtis
MRDC atminties skaitymo strobalinis signalas
MWTC atminties rašymo strobalinis signalas
IORC įvedimo išvedimo įrenginio skaitymo strobalinis signalas
IOWC įvedimo išvedimo įrenginio rašymo strobalinis signalas
PSEN programinio segmento atminties skaitymo strobalinis signalas
2 grupės signalai
RD skaitymo
strobalinis signalas, naudojamas tiek atminčiai, tiek ĮIĮ skaityti
WR rašymo strobalinis signalas.
M/ atminties arba ĮIĮ valdymo signalas potencialinis. Kai šis signalas =1, valdomas atminties įrenginys, kai =0 – ĮIĮ.
COD valdymo signalas naudojamas kodų segmento valdymui.
Atminties įrenginys valdomas šiais signalais
MRDC MWTC, RD WR, kai M/ =1
ĮIĮ valdomas šiais signalais
IORC IOWC, RD WR, kai M/ =0.
9. Sistemines magistralės skaitymas
SM skaitymo darbo cikle dirba tuomet kai vykdo įvairias skaitymo operacijas. Skaitymo operacijos yra šios:
1. duomenų ir komandų skaitymas iš atminties įrenginio
2. duomenų skaitymas iš ĮIĮ
3. komandų skaitymas iiš ĮIĮ programų pertraukties atveju
4. duomenų skaitymas iš ĮIĮ dirbant MP tiesioginių info mainų
Laikinės funkcionavimo diagramos esant 3 sisteminių magistralių yra šios
Pradedant skaitymo operacija MP adresų magistralėje formuoją adresuojamo elemento adresą. Iš kurio bus vykdoma skaitymo operacija. Vienu metu gali būti skaitomas tik vienas elementas. Duomenų magistralėje DB adresuotas elementas formuoja duomenis kurie bus įvedami į MP (skaitomi). Skaitymo procesą lydi valdymo signalas formuojamas valdymo magistralėje. Šiam skaitymo signalui kintant iš loginio 0 į loginį 1 (laiko momentu t1) duomenys fiksuojami MMP vidiniuose registruose.
Laikinės funkcionavimo diagramos esant dviejų magistralių sisteminei magistralei
Dviejų magistralių atveju adresai ir duomenys perduodami per tą pačią ADB magistralę. Pradedant skaitymo operacija ADB magistralėje formuojamas adresuojamo elemento adresas. Šiam adresui įsiminti išoriniame registre formuojamas valdymo signalas ALE, kuriam kkintant iš loginio 1 į 0 (laiko momentu t1) adresas įsimenamas adresų registre. Minėtu laiko momentu skaitymo strobavimo signalas =1. ADB magistralėje adresuotas elementas turi formuoti skaitomus duomenis. Duomenys skaitomi adba įvedami į MP laiko momentu t2, kai skaitymo signalas kinta iš loginio 0 į 1 lygį. Šiuo momentu skaitomi duomenys įsimenami vidiniuose MP registruose.
10. Sisteminės magistralės rašymo darbo ciklas
SM rašymo darbo ciklas vyksta tada kai duomenys perduodami iš MP į kitus MPS elementus. Rašymo operacijos vykdomos šiais atvejais:
1. rašant duomenis į atminties įrenginį
2. rašant duomenis į ĮIĮ
3. rašant duomenis į IĮI tiesioginių info mainų darbo režime
laikinės funkcionavimo diagramos dirbant SM rašymo režime yra analogiškos skaitymo diagramoms, tačiau naudojami kiti rašymo signalai. Rašymo darbo metu naudojami šie strobavimo signalai: WR, MWTC, IOWC. 1 ssignalas nudojamas rašnat į AĮ arba ĮIĮ, kai naudojamas valdymo signalas M/ . 2 signalas naudojamas rašant į AĮ. 3 naudojamas rašant į ĮIĮ. Rašymo darbo ciklo metu, pirmosios kartos MP komplekto elementai naudoja rašymo strobavimo signalus kurie fiksuoja duomenis, kai signalo lygis lygus loginiam 0. antrosios kartos elementai priima rašomus duomenis tik rašymo strobavimo signalui kintant iš 0 į 1. pastariesiems naudojamas prierašas A raidė. Tai gali būti AWR, AMWTC, AIOWC.
11. SM pertraukties darbo ciklas
dirbant MPS joje gali kilti įįvikiai, situacijos, kurios reikalauja tam tikrų veiksmų, t.y.:
1. pagrindinės darbo programos laikino nutraukimo ir grįžimo į pagrindinės programos adreso įsiminimo;
2. papildomos programos (paprogramės) vykdymo;
3. grįžimo į pagrindinę programą jos nutraukimo vietoje.
Įvairūs procesai gali kilti MPS viduje arba išorėje ir šie procesai iš anksto nėra žinomi ir todėl negali būti programuojami pagrindinėje programoje. Toks laikinas pagrindinės programos nutraukimas vadinamas pertraukties darbo režimu ir naudojamas tais atvejais kai iš anksto nėra žinomas įvykio atsiradimo momentas. Techninės programų priemonės naudojamos pagrindinės programos nutraukimo atveju vadinamos pertraukties organizavimo sistema.
Programa kuri yra vykdoma pertraukties režimu vadinama pertraukties aptarnavimo paprograme. Pertraukties metu yra generuojami specialūs signalai IRQi, i=1,2,3. (interrupt request). Šie signalai vadinami radialinės pertraukties reikalavimo signalais. Šiuos signalus generuoja MPS elementas kuris reikalauja pagrindinės programos pertraukties. MPS gali būti ne vienas, bet daug elementų kurie reikalauja pertraukties. Be to pertraukties reikalavimai gali ateiti iš kelių elementų vienu metu. Todėl pertraukties sistemoje naudojamas valdymo siganals INTR (interrupt) kuris patenka į MP atitinkamą įėjimą. Šis signalas vadinamas vektorinės pertraukties reikalavimo signalu. INTR signalas patekęs į MP iššaukia specialų sisteminės magistralės pertraukties darbo ciklą. Šis ciklas pasižymi šiais ypatumais.
1. pagal signalą IRQi vienareikšmiškai yra nustatomas pertraukties reikalavimo šaltinis (adresas);
2. vykdomas skaitymo darbo ciklas kurio metu informacija apie pertraukties šaltinį įvedama į MP;
3. skaitymo procesas vvyksta analogiškai kaip ir duomenų skaitymo atveju, tačiau strobavimui naudojamas specialus signalas INTA (interrupt acknowledge), kuris vadinamas pertraukties patvirtinimo signalu.
Visi pertraukties procese naudojami signalai IRQi, INTR, INTA turi savo atskiras linijas valdymo magistralėje. Pertraukties proceso metu duomenys iš pertraukties aptarnavimo paprogramės į pagrindinę programą perduodami per atminties sritį įvedimo išvedimo segmentą IOSEG. Todėl pertraukties sistema yra dalis įvedimo išvedimo sistemos.
12. SM darbo režimai
MPS SM gali dirbti dviem režimais: sinchroniniu ir asinchroniniu.
Sinchroninio režimo darbo metu pagrindiniai SM darbo ciklai (skaitymo, rašymo, specialūs) vykdomi sinchroniškai pagal valdymo signalus kuriuos formuoja MP. Visų strobavimo signalų trukmės, jų tarpusavio seka laike griežtai nustatoma MP.
Asinchroninio darbo režimo metu valdymo magistralėje yra formuojamas specialus valdymo signalas turintis pavadinimą XACK (exchange acknowlegde), kuris naudojamas info mainų proceso suderinimo su elementais, kurie dalyvauja info mainuose. Šį signalą, vadinamą info mainų pasiruošimo signalu, formuoja MPS elementas su kuriuo vykdomi info mainai dirbant SM asinchroniniame darbo režime. Kai elementas nėra pasiruošęs info mainams, jis formuoja signalą XACK=0 ir MP pereina į laukimo būseną tol, kol XACK=0. kai tik elementas pasiruošia info mainams jis perduoda signalą XACK=1 ir MP baigia info mainų procesą. Signalo XACK kitimo logika MPS gali būti dvejopa:
1. būdingas didelėms MPS, kai signalas XACK prieš info mainų pradžią ir ppabaigoje lygus 0;
2. signalas XACK prieš ir oi lygus 1.
Pirmasis atvejis yra klasikinis signalo kitimo atvejis ir jo laikinė funkcionavimo diagrama yra
CLK – SM sinchronizacijos signalas.
Prasidėjus info mainų procesui, kai skaitymo ar rašymo strobavimo signalas pasikeičia iš loginio 1 į 0 laiko momentu t1 yra kontroliuojamas signalas XACK. Jei laiko momentu t1 XACK=0 tai elementas su kuriuo vyksta info mainai nėra pasiroušęs, todėl MP pereina į laukimo būseną kurią simbolizuoja signalas WAIT=0. Kintant CLK iš 1 į 0 pagal užpakalinį frontą visą laiką tikrinamas signalas XACK. Kol XACK=0 tol procesas vyksta laukimo būsenoj. Laiko momentu t2 formuoja signalą XACK=1 yra baigiamas info mainų procesas, t.y. duomenys skaitomi arba rašomi laiko momentu t4 išorinis elementas vėl grąžina signalo XACK pradinį stovį, o MP baigia laukimo būseną.
Antruoju atveju laikinės funkcionavimo diagramos yra šios:
Šiuo atveju signalo XACK reikšmė prieš ir po info mainų yra =1. labai svarbu, kad pirmojo tikrinimo metu t1, kai elementas nėra pasiruošęs info mainams. Procesas laiko momentu t3 baigiamas ir MP baigia laukimo būseną. Signalas WAIT=0 laiko momentu t4. Tokia signalo XACK kitimo logika leidžia maksimaliai supaprastinti šio signalo formavimo schemą ir naudojama nedidelėse MPS.
13. Tipinės MPS struktūros
pagal apibendrintą MPS funkcinę schemą pagrindiniai elementai (MP, AĮ.
ĮIĮ) yra atskiros sistemos, žemesnio lygio posistemės, kurios turi savo struktūrą ir sudėtį. Šiuolaikinės MPS projektuojamos kaip atskiri moduliai, t.y. MP modulis, AĮ modulis, ĮIĮ modulis. Modulis tai savarankiškas MPS elementas, fiziniame lygyje tai atskira spausdintinė plokštė, turinti standartinius gabaritus. MPS moduliai tarpusavyje jungiami naudojant SM. SM yra atvira, t.y. prie jos be standartinių modulių gali būti prijungiami ir kiti naujai sukurti moduliai. SM yra standartizuotos ir jų linijų rinkinys yra apibrėžtas standartais. Projektuojant MPS yra naudojamas universalus modulinis magistralinis pprincipas. T.y. sistemą sudaro atskiri savarankiški moduliai jungiami prie bendros SM.
Pagal apibendrintą modulinės magistralės sistemos funkcinę schemą pagrindinis yra MP modulis, kuris valdo ir koordinuoja visos sistemos darbą. Atskiroje posistemėje, AĮ modulyje, galima išskirti PA ir OA. PA yra saugoma darbo programos ir ji yra didelės talpos. OA saugojami kintamieji dydžiai ir jos talpa nedidelė. Įv-Iš posistemėje galima išskirti šiuos pagrindinius elementus:
1. paprasčiausiu atveju ĮIM gali sudaryti atskiri adresuojami registrai kartu su buferinėmis schemomis. Tokie registrai vadinami portais (P0, P1.);
2. sudėtingesniais atvejais pportai yra apjungiami į blokus, kurie pilnai programiškai valdomi ir sudaro periferinius adapterius. Jie projektuojami kaip atskiros didelės integrinės schemos, kurios pilnai programiškai valdomos. Tokie adapteriai turi tam tikra skaičių darbo režimų, kuriuos galima programuoti;
3. sudėtingais atvejais, kai info mainai vyksta ppagal sudėtingus protokolus įvairiose ryšių komunikacinėse priemonėse, naudojami įtaisai sudaryti iš keleto periferinių adapterių ir vadinami periferiniais kontroleriais. Dažniausiai periferiniai kontroleriai turi savo MP, kuris vadinamas koprocesoriumi ir užtikrina info mainus pagal programuojamus algoritmus.
Prie SM gali būti jungiami ir papildomi moduliai atliekantys tam tikras specifines vartotojui reikalingas nestandartines funkcijas. Daugeliui info mainų funkcijų yra sukurtos didelės integruotos integrinės schemos ir belieka pasirinkti. Nuosekliems info mainams sukurta nuosekliojo ryšio adapteris. Realaus laiko matavimui įvairiausių impulsų dažnio matavimui SM pertraukties darbo ciklo organizavimui.
Pagal atskirų modulių prijungimą prie SM galima išskirti šias pagrindines struktūras:
1. magistralinė kaskadinė struktūra;
2. magistralinė radialinė struktūra.
SMV – sisteminės magistralės valdiklis.
Šioje struktūroje SMV dažniausiai turi savo MP, kuris skirtas info mainų suderinimui tarp SM ir SMV. Info mainų proceso pagrindinis suderinimo principas yyra atskirų portų reikšmingumo prioritetinė eilė. SMV info mainų srautą valdo priklausomai nuo porto reikšmingumo ir užtikrina duomenų perdavimą tarp MP modulio ir atskirų portų.
Šioje struktūroje SMV atlieka tas pačias funkcijas kaip ir ankščiau. Tačiau portai radialinės struktūros.
Nepriklausomai nuo struktūros bei kurioje sistemoje info mainai vyksta tik su 1 sistemos elementu. Tas elementas su kuriuo vyksta info mainai yra vadinamas aktyviu elementu ir aktyvus gali būti tik tas vienas elementas. Sudėtiniais atvejais, kai prie SM prijungta daug įvairiausių modilių, kurie tturi savo MP ir sudaro atskiras žemesnio lygio posistemes, bendra SM turi būti paskirstyta tarp atskirų modulių. SM paskirstymas atliekamas pagal šiuos principus:
1. SM užėmimo reikalavimo eilė;
2. atskirų modulių reikšmingumo prioritetinė eilė.
Sudėtingais atvejais info mainų tarp SM organizavimą vykdo specialūs įtaisai vadinami SM arbitru. Šis įtaisas dažniausisi savo sudėtyje turi MP kuris pagal tam tikrą algoritmą paskirsti info mainus tarp atskirų sistemos modulių.
14. MPS su MP i8080 struktūra
Šios MPS struktūrą lemia MP i8080, kuris turi šiuos pagrindinius parametrus: taktinis dažnis ≤2,5 MHz; greitaeigiškumas esant šiam dažniui reg↔reg 1,6μs, reg↔atm 2,8μs; maitinimo šaltinis +5V≤70mA, +12V≤50mA, -5V≤1mA; gamybos technologija n-MOP; tranzistorių skaičius apie 5000; išvadų skaičius 40; išvadų žingsnis 2,5mm.
MPS su MP i8080 struktūrą apibūdina jo funkcinė schema.
MPS sisteminė magistralė sudaryta iš 3 tipų magistralių: AB adresų magistralė, DB duomenų magistralė, CB valdymo magistralė.
AB – vienintelė turinti 16 linijų, todėl galinti adresuoti bendru atveju 216 elementų arba 26*210=64k k=210=1024.
DB – dvikryptė per kurią vienu metu galima perduoti abiem kryptimis 8 bitų arba 1 baito duomenis.
CB – turinti 10 linijų ir joje formuojami info mainus aptarnaujantys valdymo signalai.
MPS atmintie įrenginys valdomas šiais signalai: adreso linijos ADR, duomenų linijos 1 baitas, strobavimo signalai (MWTC, MRDC). Atmities organizacija yra vieno tipo, t.y. turi bendrą kodų ir duomenų ssegmentą (CSEG, DSEG).
ĮIĮ naudoja izoliuotą IOSEG kurio talpa 28=256. MP komandų sistemoje yra specialios komandos kurios valdo ĮIĮ. Šis įrenginys valdomas šiais signalais: 8 adreso linijos, 8 duomenų linijos, 2 strobavimo linijos (IOWC, IORC).
MPS gali būti plečiama prie SM jungiant papildomus modulius. Bet kuriuo laiko momentu dirbant MPS aktyvus yra tik 1 sistemos elementas. MP i8080 valdo ir koordinuoja visų sistemos elementų darbą.
15. MP i8080 registrų segmentas
MP i8080 registrų segmentas yra patalpintas jo viduje. Šį segmentą sudaro tam tikras specifinis būdingas šiam MP registrų rinkinys, kuris naudojamas kaip greitaeigė atmintis vykdant komandas. MP i8080 registrų segmentą galima pavaizduoti grafiškai.
A – vadinamas akumuliatoriumi, tai registras kuris naudojamas visose aritmetinėse bei loginėse komandose, taip pat įvedant arba išvedant duomenų baitą. Šis registras yra 8 bitų talpos ir naudojamas aritmetinėse bei loginės komandos vieno iš duomenų bei komandos rezultato saugojimui.
F – požymio registras naudojamas fiksuojant veiksmo požymį. Šiame registre fiksuojami 5 požymiai. T.y. CY (carry) perkėlimo arba skolinimosi iš vyriausio skilties D7 požymis nustatomas atliekant aritmetines bei logines komandas. Kai CY=1 požymis nustatytas. P – parteto požymis, parodo, kad operacijos rezultatas patalpintas į akumuliatorių lyginį, kai P=1 ir nelyginį kai P=0 vienetų skaičių. AC – pagalbinis perkėlimo požymis, nustatomas kai yra perkėlimas iš 33-čios skilties D3 į ketvirtą D4. šis požymis kontroliuojamas dažniausiai vykdant veiksmus su dvejetainiais dešimtainiais skaičiais. Z – nulinio rezultato požymis, kai =1 tai 0 rezultatas. S – ženklo požymis parodantis koks veiksmo rezultatas. Jeigu teigiamas tai S=0, kai neigiamas S=1.
H (high) L (low) šie registrai naudojami komandose kuomet vykdomi info mainai tarp atminties ląstelės ir 1 iš registrų. Komandos kurios naudoja registrų porą HL mnemo koduose žymimos raide M (Memory).
SP – steko rodiklis. Tai 2 baitų specialus registras naudojamas nurodyti atminties sryčiai vadinamas steko (dėklo) atmintimi. Ši atmintis yra ypatinga tuo, kad į ją duomenų baitas įtašomas ir skaitomas griežta eilės tvarka. MP i8080 komandų sistemoje steko valdymo komandose vienu metu įrašomi ir skaitomi 2 duomenų baitai.
PC – programinis keitiklis. Tai specialus 2 baitų talpos registras kuriame saugojama eilinės komandos, kuri bus vykdoma adresas.
Paminėti registrai A, F, HL, SP, PC sudaro tipinį MP turinčio akumuliatorių registrų rinkinį.
Be šių registrų MP dar yra papildomi, tai vadinami bendrosios paskirties registrais BC, DE. Jie naudojami nurodant adresą arba talpinant duomenis.
Registrai A ir F gali būti apjungti į registrų porą kuri vadinama PSW programos stovio žodžiu. Registrų poros HL, DE, BC komandose žymimos 1 raide H, D, B.
16.Bendroji
MP I8080 komandų sistemos charakteristika
MP komandų sistema – jo vykdomų komandų visuma. Kiekvienas MP turi jam būdingą komandų sistemą. MP komandų sistema skiriasi komandų skaičiumi, jų tipais. Bet kuri komanda charakterizuojama jos formatu, kuris nusako komandos struktūrą. MP I8080 bet kurią komandą galima pavaizduoti grafiškai (OK- operacijos kodas, OP – operandas).
OK talpinamas visada komandos baite, gali būti vienintelis, jame nurodomas veiksmas, kuri vykdys komanda.
OP – tai duomenys arba adresas, kur patalpinti duomenys, reikalingi komandos vykdymui. Komanda gali turėti 1 ar 22 operandus.
MP I8080 komandos būna 1,2 ar 3B ilgio.
Kiekvienas MP turi tam tikrus būdus kaip nurodomas duomenų reikalingų komandai vykdyti, adresas ir patys duomenys. Duomenų nurodymo būdai vadinami adresavimo būdais.
MO I8080 komandų sistema naudoja 4 adresavimo būdus:
1.Tiesioginis adresavimas
2.Tiesioginis registrų adresavimas
3. Netiesioginis registrų adresavimas
4.Betarpiškas adresavimas.
1.Komandoje tiesiogiai nurodomas duomenų adresas. Komandos gali būti 2B arba 3B. Esant 2B komandai I baitas – OK, o II – vieno baito (1B) adresas. 2B komandos turi tik 2 komandas: INPUT(IN) ir OUTPUT (OUT). 3B komandos –– kai nurodomas atminteis ląstelės adresas I – OK; I, II, III – atminties ląstelė ADR.
ADR H, ADR L)
2. Naudojamas dažniausiai persiunčiant duomenis iš registro I registrą. Šiose komandose nustatomas ne adresas, o registro kur patalpinti duomenys kodas: MP II8080 registrai turi šiuos kodus (fiksuotus adresus): B-000, C-001,D-010, E-011, H-100, L-101, M-110, A-111. Komandos naudojančios tiesioginį registrų adresavimą, būna 1B, kuriuose I baite nurodomas OK ir registrų, tarp kurių vyksta inf. mainai, kodai (adresai).
3. Komandos naudojančios šį adresavimą, turi 2 adresus- pradinį ir vykdomąjį. Pradinis adresas tai RP kodas, kuriame saugomas atminties ląstelės adresas. MP komandų sistemoje RP turi šiuos kodus: BC-00; DE-01; HL-10; PSW-11. Vykdomasis adresas yra patalpintas RP. Tokie veiksmai sutrumpina komandos ilgį. Komandos yra 1B ilgio.
4. Komandos, betarpiškai, pačioje komandoje, sudaromi duomenys komandai vykdyti. Komandos būna 2B arba 3B. I baitas-OK, II baitas- komandose duomenų baitas, III baitas- komandose 2, 3 baituose 2B duomenys.
MP I8080 naudoja visus minėtus adresavimo būdus ir turi 81 bazinę komandą. Bazinės kkomandos – tai komandos užrašytos naudojant tam tikrus sutartinius žymenis. Komandos veiksmas žymimas 3-4 didž. raidėmis, kurios reiškia tam tikrą veiksmą (anglų k.). Šis veiksmas – operacijos kodo OK santrumpa.
Operandų žymėjimui naudojamos šios santrumpos: R, R1, R2 (registro žymuo); RP (registrų pora) RP1, RP2 (vyresnysis ir jaunesnysis registrai, pvz RP1-H, RP2-L); D8 (duomenų baitas 8 skilčių); D16- 2B duomenys; D16H,D16L (vyresnysis ir jaunesnysis baitai); ADR (adresas): ADR1,A1; M[ADR]; M[HL]; M[RP]-atminties ląstelė , kurios adresas nurodomas laužtiniuose skliaustuose.
Veiksmai naudojami rodyklėm nusako dduomenų perdavimo kryptį.
Komandų S aprašoma bazinėmis komandomis, tokia forma.
mnemokodas Operandas komentaras
MOV R1, R2 R1←R2
Pagal funkcinę paskirtį MP komandų sistemos komandas galima suskirstyti į grupes:
1. Duomenų persiuntimo, sekos komandos.
2. Aritmetinės ir loginės komandos.
3. Valdymo perdavimo (nustatymo) komandos.
4. Darbo su paprogramėmis komandos.
5. Įvedimo – išvedimo bei specialiosios komandos.
17. DUOMENŲ PERSIUNTIMO IR SEKOS KOMANDOS
Sudaro 18 bazinių komandų: 14- persiūstims, 4- steko. Ši grupė komandų atlieka šias pagrindines komandas:
1. duomenų persiuntimą tarp registrų.
2. duomenų persiuntimą tarp registro ir atminties ląstelės.
3. duomenų mainus tarp registrų porų.
4. duomenų mainus tarp registrų poros ir steko atminties.
Ši grupė komandų požymių registre F nekeičia.
1. MOV R1,R2; R1←R2.
2. MOV R,M; R←M[HL].
3. MOV M,R; M[HL]←R.
4. MVI R,D8; R←D8.
5. MVI M,D8; M[HL]←D8.
6. LXI RP,D16; RP1←D16H; RP2←D16L.
7. LDA ADR; A←M[ADR].
8. STA ADR; M[ADR]←A.
9. LDAX RP; A←M[RP].
10. STAX RP; M[RP]←A.
11. LHLD ADR; L←M[ADR]; H←M[ADR].
12. SHLD ADR; M[ADR]←L; M[ADR]←H.
13. XCHG ; HL←DE.
14. PCHL ; PC←HL.
(1) Siunčia duomenis iš vieno registro į kitą (išskyrus F). MOV A,B; A←B. 1B komanda (tiesioginis reg adresas).
(2)(3) M ląstelės adresas sumuodamas HL poroje. Į registro ir iš registro siunčiamas M adresas. Nurodytas adresas RP. Netiesioginis reg adresavimas.
(4)(5)(6) duomenys talpinami pačioje komandoje (D8,D16). D8 (IB)→registras , kitas baitas→ skaičius, kurį siunčiame.
LXI-RP1-vyresnysis, RP2-jaunesnysis baitas. (3B):
LXI HL 16; H←D16H (aukšt); L←D16L (žem) 2B duomenų (aukšt ir žem)
(7)(8) AADR-atminties ląstelių adresas turi 2B. Vadinasi komanda yra 3B. Vykdomas lėtai. Į A nusiunčiamas komandos adresas, tiesiogiai nurodomas komandoje.
(9)(10) iš atminteis ląstelės, kurios adresas nurodomas RP, duomenys paduodami kaupikliui: (10) –atvirkščiai: iš A į atm ląstelę, kurios adresas RP 1B. netiesioginis adresavimas LDAX B; A←[BC]
(11)(12) inf mainai tarp atminties ląstelės į HL 3baitų ADR į jaunesnį, o ADR+1 į vyresnį. Atvirkščiai iš H(ADR+1) ir iš L(ADR)
LHLD 0305H
(13)(14) operandų neturi. 1B. Pasikeitimas duomenimis tarp registrų porų (13); ; (iš vyr į vyr) (iš jaun į jaun)
(14) į RP į PC. Pakeičiame kitos komandos skaitymo adresą- besąlyginis perėjimas.
15. PUSH RP, M[SP-1]←RP1; M[SP-2]←RP2.
16. POP RP; RP2←M[SP]; RP1←M[SP+1], SP=SP+1.
17. XLHL ; L←M[SP]; H←M[SP+1], SP=SP+1.
18. SPHL ; SP←HL.
(15) įrašymas į steką, (16) skaitymas iš steko. Prieš įrašant SP sumažinamas vienetu. Vienas paskui kitą rašoma ir skaitoma. Reikia nurodyti SP rodyklę.Nurodyti nuo kurio adreso rašysim (SP)
(16) PCP D Skaitoma atvirkštine eile nei rašoma
(17) fiksuotas registras HL (joks kitoks) iš steko į HL (kaip pop tik ne bet kokia RP ,o tik HL)
(18) iš HL į SP (nustatomas steko rodiklis)
Turime duomenų masyvą 0300=01H 0301=03H. Reikia persiūsti į atminties ląstelę kurios adresai atitinkamai į 0400=0FH ir 0401=1FH.
Programa:
LDA 0300; A←M[0300]
STA 0400; M[0400]←A
LDA 0301; A←M[0301]
STA 0401; M[0401]←A
4 komandos /3B=12B pprograma
18 ARITMETINĖS IR LOGINĖS KOMANDOS
Ši komandų grupė gausiausia (26 bazinės komandos). Jos atlieka tokias pagrindines funkcijas:
1. Aritmetinę sumą ir atimtį
2. Loginę sandaugą, loginę sumą ir loginį išskirtinį arba
3. Akumuliatoriaus poslinkio operacijas
4. Registrų bei RP turinio didinimą vienetu (inkrementavimą) bei mažinimą vienetu (dekrementavimą)
1. ADD R/M, A←A+R/A←A+M[HL].
2. ADC R/M; A←A+R+CY/A←A+M[HL]+CY.
3. SUB R/M, A←A-R/A←A-M[HL].
4. SBB R/M; A←A-(R+CY)/A←A-M[HL]+CY.
Šios 4 komandos veikia visus požymius registre F (visi 5 požymiai)
(1) aritmetinė sudėtis tarp 2 operandų (kaupiklio ir registro, arba kaupiklio ir atminties ląstelės turinio) Rezultatas lieka kaupiklyje. Nevertinant perkėlimo (požymio CY)
(2) sudėtis su 3 operandais: kaupiklio , registro ir bitu CY (0 arba1). Jei buvo parinkta CY=1
(3) atminties komanda tarp 2 operandų (kaupiklio ir registro, ir atminties ląstelės)
(4) papildomai vertinamas CY (keičia požymius)
Šios komandos naudojamos retai, kadangi yra efektyvesnių komandų.
5. ANA R/M, A←A^R/A←A^M[HL].
6. ORA R/M; A←AvR/A←AvM[HL].
7. XRA R/M, A←A R/A←A-M[HL].
Keičia visus požymius išskyrus AC ir CY.
^-loginė sandauga IR.
v-loginė suma ARBA
-išskirtinis arba
(5) loginė suma atliekama su vienavardžias bitais
D1^D2; D0^D1 ir t.t.
0*0=1; 0*1=0; 1*0=0; 1*1=1
Įrašant bitus į reikiamą vietą (nulius ar vienetus) 0+0=0; 0+1=1; 1+0=1; 1+1=1
(6) loginė suma, tarp akumuliatoriaus ir registro arba atminties ląstelė. Tai operacijos su vienodais bitais
(7) išskirtinis arba: 0+0=0; 0+1=1; 1+0=1; 1+1=0 (įrašant vienetinį bitą
į nurodytą vietą) XOR naudojama palyginant 2 bitus.
8. CMP R/M, A-R/A-M[HL].
9. ADI D8, A←A+D8.
10. ACI D8, A←A+D8+CY.
11. SUI D8, A←A-D8.
12. SBI D8, A←A-(D8+CY).
13. ANI D8, A←A^D8.
14. ORI D8, A←AvD8.
15. XRI D8, A←A D8.
16. OPI D8, A-D8.
(8) palyginimo komanda. Čia keičiasi tik požymiai (atmintis)
(9)(16) betarpiškai komandoje talpinamas duomuo (tiesioginio adresavimo būdas). Tai dvibaitės komandos (II operandas-1B komanda D8(duomuo)).
(9)(12) kinta visi požymiai
(13)(16) kinta visi požymiai išskyrus AC ir CY.
Jos plačiai naudojamos
17. DAD RP, HL←HL+RP.
18. DAA
(17) 2B sudieties komanda tarp 2 registrų porų. KKaip sudėties komanda tik vietoje kaupikilio yra HL, ir vietoj R yra RP. Keičia tik CY požymį. Retai naudojamos
(18) Dešimtainės korekcijos komanda, atliekant veiksmus su dvejetainiais – dešimtainiais skaičiais (BCD- Binary Code Decimare).
BCD kodavime kiekvienam skaičiui skirtos 4 skiltys: 9310=100100112 (8421-kodas)
DAA kontroliuoja perkėlimo iš jaun tetrados į vyr tetradą požymį ir koreguoja, kad gautume 10-tainių skaičių. Požymis A. Retai naudojama komanda.
Tai postūmio komandos (vienbaitės-1B). Keičia tik CY požymį. Viena komanda vykdo poslinkį per vieną poziciją.
(19) D7 bitas įrašomas į CY, oo A turinys paslenkamas į kairę
(20) poslinkis kaip (19) tik priešinga kryptimi. D0 į D7; D7 į D6 ir t.t.
(21) 9 bitas- CY (D8 bitas) Poslinkis į kairę, nurodant CY į D0 vietą, D7 į CY vietą, D6 į DD7 ir t.t.
(22) Kaip (21) tik poslinkis į dešnę.
23. INR R, R←R+1.
24. DCR R, R←R-1.
25. INX RP, RP←RP+1.
26. DCX RP, RP←RP-1.
Tai registrų inkrementavimas ar dekrementavimas.
(23)(24) keičia visus požymius išskyrus CY
(25)(26) nekeičia jokių požymių
(23) registro turinys didinamas vienetu
(24) registro turinys mažinamas vienetu
(25)(26) Didina ir mažina vienetu registrų porą.
PAVYZDYS:
1)
Jei SP nenuspaustas tai=1 ir atvirkščiai DB patenka į kaupiklį.
SP-galinis kelio jungiklis
Akumuliatoriuje turime visą baitą. Nustatyti reikia SP reikšmę, daroma loginės sandaugos operacija IR operacija: kaupiklio “kaukė”. 0116 “kaukė” 01H. Jei DB reikšmė bus 0, tai rezultatas 0, jei DB bus 1, tai rezultatas nenulis. A∩MASK. Tada naudojame ANI A, 01H.
2)
Reikia į DB, kurio kodas 02H, bitą įrašyti vienetą. Kitų bitų nekeičia. Gauname 82H.
Naudojama ORA komandą: A←AvMK (80H)
A=0000/0010
MK=1000/0010 02H
80H
A=1000/0010 82H
Jei reikia į pradinę padėtį darome AAND operaciją.
Naudojame ANA komandą.
A=1000/0010
MK=0111/1111 A←A^MK82H
7FH
A=0000/0010 02H
19 VALDYMO PERDAVIMO (NUKREIPIMO) KOMANDOS
Sudaro 9 bazinės komandos naudojamos pereiti iš 1 programos vietos į kitą be jokios sąlygos, arba su tam tikra sąlyga.
Komandos jokių požymių nekeičia. Naudojamas tiesioginis adresavimo būdas (adresas nustatomas pačioje komandoje). Ilgis 3B-I-OKB; II,III- programos adresas.
1. IMP ADR, PC←ADR, be sąlygos
2. INZ ADR, PC←ADR, kai Z=0.
3. IZ ADR, PC←ADR, kai Z=1.
4. INC ADR, PC←ADR, kai CY=0.
5. IC ADR, PC←ADR, kai CY=1.
6. IPC ADR, PC←ADR, kai P=0.
7. IPE ADR, PC←ADR, kai P=1.
8. IP AADR, PC←ADR, kai S=0.
9. IM ADR, PC←ADR, kai S=1.
(1) besąlyginio perėjimo komanda, į PC (programinį skaitiklį) įrašomas adresas (2B), nurodytas tiesiog pačioje komandoje. Skaitoma kita eilinė komanda pagal adresą, nurodytą PC. T.y. pereinama į nurodytą programos vietą. Likusios (2)-(9) komandos atlieka analogiškus veiksmus tik įvykdžius tam tikrą sąlygą: kai vienetas kaupiklyje nelygus nuliui (2) Z=0 ir t.t. o požymius keičia aritmetinės komandos.
20 DARBO SU PAPROGRAMĖMIS KOMANDOS
Sudaro 18 bazinių komandų: 9 į perėjimo į paprogramę komandos, 9 grįžimo iš paprogramės komandos (3B).
Jei programoje pagal jos darbo algoritmą yra kartojama ta pati programos dalis, tai tą dalį galima apiforminti kaip paprogramą.
Paprogramė- tam tikra programos dalis, kuri naudojama dirbant programai, daugiau kaip 1 kartą. Ji turi pradžią ir galą. Jos pradžia nurodoma žyme, turinčia tikrą pavadinimą. Pagal žymimas gryžimo iš paprogramės komanda.
Kreipimosi komandoje naudojamas adresas į kurę paprogramę kreiptis. Vykdoma paprogramė. Ją įvykdžius ją vykdoma gryžimo į paprogramę komanda.
Dirbant su paprogramėmis automatiškai naudojama steko atmintis, dėl to turi būti nustatyta dėklo rodyklė SP (užrašomas adresas į SP)
Perėjimo į paprogramę komandos:
1. CALL ADR, PC←ADR, M[SP]←PC, be sąlygos.
2. CNZ ADR, M[SP]←PC, PC←ADR, kai Z=0.
3. CZ ADR, M[SP]←PC, PC←ADR, kai Z=1.
4. CNC ADR, M[SP]←PC, PC←ADR, kai CY=0.
5. CC ADR, M[SP]←PC, PC←ADR, , kai CY=1.
6. CPO ADR, M[SP]←PC, PC←ADR, kai P=0.
7. CPE ADR, M[SP]←PC, PC←ADR, kai P=1.
8. CP ADR, M[SP]←PC, PC←ADR, kai S=0.
9. CM ADR, M[SP]←PC, PC←ADR, kai S=1.
(1) Veiksmai: 1) į dėklo atmintį įrašomas programinio skaitiklio PC turinys, kuris atitinka komandos einančios po perėjimo į paprogramę komandos adresą; (2) į PC įrašomas adresas nurodytas tiesiogiai komandoje. Įvykdžius komandą pereinama į programos dalį pagal adresą, nurodytą komandoje. SP įsimena grįžimo adresą- vietą nuo kur nutraukiama komanda.
(2)-(9) komandos veikia kaip (1), tačiau su sąlygomis.
10. RET , PC←M[SP], be sąlygos.
11. RNZ , PC←M[SP], kai Z=0.
12. RZ , PC←M[SP], kai Z=1.
13. RNC , PC←M[SP], kai CY=0.
14. RC , PC←M[SP], kai CY=1.
15. RPO , PC←M[SP], kai P=0.
16. RPE , PC←M[SP], kai P=1.
17. RP , PC←M[SP], kai S=0.
18. RZ , PC←M[SP], kai S=1.
Tai grįžimo iš paprogramės komandos (1B). Vienbaites komandos be operandų.
(10) iš dėklo atminties į PC įrašomi 2B (analogija POP komandos), tik su į RP, o Į PC.
Jei paprogramėje daromi veiksmai su steku reikia sekti, kad kiek kartų įrašyta, tiek kartų turi būti ir nuskaityta.
(11)-(18)-grįžimo komandos su sąlygomis.
PAVYZDYS:
21 ĮVEDIMO IŠVEDIMO IR SPECIALIOSIOS KOMANDOS
Grupėje yra 10 komandų kurios atlieka veiksmus:
1. duomenų baito įvedimą iš ĮIĮ;
2. duomenų baito išvedimą į ĮIĮ;
3. pertraukčių valdymą;
4. specifinius veiksmus su kaupiklio turiniu bei požymiu CY.
1. IN PORT, A←PORT.
2. OUT PORT, PORT←A.
3. CMA , A← .
4. CMC CY← .
5. STC CY←1.
6. EI Leisti pertrauktis
7. DI Drausti pertrauktis
8. HLT STOP
9. NOP Tuščia komanda
10. RST N; M[SP]←PC, PC←8N, kai N=0.7.
(1)(2) naudoja tiesioginį adresavimo būdą, kai komandoje naudojamas porto adresas (IB-OKB; II-adresas 28=256) Tai 2B ilgio komanda.Tai įvedimo ir išvedimo komandos per kaupiklį. IONO (rašymo) valdymo signalai (rašymo ir skaitymo) vykdo komandą. AM formuojamas adresas (16 bitų)- tas pats adresas vyriausiam baite ir jauniausiam baite ADRH, ADRL.
(3) kaupiklio turinio invertavimas: 1→0; 0→1.
(4)(5) veiksmai su požymių bitu CY. (4) CY požymio invertavimas; (5) – nustatomas vienetinis bitas
(6)(7) leidimo ar draudimo pertraukčių komandos. MP įėjime išaukiamas pertraukčių rėžimas- jei E1. Jei D1- tai tą signalą ignoruoja (į EI=1)
(8) STOP komanda- MP patenka į laukimo būseną. Formuojamas signalas WAIT. (vienetinio lygio).
(9) nerodo operacijos (nera operacijos), kada 0000, duoda uždelsimą 4,8 taktus, formuojant fazes.
(10) RESTART komanda kuri N kartų nuo 0 iki 7 (8 komandos). Į steką įrašymas PC turinys (kitos komandos adresas), po to
poto į PC įrašomas kodas (N*8): 010(2)(00H16); 810(12)(08H); 1610(112)(18H16); 3210(12)(20H16); 2410(112)(18H16); 4010(112)(28H16); 4810(112)(30H16); 5610(1112)(38H16).
Komanda naudojama dirbant su pertrauktimi. MP įvedęs kodą (užšifruotą) ir atpažinęs komandą, pereina į adresą, nurodytą komandoje. Į
PC įrašomas kitos komandos adresas ir einama į paprogramę, kur su grįžimo komanda baigiama pertrauktis. Paprogramė iššaukiama ne iš programos, o iš IĮ .Prasidėjus pertraukčiai, draudžiamos kitos pertrauktys, kol negaunama komanda EI.
Jei darbo momentu IN įėjime, tai reikalavimas iš išorės pertraukčiai. Komandoje RST nurodoma, kuriuo iš 8 adresų nueiti. Kitos komandos adresą įsirašo į SP. Eilinėje komandoje nušokama į paprogramę. Duotas leidimas EI, paprogramė nutraukiama.
22.MP I8080 vidinė struktūra ir valdymo signalai
MP I8080 turi 40 išvadų, kuriuos galima suskirstyti į ššias grupes:
1. Adresų išvadai: A..A15.
2. Duomenų magistralės išvadai: D..D7.
3. Valdymo išvadai: , RESET, READY, INT, HOLD (įėjimai) ir SYNC, WAIT, DBIN, WR, INTE, HLDA (išėjimai).
4. Maitinimo išvadai: VDD, VCC, VBB, GND.
Visi įėjimo bei išėjimo signalai formuojami atžvilgiu bendro išvado GND.
1. Naudojami formuojant SM adresų signalus.
2.Duomenų išvadai naudojami SM duomenų perdavimui, rašymui, skaitymui.
3.Valdymo įėjimai , tai naudojami dvifazės sincronizacijos signalų perdavimui pagal tokią laiko diagramą.
RESET- aktyvus log. 1 lygio, naudojamas nustatant MMP į pradinę padėtį.
READY – aktyvus log. 1 lygio, paduodamas iš išorinio elemento, su kuriuo vyksta inf. mainai. Signalas signalizuoja apie elemento pasiruošimą inf. mainams (XACK).
INT – naudojamas kaip vektorinės pertraukties reikalavimo išvadas. Į šį išvadą paduodamas signalas ssignalas iš išorinio elemento, kuris reikalauja pertraukties darbo rėžimo. (-1)- aktyvus loginio 1 lygio.
HOLD – išvadas per kurį paduodamas tiesioginių inf. mainų signalas iš elemento, kuris reikalauja šių mainų. Aktyvus loginio 1 lygio.
SYNC- sinchronizacijos signalas, kurį formuoja MP kai pradeda komandinį ciklą. Šio signalo paskirtis – fiksuoti išoriniame register MP stovį (būvį), kuris paduodamas per duomenų magistralę kaip stovio žodis SW (status word).
WAIT – signalas, parodantis, kad MP dirba laukimo būsenoje. Aktyvus loginio 1 lygio.
DBIN – duomenų įvedimo strobavimo signalas, naudojamas – skaitant, įvedant duomenis per DM. . Aktyvus loginio 1 lygio.
WR – duomenų rašymo strobavimo signalas, naudojamas rašant, įvedant duomenis per DM. . Aktyvus loginio lygio.
INTE – pertraukties laukimo signalas, aktyvus loginio 11 lygio, parodantis, kad MP pradėjo pertraukties darbo ciklą.
HLDA – tiesioginių inf. mainų leidimo (patvirtinimo) signalas. . Aktyvus loginio 1 lygio.
MP naudoja 3 maitinimo šaltinius: +12V, +5V, -5V įtampos GDN (bendro laido) atžvilgiu. Naudoja TTL lygio signalus, kurių log.1 lygus yra “1” 4,5V (4,5..5V), o nulinis lygis: “0” 0,24V (0,3V).
Vidinė struktūra:
Pateiktoje struktūroje galima išskirti pagrindinius mazgus:
1. Registrai (BF, BR1, BR2, RG).
2. Aritmetinį – loginį įrenginį ALĮ.
3. Registrų segmentas RSEG.
4. Valdymo įrenginys VVĮ.
5. Vidinė sisteminė magistralė VSM.
Buferinis registras BF yra dvikryptis, naudojamas MP duomenų išvadų prijungimui prie SM; per BF duomenys perduodami 2 kryptimis, iš MP ir į MP.
BR1,BR2 naudojami kaip laikino duomenų saugojimo registrai, iš kurių duomenys patenka į ALĮ.
Vidinė struktūra
Šie registrai naudojami atliekant aritmetines logines operacijas.
RG registras naudojamas adresų linijų prijungimui prie SM. Jis vienkryptis: iš MP į SM perduodami adresai.
Registrai BF ir RG gali atjungti MP duomenų ir adresų išvadus, dirbant Pvz. tiesiog. Informacijos mainų rėžimu.
RSEG sudaro multiplekseris MX, registrai W,Z, kurie programiškai neprieinami, ir likę programiškai valdomi registrai. Šiame registrų segmente yra spec. ikrementavimo – dekrementavimo schema INC/DEC.
ALĮ naudojamas atliekant aritmetines/logines operacijas. Jame yra speciali dešimtainės korekcijos schema DA, kuri naudojama vykdant dešimtainę korekciją.
IR – komandų registras, naudojamas vieno baito komandos operacijos kodui talpinti.
DC – komandų dešifratorius . DC dešifruoja komandą, talpinamą registre IR ir formuoja reikalingus komandai vykdyti tiek vidinius, tiek išorinius valdymo signalus, paduodamus į valdymo įrenginį VĮ.
VĮ sudaro 5 schemos:
1. sinchronizacijos schema,
2. pradinio valdymo schema,
3. SM valdymo schema,
4. pertraukties schema,
5. tiesioginių informacijos mainų schema.
1. priima dvifazės sinchronizacijos signalus ir formuoja signalą SYNC. Ši schema sinchronizuoja viso MP bei SM darbą.
2. schemos įėjime veikia signalas RESET, kuriame esant “1” lygio pagrindiniai veiksmai: 1)valomas programinis skaitiklis (PC=H); 2)valomas komandų registras ((IR=H); 3)išjungiamas pertraukčių trigeris (INTE=0); 4)išjungiamas tiesiog. inf. mainų trigeris (HLDA=0).
3. schema priima signal1 READY ir formuoja inf. mainų valdymo signalus DBIN, WR, bei signalą WAIT.
4. shema priima vektorinės pertraukties reikalavimo signalą INT ir formuoja pertraukties leidimo (patvirtinimo) signalą INTE. Šis signalas yra vidinio pertraukties leidimo trigerio išėjimo signalas. Trigerio įjungimas/ išjungimas programiškai valdomas komandomis EI, DI (EI – įjungia trigerį, DI – išjungia).
5. schema priima signalą HOLD, reikalaujantį tiesiog. Inf. mainų ir formuoja išėjimo signalą HLDA, patvirtinantį, kad MP pradėjo tiesiog. Inf. mainų ciklą. HLDA – vidinio trigerio signalas, kuris valdomas signalu HOLD. Kai trigeris įjungtas HLDA=1, kai išjungtas – HLDA=0.
VSM turi 8 linijas; naudojama duomenų, komandų bei adresų priėmimui bei perdavimui dirbant MP sistemoje.
23.MP Funkcionavimo laiko ciklai
MP visi veiksmai vyksta vyksta griežtais laiko intervalais – laiko ciklais. Galima išskirti šiuos laiko ciklus:
1. komandinis ciklas: KC.
2. mašininis ciklas: M.
3. mikrotaktinis ciklas: T.
Komandinis ciklas – tai laikas, kurį užtrunka MP, vykdydamas 1komandą. Skirtingom komandom yra skirtingi KC. KC yra pats ilgiausias ciklas, į kurį įeina mašininiai ciklai M. MP I8080 komandiniame cikle gali talpinti nuo 1iki 5 mašininių ciklų: M1, M2…M5.
Mašininiame cikle M1 vykdoma komandinio ciklo išrinkimo fazė. Mašininio ciklo M1 išrinkimo fazės metu formuojamas signalas SYNC, o duomenų magistralėje išvedamas MP stovio žodis SSW.
Kiekvienas kitas mašininis ciklas taip pat prasideda SW formavimu duomenų magistralėje DM. Pvz. esant KC pirmas M bus formuojami 3 SW ir 3 signalai SYNC.
Mikrotaktinis ciklas (taktas) – tai laikas laikas tarp 2 gretimų sinchrosignalų priekinių frontų pagal šią laiko diagramą:
Šis laikas pats trumpiausias, naudojamas MP ir jis nuo MP taktinio dažnio fT.
fT – taktinis dažnis.
– mikrosekundės.
Komandinis ciklas susideda iš M, o M susideda iš T, todėl KC pats ilgiausias ir susideda iš trumpesnių laiko ciklų:
M1 užtrunka 4-5taktus T, o kiti M užtrunka 3taktus.
Dirbant MP kiekvieno mašininio ciklo takte T1 formuojamas stovio žodis SW. Įvykdžius šią loginę sąlygą: SYNC*11. t.y. pagal 1 priekinį frontą:
SW apibūdinantis MP stovį turi būti fiksuojamas išoriniame register pagal 1 priekinį frontą įvykdžius sąlygą SYNC*11. SW ilgis 8b=1B ir kiekvienas bitas turi tam tikrą apibrėžtą prasmę.
Bitų reikšmės tokios:
D – INTA.
D1 – WO.
D2 – STACK.
D3 – HLTA.
D4 – OUT.
D5 – M1.
D6 – INP.
D7 – MEMR.
D parodo, kad vykdomas vykdomas pertraukties darbo ciklas, kurio metu formuojamas strobavimo DBINT lygus 1, o WR=0. Šio ciklo metu per DM yra iš išorinio įrenginio įvedamos komandos RST N arba CALL ADR.
D1(W0) aktyvus log.0 lygio, parodo kad vyksta rašymas į
atminties įrenginį AĮ. Šio ciklo metu adresų magistralėje AM formuojamas adresas, perduodamas iš registro PC ir naudojamas strobavimo signalas WR, veikiantis MP išėjime.
D2(STACK) aktyvus log.1 lygio, rodo kad vyksta informacijos mainai su steko atmintimi.
D3(HLTA) parodo, kad MP yra laukimo (sustojimo) būsenoje.
D4(OUT) parodo, kad vykdomas duomenų baito išvedimas į ĮIĮ portą.
D5(M1) rodo, kad vykdomas pirmasis mašininis ciklas, kurio metu skaitomas OKB.
D6(INT) rodo, kad vyksta duomenų baito įvedimo (skaitymo) iš ĮIĮ porto, ciklas.
D7(MEMR) rodo, kad vyksta skaitymas iš AĮ.
Priklausomai nuo SW atskirų bbitų reikšmių MP turi 11 skirtingų mašininių ciklų, kiekvienas iš kurių vykdo griežtai apibrėžtą veiksmą.
MP I8080 turi šį rinkinį tipinių mašininių ciklų:
1. FETCH.
2. MEMORY-READ
3. MEMORY- WRITE
4. STACK-READ
5. STACK-WRITE
6. INPUT
7. OUTPUT
8. INTERRUPT-M1
9. HALT
10. HALT-INTERRUPT
11. INTERRUPT
1. FETCH yra M1 ciklas, kurio metu vykdomas OKB skaitymas.
2. MEMORY- READ – atminties skaitymo tipinis ciklas (DBIN).
3. MEMORY- WRITE – rašymo į atmintį mašininis ciklas.
4. STACK- READ – skaitymo iš dėklo ciklas.
5. STACK- WRITE – rašymo į steko atmintį ciklas.
6. INPUT – įvedimo mašininis ciklas, kurio metu skaitomas portas iš ĮIĮ.
7. OUTPUT – išvedimo mašininis ciklas, kurio metu duomenų baitas išvedamas į ĮIĮ pportą.
8. INTERRUPT-M1 – pertraukties pirmasis mašininis ciklas.
9. HALT – MP sustojimo ciklas.
10. HALT- INTERRUPT – pertraukties ciklas, sustojus MP.
11. INTERRUPT – pertraukties mašininis ciklas įvedant CALL ADR komandą.
Visus 11 tipinių mašininių ciklų galima suskirstyti į 2 grupes: skaitymo ir rašymo darbo ciklai.
24. MP Skaitymo ddarbo ciklo laikinės funkcionavimo diagramos
Tipinė laikinė skaitymo ciklo funkcionavimo diagrama:
Takte T1 adresų magistralėje AB formuojamas adresas. Taip pat šiame takte duomenų magistralėje DB formuojamas stovio žodis SW ir SW sinchronizacijos, fiksavimo signalas SYNC. Laiko momentu t1 SW įrašomas į išorinį SW registrą, kuriame šis žodis dešifruojamas. Adresas perduodamas iš PC arba iš SP.
Takte T2 pagal signalo 2 galinį frontą (laiko momentu t2) tikrinamas įėjimo signalas READY. Ir kai šis signalas lygus 0, pradedamas asinchroninis SM darbo rėžimas. MP pradeda dirbti laukimo būsenoje, kurią signalizuoja išėjimo signalas WAIT=1. Laukimo būsena gali tęstis ilgą sveikų taktų skaičių tol, kol READY0.
Kai READY1, (laiko momentas t3) baigiamas skaitymo darbo ciklas. Skaitymo strobavimo signalas DBIN laiko momentu t4 kinta iš 10 lygį ir šiuo momentu dduomenys, suformuoti DB, įvedami į MP(skaitomi). Tuo pat metu WAIT0, laukimo būsena pasibaigia.
Skaitymo ciklo metu signalas WR1, o keičiasi tik DBIN signalas.
25. MP Rašymo darbo ciklo laikinės funkcionavimo diagramos
MP rašymo darbo ciklą naudoja šiais atvejais:
1. Rašant duomenis į AĮ.
2. Rašant duomenis į ĮIĮ portus.
Tipinė laikinė rašymo diagrama ši: 1pav.
Rašymo laiko ciklas prasideda takte T1, tuomet AB formuojamas adresas, o DB – MP stovio žodis SW. Tai pat šiame takte formuojamas sinchronizacijos signalas SYNC. Laiko momentu t1 pagal 1 signalo priekinį frontą SW ffiksuojamas (įsimenamas) išoriniame stovio žodžio registre.
1.pav
Pagal SW formuojami signalai aptarnaujantys rašymo darbo ciklą.
Takte t2 pagal 2 galinį frontą yra tikrinamas įėjimas READY ir jame esantis loginis lygis. Jei laiko momentu t2 signalas READY0, tai MPS elementas, į kurį rašoma informacija, nėra pasiruošęs duomenų priėmimui. Todėl MP pereina į laukimo būseną, apie ją signalizuodamas signalu WAIT1.
Laukimo būsena gali tęstis be galo ilgą skaičių laukimo taktų TW (TWAIT), kurių metu nuolat tikrinamas (testuojamas) įėjimas READY.
Kai laiko momentu t3, READY1, MP baigia rašymo ciklą, formuodamas signalą WR0 ir laiko momentu t4 kintant WR iš 0 į 1 lygį, duomenys suformuoti DB, turi būti fiksuojami elemente, kuris priima šiuos duomenis.
26. MP Programos pertraukties aptarnavimo darbo ciklas
MP pertraukties darbo rėžimas programuojamas, o jį realizuoja MP pertraukties įtaisas S.
Pertrauktis naudojama tada, kai procesų, kurie gali įvykti programos darbo metu, negalima iš anksto numatyti.
MP pertraukties darbo cikle naudojami šie signalai:
1. INT
2. INTE
3. INTA
INT ir jį atitinkantis vienvardis MP įėjimas aktyvus log. 1 lygio, vadinamas vektorinės pertraukties reikalavimo signalu. INT formuoja MPS elementas, kuris reikalauja MP pertrauktiės darbo rėžimo.
INTE – MP išėjimo signalas, aktyvus log. 1 lygio, vadinamas pertraukties leidimo signalu. INTE formuoja vidinis MP pertraukčių shemos trigeris. Pradinio nustatymo metu INTE0.
MP reaguoja į signalą INT tik įvykdžius šią sąlygą: IINT& INTE1. MP įėjimo signalas INT kontroliuojamas vykdant, bet kurią komandą komandinio ciklo, paskutinio mašininio ciklo takte t3. t.y.. pilnai pabaigus eilinę komandą.
Pertraukties darbo ciklas apima šiuos pagr.. veiksmus:
1. pertraukties šaltinio identifikavimą (nustatymą),
2. įvedant komandas RSTN arba CALL ADR, kurios kai turi suformuoti MPS elementas reikalaujantis pertraukties,
3. grįžimo adreso įsiminimas ciklo atmintyje,
4. perėjimas į pertrauktį aptarnaujančią paprogramę, jos vykdymas ir grįžimas atgal į pagrindinę programą.
INTA – yra aktyvus log 1 lygis ir yra vadinamas pertraukties patvirtinimo signalinis formuojamas kartu su MP duomenų įvedimo signalu DBIN. INTA formuojamas panaudojant SW užfiksuoto stovio žodžio registre bitą D0.
Pertraukties darbo ciklas prasideda mašininiu ciklu INTERUPT_M1. Šiame cikle atliekami tokie pagrindiniai veiksmai:
1. duomenų magistralės DB skaitomas duomenų baitas, kurio strobavimą atlieka signalas INTA, jam kintant iš log 0 į log 1 lygį;
2. vidinis pertraukčių leidimo trigdis išjungiamas INTE=0. INTE kitimas iš log 1 į log 0 lygį signalizuoja, kad MP pradėjo dirbti pertraukties aptarnavimo darbo režime. Ir elementas, kuris suformuoja INT=1, turi jį pakeisti į INT=0;
3. programinio skaitiklio PC turinys nekeičiamas, bet jis įrašomas į ciklo atmintį (įsimenamas grįžimo adresas). Jeigu šiame mašininiame cikle yra skaitoma komanda RST N, tai šis ciklas yra vienintelės pertraukties darbo metu. Jeigu yra įvedama komanda CALL, tai po šio mašininio ciklo dar vykdomi ddu mašininiai ciklai INTERUPT, kurių metu skaitomi komandos CALL du adresų baitai. Skaitymo metu naudojamas taip pat signalas INTA.
Pertraukties aptarnavimo paprogramė turi turėti tokią struktūrą:
27. MP TIESIOGINIŲ INFORMACIJOS MAINŲ IR SUSTOJIMO DARBO CIKLAI
MP tiesioginių informacijos mainų darbo režimas naudojamas tada, kai vykdomi didelės apimties informacijos mainai kaip ĮIĮ ir AĮ, nedalyvaujant MP.
Šiame režime MP privalo atjungti nuo SM. Vieno valdymo signalus, reikalingus mainams, formuoja ĮIĮ. Dažniausiai ĮIĮ šias funkcijas atlieka spec didelė integrinė schema DIS – tiesioginių inf mainų adapteris.
Šį darbo režimą pradeda MPS elementas (ĮIĮ), reikalaujantis tiesioginių inf mainų. Mainų pradžią pradeda elementas, perduodamas signalą HOLD=1. Šis signalas kontroliuojamas bet kurio mašininio ciklo takte T2 pagal Φ2 galinį frontą. Šiuo momentu HOLD=1, prasideda ties inf mainų darbo režimas – SM užimimo darbo režimas.
Šio proceso metu vykdomi tokie pagrindiniai veiksmai:
1. skaitymo darbo ciklo metu takte T3, rašymo darbo ciklo metu takte T4, pagal Φ1 priekinį frontą. Formuojamas signalas HLDA=1 MP įėjime. Šis signalas rodo, kad MP pradėjo SM perdavimo procesą;
2. skaitymo ciklo metu takte T3, rašyme – T4, pagal signalo Φ2 priekinį frontą duomenų magistralė DB atjungiama nuo MP;
3. naudojant spec mikroschemą – sisteminį kontrolerį, signalas HLDA=1 atjungia VM nuo SM;
4. visais atvejais takte T4 pagal
Φ2 galinį frontą atjungiama AB nuo SM.
Šis režimas tęsiasi tol, kol signalas HOLD=1. MPS elementas, pabaigęsties inf mainus, formuoja HOLD=0 ir MP tęsia darbą, tęsia nutrauktą mašininį ciklą, toliau vykdydamas komandas pagal programą.
Sustojimo darbo ciklas vykdomas tada, kai betkuriame mašininiame ciklo takte T2 pagal Φ2 galinį frontą skaitant komandą iš AĮ yra atpažįstama komanda HALT (sustojimo komanda). Ši komanda iššaukia spec mašininį ciklą HALT.
Šio mašininio ciklo metu MP formuoja takte T1-stovio žodį SW, o takte T2-atjungia adresų AB ir dduomenų DB nuo SM, ir formuoja WAIT=1, parodantį, kad MP perėjo į laukimo būseną.
Sustojimo darbo cikle MP gali išlikti neribotą darbo laiką, kol nepaduotas RESET arba vektorinės pertraukties reikalavimo signalas, kai leista pertrauktis.
28. MP MIKROPROCESORINIS KOMPLEKTAS (MPK), TAKTINIO DAŽNIO GENERATORIUS
I8080 turi rinkinį papildomai mikroschemų, kurios sudaro MPK. Vienas MP negali dirbti dėl šių pagrindinių priežasčių:
1. jo valdymo signalų sudėtis ir kitimo logika neatitinka SM valdymo signalų.
2. ribojant MP išsiskiriančią galią iki 1-2W, jo išėjimo srovės apribotos iki 1,6mA.o talpinė apkrova iiki 11pF.
Mikroprocesorinis modelis turi turėti šias pagrindines mikroschemas: MP I8080, taktinio dažnio generatorių TIG I8284, sukurinį kontrolerį SK I8228/38, buferinius registrus BR I8283, šynos formuotuvas ŠF I8687.
TIG – tai specializuota IS, skirta MP I8080 sinchronizacijos (taktavimo) organizavimui. Grafinis ženklas ppavaizduotas 1pav.
Vidinė struktūra
Išvadai:
XTAL1, XTAL2 – išvadai skirti kvarcinio rezonatoriaus prijungimui;
TANK – naudojamas MPS kitokio dažnio svyravimams gaudyti;
SYNC – į įėjimą paduodamas sinchronizacijos signalas;
– pradinio nustatymo signalo išvadas, aktyvus log 0 lygio;
RDYIN – pasiruošimo signalo padavimo išvadas;
CSC – generatoriaus išėjimo signalas, naudojamas kaip SM sinchronizacijos signalas;
Ф1, Ф2 – MP dvifazis sinchronizacijos signalai, turintys +12V amplitudę;
STSTB – stovio žodžio įsiminimo stovio žodžio registre strobavimo signalas. 0 lyg. – aktyvus;
RESET – MP pradinio nustatymo signalas;
READY – pasiruošimo signalas;
G – generatorius;
– vidiniai stiprintuvai;
:9 – daliklis iš devynių (taktai(dažnis)dalijami iš 9). 4.5MHz÷22.5MHz/9=taktinis dažnis Ф1.
Ф2TTL – TTL lygio signalas (≤5V) atitinkantis Ф2 dažnį. Tai sinchronizacijos signalas.
T – Šmito trigeris. RESIN gali kist iš lito, kai pasiekiamas tam tikras lygis, šuoliškai atsiranda 1, 2D ttrigeriai su dinamine sinchronizacija, kurie persijungia kai C veikia iš log 0 į log 1.
TIG prijungimo schema:
29. MPK SISTEMINIS KONTROLERIS
Tai specializuota DIS, skirta darbui MPS su MP I8080. Ji atlieka 2 pagr funckijas:
1. formuoja SM valdymo signalus pagal SW, kuris įrašomas į stovio žodžio SK vidinį registrą;
2. padidina DB apkrovą iki ≤10mA.
SK grafinis žymuo
Vidinė struktūra
I8228 nuo I8238 skiriasi, nes pirmasis formuoja statinius, o antras – dinaminius strobavimo signalus.
– linijos gali būti atjungiamos (išvadai);
CB – valdymo magistralės;
MEMR, MEMW, I/OR, II/OW – atminties skaitymo rašymo, išvedimo/įvedimo, skaitymo/rašymo signalai;
SF – šynos formuotuvas – buferinis stiprintuvas (apkrauna iki ≤10mA);
SWRG – vidinis stovio žodžio SW registras;
– valdo linijų atjungimą/prijungimą.
30. MPK BUFERINIAI REGISTRAI
BR atlieka šias pagrindines funkcijas:
1. fiksuoja 8 skilčių duomenis;
2. padidina apkrovą iki 32mA, o talpinę iki 300pF.
Sutartinis grafinis žymuo
Vidinė struktūra
Išvadai:
DI7.DI0 – įėjimas;
DO7.DO0 – išėjimai;
STB – strobavimo išvadas, aktyvus log 1 lygio.
Kai STB=0, duomenys registre fiksuojami (kai iš log 1 į log 0).
– išėjimo leidinio išvadas. Kai =1, atsijungiami išvadai, kai =0 – prijungiami.
8D trigeriai su statiniu įėjimu C. STB bendras visiems trigeriams.
– stiprintuvas, kurio viduje yra 8 raktai, kurie kai =1 atjungti ir atvikščiai.
31. MPK ŠYNOS FORMUOTUVAI
Pagrindinės ŠF funkcijos:
1. perduoda DB duomenų baitą jo neįsimenant abiem kryptimis;
2. padidina apkrovą (A kanalui iki 16mA, 100pF; B kanalui iki 32mA, 300pF).
Sutartinis grafinis ženklas
Vidinė struktūra
T=1, tai AB, kai T=0, tai AB.
Duomenys nėra fiksuojami. Du stiprintuvai su dviem kanalais A ir B. A mažesnės apkrovos nei B.
32. MP BAZINĖ SUJUNGIMO STRUKTŪRA
MPS MP kartu su jam dirbti reikalingomis papildomomis mikroschemomis sudaro MP modelį. MP modelis – tai atskira schema, kuri jungiama prie sisteminės magistralės MP I8080. MP modelį sudaro šios mikroschemos.
1. MP I8080
2. TIG I8224
3. SK I8238
4. BR I8282
Bazinė sujungimo struktūra yra ši:
TIG nnaudojamas MP taktavimui formuojant dvifazę impulsų seką Ф1, Ф2. Impulsų amplitudė siekia +12V. TIG formuoja stabilaus dažnio impulso išvaduose OSC ir Ф2TTL. OSC dažnis lygus kvarcinio rezonatoriaus dažniui 18MHz, o Ф1, Ф2 dažnis – 2MHz.
TIG taip pat vykdo sinchronizuotą MP3 pradinį nustatymą, formuodamas signalą RESET ir sinchronizuotą signalą READY.
Kad MP normaliai veiktų: READY=1, o jį formuojantis signalas XACK=1. Valdymo mygtukas RESET naudojamas MP pradiniam nustatymui.
TIG išėjime suformuojamas signalas RESET gali būti paduotas ne tik į MP, bet ir į kitus MPS elementus, kurie naudojami prijungti prie SM.
MP yra pagrindinis mikroprocesorinio modulio elementas, valdantis visos MPS darbą.
BR – buferiniai registrai naudojami adresų magistralės AB buferizacijai (apkrovos padidinimui). BR išvadai prijungti prie MP išvado HLDA. Išvade HLDA=1 tada, kai MP pradeda dirbti tiesioginių inf mainų režime. Tuomet BR išėjimai atsijungia nuo AB.
SK – sisteminės kontrolinės formuoja SM inf mainų valdymo signalus ir buferizuoja DB. Kai HLDA=1, tai duomenų magistralė DB ir valdymo signalai atjungiami.
Normalinio MP modelio darbui būtina, kad valdymo signalas XACK=1, o INT ir HOLD=0.
33. MPS ATMINTIES ĮRENGINYS
MPS AĮ gali būti savistovos modulis arba paprastose S talpinamas MP modulyje.
AĮ skirtas programai, sudarytų iš atskirų komandų, ir duomenų, reikalingų komandoms vykdyti, saugojimui.
AĮ susideda iš tam tikro skaičiaus atminties matricų kaupiklių, ssudarytų iš atskirų DIS.
AĮ DIS gali būti dviejų pagr tipų:
1. operatyviosios atminties DIS;
2. pastoviosios atminties DIS.
OA DIS saugo duomenis tol, kol prie jų prijungta mait įtampa.
OA mikroschemos leidžia įrašyti ir skaityti informaciją. Sutrumpintai jos žymimos RAM – random access memory.
RAM pagal veikimo principą gali būti 2 rūšių: 1) statinė RAM; 2) dinaminė RAM (SRAM, DRAM). SRAM veikimo principas pagrįstas inf vieneto saugojimui atminties elemente – trigeryje. Įjungus trigerį įrašomas bitas, išjungus – ištrinamas. DRAM elementas yra lauko tranzistoriaus užtūros talpa. Pakrovus šią talpą įrašomas bitas, o iškrovus – ištrinamas. Įrašius bitą (pakrovus talpą) jį per tam tikrą laiką dėl nuotėkio srovių išsikrauna, todėl būtina nuolat periodiškai talpą pakrauti. Šis procesas vadinamas dinaminės atminties regeneracija.
Atmintis turi būti regeneruojama ne rečiau nei 1–2ms.
Saugant informaciją RAM, dingus maitinimo įtampai, ši inf negrįžtamai išsitrina. Todėl prieš pradedant MPS darbą būtina duomenis įrašyti į RAM (pakrauti RAM). Tai nėra patogus, todėl MPS naudojama pastovioji atmintis (PA). PA išlaiko į ją įrašytą informaciją išjungus maitinimo įtampą. Tai nuo energijos šaltinio nepriklausanti atmintis. Tačiau PA leidžia tik skaityti informaciją MPS darbo metu.
ROM – read only memory. MPS ROM atmintyje yra saugomos darbo programos ir duomenys reikalingi programoms.
Išjungus maitinimo įtampą programos įrašytos į ROM neišsitrina, todėl vėl įjungus maitinimo įtampą MPS pradeda veikti.
ROM DIS pagal informacijos įrašymo ir trinimo būdą gali būti šių rūšių:
1. schemos, į kurias duomenys įrašomi jų gamybos metu, naudojant spec šablonus ir šios informacijos pakeisti negalima.
2. duomenis į mikroschemą gali būti įrašomi vartotojo, naudojant spec įtaisą (programatorių). Šių duomenų pakeisti negalima.
3. duomenis galima įrašyti programatoriumi daug kartų, kaskart valant mikroschemą ultravioletiniais (UV) spinduliais.
4. duomenys į mikroschemą įrašomi daug kartų programatoriumi, o trinama elektriškai, nnaudojant tam tikrus signalus.
Mikroschemos, trinamos UV spinduliais – EPROM.
Mikroschemos, trinamos elektriškai – EEPROM (flash).
Atminties mikroschemos (matricos – kaupikliui) charakterizuojamas jų talpomis, kurios žymimos MxN. Čia M – atminties ląstelių skaičius, N – informacijos skaičius, saugojamas vienoje ląstelėje: 1024×8; 2Kx8 ir t.t. K=1024.
Yra standartinė seka: N=1,4,8,16. Baitinė organizacija būdinga SRAM. Bitinė organizacija – DRAM.
34. MPS statinė atmintis
SRAM ląstelės elementas yra trigeris. Todėl formuojant matricą- kaupiklį tenka viename kristale talpinti didelį skaičių trigerinių elementų. Atmintys lyginant su ROM nėra labai didelės talpos. SSRAM naudojama MPS įvairių besikeičiančių operatyviųjų duomenų saugojimui. SRAM yra įvairių. SRAM pavyzdys yra DIS tipo KR537 RU8A RU8B grafinis ženklas:
Būsenos lentelė:
CS1 CS2 WR/RD funkcija
0 0 0 Rašymas
0 0 1 Skaitymas
0 1 X saugojimas
1 0 X —–//—–
1 1 X ——//—–
Talpa—2kx8
Išrinkimo laikas- RU8A220ns, RU8B440ns.
Sklaidoma galia – P 100mW.
Išvadai: A0-A10- atminties ląstelės adresavimo išvadai į kuriuos paduodamas atm. ląstelės adresas ddvejetainiu kodu.
CS1,CS2 (chip select)- kristalo išrinkimo išvadai aktyvūs loginio 0 lygio. CS1, CS2 susiję logine sandaugos funkcija CS1*CS2.
WR/RD paduodamas rašymo skaitymo signalas.kai WR/RD0 tai rašoma kai 1 tai skaitoma.
DI0 0 – DI07- duomenų įvedimo išvedimo kanalai.
Būsenų lentelė rodo atminties funkcionavimą. Duomenų baito rašymas į atmintį turi būti atliekamas tokia tvarka:
1. duomenų išvaduose formuojamas atm.ląstelės adresas.
2. signalai CS1 ir CS2 vienu metu turi būti loginio 0 lygio.esant šiai sąlygai išvadai prijungiami prie matricos-kaupiklio.
3. signalas WR/RD0 (formuojamas).
Atminties skaitymas vyksta šia tvarka:
1. formuojamas adresas.
2. formuojami signalai CS1 ir CS2 lygus 0.
3. signalas WR/RD1. išvaduose DI0 0 – DI07 atsiranda adresuotos ląstelės baitas.
MEMR MEMW WR/RD
1 0 0
0 1 1
35.MPS dinaminė operatyvioji atmintis
DRAM atminties ląstelė- lauko tranzistoriaus užtūros talpa. Šios atminties pagr. ypatumas yra jos periodiškas regeneravimas. Jį atlieka speciali schema . regeneravimo periodas ne ilgesnis kaip 11-2ms.
DRAM pavyzdys: HR565 RU5 B..D
Sutartinis grafinis žymuo:
būsenos lentelė:
RAS CAS WR/RD funkcija
0 0 0 Rašymas
0 0 1 Skaitymas
0 1 X Regeneracija
1 0 X Saugojimas
1 1 X ——-//——-
• talpa- 64k x 1
• išrinkimo laikas- 230-460 ns
• suvartojama galia50mW
išvadai:
A0.A7- adresų išvadai
DI0, D0 skilties įėjimo išėjimo išvadai
RAS- eilučių strobavimo išvadas
CAS- stulpelių strobavimo išvadas
WR/RD- rašymo/ sakitymo valdymo signalų išvadas.
Regeneracijos metu formuojami visi adresai nuo 00 iki FF. organizacija biti- viena ląstelė( vienas tranzistorius) saugo 1 bitą.
DRAM turi šiuos pagrindinius privalumus:
1. didelė talpa, kadangi inf. bito įsiminimas yra paprastas ir kristale galima suformuoti daug atm.ląstelių.
2. maža suvartojama el. galia.
3. nedidelė kaina esant aukštam ekenomiškumui.
DRAM trūkumai:
1. atminties regeneravimui reikalinga ppapildomai pakankami sudėtinga schema;
2. regeneracijos metu negalima vykdyti skaitymo ir rašymo funkcijų;
3. neretai šios atmintys turi ne vieną maitinimo šaltinį.
36 MPS pastovioji atmintis
Tai MPS pagr.atmintis, joje saugomos programos. ROM yra didelės talpos( apie 2-4kB), o RAM nesiekia daugiau 2 kB.
Pavyzdys ( ROM): K573R5;
Talpa- 2k
Laikas -450ns
Sutartinis žymuo:
Būsenos lentelė
CEO CS Upr funkcija
X 1 +5V Inf.saugojimas
1 1 +25V Programavimas
1 0 +25V Pagr.draudimas
0 0 +25V Pagr. kontrolė
0 0 +5V Skaitymas
ROM mikroschema naudojama darbui tik skaitumo režime, informacijos skaitymas vyksta, kai siganalai CEOCO0, o prie išvado prijungta +5V įtampa.
CEO naudojamas atm. duomenų linijų prijungimui atjungimui. CEO1- atjungta.
CS- kristalo išrinkimas aktyvus loginio 0. Informacijos saugojimo funkciją, kai CS1 o CEO bet koks.šiuo atveju duomenų išvadai atjungti nuo DB. Prieš pradedant naudoti ROM, ji turi būt programuojama programatoriumi valdomu pagal tam tikrą programą. Programavimas vykdomas, kai prie Upr prijumgiama +25V įtampa. Programuojant signalas CS1, paduodamas 50ms laiko trikmės. Po to formuojamas signalas CS0 (programavimo draudimas), po to CEO0 ir kontroliuojamas įrašytas duomenų baitas.
37. Programuojamas lygiagretusis periferinis adapteris (PIO), jo valdymo signalai.
PIO naudojamas informacijos mainams tarp MP ir kitų periferinių įrenginių lygiagretaus dvejetainio kodo pavidale. PIO yra didelė integrinė schema INTEL (I8255, I8255A), MOTOROLA (MC6820, MC6821).
Vidinė struktūra:
Išvadai:
D0..D7 – DB šynos išvadai.
PA, PB, PC – trijų vidinių registrų PA, PB, PC išvadai.
RD(inv), WR(inv) – skaitymo rašymo strobavimo signalai. Aktyvūs, kai įėjime kaičiasi signalas iš 0→1.
A0, A1 – adresų iišvadai (vidinių registrų ir valdymo žodžio registro).
A1 A0
0 0 PA
0 1 PB
1 0 PC
1 1 CWRG – Control Word ReGister
CS(inv) – kristalo išrinkimo išvadas, aktyvus loginio 0 lygio. Kai CS=0, tai DB ir PA, PB, PC prijungti prie išorinių išvadų.
RESET – pradinio nustatymo išvadas, aktyvus loginio 1 lygio. Į jo įėjimą padavus 1, išvalomi vidiniai registrai
PA, PB, PC ir CWRG.
Valdymo signalų kitimas vyksta pagal šią valdymo signalų būvių lentelę:
A1 A0 RD(inv) WR(inv) CS(inv)
0 0 0 1 0 DB←PORT A
0 1 0 1 0 DB←PORT B
1 0 0 1 0 DB←PORT C
1 1 0 1 0 neleistinas
skaitymas
0 0 1 0 0 PORT A←DB
0 1 1 0 0 PORT B←DB
1 0 1 0 0 PORT C←DB
1 1 1 0 0 CWRG ←DB
rašymas
X X 1 1 0 Z stoves
X X X X 1 (išjungti išėjimai
PIO yra pilnai programuojamas. Programavimas vykdomas siunčiant specialų programavimo žodį MS(Mode Select) į valdymo žodžio registrą CWRG. CWRG turi 8 skiltis. Įrašymas į CWRG galimas tiktai kai MS.D7=1.
38. PIO darbo rėžimai.
PIO turi 2 darbo rėžimus. 1-ajame rėžime įvedimo valdymui naudojami šie strobavimo signalai:
STB (inv) (Strobe), IBF(Input Bufer Full), INT(INTerrapt).
1. STB(inv) – įvedimo sstrobavimo signalas, naudojamas duomenų baito įrašymui į įėjimo buferį, kai jis kinta.
2. IBF – aktyvus loginio 1 lygio; parodo, kad įėjimo buferis yra pilnas.
3. INT – pertraukimo signalas, aktyvus loginio 1 lygio, gali būti formuojamas, jei programiškai leistas ir skirtas MP pertraukimui.
STB(inv) : PC4 PORT A
PC2 PORT B
IBF : PC5 PORT A
PC1 PORT B
INT : PC3 PORT A
PC0 PORT B
Išvedimo valdymo signalai:
1.OBF(inv)(Output Buffer Full), aktyvus loginio 0 lygio, parodo kad išvedimo buferinis registras pilnas – jame patalpintas duomenų baitas.
2.ACK(inv) (ACKnowleage), patvirtinimo signalas, aktyvus loginio 0 lygio, naudojamas skaitant duomenis iš išvedimo registro.
3.INT(INTerrupt), pertraukimo reikalavimo signalas.
OBF(inv) : PC7 PORT A
PC1 PORT B
ACK(inv) : PC6
PC2
INT : PC3
PC0
Signalus INT galima programiškai drausti atitinkamai komanda BSR valdant INTE signalus, kurie įrašomi į atitinkamus PC porto bitus.
INT įvedimui PORT A PC4 INPUT
PORT B PC2 INPUT
išvedimui PORT A PC6 OUTPUT
PORT B PC2 OUTPUT
2- asis rėžimas naudojamas, kai vykdomas dvikryptis informacijos perdavimas per portą A, portas B nenaudojamas, o porto C atskiri bitai naudojami valdymo signalams.
STB(inv) – PC4
IBF – PC5
OBF(inv) – PC7
ACK(inv) – PC6
INT – PC3
Signalai IBF(inv), OBF(inv), ir INT yra programiškai prieinami nuskaitant MP kaip atitinkamus porto C bitus. 2-asis rėžimas
naudojamas informacijos mainams su įrenginais, turinčiais dvikryptę DB.
39. PIO pajungimo funkcinė schema
Nuliniame darbo režime
DC – dekoderis (dešifratorius)
DC gali būti standartinė ar loginė mikroschema. Jei PIO vienintelis, tai dešifratoriaus loginė schema (2pav). Galima ir nenaudoti dešifratoriaus.
Standartinis dešifratorius:
~E1, ~E2,~E3 <->001 (taip visuomet turi būti- const)
Pramoniniuose vienetinis signalas yra 24V. Tiesiogiai paduoti negalima ir reikalingas galvaninis atskyrimas.
a)be galvaninio atskyrimo
b)su galvaniniu atskyrimu.
OP – optroninis elementas (fototranzistorius + fotodiodas). Tarp jų elementų didelė varža ir didelės įtampos (iki 100V 2,5kV);
VD1 – atsargumo dėlei, jei bbūtų paduota neteisingo poliškumo įtamoa;
VD2 – dvikryptis stabilitronas. Kol nėra įtampos nelaidus abiem kryptimis. Tik tam tikrai reikšmei esant praleidžia srovę;
R1 – riboja srovę;
R2 – papildoma apsauga;
C – nuo triukšmų.
Kol nėra įtampos, arba ji nedidelė, srovė per fotodiodą neteka, tranzistorius uždaras, turime +5V (loginio1 lygio). Kai paduodama įtampa, diodas apšviečia tranzistoriaus bazę atsiranda U išėjime (loginio 0 lygio).
Išėjimo grandinės:
Stiprintuvas gali būti tranzistorinis bei kitoks.Pvz:
Jei paduodam įtampą 2,4V, tai —–> .
Tekant per kolektorių srovei, apkrova gauna įtampą (įjungta), jjei neteka – išjungta (Rap).
Ik=Iap; =Ik/IB – stiprinimo koeficientas.
ka=2..3 – atsargos koeficientas
;
UBE=0,7.0,8 V (Silicio)
UBE=0,2.0,3V (Germanio).
Imti standartinę varžą: IB1,6mA, kad nebūtų perkrautas.Reikia didinti stiprinimo koeficientą (kitą tranzistorių).
40.Programuojamas intervalinis taimeris (PIT), jo valdymo signalai
PIT – tai didelė integralinė schema, tikslių llaiko intervalų formavimui, baldant juos programiniu būdu (i8253, i8254)
Vidinė struktūra:
Išvadai:
D0.D7 – duomenų magistralės (dvikryptės) išvadai atjungiama magistralė
CKL 0,1,2 – vidinių skaitiklių įėjimai.
GATE 0,1,2 – įėjimų valdymas, kai GATE=0 CLK signalas draudžiamas, kai GATE=1 –leidžiamas.
A0,A1 – vidinių PIT elementų adresavimo signalai, esant šiems A0,A1 stoviams adresuojami elementai:
A0 A1
0 1 CT0
0 1 CT1
1 0 CT2
1 1 CWRG
~RD, ~WR – duomenų skaitymo ir rašymo strobavimo signalai.
~CS –(chip select) – kristalo išrinkimo signalai
~CS=0 – DB prijungta prie išvadų. ~CS =1 DB atjungta (kristalas neišrinktas).
OUT0, OUT1, OUT2 – vidinių skaitiklių CT0, CT1, CT2 perpildymo signalo išvadai.
Pagal PIT vidinę struktūrą galima išskirti:
1)DB buferinį registrą;
2)Skaitymo-rašymo logikos schemą;
3)Valdymo žodžio registrą CWRG (control word reg)
4)3 vienodus 2B (16 skilčių) dvejetainius skaitiklius CT0,CT1,CT2.
Duomenų magistralės buferis naudojamas rašant ir skaitant duomenų baitą perduodamą iš MPS.
Skaitymo-rašymo logikos schema naudojama PIT skaitiklių vvaldymui. Jos įėjime veikia valdymo signalai A0,A1,~CS ir skaitymo-rašymo strobavimo signalai ~RD,~WR.
CWRG talpinamas valdymo žodis, kuris perduodamas per DB, nurodant adresą 11 ir vykdant rašymo operaciją.CW nustato vieną iš 6 PIT darbo režimų. Kiekvienas skaitiklis programuojamas individualiai ir gali atskirai dirbti bet kuriame iš 6 darbo režimų.
Skaitikliai CT 0,1,2 vienodi. Į jų išėjimus paduodami impulsai CLK 0,1,2 , kurių padavimas valdomas signalais GATE 0,1,2.Visi skaitikliai yra atėmimo skaitikliai (reversiniai). CLK signalas mažina jų turinį 1. Kai turinys lygus 0, formuojamas pperpildymo signalas išėjimuose OUT 0,1,2. Į bet kurį skaitiklį galima įrašyti duomenų žodį DW (Data Word) arba šį DW nuskaityti iš skaitiklio. Skaitikliai programiškai prienami DWH, DWL. PIT valdomas rašant valdymo žodį.
PIT valdymo žodžio formatas toks:
BCD =0 – dirba dvejetainiame režime, BCD=1 – dvejetainis-dešimtainis kodas (8421).
RL 0,1 : D0 kodo įsiminimas.Skaitiklių valdymas galimas 2 būdais:1)stabdant skaitiklio darbą.2)nestabdant.Kai PIT darbo metu reikia nuskaityti skaitiklio turinį, jo darbas gali būti sustabdytas padavus iš išorės GATE=0 ir toliau skaitant duomenis. Pabaigus skaitymą GATE=1.Skaitant duomenis ir nestabdant skaitiklio darbo naudojamas kodo įsiminimas spec. vidurinio skaitiklio turinio registre. Norint skaityt jo turinį nesustabdžius jo darbo (GATE=1) perduodamas valdymo žodis su kodo įsiminimo komanda RL1=0=RL0. Po šios valdymo komandos galima skaityti išrinkto skaitiklio turinį iš specialaus registro, kai tuo tarpu skaitiklio darbas nenutrūksta.
RL0,RL1=01 – nuskaityti / įrašyti jaunesnįjį duomenų žodžio baitą.
Darbas su PIT vykdomas tokia tvarka:
1.Įjungus maitinimą PIT skaitiklių stovis neapibrėžtas, todėl turi būti vykdomas PIT pradinis nustatymas.
2.Jo metu į skaitiklį rašomas DW, kuriame nurodoma: a)skaitiklio numeris;b)skaitiklio darbo režimas;c)koks bus naudojamas kodas (B ar BCD); d)kokio formato bus rašomas pradinis duomenų žodis DW (DWL,DWH,DW).
3)Į išryškintą skaitiklį rašomas 1B ar 2B duomenų baitai. Kartu paleidžiamas PIT darbas. Rašant CW automatiškai vyksta pradinis skaitiklio nustatymas.
Skaitiklio valdymas vyksta ppagal šią būsenos diagramą:
41. PIT darbo režimai
PIT gali dirbti 6 darbo režimuose (0.IV).
Kiekvienas darbo režimas kiekvienam CT programuojamas atskirai rašant š PIT atitinkamą CW pagal CW formatą.
PIT darbo režimo pakeitimas gali būti atliekamas bet kada, priklausomai nuo konkrečių schemos reiklavimų.
0 darbo režimas. Pertrauktis pabaigus skaičiavimą. TCT=DWTCLK; TCLK=1/fCLK.
Laiko momentu t=0 yra pradinis skaitiklio CT nustatymas darbo režimui 0. Nuo šio momento paleidus CT prasideda laiko skaičiavimas, kurio trukmė TCT proporcingas duomenų žodžiui DW. Taip pat priklauso nuo CT įėjimo impulsų dažnio fCLK. fCLK2,5MHz.
1 darbo režimas. Programuojamas multivibratorius.
Laiko momentu t=0 įvyksta CT pirmojo darbo režimo nustatymas OUT=1. Po to CT laukia valdymo signalo GATE pasikeitimo iš loginio 0 į loginį 1. Laiko momentu t OUT išėjime formuojamas TCT trukmės loginio 0 impulsas. TCT griežtai kalibruota ir priklauso nuo DW, įrašyto į skaitiklį .DW neišnyksta – po impulso formavimo vėl automatiškai perrašomas į skaitiklį, – skaitiklis dirba su autopakrovimu.
2.Darbo režimas Dažnio generatorius,
Laiko momentu t=0, CT nustatomas II darbo režimas. Nuo šio laiko momento prasideda TCT periodo skaičiavimas. Kai CT turinys tampa lygus 1, formuojamas TCLK nulinio lygio impulsas ir toliai CT darbas kartojasi. Šiame režime CT dirba su autopakrovimu.
3.Darbo režimas. Stačiakampių impulsų generatorius.
Jei DW neporinis: „1“-
„0“ –
Kai DW nelyginio tai vieneto llygio impulso periodas ir nulinio lygio impulso periodas formuojamas pagal pateiktas išraiškas. Tai me.. .Naudojamas USART taktavimas.
4.Darbo režimas Programinio strobo užlaikymas
Laiko momentu t=0 nustatomas IV darbo režimas ir į CT įrašomas DW. Praėjus laikui TCT, formuojama TCLK trukmės nulinio lygio impulsas. Šiame režime CT neturi autopakrovimo: po impulso formuojamas CT=FFFFH.
5.Darbo režimas. Aparatinis strobo užlaikymas.
Laiko momentu t=0, nustatomas V darbo režimas ir laukiama kol signalas GATE pakis iš „0“ į „1“. Nuo laiko momento t prasideda strobo užlaikymo skaičiavimas. Po laiko TCT formuojamas OUT išėjimo „0“ TCLK trukmės impulsas (strobas). Toliau darbas gali būti tęsiamas, nes yra CT autopakrovimas.
42. PIT pajungimo schema
Vienu metu dirbant trims CT .Valdymas per GATE nepajungtas (=1).
DC – dešifratorius. SK sisteminis kontroleris.
PIT valdomas kaip periferinis įtaisas.
43.Universalus sinchroninis-asinchroninis imtuvas ir siųstuvas (USART)
i8251 , 51A
MC 6850
i8250 (USART)
Tai didelė schema skirta nuoseklaus ryšio interfeiso organizavimui. Ši schema programinėmis ir techninėmis priemonėmis leidžia organizuoti nuoseklius informacijos mainus tiek sinchroniniame, tiek asinchroniniame darbo režimuose praktiškai bet kokiam informacijos mainų protokolui.
Informaciniai duomenys perduodami nuosekliame pavidale nuoseklia duomenų baitų (bitų) seka, pradedant jaunesniuoju bitu D0.
1)Asinchroninis režimas
Asinchroniniame darbo režime duomenų baito nuoseklus pavidalas yra toks:
Informacijos mainai asinchroniniame režime prasideda START
bito formavime perėjimo iš loginio 1 į loginio 0. START bitas kontroliuojamas nemažiau kaip 3 kartus. Jei iš 3 kartų atpažįstamas 0, tai laikoma kad informacijos mainų START prasideda. Toliau perduodamas arba priimamas duomenų bitas D0¬ (nuosekliai iš eilės). Po duomenų perdavimo arba priėmimo gali būti įterptas kontrolinis bitas C. C yra duomenų baito papildymas iki lyginio skaičiaus bitų arba nelyginio skaičiaus bitų. Po kontrolės bito eina 1 arba 2 STOP bitai loginio vieneto lygio. Po STOP bito galima perduoti aarba priimti kitą iš eilės duomenų baitą.
Informacinis kadras gali būti keičiamas. Gali būti keičiami tik duomenų dalis, kontrolinio bito dalis ir STOP bito dalis. START dalis išlieka nepakitusi.
2)Sinchroninis darbo režimas
Tai dažniausiai naudojamas informacijos mainams telekomunikacijoje. Jis skiriasi iš išnagrinėto tuo, kad duomenys perduodami gali būti nepertraukiami nenaudojant START, kontrolinio bito, STOP bito.
Tačiau sinchroninis režimas informacijos mainų pradžiai nustatyti naudojami sinchrosimboliai: 1 arba 2. Tai baitai, kurie gali būti programuojami, įrašomi į imtuvą ir naudojami duomenų arba informacijos mainų pradžios nustatymui. SSinchroniniame darbo režime informacijos mainai vyksta pagal tokią schemą:
Į imtuvo specialų sinchrosimbolių registrą pradinio nustatymo metu įrašomas 1 arba 2 sinchrosimbolių baitai (kodas). Imtuvas dirbdamas sinchroniniame režime nuolat priima duomenų baitus ir juos lygina su sinchrosimboliais. Kol priimti baitai nėra llygūs sinchrosimboliams imtuvas nepriima informacijos. Kai tik aptinkami ir at[ažystami sinchrosimboliai imtuvas pradeda priiminėti informaciją.
Vidinė struktūra
D0,D7 jungiami prie duomenų magistralės
~RD, ~WR USART skaitymo ir rašymo signalai
C/D – valdymo signalas, kuris nustato perduodamų ar priimamų duomenų kategoriją.
C/D = 1 (control=1)
C/D = 0 (data=0)
~CS – signalo išrinkimo signalas
~CS=0 prijungta duomenų magistralė. ~CS=1 atjungta
CLK – bendros organizacijos signalas. Aktyvus perėjimas iš loginio 0 į 1. Naudojamas bendrai schemos USART sinchronizacijai
fCLK30fd; fd – duomenų mainų dažnis.
RESET – pradinio nustatymo signalas
RESET laikas 6TCLK; TCLK=1/fCLK
TD – siųstuvo išėjimas, kuriame nuosekliame pavidale formuojama perduodama informacija.
~TC – siųstuvo sinchronizacijos įėjimas. Perduodama impulsų seka, kurios dažnis atitinka perduodamų duomenų dažniui.
TE – siųstuvo pabaigos signalas. Aktyvus loginio1
TRDY – siųstuvo pasiruošimo perduot kitą duomenų baitą signalas. Aktyvus loginio 1.
RD –– imtuvo įėjimas, į kurį patenka priimami duomenys.
RC – imtuvo sinchronizacijos priėmimo signalas.
S DET – darbo su vidine sinchronizacija sinchroniniame darbo režime sinchronizacijos signalo įėjimas
RRDY – imtuvo pasiruošimo signalas. Aktyvus loginio 1.
~DSR, ~DTR, ~DTS, ~CTS – modemo valdymo signalai.
Pagal vidinę struktūrą USART galime išskirti šiuos elementus:
DB buferis turi šiuos registrus: duomenų, valdymo, žodžio, duomenų papildomą registrą.
Skaitymo rašymo logikos schema naudojama USART valdymui ir turinti savo sudėtyje šiuos registrus: USART režimo registrą, komandų registrą ir dviejų sinchroninio registro impulsus.
Modemo valdymo sschema vykdo modemo valdymo signalų formavimą.
Siųstuvas turi poslinkio registrą 13 sk. : 1 skiltis START bitas, 2-9 duomenų bitai, 10 kontrolinis bitas, 11-12 STOP bitai, 13 tarnybinis bitas reikalingas duomenų pilnam išsiuntimui.
Siųstuvo valdymo schema valdo siųstuvo darbą, priima siųstuvo sinchroninį signalą pagal kurį nustatomas siųstuvo perduodamų duomenų greitis. Imtuvas I turi 2 devinių bitų poslinkio registrus. Viename registre priimami duomenys, antrame – prieš tai priimti duomenys.
Imtuvo valdymo schema valdo imtuvą ir sinchronizuoja priimamų duomenų, bitų priėmimo procesą.
USART funkcionuoja pagal šią būsenos lentelę.
44.USART valdymo bei stovio žodžiai
USART valdyme yra naudojai 2 valdymo žodžiai:
MI (Mode instruction) – režimo instrukcija
CI (Command instruction) – komandos instrukcija
Režimo instrukcijos MI yra skirtinga asinchroniniam bei sinchroniniams režimams. Asinchroniniam darbo režimui valdymo žodžio D0 ir D1 skiltys nėra lygios nuliui.
Asinchroninio režimo valdymo žodžio instrukcijos formatas yra šis:
MI (asinchroninis darbo režimas)
L2, L1 bitai nustato duomenų ilgį 5,6,7 arba bitai.
PEN bitas nustato pariteto kontrolę
EP nustato kontrolės rūšį (lyginis, nelyginis)
Data+P=nelyginis, kai EP=0 ir PEN=1
S2, S1 nustato asinchroninio kadro STOP bitų skaičių
MI (sinchroniniame darbo režime)
B2, B1 bitai 0
ESD esant 0 USART dirba su vidine sinchronizacija. Šiame režime imtuvas pervedus jį į priėmimo darbo režimą laukia sinchrosimbolių nuolat įvedant duomenis ir juos lyginant su įrašytais sinchrosimboliais registruose. Sinchrosimbolių skaičius gali būti programuojamas 22 arba 1 nustatant SCS bitą 0 arba 1
Kai tik imtuvas atpažįsta sinchrosimbolius USART SDET išėjime formuojamas loginio vieneto signalas (SDET=1) dirbant USART sinchroniniame darbo režime su vidine sinchronizacija.
Esant ESD=1 išorinė sinchronizacija USART imtuvas nekontroliuoja sinchrosimbolių, o seka SDET įėjimo signalą.
Kol SDET=0, tol imtuvas dirbantis su išorine sinchronizacija nepriima informacijos. Kai tik SDET=1 imtuvas pradeda priiminėti duomenis analogiškai, kaip ir darbo režime su vidine sinchronizacija.
CI valdymo žodis
Naudojamas operatyviam USART valdymui darbo metu. Su CI galima įjungti arba išjungti USART imtuvą arba siųstuvą, programiškai nustatyti USART į pradinę padėtį, pervesti USART į laukimo būseną. CI valdymo žodžio formatas yra toks:
TE draudžia arba leidžia siųstuvo darbą
RE valdo imtuvo darbą (dr., leid.)
USART stovis jo darbo metu kontroliuojamas programiškai skaitant stovio žodį SW (status word). Jo formatas:
TRDY=0 siųstuvas nepasiruošęs priimti duomenų, =1 siųstuvas pasiruošęs siųsti duomenis.
RRDY=0 imtuvas dirba priėmime, nepasiruošęs, =1 imtuvas baigė priėmimus pasiruošęs darbui.
PE – pariteto klaidos požymis (1-yra,0-nėra). Jei PE klaida yra įjungiamas klaidos trigeris.
OE perpildymo klaidos požymis. Ši klaida gali atsirasti tuomet, kai USART imtuvas priima duomenų baitą pradeda priiminėti kitą duomenų baitą, o per antrojo duomenų baito priėmimo laikotarpį nėra priimamas pirmasis priėmimo laipsnis. Ir šiuo atveju priėmus antrąjį baitą, pirmasis baitas negrįžtamai prarandamas.
FE – formato klaidos požymis. Šis ppožymis nustatomas įsijungus vidiniam formato klaidos požymiui, kai užprogramuotam duomenų ilgiui STOP bito vietoje neaptinkamas loginio vieneto lygis (nėra STOP bito)
USART yra universalus nuoseklus ryšio adapteris, kuris gali dirbti šiuose režimuose:
1)asinchroninis priėmimas, asinchroninis perdavimas
2)asinchroninis priėmimas su vidine sinchronizacija
3)sinchroninis priėmimas su išorine sinchronizacija.
19200 bit/sek
566400 bit/sek
Prieš pradedant USART darbą jis turi būti programiškai nustatomas (inicijuojamas) pagal griežtai nustatytą tvarką. Asinchroniniame darbo režime iniciacijos tvarka yra ši:
1.CW=00H Rašymas
2.CW=00H
3.CW=00H
4.CW=40H Programos pradinis nustatymas
5.CW=MI
6.CW=CI
7.Pauzė 0,1ms
8.Kontrol. sk. 1
9.Kontrol. sk. 2
Sinchroniniame darbo režime iniciacijos tvarka tokia:
1.CW=00H Rašymas
2.CW=00H
3.CW=00H
4.CW=40H Programos pradinis nustatymas
5.CW=MI
6.CW=CI
7.CW=SYNC1 arba SYNC2
8.Pauzė 0,1ms
9.Kontrol. sk. 1
10.Kontrol. sk. 2
45.USART pajungimo schema
USART‘as adresuojamas naudojant dešifratorių, TC, RC įėjimų atitinkamai priėmimo greitį nustatyti. TRDY – siųstuvo pertrauktis, RC – imtuvo pertrauktis.