Никто другой не ответил, ПОЧЕМУ это может быть сделано, много вещей о последствиях.
Рассмотрим 8-битный процессор, который может загрузить один байт из памяти за заданный тактовый цикл.
Теперь, если вы хотите загрузить 16-битное значение, скажем, в один-единственный 16-битный регистр, который у вас есть - то есть в счетчик программ, то простой способ сделать это:
- Загрузить байт из места получения
- сдвинуть этот байт влево на 8 мест
- увеличить местоположение выборки памяти на 1
- загрузить следующий байт (в младшую часть регистра)
результат: вы только увеличиваете местоположение выборки, вы загружаете только часть младшего разряда расширенного регистра, и вам нужно только иметь возможность сдвигаться влево. (Конечно, смещение вправо полезно для других операций, так что это немного побочный эффект.)
Следствием этого является то, что 16-битный (двухбайтовый) материал хранится в порядке Most..Least. То есть, у меньшего адреса самый старший байт - такой большой порядок байтов.
Если вместо этого вы попытаетесь загрузить с использованием байтов с прямым порядком байтов, вам нужно будет загрузить байт в нижнюю часть вашего широкого регистра, затем загрузить следующий байт в промежуточную область, сдвинуть его, а затем вставить его в верхнюю часть вашего более широкого регистра. , Или используйте более сложную схему стробирования, чтобы можно было выборочно загружать в верхний или нижний байт.
Результатом попытки перейти к порядку байтов является то, что вам нужно больше кремния (коммутаторы и вентили) или больше операций.
Другими словами, с точки зрения получения отдачи в прежние времена, вы получили больше отдачи за большую производительность и наименьшую площадь кремния.
В наши дни эти соображения и в значительной степени не имеют никакого значения, но такие вещи, как заполнение конвейера, могут все еще быть чем-то большим.
Когда дело доходит до написания программного обеспечения, жизнь часто упрощается при использовании адресации с прямым порядком байтов.
(И процессоры с прямым порядком байтов имеют тенденцию к порядку с прямым порядком байтов с точки зрения упорядочения байтов и с прямым порядком байтов с точки зрения битов в байтах. Но некоторые процессоры являются странными и будут использовать порядок байтов с прямым порядком байтов, а также порядок байтов. Это делает жизнь очень Интересно для дизайнера, добавляющего отображаемые в память периферийные устройства, но не имеет никакого другого значения для программиста.)