【发布时间】:2018-08-10 10:48:41
【问题描述】:
-
我被要求设计一个 64 位的假想机器,我决定 将 4 位作为操作码,其余 60 位作为地址,因为 问题只希望我执行 2 个操作,这些操作是 3 的加法 整数和 2 个整数的乘法,因此 4 位指令将 就足够了。事情就是这样,我必须设计程序 执行。如果我使用 60 位地址,这意味着我会 有一个 15 位十六进制地址,这是唯一的方法吗?有人可以展示吗 我如何在没有这么多地址的情况下设计它,因为我的 设计会很乱。第一张图是问题,第二张图 是我尝试做的,这些是我给出的一些指示 第三个是16位机的镜像。是不是应该变成 这边走?因为它真的很乱。我想画机器 像第二张图片一样,只是不同的指令和 算术方程。
【问题讨论】:
-
请先编写您的代码并向人们展示您的方法。
-
欢迎来到 Stack Overflow! Stack Overflow 不是一个讨论论坛,它是一个问答网站,您可以在其中提出可以回答而不是讨论的特定编程问题。请阅读How do I ask a good question? 和What topics can I ask about here?,然后编辑您的问题以符合站点指南。诸如此类的离题问题通常会关闭,但如果经过编辑以提出可回答问题,则可以再次重新打开。谢谢。
-
大多数 64 位 RISC CPU 使用 32 位指令字。例如,看看 DEC Alpha AXP,它从头开始设计为 64 位(与 MIPS64 或其他扩展现有 32 位架构的其他架构不同)。除非您想在每条指令中包含很多内容,否则在拥有巨大的指令字上花费两倍的 I-cache 是没有意义的。 (例如 ARM 有谓词执行,MIPS 有大的立即数和 32 个寄存器,PowerPC 有很多操作码,而且这些仍然是 32 位指令宽度。)无论如何,我不知道你对其余部分的意思指令是一个巨大的地址。
标签: computer-science cpu-architecture cpu-registers