Войти в MIX компьютер Дональда Кнута - PullRequest
0 голосов
/ 14 января 2019

В компьютере MIX слово состоит из пяти байтов и знака. Как знак отображается в памяти? Это еще один байт, так что каждое слово на самом деле составляет шесть байтов?

Спасибо.

1 Ответ

0 голосов
/ 14 января 2019

Ваш вопрос не совсем понятен. Спецификация архитектуры не определяет фактическую реализацию. Он только определяет наблюдаемое поведение.

Важно то, что в MIX доступ к памяти выравнивается по словам. В некоторых других архитектурах, таких как x86, вы можете прочитать слово, начиная с произвольного адреса, даже без выравнивания по словам, но не в MIX. Это означает, что вы не можете получить доступ к «знаку» любым другим способом, кроме как как знак соответствующего слова. Это, в свою очередь, означает, что если кто-то хочет внедрить MIX в аппаратном обеспечении, достаточно будет использовать только 31-бит для каждого слова, то есть 1 бит для знака + 5 «байтов» из 6 битов.

Если вы хотите эмулировать MIX на стандартном современном оборудовании, которое использует «байты», кратные 8 битам, у вас есть несколько вариантов:

  • Использовать 32-битное значение для всего слова и моделировать его внутреннюю структуру с помощью некоторых операций с битовой маской
  • Используйте 6 8-битных байтов: один 8-битный байт на 6-битный байт MIX и еще один для знака.

Очевидно, есть и более надуманные варианты.

...