Dueschede SD con diverse capacità di archiviazione espresse in multipli del byte
Ilbyte (pron./ˈbait/[1]) è un'unità di misura dellaquantità di informazione derivata dalbit. Il termine è derivato dall'inglesebite[2] (boccone, morso), scelto per assonanza conbit, ma variato per evitare confusioni di pronuncia.[3]
Il simbolo utilizzato per il byte comeunità di misura della quantità di informazione èB (identico al simbolo delbel); la lettera maiuscola sarebbe riservata alle sole unità di misura tratte dai cognomi degli ideatori, ma laCommissione Elettrotecnica Internazionale (IEC) ha deciso di fare un'eccezione dato cheb è generalmente usato per indicare ilbit (il cui simbolo standard sarebbebit per esteso).
Nel tempo il byte è divenuto l'elemento base dell'indirizzabilità nellearchitettura dei calcolatori e l'unità di misura delle capacità dimemoria. Storicamente sistemi diversi tendevano ad utilizzare un diverso numero di bit per codificare un "singolocarattere alfanumerico"[3][4] e per questo non esisteva una definizione univoca del byte.Dal 1964 il byte si definisce come formato da 8 bit[5] ed è pertanto in grado di assumere 28=256 possibili valori.
Il terminebyte è stato coniato daWerner Buchholz nel luglio 1956, all'inizio del progetto del computerIBM Stretch.[6][7][8]Secondo molte altre fonti, seguite anche dai dizionari, il termine byte è una sigla fatta derivare da BinarY octetTE", ovvero "ottetto binario".
Agli inizi degli anni '60 esistevano due tipi di computer: scientifici e commerciali. Nei computer scientifici venivano usati, per la rappresentazione dei numeri decimali, 4 bitBCD (ovvero numeri decimali codificati in binario, es. 5 = 0101, 9 = 1001), mentre nei computer commerciali venivano usati 6 bit (64 configurazioni) per rappresentare ilset grafico stampabile, che comprendeva 26 caratteri alfabetici (solo maiuscole), 10 numeri, e da 11 a 25 simboli speciali (+ - * / ( > ecc.). Il set grafico stampabile per i computer scientifici era ottenuto usando due cifre consecutive (4+4 bit) e sfruttando le configurazioni non utilizzate per la codifica decimale (con 4 bit si hanno 16 configurazioni, da 0 a 9 usate per i numeri, le altre, da 10 a 15 nominate da A a F usate per i segni "+" e "-" e per distinguere caratteri da numeri). In seguito, per includere i caratteri di controllo e permettere ai dispositivi di comunicare fra loro, memorizzare, trasferire caratteri per la scrittura dei testi comprendendo i caratteri minuscoli, è stato introdotto il codiceASCII a 7 bit (128 configurazioni). Successivamente, poiché 8 bit permettevano di contenere convenientemente due cifre decimali di 4 bit ciascuna (packed decimal), venne adottato e promulgato dall'IBM il codiceEBCDIC a 8 bit, cioè l'attualebyte, come codice di rappresentazione standard nei computerSystem/360.
La differenza percentuale tra le interpretazioni decimali e binarie dei multipli del byte aumenta proporzionalmente al valore rappresentato. Questa differenza è fonte di possibili errori di calcolo soggetti ad amplificazione secondo lateoria degli errori.
Fino al 1995 erano diffuse due interpretazioni concorrenti dei prefissi moltiplicativi del byte. In una versione essi erano basati sulle potenze di dieci, nell'altra sulle potenze di due. Queste due interpretazioni rispecchiavano esattamente quelle che ora sono rispettivamente le definizioni deiprefissi SI e deiprefissi binari per le unità di misura.
Questa ambiguità nasce in un'era in cui grandezze dell'ordine delmega erano considerate enormi nell'immaginario comune,[9] mentre quelle nell'ordine delkilo erano decisamente più approcciabili e popolari.[10] Tenendo conto che la differenza relativa tra quantità espresse usando le due convenzioni è di appena il 2.4%, era considerata pratica accettabile in quegli anni arrotondare, per comodità di calcolo, grandezze multiple di 210 tipiche dell'informatica a multipli di 103 decisamente più intuitivi da utilizzare per gli esseri umani. Sebbene per grandezze nell'ordine del kilo questo risultasse inerrori di calcolo accettabili, certamente la stessa cosa non è affermabile per grandezze di taglia superiore.[11]
Questa doppia nomenclatura viene sfruttata a fini commerciali dai produttori di dispositivi di archiviazione, utilizzando i corretti, ma ambigui, multipli decimali, in modo tale da far figurare quantità maggiori di archiviazione; ad esempio, in undisco rigido,80GB di capacità dichiarata equivalgono a circa74,5gibibyte di capacità effettiva.
12 R.W. Bemer and W. Buchholz,6, Character Set (PDF), su Werner Buchholz (a cura di),Planning a Computer System - Project Stretch,archive.computerhistory.org, 1962.URL consultato il 17 settembre 2010(archiviato dall'url originale il 3 aprile 2017).
↑R.W. Bemer,A proposal for a generalized card code of 256 characters, Commun. ACM 2 (9), pp19–23, 1959.
«The 350 Disk Storage Unit consisted of the magnetic disk memory unit with its access mechanism, the electronic and pneumatic controls for the access mechanism, and a small air compressor. Assembled with covers, the 350 was 60 inches long, 68 inches high and 29 inches deep. It was configured with 50 magnetic disks containing 50,000 sectors, each of which held 100 alphanumeric characters, for a capacity of 5 million characters.»
«Here's the legend: at a computer trade show in 1981, Bill Gates supposedly uttered this statement, in defense of the just-introduced IBM PC's 640KB usable RAM limit: "640K ought to be enough for anybody."»