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
modificaRappresenta comunemente 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
modificaIl 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.[1]
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.
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.[1]
Nell'assembly dei microcontrollori PICmicro è ancora utilizzata un'istruzione denominata SWAPF
che scambia tra di loro i 2 nibble di un registro.[2] Inoltre è presente un flag che nelle operazioni aritmetiche agisce sul riporto del digit (Digit Carry).
Tabella di nibble
modificaI 16 nibble e i loro equivalenti in altri sistemi numerici:
0hex | = | 0dec | = | 0oct | 0 | 0 | 0 | 0 | |||
1hex | = | 1dec | = | 1oct | 0 | 0 | 0 | 1 | |||
2hex | = | 2dec | = | 2oct | 0 | 0 | 1 | 0 | |||
3hex | = | 3dec | = | 3oct | 0 | 0 | 1 | 1 | |||
4hex | = | 4dec | = | 4oct | 0 | 1 | 0 | 0 | |||
5hex | = | 5dec | = | 5oct | 0 | 1 | 0 | 1 | |||
6hex | = | 6dec | = | 6oct | 0 | 1 | 1 | 0 | |||
7hex | = | 7dec | = | 7oct | 0 | 1 | 1 | 1 | |||
8hex | = | 8dec | = | 10oct | 1 | 0 | 0 | 0 | |||
9hex | = | 9dec | = | 11oct | 1 | 0 | 0 | 1 | |||
Ahex | = | 10dec | = | 12oct | 1 | 0 | 1 | 0 | |||
Bhex | = | 11dec | = | 13oct | 1 | 0 | 1 | 1 | |||
Chex | = | 12dec | = | 14oct | 1 | 1 | 0 | 0 | |||
Dhex | = | 13dec | = | 15oct | 1 | 1 | 0 | 1 | |||
Ehex | = | 14dec | = | 16oct | 1 | 1 | 1 | 0 | |||
Fhex | = | 15dec | = | 17oct | 1 | 1 | 1 | 1 | |||
Note
modifica- ^ a b Nate Williams, What Is a Nibble in Computing, and What Does It Equal?, su history-computer.com. URL consultato l'08/09/2023.
- ^ "MPASM/MPLINK PICmicro MCU Quick Chart (PDF), Microchip.
Voci correlate
modificaCollegamenti esterni
modifica- nibble, su Treccani.it – Enciclopedie on line, Istituto dell'Enciclopedia Italiana.
- (EN) Eric W. Weisstein, Nibble, su MathWorld, Wolfram Research.