【问题标题】:Instruction Encoding relating to MARIE Assembly language与 MARIE 汇编语言相关的指令编码
【发布时间】:2014-11-29 23:17:19
【问题描述】:

我正在处理以下问题:

单地址计算机是指指令最多可以包含一个操作数的计算机 地址。 MARIE 就是这种计算机的一个例子。通常每条指令是 作为单个单词存储在内存中。假设以下机器细节。

(i) 一个字包含 n 位,k 位 (k

(ii) ISA 中有 100 个不同的操作码。

(iii) 最大的程序需要 128M 字(128x2^20)的内存才能运行。

(a)k 的最小值是多少? n的最小值是多少 必需的?保持k的最小值,最大数量是多少 可以使用的操作码?

(b)如果每个字的大小必须是整数字节,那么 需要 n 的最小值吗?可以使用的最大内存是多少 这台电脑呢?

到目前为止,我已经想出了一个,但我对我的答案有点怀疑: a) k 的最小数量是 7,因为要拥有 100 个操作码,您需要在操作码字段中使用 7 位。 n 的最小数量为 9(我不确定这是 9 还是 8,因为问题是“保持 k 的最小值,k 是操作码位)。我也不确定这个问题是否隐含地说word 有 16 位或更多。

对于 b,我对问题的性质感到困惑,是说新单词将有 8 位还是单词由位组成?例如:1 个字(16 位)是 2 个整数字节。在尝试解决这个问题时,我对最大程序大小(128M 字)的用途有点困惑。

【问题讨论】:

    标签: assembly encoding instruction-set marie


    【解决方案1】:

    k=7 部分正确。这当然为2^7=128 操作码提供了空间。至于n,你需要考虑你需要处理多少内存。这以128x2^20 的形式给出,即2^27,因此您至少需要n=27。总指令大小为34,它不是 8 的倍数。如果将其四舍五入到40,则得到n=33,它提供了最大可寻址内存2^33=8G words

    【讨论】:

    • 啊,我明白了。我发现这个问题非常模糊并且难以理解,但这很有意义。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多