All’interno del computer i dati devono essere rappresentati in una forma specifica. Infatti a livello ISA sono disponibili una varietà di tipi di dati che esamineremo di seguito.

Tipi di dati numerici

I tipi di dati numerici sono costituiti da :

  • interi :
    • senza segno : ovvero i numeri
    • con segno ( con complemento a due o con bit di segno ) : ovvero i numeri
  • reali ( interi + quelli con la virgola ) : rappresentazione in virgola mobile ( formato IEEE 754 )
  • boolean : rappresentazione numerica
    • : false
    • : true

A livello ISA la memoria è byte-addressable; la rappresentazione dei booleani e il loro eventuale packing a bit è demandato al compilatore.

Example

Proviamo a rappresentare alcuni interi con segno con bit di segno :

Per vedere come si fa con complemento a due vedi : Numeri e codifiche

Floating-point

Per la rappresentazione dei numeri reali si usa la seguente notazione scientifica :

dove è chiamato mantissa ( la roba dopo la virgola ) e sarebbe l’esponente .

Example

Possiamo infatti scrivere i seguenti numeri nel seguente modo :

Il problema di questa notazione è che abbiamo un range di valori che dipende dal numero di bit che utilizziamo per rappresentare la mantissa e l’esponente :

Infatti non possiamo rappresentare tutti i numeri reali, perché c’è un trade-off :

    • bit per mantissa + precisione
    • bit per l’esponente + range ampio

vedi IEEE 754 in IEEE-754

Tipi di dati non numerici

Le applicazioni come spedizione di e-mail e navigazione su Internet, richiedono altri tipi di dati che sono supportati dalle istruzioni del livello ISA.

Per i caratteri viene utilizzato i codice di carattere ASCII e UNICODE ( abbiamo già visto in ASCII-Unicode-UTF-8 ). Le stringhe sono delimitate da un carattere speciale di fine stringa, oppure di un campo lunghezza che viene usato per ricavare la fine della stringa.

Un tipo di dato simile ad un array di booleani è il bit map, usata in molti contesti.

L’ultimo tipo di dati che consideriamo è il tipo puntatore , ovvero un indirizzo di macchina , come SP , PC , LV e CPP nella Mic-1.


Formato delle istruzioni