Opcode

Un opcode identifica quale operazione di base del computer deve essere eseguita nel set di istruzioni. Viene utilizzato quando si scrive il codice macchina. Dice al computer di fare qualcosa. Ogni istruzione di linguaggio macchina ha tipicamente sia un opcode che degli operandi. L'opcode è come un verbo in una frase, e gli operandi sono come il soggetto in una frase. Gli operandi sono tipicamente indirizzi di memoria o di registro.

Gli opcode sono utilizzati in codice macchina per una serie di funzioni, tra cui Float Addition of registers, Two's compliment addition of registers, Shifting register values to memory, o su un disco rigido, l'arresto di un programma, ecc. Ci sono letteralmente centinaia di opcode comuni utilizzati nei computer moderni.

A causa della natura dell'architettura di un computer, gli opcodici assumono la forma di numeri binari. In alternativa, gli opcodici possono essere rappresentati da cifre esadecimali, (ad esempio, 10100101 = A5) per facilitare la lettura e la codifica quando si progetta o si emula un programma di codice macchina. Questi valori vengono poi trasformati nei loro equivalenti binari per essere salvati. Gli opcode moderni sono lunghi almeno due caratteri esadecimali che occupano 1 byte di spazio di memorizzazione.

Gli opcodici variano in capacità e "valore" a seconda del computer a cui appartengono, in quanto dipendono dall'hardware. Per esempio, l'opcode per STORE come espresso in Hex potrebbe essere FA per una macchina e 02 per un'altra. Alcuni opcode non saranno disponibili su alcuni computer. In generale, ci sono due approcci per costruire set di istruzioni. Un computer con set di istruzioni ridotto (RISC) offre meno opcodici possibili a favore di una maggiore velocità per processi semplici. Un set di istruzioni complesse Computing (CISC) offre più opcodici a favore dell'aumento della velocità per processi complessi.

Gli opcode sono raramente utilizzati direttamente dai programmatori. Ogni volta che vengono programmati direttamente in memoria, è garantito che funzionino solo sul computer per cui sono stati progettati. Quando i programmatori scrivono in linguaggio assembly, un programma di traduzione converte le istruzioni del programma, uno per uno, in comandi in linguaggio macchina. Il programmatore deve ricordare solo un mnemonico per ogni opcode invece del suo valore binario. In alternativa, si può usare un linguaggio di programmazione di alto livello, diciamo di 4a generazione, che viene convertito alla 3a generazione e così via fino a raggiungere la 1a generazione. Da qui, un singolo computer convertirà il programma in codice macchina ogni volta che il file di programma viene letto. In questo modo, un programma può funzionare su una varietà di computer molto più ampia.

Domande e risposte

D: Che cos'è un opcode?


R: Un opcode è un numero binario che identifica quale operazione di base del computer nel set di istruzioni deve essere eseguita. Viene utilizzato quando si scrive il codice macchina e indica al computer cosa fare.

D: Cosa sono gli operandi?


R: Gli operandi sono in genere indirizzi di memoria o di registro che accompagnano un opcode in un'istruzione di linguaggio macchina. Possono essere considerati come il soggetto di una frase, mentre l'opcode agisce come un verbo.

D: Quanti opcode comuni sono utilizzati nei computer moderni?


R: Ci sono centinaia di codici opcode comuni utilizzati nei computer moderni.

D: Come vengono rappresentati gli opcode?


R: I codici operativi possono essere rappresentati da numeri binari o da cifre esadecimali, per facilitare la lettura e la codifica durante la progettazione o l'emulazione di un programma di codice macchina.

D: Quanto sono lunghi gli opcode moderni?


R: I codici operativi moderni sono lunghi almeno due caratteri esadecimali e occupano 1 byte di spazio di memoria.

D: Cosa sono RISC e CISC?


R: Il Reduced Instruction Set Computing (RISC) offre meno opcode possibili a favore di una maggiore velocità per i processi semplici, mentre il Complex Instruction Set Computing (CISC) offre più opcode a favore di una maggiore velocità per i processi complessi.

D: In che modo i programmatori utilizzano solitamente gli opcode?


R: Raramente i programmatori utilizzano la programmazione diretta nella memoria con un set di istruzioni specifiche per ogni computer; invece scrivono programmi utilizzando il linguaggio assembly o linguaggi di programmazione di alto livello che vengono convertiti in codice macchina ogni volta che il file di programma viene letto, in modo che possa funzionare su più tipi di computer.

AlegsaOnline.com - 2020 / 2023 - License CC3