andmesõltuvus (Data dependency). Nendega tekkivad nö ,,mullid" lahendab andmete otsene edastus. 3. PINUMÄLU (STACK) REALISEERIMINE JA KASUTAMINE PROTSESSORIS Baseerub loogikal LIFO. Andmeid ,,tõmmatakse" pinumälust tüüpiliselt ,,PULL" käsu abil, uusi andmeid ,,lükatakse" pinu otsa ,,PUSH" käsuga. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte kahendkujul esinevat viita, mis osutab ,,pinu tipule" see viit on pinuviit (stack pointer). Tüüpiline pinul realiseeritud operatsioon protsessoris ,,tõmba" pinu tipust ,,sõna 1" ja ,,sõna 2", saada ALUsse, korruta omavahel, ,,lükka" tulemus pinu otsa tagasi. 1. LOENDURID Impulsside loendamiseks ette nähtud loogikaskeem. Kasutatakse automaatikaseadmetes ja arvutustehnikas. Sisenditesse püütakse impulsid, väljundiks 0 1 kombinatsioonid. Väljund kombinatsioonide arvu nim. mooduliks. E-sisend ehk ,,enable" sisend lubab loendamise.
kasutatakse indeksiregistris Abstraktse automaadi töötamisel konjuktsioonmaatriks, kui salvestatakse automaatselt salvestatud aadressi sõna. toimub sisendsõnade muutumine dioodide asemel on transistorid. aritmeetika- loogikaploki tulem. Autoinkrementne - sarnane väljundsõnadeks, kusjuures Siis põletatakse välja Pinumäluviit e. pinuviit säilitab kaudsega, aga pärast operandi protsessis etendab olulist osa mittevajalikud emitterühendused. muutmälu selle piirkonna adresseerimist ja käsu täitmist automaadi sisemine olek antud 21.Siinid: Mikroprotsessorite ja aadressi, mida jooksvalt registri sisu kasvatatakse registri hetkel
Mikroprotsessori põhilised komponendid: * registrid, * akumulaator, * ALU. Mikroprotsessor sisaldab mitmeid registreid, mida kasut. tehte tulemite või tehte vahetulemite lühiajaliseks salvestamiseks, selleks, et tulemid oleksid kiiresti saadaval järgmisteks teheteks. Akumulaator on protsessori üheks kõige tähtsamaks registriks, kuhu enne tehte sooritamist viiakse üks operandidest ning kuhu salvestatakse automaatselt aritmeetika- loogikaploki tulem. Pinumäluviit e. pinuviit säilitab muutmälu selle piirkonna aadressi, mida jooksvalt kasutatakse pinumäluna. ALU teostab mikroprogrammi poolt lahendatud loogikaülesandeid. Registermälu kasut. programmi operandide, vahetulemite ja aadresside ajutiseks säilitamiseks. Käsudekooder otsib üles järgmise käsu. 22. ANDMEVAHETUS MIKROPROTSESSORSÜSTEEMIS (mikroarvutis). (siinisükkel, olekusõna, siinikontroller, pöördumine mälu ja
vaid ühte kahendkujul esinevat viita, mis osutab ,,pinu tippule" seda viita nim. pinuviidaks(stack pointer, SP). *Alan Clementsi raamatus oli pinu rakendatud näiteks suvapöördusmälus(Tavaliselt ongi pinumälu realiseeritud mingis sobivas suvapöördusmälu piirkonnas), postinkrementse- ning predekrementse adresseerimise baasil: enne igat ,,PUSH" käsku pinuviita dekrementeeritakse ning peale igat ,,PULL" käsku seda inkrementeeritakse. Selliselt saame olla kindlad, et pinuviit viitab alati pinu kõrgeimale elemendile. Näiteks: MOVE(SP) +, D3 ,,tõmbab" pinu tipust ühe elemendi, inkrementeerib pinuviida viitama järgmisele ,,kõrgeimale" elemendile, ning tõstab väärtuse andmeregistrisse D3. *Tüüpiline pinul realiseeritud operatsioon protsessoris - ,,tõmba" pinu tipust ,,sõna 1" ning ,,sõna 2", saada nad ALUsse, korruta nad omavahel, ,,lükka" tulemus pinu otsa tagasi.
kombinatsioonidena. Registrites hoitakse andmeid (registrid on tegelikult seega protsessori sees olevad mälukohad), milliseid on mälust loetud, mida soovitakse aritmeetikaseadme abil töödelda ning mällu jälle tagasi kirjutada. Teatud registrid on erilise ülesandega: käsuloendur (peab meeles järgmise käsu asukohta), olekuregister (lipud) peab meeles viimase tehte tulemi iseärasusi (registri ületäitumine, negatiivne tulemus, tulemuseks null jne), pinuviit (stack pointer). Osa registreid on ajutised registrid, neid kasutab ALU aritmeetika ja loogikatehete teostamisel vajalike vahetulemuste hoidmiseks. Kogu protsessori tegevuse ja erinevate protsessori osade omavaheliseks sünkroniseerimiseks kasutatakse sükroniseerivat signaal, mille sagedus on tuntud kui protsessori taktsagedus. Seega ei näita protsessori taktsagedus otseselt protsessori jõudlust, sest erinevatel protsessoritel võib käsukude täitmiseks kuluda erinev arv takte
o Käsuloendur (PC - Program Counter) sisaldab järgmise käsu mäluaadressi. Seda suurendatakse automaatselt iga käsutsükli jaoks. Alamprogrammid ja katkestused muudavad selle registri tavalist töötsüklit, sisestades käsuloendurisse uue väärtuse o Käsuregister (IR - Instruction Register) sisaldab mälust loetud käsku o Olekuregister (SR - Status Register) sisaldab protsessori tehete teostamise olekut o Pinuviit (SP - Stack Pointer) sisaldab pinumälu järgmist vaba aadressi. Pinumälu kasutatakse protsessori registrite seisu salvestamiseks. Näiteks on see vajalik katkestust teenindava alamprogrammi käivitamise eel, et salvestada protsessori jooksev tööseis ja taastada see peale katkestuse alamprogrammi lõpetamist, et naasta põhiprogrammi täitmise juurde. Pinumälu töötab viimasena sisse esimesena välja
arvutada väljundi väärtuse. Puudub sõltuvus eelmistest sisendite väärtustest. Pinumälu. Pinumällu kirjutamisel näitab pinumälu osuti alati viimasele sinna kirjutatud sõnale. Seega saab lugeda esimesena ainult sinna viimasena salvestatud sõna ja sõna mis kirjutati mällu esimesena loetakse välja viimasena (LIFO). Realiseeritakse protsessoris kas programselt - st pinumälule eraldatakse teatud mälu piirkond ja SP (stack pointer ehk pinuviit) on salvestatud spetsiaalsesse registrisse. Alati kui toimub kirjutamine siis modifitseerikatse Spväärtust, et ta näitaks esimesele vabale pesale ja siis salvestatakse sõna. Lugemisel vastupidi - alguses loetakse sõna ja seejärel moodustatakse SP, et ta osutaks järgmisele varem salvestatud sõnale pinumälus. Riistvaralise realisatsiooni korral on pinumälu põhimõtteliselt rida ühise juhtimisega nihkeregisterid kui infot saab nihutada. Igale sõna bitile vastam oma nihkeregister
ning omistamaks binaarväärtusi. Neid kõikumisi võivad põhjustada SLM, optiline kujutamine või originaallaserkiired. 16 · Erinevate pöördus viisidega mälud ( pinumälu (Stack, LIFO), puhvermälu (FIFO) ) Pinu võib ette kujutada pealt avatud anumana, kuhu võib üksteise peale laduda andmeid. Oluline omadus on võimalus andmeid ära võtta ainult sissepanekule vastupidises järjekorras. Viimasele sissekandele osutab pinuviit s.o. aadress, millelt on võimalik välja lugeda viimasena salvestatud muutuja ning millele järgnevale aadressile võib kirjutada uue muutuja. Analoogiliselt anumaga võib pinu täis saada, kui temale eraldatud ruum on ära kasutatud. Pinuga opereerimiseks on olemas käsud PUSH salvestamine pinusse ja POP pinust lugemine. Järjekorda võime ette kujutada toruna, millesse ühest otsast pannakse andmeid juurde, teisest otsast aga võetakse välja
R/W + siiniprotokolli juhtimine, eristab pöördumise mälu või I/O seadme poole. Siinitsükli alustamisel saadab välja olekusõna, milles määrab R/W, CS jne. Erinevalt AB ja DB’st pole homogeenne. 28. Alamprogrammide poole pöördumine ja pinumälu. Pinu võib ette kujutada pealt avatud anumana, kuhu võib üksteise peale laduda andmeid. Oluline omadus on võimalus andmeid ära võtta ainult sissepanekule vastupidises järjekorras. Viimasele sissekandele osutab pinuviit – s.o. aadress, millelt on võimalik välja lugeda viimasena salvestatud muutuja ning millele järgnevale aadressile võib kirjutada uue muutuja. Analoogiliselt anumaga võib pinu täis saada, kui temale eraldatud ruum on ära kasutatud. Pinuga opereerimiseks on olemas käsud PUSH – salvestamine pinusse ja POP – pinust lugemine. Järjekorda võime ette kujutada toruna, millesse ühest otsast pannakse andmeid juurde, teisest otsast aga võetakse välja
9. Mikroprotsessori registrid ja siinid 2.2.2. Registrid ja nende otstarve Mikroprotsessor sisaldab mitmeid registreid, mida kasutatakse tehte tulemite või tehte vahetulemite lühiajaliseks salvestamiseks, selleks et tulemid oleksid kiiresti saadaval järgmisteks teheteks. Akumulaator on protsessori üheks kõige tähtsamaks registriks, kuhu enne tehte sooritamist viiakse üks operandidest ning kuhu salvestatakse automaatselt aritmeetika- loogikaploki tulem. Pinumälu viit ehk pinuviit säilitab muutmälu selle piirkonna aadressi, mida jooksvalt kasutatakse pinumäluna. Käsuloenduri (PC - program counter või IP - instruction pointer) ülesandeks on säilitada programmi järgmise käsu aadressi. Selle järgi võib käsuloendurit nimetada ka käsuviidaks (vrd pinuviit) või programmiloenduriks. Standardsel 8-bitisel mikroprotsessoril on 16-bitine käsuloendur, millega täidetakse programmi, mille pikkus mälus ei ületa 65 535 käsku.