Byte addressable vs bit addressable

bitbytecomputer-architecturecpu

Why are most computers byte addressable instead of bit addressable?

By B/b addressable I mean that processor can operate on level of single B/b.

  • Bit addressable advantages:

Booleans have size of one bit.

You can directly access single bits in integers (without some dirty hacks like shifting).

  • Byte addressable advantages:

???

Best Answer

The reason why the hardware isn't bit addressable is the cost and complexity to address to that level of granularity isn't justified. You need more wires the more accurately you address.

A lot of computers aren't really byte addressable either. They tend to move memory around in bigger chunks, 64 bytes is common.

Processors do allow you to read and write specific bytes for convenience. They translate to the actual addressing for you i.e. work out which block to move that contains the byte you are after.

The reason why bytes are chosen to be the convenient size is largely historic. It was a sensible compromise between the size of the word needed to address memory and the, possibly wasted, memory you get back. In the early days, the 8 fold difference in the amount of memory you could effectively address for a given size word was important. Today, with 64-bit systems, it's less so but there's no obvious benefit in causing the huge backwards incompatibility that a change would necessitate.