【发布时间】: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