Por qué un Byte son 8 bits?

KiloBytes, Megabytes, GigaBytes, TeraBytes... Medidas de capacidad de almacenamiento y procesamiento de información que hemos escuchado durante años. Todas ellas diferentes unidades del Byte. Sabemos que un bit es la unidad mínima de información: si/no, 0/1. Sabemos que 1 Byte son 8bits... pero por qué no son 6bits? 9bits? 12 o cualquier otro número?


Werner Buchholz
Qué significa el termino Byte? No hay acuerdo general sobre el mismo en sí. Algunos sugieren que viene del ingles "bite" (mordisco) para identificar el conjunto más pequeño de bits que se pueden manipular por la arquitectura de la computadora. El cambio de la "i" latina por la griega se debió - afirman - a evitar la confusión que podría generar con el término "bit". Otra teoría afirma que el término viene de la contracción de "binary term" (término binario). Esta última definición entiende que el byte corresponde a la cantidad de bits necesarios para representar un determinado carácter dentro de un set de caracteres utilizado.

Sin embargo, existe un alto acuerdo en la comunidad informática en que el inventor del término Byte fue Werner Buchholz en el año 1956 mientras trabajaba en IBM en la construcción de la IBM 7030 (Stretch). Bob Bemer quien trabajó junto a Buchholz en su sitio Web escribió un artículo sobre el asunto.

Si se analizan las definiciones antes descriptas - más allá de cual es la correcta - veremos que están interrelacionadas. Las diferentes codificaciones de caracteres para almacenar y transmitir de forma eficiente un determinado carácter determinan la cantidad de bits requeridos por la arquitectura de la computadora. Inicialmente códigos utilizados para representar mensajes podían usar 5 bits, por ejemplo los códigos baudot para la telegrafía. También se utilizaron códigos de 6 bits como BCD ("Binary-Coded Decimal"). Las computadoras que utilizaban algunos de estos códigos necesitaban poder manipular esa cantidad de bits en forma conjunta, esto llevaba a sus constructores a diseñar arquitecturas con esa cantidad mínima de bits en mente.

Volviendo a 1956, el equipo que generó IBM Strech proponía un tamaño de byte variable de 1 a 8 bits. El concepto de Byte de 8 bits no existía en ese momento. Otras computadoras de otros fabricantes utilizaron diferentes tamaños de "Byte". Por ejemplo PDP-8 construida en 1965 utilizaba 12 bits dividido en 2 bloques de 6 bits (bytes de 6 bits) para almacenar caracteres. En esa linea la mayoría de las computadoras creadas antes y en los comienzos de los 60 tenían tamaños de bytes y formas de representar caracteres diferentes.

Bob Bemer
Siendo que las computadoras cada vez eran más utilizadas y comenzaba a ser cada vez más necesaria interoperabilidad entre las mismas, Bob Bemer propone crear un standard para la representación de caracteres al American National Standards Institute (ANSI). Así es como en 1963 se crea el código ASCII (American Standard Code for Information Interchange). El código ASCII original utilizaba 7 bits para un total de 128 caracteres posibles. Rápidamente se hizo evidente que era una limitación y se empezó a trabajar con códigos de 8 bits. Cada fabricante utilizaba extensiones de ASCII propias y los 8 bits se hicieron corrientes.

Intel 8008
La IBM System/360 y su familia fueron mainframes construidos entre 1965 y 1978. Eran computadoras multipropósito que comenzaron a popularizar el byte fijo de 8 bits. La popularidad de esta familia influenció la arquitectura de las próximas computadoras en el mercado. En 1972 el primer procesador comercial de 8bits el 8008, vio la luz de la mano de Intel. Pronto otros fabricantes de microprocesadores lanzaron sus propias versiones, por ejemplo el Zilog Z80 y el Motorola 6800.


IBM PC
Fue en Agosto de 1981 cuando el destino del Byte como sinónimo de 8 bits tuvo un inevitable empuje. La IBM 5150, más conocida como la IBM PC (Personal Computer) salió al mercado, transformándose al poco tiempo en la arquitectura dominante de la industria. Utilizando el microprocesador Intel 8088 de 8bits (aunque ya estaba disponible para la época el 8086 de 16bits de mejores prestaciones, aunque también más costoso) dió paso a una familia de productos y derivados con gran éxito de ventas y una cantidad de clones que inundaron el mercado.

Las computadoras, gracias a la IBM PC y sus clones, conquistaron los hogares del mundo y popularizaron la computación para el publico no especializado. El destino del Byte de 8bits estaba sellado. Para 1984 cuando la IBM PC-AT salio a la venta con un procesador 80286 de 16bits, el byte se mantuvo en 8bits tanto para la terminología como para los lenguajes de programación. Más aun, cuando en 1987 sale a la luz Unicode, utilizando para codificar caracteres más de 8 bits, el Byte siguió siendo sinónimo de 8 bits.

En resumen, la denominación del "Byte" como el conjunto de 8 bits es una cuestión histórica, de facto y en bastante medida fortuita. Hoy en día con procesadores que manejan 64 o más bits y con codificaciones de caracteres que sobrepasan los 8 bits el concepto del byte esta inalterado.

El octeto, o el conjunto de 8 bits es - le guste a quien le guste - un Byte.


 Para finalizar, no viene mal aclarar con un ejemplo...


Comentarios

  1. que lindo articulo che . me gusto realmente saber esto . siempre me pregunte por que linux windows solaris o el que fuese metia el ascii y , aha , resulta que el ascii es como la estructura sobre la que se crea el byte .
    naides nace sabiendo paisano
    gracias ;)

    ResponderBorrar
  2. eu loco, me encanto la explicacion, me pinto la curiosidad y me respondiste re piola

    Gracias » •

    ResponderBorrar

Publicar un comentario