由Donald Knuth登录MIX计算机

时间:2019-01-14 15:20:50

标签: algorithm knuth

在MIX计算机中,一个单词由五个字节和一个符号组成。记忆中的符号如何表示?是另一个字节,所以每个单词真的是六个字节吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

您的问题不太清楚。体系结构规范未指定实际的实现。它仅指定可观察的行为。

重要的是,在MIX中,对内存的访问与单词对齐。在x86之类的其他体系结构中,您可以从任意地址开始读取一个单词,即使是非单词对齐的,也不能在MIX中读取。这意味着您不能以任何其他方式访问“符号”,而不能将其作为相应单词的符号。这反过来意味着,如果有人想在硬件中实现MIX,则每个单词仅使用31位就足够了,即1位用于符号+ 5个6字节的“字节”。

如果要在标准的现代硬件上模拟MIX,该硬件使用8字节乘以“字节”,则有几种选择:

  • 对整个单词使用32位值,并通过一些位掩码操作模拟其内部结构
  • 使用6个8位字节:每个MIX 6位字节1个8位字节,另外1个用于符号。

显然,还有更多人为的选择。