Big Endian и Little Endian

Дан снимок памяти компьютера с байтовой адресацией. Что будет загружено в регистр $16 после выполнения инструкции lw $16, 24($17), если машина с прямым порядком байтов и когда с прямым порядком байтов. Регистр $17 содержит 200.

введите описание изображения здесь

Теперь, по моему мнению, четыре байта будут скопированы из памяти (224-227) независимо от Little Endian или Big Endian, тогда, если машина Big Endian, то они будут скопированы в регистр как есть.

Если машина работает с прямым порядком байтов, то выполняется обратное преобразование, а затем копирование в регистр.

Пожалуйста, помогите мне, если я ошибаюсь в концепции.


person Community    schedule 08.11.2011    source источник
comment
В общем, ты прав. Однако я недостаточно знаю mips, чтобы знать, что здесь нет подвоха.   -  person jpalecek    schedule 08.11.2011
comment
Большой / малый порядок байтов не имеет ничего общего с MIPS. Так что он совершенно прав :)   -  person m0skit0    schedule 08.11.2011


Ответы (1)


Ты прав.

С технической точки зрения, в режиме прямого байта старший байт - это байт с наименьшим адресом, а наименее значимый байт - с наибольшим адресом. В режиме с прямым порядком байтов старший значащий байт - это байт с наивысшим адресом, а младший значащий байт - с наименьшим адресом.

Таким образом, содержимое регистра $ 16 будет

Если с прямым порядком байтов -> BADADBBD Если с прямым порядком байтов -> BDDBDABA

person m0skit0    schedule 08.11.2011
comment
Да, я действительно перепутал порядок байтов в памяти и битовые последовательности в регистрах, которые не связаны. Битовые комбинации в регистрах для одного и того же номера будут одинаковыми в обеих архитектурах. - person Vladimir F; 08.11.2011
comment
Нет, порядок байтов в памяти и регистрах такой же. - person m0skit0; 19.10.2012
comment
Чтобы уточнить, в любом случае четыре байта от 224 до 227 будут загружены в $16; если бы архитектура начала с прямым порядком байтов, нумерация диаграммы памяти OP была бы обратной, поэтому мы получили бы BDDBDABA вместо BADADBBD - person Yibo Yang; 29.09.2015