Opcode

Operatsioonikoodiga määratakse kindlaks, millist arvutipõhist operatsiooni käsukomplektis tuleb sooritada. Seda kasutatakse masinkoodi kirjutamisel. See annab arvutile käsu midagi teha. Igal masinakeelsel käsklusel on tavaliselt nii op-kood kui ka operandid. Opkood on nagu verbi lauses ja operandid on nagu subjekt lauses. Operandid on tavaliselt mälu või registri aadressid.

Opkoode kasutatakse masinkoodis mitmete funktsioonide jaoks, sealhulgas registrite libisev liitmine, registrite kahekomplitseerimine, registrite väärtuste nihutamine mällu või kõvakettale, programmi peatamine jne. Kaasaegsetes arvutites kasutatakse sõna otseses mõttes sadu tavalisi opkoode.

Arvuti arhitektuuri olemuse tõttu on opkoodid binaarsete numbrite kujul. Alternatiivina võib opkoode esitada heksadetsimaalsete numbritena (näiteks 10100101 = A5), mis lihtsustab lugemist ja kodeerimist masinkoodiga programmi kavandamisel või emuleerimisel. Seejärel teisendatakse need väärtused salvestamiseks nende binaarseteks ekvivalentideks. Kaasaegsed opkoodid on vähemalt kahe heksamärgi pikkused, mis võtavad 1 baidi salvestusruumi.

Opkoodid erinevad oma võimekuse ja "väärtuse" poolest sõltuvalt arvutist, millele nad kuuluvad, kuna nad sõltuvad riistvarast. Näiteks võib opkood STORE, nagu see on väljendatud heksakoodina, olla ühe masina puhul FA ja teise masina puhul 02. Mõned opkoodid ei ole mõnes arvutis kättesaadavad. Üldiselt on käsukogumite koostamisel kaks lähenemisviisi. Vähendatud käsukogumiga arvuti (RISC) pakub vähem võimalikke opkoode, et suurendada lihtsate protsesside kiirust. Kompleksne käsukomplektiga arvuti (CISC) pakub rohkem opkoode, et suurendada kiirust keerukate protsesside puhul.

Programmeerijad kasutavad opkoode harva otse. Kui neid programmeeritakse otse mällu, siis on alati tagatud, et need töötavad ainult selles arvutis, mille jaoks nad on mõeldud. Kui programmeerijad kirjutavad assembleri keeles, teisendab translaatorprogramm programmijuhised üks-ühele masinakeelseteks käskudeks. Programmeerija peab iga opkoodi jaoks meeles pidama ainult mnemoonikat, mitte selle binaarväärtust. Alternatiivina võib kasutada kõrgetasemelist programmeerimiskeelt, näiteks 4. põlvkonna programmeerimiskeelt, mis teisendatakse 3. põlvkonna programmeerimiskeeleks ja nii edasi, kuni jõutakse 1. põlvkonna programmeerimiskeeleni. Siit edasi konverteerib üksikarvuti programmi masinkoodiks iga kord, kui programmifaili loetakse. Sel viisil saab programm töötada palju suuremal hulgal arvutites.

Küsimused ja vastused

K: Mis on opkood?


V: Opkood on binaarne number, mis määrab, millist põhilist arvutitoimingut käsukorras tuleb sooritada. Seda kasutatakse masinkoodi kirjutamisel ja see ütleb arvutile, mida teha.

K: Mis on operandid?


V: Operandid on tavaliselt mälu või registri aadressid, mis kaasnevad opkoodiga masinakeelses käsus. Neid võib pidada lause subjektiks, samas kui opkood toimib nagu verb.

K: Mitu tavalist opkoodi kasutatakse tänapäeva arvutites?


V: Kaasaegsetes arvutites kasutatakse sadu tavalisi opkoode.

K: Kuidas on opkoodid esitatud?


V: Opkoode saab esitada kas binaarvõrrandite või heksadekaalarvudega, et neid oleks lihtne lugeda ja kodeerida, kui kavandatakse või emuleeritakse masinkoodiga programmi.

K: Kui pikad on kaasaegsed opkoodid?


V: Kaasaegsed opkoodid on vähemalt kahe heksamärgi pikkused, mis võtavad 1 baidi salvestusruumi.

K: Mis on RISC ja CISC?


V: Reduced Instruction Set Computing (RISC) pakub vähem võimalikke opkoode, et suurendada kiirust lihtsate protsesside puhul, samas kui Complex Instruction Set Computing (CISC) pakub rohkem opkoode, et suurendada kiirust keerukate protsesside puhul.

K: Kuidas kasutavad programmeerijad tavaliselt opkoode?


V: Programmeerijad kasutavad harva otsest programmeerimist mällu konkreetse arvuti spetsiifilise käsukomplektiga; selle asemel kirjutavad nad programme assembleri keeles või kõrgetasemelises programmeerimiskeeles, mis konverteeritakse masinkoodiks, kui programmifaili loetakse, et see saaks töötada mitut tüüpi arvutites.

AlegsaOnline.com - 2020 / 2023 - License CC3