Почему неверно выровненный адресный доступ вызывает 2 или более обращений?
Обычные ответы на вопрос, почему выравнивание данных заключается в более эффективном доступе и упрощении проектирования ЦП.
Соответствующий вопрос и его ответыВот, И еще один источникВот, Но они оба не решают мой вопрос.
Предположим, что ЦП имеет степень детализации доступа 4 байта. Это означает, что процессор читает 4 байта за раз. В обоих материалах, которые я перечислил выше, говорится, что если я получу доступ к смещенным данным, скажем, по адресу 0x1, то ЦП должен будет сделать 2 доступа (один из адресов 0x0, 0x1, 0x2 и 0x3, один из адресов 0x4, 0x5, 0x6 и 0x7). и объединить результаты. Я не понимаю почему. Почему процессор не может считывать данные с 0x1, 0x2, 0x3, 0x4, когда я выдаю адрес доступа 0x1. Это не ухудшит производительность и не вызовет большой сложности в схемотехнике.
Заранее спасибо!