首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ISA指令和微指令?

ISA指令和微指令?
EN

Software Engineering用户
提问于 2015-02-20 15:12:26
回答 2查看 3K关注 0票数 1
  1. 正确的是:
    • 微指令是指什么东西可以直接在硬件上执行?
    • ISA中的指令可以在硬件上运行(在这种情况下,指令是微指令?),或者必须由微程序解释为在硬件上运行的微指令序列?

  2. 来自Tanenbaum的结构化计算机组织,以下引用的微指令或ISA指令中提到的“指令”、“寄存器内存指令”和“寄存器寄存器指令”?大多数指令可以分为两类:寄存器-内存或寄存器寄存器。寄存器-内存指令允许将内存单词提取到寄存器中,例如,它们可以用作后续指令中的ALU输入。(“单词”是数据在内存和寄存器之间移动的单位。一个单词可能是一个整数。我们将在本章后面讨论内存组织。)其他寄存器-内存指令允许将寄存器存储回内存中.一个典型的寄存器寄存器指令从寄存器中获取两个操作数,将它们带到ALU输入寄存器,对它们执行一些操作(例如加法或布尔值和),并将结果存储在其中一个寄存器中。通过ALU运行两个操作数并存储结果的过程称为数据路径周期,是大多数CPU的核心。在相当大的程度上,它定义了机器能做什么。现代计算机有多个ALU并行工作,并专门处理不同的功能。数据路径周期越快,机器的运行速度就越快。
  3. 下面引号中提到的“指令”是一条微指令还是ISA中的指令?如果“指令”是指微指令,那么在ISA中的指令需要由微程序解释时,它的“循环”是什么?当运行寄存器内存指令(如第2部分)将内存单词提取到寄存器时,它是否在步骤1中调用自己从内存中获取到指令寄存器?CPU以一系列的小步骤执行每条指令。粗略地说,这些步骤如下:
    1. 将下一个指令从内存中提取到指令寄存器中。
    2. 将程序计数器更改为指向以下指令。
    3. 确定刚刚获取的指令类型。
    4. 如果指令在内存中使用一个单词,则确定它在哪里。
    5. 如果需要,将单词提取到CPU寄存器中。
    6. 执行指令。
    7. 转到步骤1开始执行以下指令。

这个步骤序列经常被称为提取-解码-执行循环。

  1. 当谈到RISC或CISC时,它们是指微指令还是ISA中的指令?谢谢。
EN

回答 2

Software Engineering用户

发布于 2015-02-20 18:45:11

1)指令集体系结构定义了用于编写处理器程序的接口。请注意,这并不定义实现。当CPU设计人员开始设计处理器时,他们可能以不同的方式实现这个ISA。事实上,多年来,各种英特尔处理器都以许多不同的方式实现了x86 ISA。

计算机体系结构通常是围绕ISA描述的。计算机微结构对于特定的处理器来说是非常特殊的。例如,Pentium与Pentium实现在很大程度上是完全相同的指令集,即x86 ISA。但它们的微观结构却截然不同。(例如,专业人员出现了故障)。

通常用来使管道变得非常快的方法之一是将更复杂的指令减少到微指令。这些是由处理器的“后端”使用的,它是具有一个或多个执行单元的部分。

因此,这两种指令的重点是ISA指令还是微指令,这关系到您是否在讨论ISA,即接口,还是微体系结构,即实现。

2)至于你的第二个问题,Tanenbaum几乎肯定是在谈论ISA级指令,因为他的书是关于计算机体系结构的。微体系结构更多的是以硬件设计为中心。如果你对微结构感兴趣,请看约翰·斯托克斯,“机器内部”。

3)对于大多数真正的处理器来说,提取解码-执行是完全过于简单的,无法描述内部的真实情况。但是,从ISA的角度来看,它对指令所采取的步骤定义了一个很好的抽象。

指令取取是由专用硬件完成的,与加载指令数据的取取不同。通常有两个公共汽车的主人,指令和数据。这些公共汽车常常有自己的隐藏室。在某些情况下,例如哈佛架构,数据和指令内存映射是完全独立的。

4) RISC诉CISC完全涉及ISA,即接口。然而,RISC使用精简指令集的思维方式在很大程度上简化了微体系结构。其结果是,微体系结构指令通常与RISC处理器中的ISA指令完全相同。

票数 2
EN

Software Engineering用户

发布于 2015-02-20 18:18:19

  1. 我同意你的解释。如果ISA指令与单个微指令联系在一起,我仍然会称它为指令,而将微指令称为微指令,即使我知道有1:1的平分。有各种各样的芯片体系结构,但我设想内部在命名方面存在差异,并且以这种方式保持独立,例如,芯片设计人员可能会说,“MOV指令实现完全由调用_mov微指令组成”。我在这里制定了我自己的命名约定;重点是这里仍然有两个不同的实体,即使它们恰好对应于1:1。
  2. 这些操作将是指令;无论它们是作为单个微指令实现的,还是作为微程序实现的,它们在概念上仍然是指令。
  3. 这些操作也将是指令;CPU将永远不必“获取”微指令。在电路设计中,它已经有了任何给定指令所必需的正确的微指令。
  4. 在纯RISC体系结构中,没有指令/微指令的区别。每一种指令基本上都是一种微指令,尽管“微指令”一词通常不会被使用(因为没有必要作出这样的区分)。当谈到CISC设备时,我会想象人们会主要谈论指令;如果他们指的是内部微指令(在我的经验中,这不太可能成为日常讨论的主题),那么人们就会明确地说“微指令”。
票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/273870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档