So I was reading few articles (and few questions on StackOverflow) about memory alignment and I understood why structs like this:
struct A
{
char c;
int i;
}
will have padding. Also it is clear that fetches from not aligned memory will be slower if processor can read only from aligned offsets.
But why processor can read only from aligned memory? Why it can't just read data from random address? You know, from Random-Access Memory...