Alinhamento de CPU e Dados

Perdoe-me se você acha que isso foi respondido várias vezes, mas preciso de respostas para as seguintes perguntas!

Por que os dados precisam ser alinhados (nos limites de 4 bytes / 8 bytes / 2 bytes)? Aqui minha dúvida é quando a CPU possui as linhas de endereço Ax Ax-1 Ax-2 ... A2 A1 A0, então é bem possível endereçar os locais de memória sequencialmente. Então, por que há a necessidade de alinhar os dados em limites específicos?

Como encontrar os requisitos de alinhamento quando estou compilando meu código e gerando o executável?

Se, por exemplo, o alinhamento de dados for um limite de 4 bytes, isso significa que cada byte consecutivo está localizado nas compensações do módulo 4? Minha dúvida é que, se os dados estiverem alinhados em 4 bytes, isso significa que, se um byte estiver em 1004, o próximo byte estará em 1008 (ou em 1005)?

questionAnswers(7)

yourAnswerToTheQuestion