prof. Nunzio Brugaletta PC inside

EnneBi - Computer Science
Avanti Indietro Inizio


Istruzioni eseguibili

Un programma scritto in un qualsiasi linguaggio, per esempio C/C++, per poter essere eseguibile da una CPU necessita di un processo di trasformazione (compilazione) effettuato da un compilatore. Il compilatore conosce le istruzioni del linguaggio ma conosce anche le istruzioni che la CPU, per la quale sta compilando, è in grado di eseguire e, quindi, conosce come far corrispondere le une alle altre.

istruzione eseguibile

Una istruzione eseguibile da una CPU è una stringa binaria composta da:

  • un codice operativo (op-code) in cui viene specificata l'operazione da svolgere

  • zero o più operandi (in dipendenza dell'op-code) che completano l'istruzione e specificano l'obiettivo dell'operazione.

Il codice operativo è scelto dall'instruction set del processore che rappresenta l'insieme dei comandi implementati, dal costruttore, in quel processore. L'insieme degli op-code costituisce quello che viene chiamato linguaggio macchina di quel processore. La dimensione in bit dell'opcode dipende dalla word su cui lavora il processore, anche se con l'evolversi dell'hardware la dimensione della word è cambiata notevolmente: per esempio nei processori della famiglia x86 (processori inizialmente sviluppati da Intel, ora anche da altri produttori come AMD; la x iniziale sta ad indicare la prima parte degli identificativi della famiglia di processori: 8086, 80386, ...) il primo processore della famiglia, l'8086, prevedeva una word di 16 bit, i moderni processori della stessa famiglia vanno verso word di 64 bit. A questo punto si pongono problemi di retrocompatibilità: affinché i programmi scritti per un processore precedente possano funzionare con le nuove versioni, è necessario che la nuova word debba poter coesistere con dimensioni alternative. L'architettura dei moderni computer è basata su una famiglia di dimensioni di word collegate fra loro (32 è il doppio di 16 e 64 è il quadruplo di 16). Pertanto oggi il termine word viene considerato sinonimo di 16 bit. I codici operativi di un determinato set di istruzioni specificano operazioni molto semplici del tipo: somma, sottrai, sposta, salta all'istruzione, sposta in memoria.

Gli operandi specificano i dati cui si applica l'operazione espressa dall'op-code. Il modo con cui si accede ai dati viene chiamato metodo di indirizzamento. In sintesi esistono due tipologie di metodi di indirizzamento:

Il programma da eseguire, in linguaggio macchina, viene conservato, allo stesso modo dei dati, in una zona di memoria disponibile e può essere avviato.


Avanti Indietro Inizio

http://ennebi.solira.org ennebi@solira.org