Algorithm Donald Knuth登录MIX computer

Algorithm Donald Knuth登录MIX computer,algorithm,knuth,Algorithm,Knuth,在MIX计算机中,一个字由五个字节和一个符号组成。符号在记忆中是如何表示的?它是另一个字节,所以每个单词都是六个字节吗 谢谢。你的问题不太清楚。架构规范没有指定实际的实现。它只指定可观察的行为 重要的是,在混合模式中,对内存的访问与单词对齐。在其他一些架构(如x86)中,您可以读取从任意地址开始的字,即使是非字对齐的,但不能混合读取。这意味着除了作为相应单词的符号外,您不能以任何其他方式访问“符号”。这反过来意味着,如果有人想在硬件中实现混合,那么每个字只使用31位就足够了,即6位的符号+5“字

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


谢谢。

你的问题不太清楚。架构规范没有指定实际的实现。它只指定可观察的行为

重要的是,在混合模式中,对内存的访问与单词对齐。在其他一些架构(如x86)中,您可以读取从任意地址开始的字,即使是非字对齐的,但不能混合读取。这意味着除了作为相应单词的符号外,您不能以任何其他方式访问“符号”。这反过来意味着,如果有人想在硬件中实现混合,那么每个字只使用31位就足够了,即6位的符号+5“字节”为1位

如果您想在使用8位乘法的“字节”的标准现代硬件上模拟MIX,您有以下几种选择:

  • 对整个字使用32位值,并使用一些位掩码操作模拟其内部结构
  • 使用6个8位字节:每个混合6位字节一个8位字节,另一个用于符号

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

MIX完全是一台假想的计算机——如果它的字被定义为由5个字节和一个符号位组成,那么这正是它们的组成部分,不多也不少。在现实世界的计算机上模拟MIX可能会使用第6个字节来保存符号,但这是一个实现细节——如果MIX软件能够检测到这一点,模拟将被彻底破坏。