KÄSUFORMAADID 0,1,2,3 JA 1,5 AADRESSIGA ARVUTID 3 aadressiga arvuti käsukood + I operandi pikk aadress + II o. pikk aadress + resultaadi pikk aadress, A=B+C 2 aadressiga arvuti kk + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress, B=B+C 1,5 aadressiga arvuti kk + I operandi pikk aadress + resultaadi lühike aadress(registriaadress) 1 aadressiga arvuti kk + I operandi aadress, 1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri (Ac) aadressil Käsusüsteem: andmeedastuskäsud MOV, LOAD, STORE aritmeetikaloogika käsud AND, OR, SUB, MUL siirete käsud JMP, CALL, RET pinumälu, I/Oseadmete, CPU juhtimise käsud PUSH, POP, IN, OUT, NOP ANDMEVAHETUSE JUHTIMINE: SÜSTEEMID KATKESTUSEGA JA ILMA, PRIORITEEDID Passiivne andmevahetus I/O seadmete prioriteetide probleem lahendatakse korrapäraselt mux'de kaudu. Seadme käest loetakse olekusõna ning järjestatakse andmevahetuseks (polling)
27. Käsuformaadid ja käsusüsteem: 3 aadressiga arvuti käsukood + I operandi pikk aadress + II o. pikk aadress + resultaadi pikk aadress A=B+C 2 aadressiga arvuti kk + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress B=B+C 1,5 aadressiga arvuti kk + I operandi pikk aadress + resultaadi lühike aadress (registriaadress) 1 aadressiga arvuti kk + I operandi aadress Ac akumulaatorregister. 1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri aadressil Käsusüsteem: andmeedastuskäsud MOV, LOAD, STORE aritmeetika-loogika käsud AND, OR, SUB, MUL siirete käsud JMP, CALL, RET pinumälu, I/O-seadmete, CPU juhtimise käsud PUSH, POP, IN, OUT, NOP 28. Adresseerimise viisid: 1. otsene adresseerimine operandid vahetult järgnevatel mäluaadressidel 2. vahetu adresseerimine operandide aadressid sõltumatud ning antakse eraldi aadressiga kas registermälus või põhimälus 3
Seega oleks vaja 4 aadressvälja, mis teeb käsu aga väga pikaks. Vajalike aadresside vähendamiseks 1-2-ni kasutatakse praktikas mitmesuguseid võtteid nagu: käsuloenduri kasutuselevõtt, mille sisu kasvatatakse ühe võrra enne järgmise käsu sisselugemist ilmutamata või kaudse adresseerimise rakendamine tulemi paigutamine ühe operandi registrisse jne. Tüüpiline üheaadressiline käsk ADD B tähendab näiteks seda, et registri B sisu tuleb liita akumulaatorregistri sisule ja tulem panna sinnasamasse. Akumulaator (register) on seejuures protsessori üldkasutatav register, mida kasutatakse enamike operatsioonide puhul vahepealse registrina. Muidugi eeldab see seda, et on vaja lisakäske akumulaatori ja B täitmiseks. Akumulaatori kõrval väga oluliseks registriks on käsuloendur (program counter), mille sisule liidetakse iga käsuvõtu järel +1 ja mis sisaldab täidetava või järgmise käsu aadressi. Erivajadusel (siirdekäskude puhul)
3 aadressiga arvuti käsukood + I operandi pikk aadress + II o. pikk aadress + resultaadi pikk aadress A=B+C 2 aadressiga arvuti kk + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress B=B+C 1,5 aadressiga arvuti kk + I operandi pikk aadress + resultaadi lühike aadress (registriaadress) 1 aadressiga arvuti kk + I operandi aadress Ac akumulaatorregister. 1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri aadressil Käsusüsteem: andmeedastuskäsud MOV, LOAD, STORE aritmeetika-loogika käsud AND, OR, SUB, MUL siirete käsud JMP, CALL, RET pinumälu, I/O-seadmete, CPU juhtimise käsud PUSH, POP, IN, OUT, NOP Andmeedastuse juhtimine(bus arbitation): süsteemid katkestustega ja ilma, prioriteedid Passiivne andmevahetus I/O seadmete prioriteetide probleem lahendatakse korrapäraselt mux-'de kaudu. Seadme käest loetakse olekusõna ning järjestatakse andmevahetuseks ..
27. Käsuformaadid ja käsusüsteem: 3 aadressiga arvuti käsukood + I operandi pikk aadress + II o. pikk aadress + resultaadi pikk aadress A=B+C 2 aadressiga arvuti kk + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress B=B+C 1,5 aadressiga arvuti kk + I operandi pikk aadress + resultaadi lühike aadress (registriaadress) 1 aadressiga arvuti kk + I operandi aadress Ac akumulaatorregister. 1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri aadressil Käsusüsteem: andmeedastuskäsud MOV, LOAD, STORE aritmeetika-loogika käsud AND, OR, SUB, MUL siirete käsud JMP, CALL, RET pinumälu, I/O-seadmete, CPU juhtimise käsud PUSH, POP, IN, OUT, NOP 28. Adresseerimise viisid: 1. otsene adresseerimine operandid vahetult järgnevatel mäluaadressidel 2. vahetu adresseerimine operandide aadressid sõltumatud ning antakse eraldi aadressiga kas registermälus või põhimälus 3
3 aadressiga arvuti – käsukood + I operandi pikk aadress + II operandi pikk aadress + resultaadi pikk aadress A=B+C 2 aadressiga arvuti – käsukood + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress B=B+C 1,5 aadressiga arvuti – käsukood + I operandi pikk aadress + resultaadi lühike aadress (registriaadress) 1 aadressiga arvuti – käsukood + I operandi aadress. Ac – akumulaatorregister. 1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri aadressil Käsusüsteem: andmeedastuskäsud – MOV, LOAD, STORE aritmeetika-loogika käsud – AND, OR, SUB, MUL siirete käsud –JMP, CALL, RET pinumälu, I/O-seadmete, CPU juhtimise käsud – PUSH, POP, IN, OUT, NOP 8.Summaator: Järjestik, parallel, kiire ülekanne. Summaatoriks nim. arvuti loogikalülitust, mis on ette nähtud arvkoodide aritmeetiliseks summeerimiseks. Mitmejärgulise kahendarvu summaator koosneb mitmest ühejärgulisest summaatorist
3 aadressiga arvuti käsukood + I operandi pikk aadress + II o. pikk aadress + resultaadi pikk aadress A=B+C 2 aadressiga arvuti kk + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress B=B+C 1,5 aadressiga arvuti kk + I operandi pikk aadress + resultaadi lühike aadress (registriaadress) 1 aadressiga arvuti kk + I operandi aadress Ac akumulaatorregister. 1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri aadressil 3. Andmeedastuse juhtimine(bus arbitation): süsteemid katkestustega ja ilma, prioriteedid. Passiivne andmevahetus I/O seadmete prioriteetide probleem lahendatakse korrapäraselt mux-'de kaudu. Seadme käest loetakse olekusõna ning järjestatakse andmevahetuseks ... polling. Staatiline vs dünaamiline prioriteetide jaotamine Katkestustega süsteem katkestus = pöördumine alamprogrammi poole
3 aadressiga arvuti – käsukood + I operandi pikk aadress + II o. pikk aadress + resultaadi pikk aadress A=B+C 2 aadressiga arvuti – kk + I operandi pikk aadress (resultaat läheb sinna) + II operandi pikk aadress B=B+C 1,5 aadressiga arvuti – kk + I operandi pikk aadress + resultaadi lühike aadress (registriaadress) 1 aadressiga arvuti – kk + I operandi aadress Ac – akumulaatorregister. 1 operand asub mälus, teine operand ning resultaat samal akumulaatorregistri aadressil 0 aadressiga arvuti - pinumäluga põhinev arvuti. Aadresse ei ole käsu formaadis. Operandid võetakse pinumälust ja sinna kirjutatakse ka tulemus. 1 aadressiga arvuti - Käsu koodiga saab olla kaasas vaid üks pikk aadress, mis viitab mälu pesale, kus võib olla operand. Kui on tegu kahe operandiga käsuga, siis asub teine operand akumulaatoris ja sinna pannakse ka resultant.
Vajalike aadresside vähendamiseks 1-2-ni kasutatakse praktikas mitmesuguseid võtteid nagu: käsuloenduri kasutuselevõtt, mille sisu kasvatatakse ühe võrra enne järgmise käsu sisselugemist ilmutamata või kaudse adresseerimise rakendamine tulemi paigutamine ühe operandi registrisse (protsessori sisemisse mällu) jne. Tüüpiline üheaadressiline käsk ADD B tähendab näiteks seda, et registri B sisu tuleb liita akumulaatorregistri sisule ja tulem panna sinnasamasse. Akumulaator (register) on seejuures protsessori üldkasutatav register, mida kasutatakse enamike operatsioonide puhul vahetulemuse hoidmiseks. Muidugi eeldab see seda, et on vaja lisakäske akumulaatori ja B täitmiseks. Akumulaatori kõrval väga oluliseks registriks on käsuloendur (program counter), mille sisule liidetakse iga käsu täitmise järel käsu pikkus ja mis sisaldab täidetava või järgmise käsu aadressi