3 ms·
You want some criticism, because we have too little of that here on HN? I'll bite. ;) "A byte is a set of 8 bits. Computers typically move data around a byte a
by qznc 13y ago
You want some criticism, because we have too little of that here on HN? I'll bite. ;)
"A byte is a set of 8 bits. Computers typically move data around a byte at a time."
A byte being 8 bits is ok. Historically, a byte might have a different number of bits, but all modern architectures use 8 bits. Since this is an introductory article, this is fine. (more details: http://en.wikipedia.org/wiki/Byte http://en.wikipedia.org/wiki/Byte)
Computers do not typically move data in byte chunks. You could say "a byte is the smallest unit of data a CPU can load or store". If you talk about moving data, the question is between what. Probably memory. However, there are caches nowadays, since bandwidth is cheap and latency is expensive. Data is moved in cache line chunks, which means 4-64 byte chunks depending on architecture and cache level. Bigger chunks in upcoming architectures.
- chiph 13y agoIIRC, the IBM System 360 is the machine that really set the 8 bits == 1 byte convention in stone. Before that you had CDC machines with 6-bit bytes (or Nybbles if you owned an Apple ][ with a floppy disk)
- mjn 13y agoThere's some subjectivity in where you consider it standardized, but I would put it later than that. Throughout the period when IBM's System/360 was popular, DEC's PDP series was also popular, which used 36-bit words and a somewhat varying definition of what constituted a byte. If I had to pick a date, I'd pick 1977 as when it solidified. A few elements: ARPAnet standardized on octet-based protocols in the early 1970s, and was getting widespread by the mid 1970s; three popular microcomputers based on 8-bit architectures were introduced in 1977 (the Apple II, TRS-80, and Commodore PET); and DEC introduced the 32-bit VAX in 1977.
- kalleboo 13y agoAnd thanks to good old SMTP originally not being specified as 8-bit, we get freakshows like UTF-7 http://en.wikipedia.org/wiki/UTF-7 http://en.wikipedia.org/wiki/UTF-7
- npongratz 13y agoI knew bytes were ambiguously sized, but I had thought a nibble/nybble was (A) always half an octet, and (B) a fun Apple coders magazine [0]. But sure enough, I was very wrong on (A): Apple II disk writes were done in "sets of 5-bit or, later, 6-bit nibbles" [1]. Thank you, chiph! [0] http://www.nibblemagazine.com/ http://www.nibblemagazine.com/ [1] https://en.wikipedia.org/wiki/Nibble#History https://en.wikipedia.org/wiki/Nibble#History
- chiph 13y agoThere's probably some variation in the terminology, but I always used these terms: bit nibble (4 bits) nybble (6 bits) byte (8 bits) word (16 bits) :
- TheNewAndy 13y agoI wouldn't say "all modern architectures use 8 bits". Plenty of DSPs have > 8-bits (SHARCs are 32-bit, ZSPs are 16, 56K-like DSPs are 24. A byte is the smallest thing that a pointer can point at. Something like MIPS (from memory) has 8-bit bytes, but a load instruction loads 4-bytes at a time (and although it has the unaligned load functions which can be convinced to load a single byte, they aren't general purpose)