Why the RAM is byte addressable?

husam2277

New member
Feb 1, 2013
340
0
0
Visit site
what is the point of having 32 bit address and data bus (and so a 32 bit processor) for byte addressable memory.
the CPU make arithmetic operations in 32 bit so to be efficient it should take 4 bytes at a time from the ram. so I think one address needed for 4 bytes instead of one address for each byte.

The same question valid for 64 bit processors, address and data bus.

I need an explanation please.
 

Ben Adams

New member
Sep 14, 2014
10
0
0
Visit site
You are mixing concepts, byte addressability means that is the minimum sized item that can be read or written. So if you wanted to change a single bit you would need to read a byte change one bit in it and write back the whole byte. A byte is useful for various things character strings are often represented as list of bytes with each byte representing a single character, rgba colour values with a byte representing red green blue and alpha.

However what you are referring to also doesn't really happen as if you access any RAM item the CPU get a cache line of data which is generally 64 bytes or 512 bits to operate locally for faster access, so if you performed and operation on a sequential array of 64 bytes their would only be a single memory access (regardless of whether the CPU was 32 or 64 bit)
 

Members online

Forum statistics

Threads
323,183
Messages
2,243,406
Members
428,037
Latest member
Brilliantick99