Cosè un set di istruzioni?

Qualsiasi CPU è progettata da zero per supportare un particolare set di istruzioni. Un set di istruzioni è un insieme di operazioni codificate che la CPU può eseguire. Queste operazioni possono essere, ad esempio, sommare due numeri, saltare a una parte diversa del programma o confrontare due valori. Ogni operazione che un computer può eseguire è rappresentata in modo univoco da un codice operativo.

Opcode

Durante l'esecuzione di un programma, la CPU utilizza un contatore di programma per tenere traccia di quale istruzione deve essere eseguita successivamente. Quando viene prelevata un'istruzione, il contatore del programma viene incrementato della lunghezza dell'istruzione in modo che punti all'inizio dell'istruzione successiva. Ogni istruzione è costituita da un codice operativo. A seconda dell'istruzione, può includere o meno operandi. Gli operandi possono essere un valore costante o un puntatore alla posizione di un valore nel registro della CPU o nella RAM di sistema.

Una volta che l'istruzione completa è stata recuperata, deve essere decodificata. Questo è il processo in cui la CPU separa il codice operativo e tutti gli operandi. Il codice operativo decodificato viene utilizzato per abilitare o disabilitare specifici percorsi elettrici nella CPU che si tradurranno nel corretto funzionamento.

Una volta che l'istruzione è stata decodificata, verrà eseguita. Il comportamento esatto della CPU dipenderà dal funzionamento. Un'operazione di addizione somma due valori insieme. Un'operazione di salto calcolerà dove saltare nel programma. Un'operazione di confronto confronterà due valori. Un'operazione NOP rimarrà inattiva, poiché NOP sta per Nessuna operazione.

La maggior parte delle istruzioni produrrà quindi il risultato dell'operazione. Questa uscita può andare ai registri del processore e, se necessario, alla RAM di sistema. Ognuna di queste operazioni richiede un singolo ciclo di clock per essere completata.

Opcode illegali

Ogni architettura della CPU ha il suo elenco specifico di codici operativi pubblicato dal produttore. I valori di questi codici operativi non sono necessariamente gli stessi multipiattaforma, motivo per cui il software deve essere compilato per architetture diverse. In alcuni casi, il produttore include anche codici operativi non documentati. Questi sono indicati come "opcode illegali". I codici operativi illegali, sebbene non documentati, eseguiranno la stessa funzione ogni volta che vengono chiamati. In quanto funzionalità non documentate e non standard, tuttavia, gli aggiornamenti all'architettura della CPU possono semplicemente rimuoverle.

Alcuni dei primi giochi per computer su Apple II si basavano su codici operativi illegali specifici. Hanno quindi subito problemi di prestazioni e stabilità nella successiva revisione della CPU Apple IIc poiché IIc ha rimosso i codici operativi illegali richiesti dai giochi. I codici operativi illegali sono stati utilizzati anche nei circoli di protezione del copyright come metodo di sicurezza attraverso l'oscurità nella loro lotta contro i pirati che violano il loro contenuto. Alcuni codici operativi illegali sono semplicemente intesi come strumenti di debug e gestori di errori.

Il set di istruzioni x86 contiene un gran numero di codici operativi illegali non documentati. È interessante notare che alcuni di questi sono condivisi tra CPU Intel e AMD, indicando che entrambe le società sono pubblicamente consapevoli del loro scopo mentre non sono documentate.

Compilatori e Assembly

La maggior parte dei programmi sono scritti in linguaggi di alto livello. Questi sono relativamente facili da leggere, spesso usano parole inglesi o abbreviazioni per ridurre al minimo le curve di apprendimento. Affinché un computer possa eseguire questi programmi, devono essere compilati. Un compilatore è fondamentalmente un traduttore. Prende il codice di alto livello e lo converte in codice informatico, le istruzioni che la CPU può comprendere.

È anche possibile, in alcuni linguaggi, eseguire codice non compilato tramite un programma compilato in precedenza che genera codice macchina al volo. Assembly è un linguaggio di programmazione di basso livello che utilizza la scorciatoia per consentire agli sviluppatori visibilità diretta e controllo sulle operazioni eseguite. NOP è un esempio di scorciatoia di assemblaggio.

Conclusione

Un set di istruzioni è un elenco di funzioni ufficiali che un'architettura della CPU può eseguire. È un elenco di operazioni che possono essere eseguite. Queste operazioni sono hardcoded nella CPU e chiamate utilizzando i rispettivi opcode.

Il software generalmente utilizza un compilatore per tradurre dal codice di alto livello leggibile dall'uomo al codice macchina che la CPU può leggere. A volte, un'architettura della CPU può avere codici operativi non documentati, chiamati codici operativi illegali. I codici operativi illegali sono tecnicamente parte del set di istruzioni. Tuttavia, potrebbero non essere disponibili in modo affidabile nelle future iterazioni della piattaforma. Non dimenticare di lasciare i tuoi pensieri nei commenti qui sotto.



Come clonare un disco rigido

Come clonare un disco rigido

Nell'era digitale moderna, in cui i dati sono una risorsa preziosa, la clonazione di un disco rigido su Windows può essere un processo cruciale per molti. Questa guida completa

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Stai riscontrando il messaggio di errore durante l'avvio del computer che dice che il driver WUDFRd non è stato caricato sul tuo computer?

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Hai riscontrato l'esperienza NVIDIA GeForce con il codice di errore 0x0003 sul tuo desktop? Se sì, leggi il blog per scoprire come correggere questo errore in modo semplice e veloce.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Come rimuovere una GPU da un PC Windows nel 2023

Come rimuovere una GPU da un PC Windows nel 2023

Devi rimuovere la GPU dal tuo PC? Unisciti a me mentre ti spiego come rimuovere una GPU dal tuo PC in questa guida dettagliata.

Come installare ununità SSD NVMe su desktop e laptop

Come installare ununità SSD NVMe su desktop e laptop

Hai acquistato un nuovo SSD NVMe M.2 ma non sai come installarlo? Continua a leggere per sapere come installare un'unità SSD NVMe su laptop o desktop.

Cosè una bomba logica?

Cosè una bomba logica?

Una bomba logica è un incidente di sicurezza in cui un utente malintenzionato organizza un'azione ritardata. Continua a leggere per scoprire di più.

Che cosè Stuxnet?

Che cosè Stuxnet?

Stuxnet era un worm autopropagante. È stato il primo utilizzo di un'arma informatica e la prima istanza di malware.

Cosè un hacker etico?

Cosè un hacker etico?

Un hacker etico è un hacker che agisce entro i limiti della legge. Continua a leggere per saperne di più sull'argomento.

Che cosè la crittografia simmetrica?

Che cosè la crittografia simmetrica?

Ci sono molte parti diverse della crittografia. Se vuoi crittografare alcuni dati, ci sono due tipi di algoritmi che puoi usare: symmetric