【问题标题】:Assembly Language, what exactly is a specialized instruction?汇编语言,究竟什么是专门指令?
【发布时间】:2013-08-19 07:50:55
【问题描述】:

我目前正在学习汇编语言考试,在过去的论文中遇到过这个问题,

在汇编中,专用指令是什么意思?给一个 一个例子。 CPU 设计人员如何决定要执行哪条指令 专精?

这让我很困惑,我的讲师笔记也无济于事。

我们使用的模拟器是 8 位的,类似于 x86 系列。

【问题讨论】:

  • 鉴于第二个问题,我想知道“专业化”是否意味着硬连线(与使用微码相比)——即,专门从事硬件实现——但这种区别只对汇编程序员来说很重要性能(这无疑是使用汇编的主要原因)。

标签: assembly x86 computer-architecture instruction-set


【解决方案1】:

我猜这里的“专业化”是指:为执行相当复杂的任务而量身定制的指令,这些指令通常由一组更简单、更像 RISC 的指令块完成,但需求量很大(或者如果 CPU 设计人员相信它)会很有用,或者他可以在硬件或微代码流中做得更好)- ISA 中添加了一条特殊指令(或类似指令系列)。从这个意义上讲,一个很好的例子是 AES ISA,例如- http://en.wikipedia.org/wiki/AES_instruction_set

【讨论】:

    【解决方案2】:

    有趣。我以前没有听说过,谷歌也没有显示任何内容(这个页面出现在第 3 位)。但是通过推理,我们可以找出讲师的意思:为了使某些教学专业化,它只需要完成一项任务即可。

    所以这可能意味着MOV 是一个“通用”指令,它可以根据操作数执行许多不同的操作。但另一方面,NOPHALT 指令只做一件事,没有别的。当然,这单一的东西可以用来执行许多不同的任务。例如 NOP 可用于延迟或仅用作占位符。但是NOP最终只做了一件事。

    类似INT 3 虽然看起来像带有参数3INT 指令,但实际上是单个操作码0xCC。那是因为INT 3 用于断点,因此必须能够适应单个操作码。这就是为什么它是专业的。

    【讨论】:

    • 感谢您的简洁回答。你解释它如何做的方式非常有帮助。当他解释这一点时,我一定错过了。如果您有兴趣,这是我们讲师设计的模拟器的链接。 computing.dcu.ie/~kcasey/asm/simulator.html#/18
    【解决方案3】:

    我认为“xlat”(来自 Intel x86)相当专业。专门做一些没有太多需求的事情。

    【讨论】:

    • 对于必须如此具体的语言,这似乎是一个非常模糊的问题,不是吗?对第二个问题有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2014-05-17
    相关资源
    最近更新 更多