While at work, I was helping to explain subnetting and octets. In the process, I realized there is some disconnect of what a bit is, what a byte is, and why a byte is 8 bits. So let's run through the short history of why a byte is 8 bits!
In early 1955, begins the IBM 7030 "Stretch" projects. This is where one of the places where character-sized chunks of data gets engineered into architecture. I was meant to be a super computer and has a lot of history on its own, but let's focus on the data architecture specifics. There are fixed point numbers store in in binary of 1 to 64 bits, or decimal in 1 to 16 digit chunks. Decimal format numbers have a length of 1 to 8 bits. Floating point numbers have a 1 bit exponent flag, a 10 bit exponent, a 1 bit exponent sign, a 48 bit magnitude, and a 4 bit sign. Alphanumeric characters can use 8 bits or less.
On June 11, 1956, the word Byte appears in the IBM Stretch-era documentation. Werner Buchholz is credited with coining the term "byte" during the Stretch design period. The term "byte" just referred to a group of bits, and in the case of Stretch they had a variable length. The rationale for why the term "byte" was used as opposed to "bite" was to avoid confusion because bit and bite are too similar.
From 1956 to the early 1960s, the size of a byte varies by machine. During this time, a 6 bit scheme was common for alpha numeric characters. That's not to say the 8 bit byte didn't exist, it just was not a standard, so you could do whatever.
In 1962, ASCII published a standard for a 7 bit code. Work on this is dated to an ASA meeting on October 6, 1964. This allows for 128 unique codes, allowing for alphanumeric characters and some control characters.
In 1963 to 1964, Extended Binary Code Decimal Interchange Code (EBCDIC) is created, using 8 bit character encoding for a byte. On April 7, 1964 was the launch of the IBM System/360 and helped announce EBCDIC. IBM touts System/360 as what pioneered the 8 bit byte becoming dominant,. The documentation of the system describes a byte as being 8 bits with a 1 bit parity check.
As we get into the 1970s, 8 bit microprocessors start to spread, making the 8 bit byte more culturally and economically entrenched. This makes a lot more devices assume 8 bit bytes. Buchholz publishes a letter in February of 1977 in BYTE Magazine, "The Word 'Byte' Comes of Age..." He reflects on the term's origins and that many people assume a byte being equal to 8 bits comes from the System/360.
Now let's get a bit more modern. We come up to September of 1981, the Internet Protocol (IP) uses the term "octet" to mean an unambiguous 8 bit chunk. This is specifically to avoid the ambiguity of the term byte (RFC 791).
Finally, we enter into a time when I was alive, 1993. The ISO/IEC vocabulary standard notes "byte is usually 8 bits." Specifically, ISO/IEC 2382-1 includes the notes that the number of bits in a byte is 8, and defining an 8 bit byte as an octet. Now we're standard. While it did allow a lot of flexibility, keep in mind that to include characters from other languages that exceed what a 8 bit byte can handle, which is only 256 unique values, other character encodings have been created using multiple bytes to include all the alphabets, symbolic languages, and more.
And finally, I had ChatGPT make a visual timeline for me. So enjoy the summary version.
No comments:
Post a Comment