Why the RAM is byte addressable?

husam2277

New member
Feb 1, 2013
340
0
0
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.
 
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

No members online now.

Forum statistics

Threads
339,426
Messages
2,262,447
Members
428,758
Latest member
Blake Shelton