Nibble

In informatica il nibble (chiamato alternativamente anche nyble o nybble per assonanza con il termine byte) è un'unità di misura usata per indicare un gruppo di 4 bit. Il termine è entrato in uso per indicare la metà di un byte a causa dell'omofonia di quest'ultimo con la parola inglese bite, che significa "morso": in inglese, infatti, nibble significa "morsettino".

Utilizzo

Rappresenta la metà di un byte, ed è per questo che viene indicato anche come "mezzo byte" (half-byte in inglese); vi è corrispondenza biunivoca, a livello di significato numerico, tra un nibble ed una cifra esadecimale, potendo esprimere con 4 bit i valori compresi tra [0000, 1111] cioè [0, 15] ossia [0, F] in esadecimale. Con 2 nibble si possono rappresentare i 256 (16²) possibili valori di un byte.

Storia

Il termine nibble comincia ad essere utilizzato negli anni '50 del XX secolo: sembra che il primo ad utilizzarlo sia stato il professor David B. Benson nel 1958 presso il Los Alamos Scientific Laboratory.

Il nibble era molto più usato in passato, quando erano molto diffuse le CPU a 4 bit. Con un nibble era possibile rappresentare una cifra della codifica BCD o una cifra in codifica "packed decimal" tipica dei mainframe IBM.

Alcune architetture ormai completamente scomparse utilizzavano addirittura dei nibble da 3 bit (che a livello di significato numerico equivalgono ad una cifra ottale).

Le unità floppy Disk II degli Apple II lavoravano inizialmente con nibble di 5 o 6 bit mentre nella documentazione di quei computer era spesso indicato il nibble come gruppo di 8 bit. Per evitare fraintendimenti sul numero di bit espressi da un nibble vengono perciò usati oggi altri termini più espliciti come semi-ottetto, quadbit o quartetto.

Nell'assembly dei microcontrollori PICmicro è ancora utilizzata un'istruzione denominata SWAPF che scambia tra di loro i 2 nibble di un registro. Inoltre è presente un flag che nelle operazioni aritmetiche agisce sul riporto del digit (Digit Carry).

Tabella di nibble

Di seguito i 16 nibble e i loro equivalenti in altri sistemi numerici:

0hex=0dec=0oct0000
1hex=1dec=1oct0001
2hex=2dec=2oct0010
3hex=3dec=3oct0011
4hex=4dec=4oct0100
5hex=5dec=5oct0101
6hex=6dec=6oct0110
7hex=7dec=7oct0111
8hex=8dec=10oct1000
9hex=9dec=11oct1001
Ahex=10dec=12oct1010
Bhex=11dec=13oct1011
Chex=12dec=14oct1100
Dhex=13dec=15oct1101
Ehex=14dec=16oct1110
Fhex=15dec=17oct1111

Note

  1. 1 2 Nate Williams, What Is a Nibble in Computing, and What Does It Equal?, su history-computer.com. URL consultato l'08/09/2023 (archiviato dall'url originale l'8 settembre 2023).
  2. ↑ "MPASM/MPLINK PICmicro MCU Quick Chart (PDF), Microchip.

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica