b) Käsuloenduri väärtust inkrementeeritakse PC = PC+1 c) Käsu aadress saabub mälu aadressiregistrisse (Memory Address Register) d) Aadressi järgi lüüakse mälust küsitav info puhverregistrisse (Memory Buffer Register) e) Mälu puhverregistrist liigub ,,sõna" käsuregistrisse (Instruction Register) f) Käsuregistris eraldatakse üksteisest operand ning käsukood, käsukood läheb juhtautomaati täitmisele, operand aga vastavalt juhule kas ALUsse või mõnda andmeregistrisse. g) Pärast vajalike ALU tehete/operatsioonide tegemis läheb tulemus tagasi mõnda andmeregistrisse/suvapöördusmällu. 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
V: American Standard Code for Information Interchange 3) Mitu bitti on vaja ühe ASCII-koodis tähe salvestamiseks? V: 7 4) Mida tähendab lühend RISC? V: Reduced Instruction Set Computer 5) Pane toimumise järjekorda käsu Add LOCB,R1 täitmiseks vajalikud sammud (eeldame, et püsimälust loetakse muutuja enne ALUsse kui protsessori enda registrist). V: 1. – Kanna programmiloenduri (PC) sisu üle mälu aadressi registrisse (MAR), 2. – Loe käsu andmed mälust mälu andmeregistrisse (MDR), 3. – Kanna mälu andmeregistri (MDR) sisu üle käsuregistrisse, 4. – Kanna mälu aadressiregistrisse (MAR) LOCB aadress, 5. – Loe LOCB sisu mälu andmeregistrisse (MDR), 6. – Kanna mälu andmeregistri (MDR) sisu üle aritmeetika-loogika seadmesse (ALU), 7. – Kanna registri R1 sisu üle aritmeetika- loogika seadmesse (ALU), 8. – Teosta ALUs liitmistehe, 9. – Kanna vastus ALUst registrisse R1 6) Kui palju kulub protsessoril aega masinkoodi 197 käsu käivitamiseks, kui
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. (Piltlikult võib pinumälu ette kujutada, kui suurt paberihunnikut, kuhu aega-ajalt lisatakse uusi lehti ning vajadusel neid hunniku tipust jällegi eemaldatakse. Kui vajame paberihunniku tipust lähtudes 3.ndat paberit, peame esmalt eemaldama temal lasuvad 2 paberit, et vajamineva leheni pääseda). 3
■ Vastus: Complex Instruction Set Computer e. Pane toimumise järjekorda käsu Add LOCA,RO täitmiseks vajalikud sammud (eeldame, et püsimälust loetakse muutuja enne ALUsse kui protsessori enda registrist). ■ Vastus: 1. – Kanna programmiloenduri (PC) sisu üle mälu aadressi registrisse (MAR), 2. – Loe käsu andmed mälust mälu andmeregistrisse (MDR), 3. – Kanna mälu andmeregistri (MDR) sisu üle käsuregistrisse, 4. – Kanna mälu aadressiregistrisse (MAR) LOCA aadress, 5. – Loe LOCA sisu mälu andmeregistrisse (MDR), 6. – Kanna mälu andmeregistri (MDR) sisu üle aritmeetikaloogika seadmesse (ALU), 7. – Kanna registri R0 sisu üle aritmeetikaloogika seadmesse (ALU), 8