Original Post
Apologies if this is the incorrect section of the forum to post this.
This is hardware question. I'm just wondering how the CPU addresses memory.
I've read many different articles and forum discussions on this topic but I still can't understand it.
I found it easier to ask my question with the help of an image which I've attached to this post.
[attachment=2205:Misalignment_Q.png]
As far as I'm aware, the CPU can only access a memory location at every 4 bytes (e.g. 0x00, 0x04, 0x08...). Is this true or have I picked this up wrong?
If this is true; what stops the CPU from accessing an arbitrary memory location? If it could access memory at any location it wanted then it would solve misalignment issues and save some memory from being wasted on padding data.
I know there is obviously a solid reason out there for this. I just hope someone can help me understand it.
Thanks.
Jai.
This is hardware question. I'm just wondering how the CPU addresses memory.
I've read many different articles and forum discussions on this topic but I still can't understand it.
I found it easier to ask my question with the help of an image which I've attached to this post.
[attachment=2205:Misalignment_Q.png]
As far as I'm aware, the CPU can only access a memory location at every 4 bytes (e.g. 0x00, 0x04, 0x08...). Is this true or have I picked this up wrong?
If this is true; what stops the CPU from accessing an arbitrary memory location? If it could access memory at any location it wanted then it would solve misalignment issues and save some memory from being wasted on padding data.
I know there is obviously a solid reason out there for this. I just hope someone can help me understand it.
Thanks.
Jai.