2. JUHTAUTOMAAT: OSA KÄSU TÄITMISEL JA REALISEERIMINE (Control Unit) Protsessori tähtsaim osa aktiveerib täidetavale käsukoodile vastavaid signaale ning koordineerib nendega kogu ülejäänud protsessori tööd. (NT: aktiveerib mõne mäluregistri, et viimane haaraks siinilt info jne.) RISC protsessorite puhul juhtautomaatide realisatsioonid alati keerukamad kui CISCi puhul ning peavad täitma märksa suuremat hulka ülesandeid. RISC protsessori puhul on juhtautomaati võimalik veel omakorda tükkideks jagada (scheduling ja retirement unit) REALISEERIMINE Jäiga loogikaga juhtautomaat (RALU) realiseeritakse algoritm loogikaskeemina kristalli pinnal (nö ad hoc juhtautomaat) ja iga muuutus käsusüsteemis tähendab uue loogikaskeemi realiseerimist. 70ndatel/80ndate algul oli RALU-de kasutamine populaarsem, sest ei pööratud veel väga palju tähelepanu protsessori süstemaatilisusele.
a). Käsukood laetakse käsuloendurisse (Program Counter) b). Käsuloenduri väärtust inkrementeeritakse PC = PC+1 c). Käsu aadress saabub mälu aadressiregistrisse (Memory Adress 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 andmereigstrisse. g). Pärast vajalike ALU tehete/operatsioonide tegemist läheb tulemus tagasi mõnda andmeregistrisse/suvapöördusmällu. 22. RISC ja CISC protsssorid; mikroprogramm[1] *RISC protsessorid(Reduced/Regular Instruction Set Computing): RISC-tüüpi protsessorite ideoloogia aluseks on võimalikult lihtne ja läbinähtav käsusüsteem (instruction set) ning
Täielikult vs mittetäielikult määratud Boole'i funktsioonid {LAB1} Enamkasutatavaid järjestikskeeme 21.Juhtautomaat: Osa käsu täitmisel ja realiseerimine. Juhtautomaat kujutab endast käsu täitmise algoritmi riistvaralist realisatsiooni loogikaskeemina. Peale üldosa vastab igale käsule , mida protsessor on võimeline täitma (kuulub tema käsusüsteemi), algoritmis oma haru. Käsu dekodeerimise järgi toimub mikroprogrammis hargnemine.Selle hargnemise realiseerimiseks peab juhtautomaati tulema käsudekoodrist info selle kohta, milline on täitmisele tulev käsk. Mõnede käskude täitmisel on vaja realiseerida mikroprogrammis hargnemisi, mis sõltuvad protsessori mõne teise osa seisundist. Näiteks on vaja teada korrutamise realiseerimisel liitmise ja nihutamise abil eelneva ALU operatsiooni tulemuse võrdumist nulliga. Põhimõtteliselt on juhtautomaadi realiseerimiseks kaks võimalust: 1) jäiga loogikaga juhtautomaat: Jäiga loogika korral realiseeritakse algoritm
PILET 1. Trigerid Vaata 1.1 2. Juhtautomaat : osa käsu täitmisel ja realiseerimine. Juhtautomaat kujutab endast käsu täitmise algoritmi riistvaralist realisatsiooni loogikaskeemina. Peale üldosa vastab igale käsule , mida protsessor on võimeline täitma (kuulub tema käsusüsteemi), algoritmis oma haru. Käsu dekodeerimise järgi toimub mikroprogrammis hargnemine.Selle hargnemise realiseerimiseks peab juhtautomaati tulema käsudekoodrist info selle kohta, milline on täitmisele tulev käsk. Mõnede käskude täitmisel on vaja realiseerida mikroprogrammis hargnemisi, mis sõltuvad protsessori mõne teise osa seisundist. Näiteks on vaja teada korrutamise realiseerimisel liitmise ja nihutamise abil eelneva ALU operatsiooni tulemuse võrdumist nulliga. Põhimõtteliselt on juhtautomaadi realiseerimiseks kaks võimalust:
Käsuloendur saab järgneva käsu aadressi ???-st (juhtautomaadist arvatavasti ... või siis programmistilt). Saadab Read signaali ja mälu aadressi Mäluaadressi Registrisse, kus selle järgi leitakse mälust vastav pesa ja kirjutatakse selle sisu Mälu Puhverregistrisse, sealt omakorda käsukood ning operand(id) käsuregisreisse. Mälust saadud käsk säilitatakse käsuregistris kuni käsudekooder selle identifitseerib. Käsudekoodrist liigub vastavast väljundist signaal juhtautomaati. Juhtautomaat saadab juhtsignaalid operatsiooniautomaati. Operatsiooniautomaat loeb nõutud andmed oma suurde registermälusse ning saadab andmed ALU-sse, mis juhtautomaadi käskude järgi teeb vastavad tehted. Lippude register saadab samuti operande ALU-sse. Siirdekäsk käsk, mis nihutab käsuleonduri aadressile, mis ei oleks olnud loenduri loomulik järgmine aadress. Käsuleondur on loendur, mis väärtustatakse teatud algtingimustega ja mida juhib programmist oma siirdekäskudega
Käsuloendur saab järgneva käsu aadressi ???-st (juhtautomaadist arvatavasti ... või siis programmistilt). Saadab Read signaali ja mälu aadressi Mäluaadressi Registrisse, kus selle järgi leitakse mälust vastav pesa ja kirjutatakse selle sisu Mälu Puhverregistrisse, sealt omakorda käsukood ning operand(id) käsuregisreisse. Mälust saadud käsk säilitatakse käsuregistris kuni käsudekooder selle identifitseerib. Käsudekoodrist liigub vastavast väljundist signaal juhtautomaati. Juhtautomaat saadab juhtsignaalid operatsiooniautomaati. Operatsiooniautomaat loeb nõutud andmed oma suurde registermälusse ning saadab andmed ALU-sse, mis juhtautomaadi käskude järgi teeb vastavad tehted. Lippude register saadab samuti operande ALU-sse. Siirdekäsk käsk, mis nihutab käsuleonduri aadressile, mis ei oleks olnud loenduri loomulik järgmine aadress. Käsuleondur on loendur, mis väärtustatakse teatud algtingimustega ja mida juhib programmist oma siirdekäskudega
Käsuloendur saab järgneva käsu aadressi ???-st (juhtautomaadist arvatavasti ... või siis programmistilt). Saadab Read signaali ja mälu aadressi Mäluaadressi Registrisse, kus selle järgi leitakse mälust vastav pesa ja kirjutatakse selle sisu Mälu Puhverregistrisse, sealt omakorda käsukood ning operand(id) käsuregisreisse. Mälust saadud käsk säilitatakse käsuregistris kuni käsudekooder selle identifitseerib. Käsudekoodrist liigub vastavast väljundist signaal juhtautomaati. Juhtautomaat saadab juhtsignaalid operatsiooniautomaati. Operatsiooniautomaat loeb nõutud andmed oma suurde registermälusse ning saadab andmed ALU-sse, mis juhtautomaadi käskude järgi teeb vastavad tehted. Lippude register saadab samuti operande ALU-sse. Siirdekäsk käsk, mis nihutab käsuleonduri aadressile, mis ei oleks olnud loenduri loomulik järgmine aadress. Käsuleondur on loendur, mis väärtustatakse teatud algtingimustega ja mida juhib programmist oma siirdekäskudega
11 korral muudab oleku vastupidiseks. 00=Q(t1), 01=0, 10=1, 11=Q t 1 . JUHTAUTOMAAT: OSA KÄSU TÄITMISEL JA REALISEERIMINE Juhtautomaat kujutab endast käsu täitmise algoritmi riistvaralist realisatsiooni loogikaskeemina. Peale üldosa vastab igale käsule , mida protsessor on võimeline täitma (kuulub tema käsusüsteemi), algoritmis oma haru. Käsu dekodeerimise järgi toimub mikroprogrammis hargnemine.Selle hargnemise realiseerimiseks peab juhtautomaati tulema käsudekoodrist info selle kohta, milline on täitmisele tulev käsk. Mõnede käskude täitmisel on vaja realiseerida mikroprogrammis hargnemisi, mis sõltuvad protsessori mõne teise osa seisundist. Näiteks on vaja teada korrutamise realiseerimisel liitmise ja nihutamise abil eelneva ALU operatsiooni tulemuse võrdumist nulliga. Põhimõtteliselt on juhtautomaadi realiseerimiseks kaks võimalust:
järgmine aadress. Aadressi laadimine on oluline näiteks katkestuste ja alamprogrammide poole pöördumise korral, et fikseerida tagasipöörde aadress. 3) Käsukoodi dekodeerimine (decode) – parasjagu käimas oleva käsu aadress salvestatakse käsuregistrisse, mille väljundisse on ühendatud käsudekooder. Käsudekooder dekodeerib kahendkoodi ning saadab selle juhtautomaati, mis juhib käsu täitmist. 4) Käsu täitmine (execute) – käsu täitmine operatsiooniautomaadis. 3. Pinumälu (stack) realiseerimine ja kasutamine protsessoris. VT XI piletit XIX 1. Kombinatsioonskeemid ja järjestikskeemid. VT XVIII piletit 2. Protsessori üldstruktuur (käsuloendur, käsuregister, käsudekooder, juhtautomaat, operatsioonautomaat). Põhiliselt on kasutusel von Neumanni tüüpi arvuti arhitektuur:
Käsud ise võivad olla kuni kolmebaidised. Käsudekooder (Instruction Decoder) desifreerib käsuregistris oleva käsu koodi. Lihtsamalt öeldes, ta teeb kindlaks käsu sisu ja teavitab sellest juhtseadet. Olenevalt käsust tehakse selgeks järgmised asjaolud: - käsu pikkus (ühe-, kahe- või kolmebaidine), - ALU täidetav tehe, - andmete paiknemine, - aadresside paiknemine. Juhtautomaat, operatsiooniautomaat käsudekoodrist liigub vastavast väljundist signaal juhtautomaati. Juhtautomaat saadab juhtsignaalid operatsiooniautomaati. Operatsiooniautomaat loeb nõutud andmed oma suurde registermälusse ja saadab andmed alusse, mis teeb vastavad tehted. Arvutis on operatsiooniautomaadiks Protsessor, juhtautomaadiks aga protsessori töid juhtiv mikroprogrammiautomaat. Protsessor sooritab tehteid mälus paiknevate käskude järgi. Peale aritmeetika- loogikaploki
3. Alamprogrammide poole pöördumine. Juhtautomaat : osa käsu täitmisel ja realiseerimine Juhtautomaat kujutab endast käsu täitmise algoritmi riistvaralist realisatsiooni loogikaskeemina. Peale üldosa vastab igale käsule, mida protsessor on võimeline täitma (kuulub tema käsusüsteemi), algoritmis oma haru. Käsu dekodeerimise järgi toimub mikroprogrammis hargnemine. Selle hargnemise realiseerimiseks peab juhtautomaati tulema käsudekoodrist info selle kohta, milline on täitmisele tulev käsk. Mõnede käskude täitmisel on vaja realiseerida mikroprogrammis hargnemisi, mis sõltuvad protsessori mõne teise osa seisundist. Näiteks on vaja teada korrutamise realiseerimisel liitmise ja nihutamise abil eelneva ALU operatsiooni tulemuse võrdumist nulliga. Põhimõtteliselt on juhtautomaadi realiseerimiseks kaks võimalust:
Toodud eelmises punktis käsuregistriga koos. juhtautomaat (CU - Control Unit) 18 Juhtautomaat kujutab endast käsu täitmise algoritmi riistvaralist realisatsiooni loogikaskeemina. Peale üldosa vastab igale käsule , mida protsessor on võimeline täitma (kuulub tema käsusüsteemi), algoritmis oma haru. Käsu dekodeerimise järgi toimub mikroprogrammis hargnemine.Selle hargnemise realiseerimiseks peab juhtautomaati tulema käsudekoodrist info selle kohta, milline on täitmisele tulev käsk. Mõnede käskude täitmisel on vaja realiseerida mikroprogrammis hargnemisi, mis sõltuvad protsessori mõne teise osa seisundist. Näiteks on vaja teada korrutamise realiseerimisel liitmise ja nihutamise abil eelneva ALU operatsiooni tulemuse võrdumist nulliga. Põhimõtteliselt on juhtautomaadi realiseerimiseks kaks võimalust:
Toodud eelmises punktis käsuregistriga koos. o juhtautomaat (CU - Control Unit) 18 Juhtautomaat kujutab endast käsu täitmise algoritmi riistvaralist realisatsiooni loogikaskeemina. Peale üldosa vastab igale käsule , mida protsessor on võimeline täitma (kuulub tema käsusüsteemi), algoritmis oma haru. Käsu dekodeerimise järgi toimub mikroprogrammis hargnemine.Selle hargnemise realiseerimiseks peab juhtautomaati tulema käsudekoodrist info selle kohta, milline on täitmisele tulev käsk. Mõnede käskude täitmisel on vaja realiseerida mikroprogrammis hargnemisi, mis sõltuvad protsessori mõne teise osa seisundist. Näiteks on vaja teada korrutamise realiseerimisel liitmise ja nihutamise abil eelneva ALU operatsiooni tulemuse võrdumist nulliga. Põhimõtteliselt on juhtautomaadi realiseerimiseks kaks võimalust:
o käsudekooder (Instruction Decoder) Toodud eelmises punktis käsuregistriga koos. o juhtautomaat (CU - Control Unit) Juhtautomaat kujutab endast käsu täitmise algoritmi riistvaralist realisatsiooni loogikaskeemina. Peale üldosa vastab igale käsule , mida protsessor on võimeline täitma (kuulub tema käsusüsteemi), algoritmis oma haru. Käsu dekodeerimise järgi toimub mikroprogrammis hargnemine.Selle hargnemise realiseerimiseks peab juhtautomaati tulema käsudekoodrist info selle kohta, milline on täitmisele tulev käsk. Mõnede käskude täitmisel on vaja realiseerida mikroprogrammis hargnemisi, mis sõltuvad protsessori mõne teise osa seisundist. Näiteks on vaja teada korrutamise realiseerimisel liitmise ja nihutamise abil eelneva ALU operatsiooni tulemuse võrdumist nulliga. Põhimõtteliselt on juhtautomaadi realiseerimiseks kaks võimalust: