Одна вещь не имеет ничего общего с другой, как уже упоминалось несколько раз в комментариях.Шины основной памяти имеют ширину не менее 32 бит, но чаще 64, и все транзакции имеют такой размер.Ладно, это тоже неправда, и это более важно.Существует много шин, один / несколько на краю ядра процессора, затем вы проходите через mmus и кэш-память и переходите на шины уровня микросхемы, а затем выходите из шин микросхемы.На чипе вы шириной не менее 32 бит, но, скорее всего, 64 или в два раза больше.Когда вы уходите от чипа в системную память, обычно это происходит в зависимости от технологии.контроллеры и различные шины между кешем и внешним интерфейсом управляют количеством транзакций шины для каждого уровня.На сервере или настольном компьютере вполне вероятно, что у вас есть 64- или 72-битные интерфейсы (последний с ecc).Для телефона ddr4 - это 16-битная шина, поэтому ваша строка кэша разбита на множество 16-битных транзакций или 32 с момента его ddr (данные за любой такт полуцикла, а не только один бит за такт, то есть имя).Таким образом, вы можете считать это как 16 или 32. Ваш ноутбук может иметь 32/40-битную карту памяти, но я некоторое время не подсчитывал контакты.
По вашему вопросу, хотя, если вы вернетесь к машине обратного хода, это все равно зависит, 32-битная транзакция, вероятно, была бы обработана 32-битной шиной и 32-битной памятью, будь то 4 8-битные шины или 216 или 32. Но даже если они не совпадают, это зависит от разработчика системы, поскольку у нас не было много систем на чипе, тогда это был процессор, тогда как периферия и тому подобное были на других чипах.Поэтому разработчик контроллера памяти мог выбрать, какую байтовую транзакцию делать первой.И это было бы вообще произвольно.
То же самое относится и к байту.Там есть проблема, если каково ваше определение «большой против маленького».То, как вы открыли свой вопрос, не имеет никакого смысла для меня ... 0x11223344 32-битное значение 0x44 является наименее значимым байтом, и это всегда так, порядковый номер не имеет к этому никакого отношения.Теперь его адрес при рассмотрении в байтовой адресации может заканчиваться 2b00 или 2b11, то есть ваши байты.Но у нас есть процессоры с байтовым инвариантом be8 и процессоры с инвариантом слова be32, о чем вы обычно думаете, но arm переключился на байтовый инвариант, поэтому слова меняются местами, но байты находятся по одному и тому же адресу (в зависимости от размера транзакции).Сумасшедший, верно?затем, конечно, существует порядок битов, где 0x44 может быть битами 7..0, а некоторые процессоры рассматривают биты 0x44 24..31.
Суть в том, что нет точного ответа, это зависит только от разработчиков системного уровня, и это не означает, что одни только процессоры, вы можете взять 68 КБ, подключить его к 8-битной памяти и вытащить словоразмер транзакции в любом понравившемся вам порядке A [1: 0] = 2b11, 2b10, 2b01, 2b00 или 2b00, 2b01, 2b10 2b11, для вас не имеет значения и не влияет на сам процессор, поскольку вы передаете ему полное слово, как только высобрать байты.
Системы, которые были разработаны или в эпоху 8-битных шин, не обязательно имели 32-битные транзакции.возможно, 16, но вы, скорее всего, разместите две 8-битные части и будете управлять выходом и разрешением записи, а не добавлять состояния ожидания, особенно в ту эпоху.Таким образом, 8088 против 8086. Один создан для использования с 8-битной памятью, возможно, с одной деталью, а другой для систем с 16-битной шириной первоначально две части 8-битной ширины превращаются в 16-битные компоненты по мере увеличения спроса.
На этот вопрос нет однозначного ответа.