I was reading about bit array and this question came up in my mind. Why are most machines not able to address individual bits? Is it because of the DMA and because it would be too (memory/circuits) expensive to keep an address for each bit?
Asked
Active
Viewed 76 times
0
-
1not a dma thing, dma doesnt even like addressing bytes. The answer is there is no value to it, the additional address lines for something that is relatively never used. byte addressable memory is costly enough. memory busses are in the 32 to 64 bit range now, anything smaller than the bus width is costly. Even better to move data in multiples of whole cache lines. Processors provide instructions (shift, and, etc) for sampling bits if need be. – old_timer Sep 03 '12 at 05:15
2 Answers
1
A bit is the smallest unit of storage in memory.
A byte is the smallest addressable unit of storage in memory.
It doesn't make sense to make the bit addressable as it can only contain a 1
or 0
i.e. true
or false
information unlike a byte which can carry meaningfull information (you can encode a character set based on one byte e.g. ASCII).
This is just an intuitive explanation. I assume there are other techical low level reasons, e.g. it doesn't make sense to access memory for just 1 bit (too costly), i.e. make a 1-bit memory bus instead of 8-16 or more bits etc

Cratylus
- 52,998
- 69
- 209
- 339
0
It since if you save adress just for bytes, the adress length is smaller in 3 bits.

LeeNeverGup
- 1,096
- 8
- 23