计算机组成原理重要知识点摘录(考研用)——第四章:指令系统

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。计算机组成原理重要知识点摘录(考研用)——第四章:指令系统,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

计算机组成原理重要知识点摘录(考研用)——第四章:指令系统

 本文参考于《2021年计算机组成原理考研复习指导》(王道考研),《计算机组成原理》

 4.1.3 扩展操作码指令格式

  为了在指令字长有限的前提下仍保持比较丰富的指令种类,可采取可变长度操作码,即全部指令的操作码字段的尾数不固定,且分散地放在指令字的不同位置上。
  最常见的变长操作码方法是扩展操作码,它使操作码的长度随地址码的减少而增加,不同地址数的指令可具有不同长度的操作码, 从而在满足需要的前提下,有效地缩短指令字长。下图为一种扩展操作码的安排方式:
在这里插入图片描述
  在图中,指令字长为16位,其中4位为基本操作码字段OP,另有3个4位长的地址字段A1、A2、A3。图中所示的三地址指令为15条,1111留作扩展操作码之用;二地址指令15条,1111 1111留作扩展操作码之用;一地址指令为15条,1111 1111 1111留作扩展操作码之用;零地址指令为16条。
  除这种安排外,还有其他多种扩展方法,如形成15条三地址指令、12条二地址指令、63(3×16+15)条一地址指令和16条零地址指令。
  在设计扩展操作码指令格式时,须注意:
  (1)不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同
  (2)各指令的操作码不能重复
  通常情况下,对使用频率较高的指令分配较短的操作码,对使用频率较低的指令分配较长的操作码

  7.相对寻址

  相对寻址是把PC的内容加上指令格式中的形式地址A而形成操作数的有效地址,即EA=(PC)+A其中A是相对于当前指令地址的位移量,可正可负,补码表示。
在这里插入图片描述
  A的位数决定操作数的寻址范围。
  相对寻址的优点是操作数的地址不是固定的,它随PC值的变化而变化,且与指令地址之间总是相差一个固定值,因此便于程序浮动。 相对寻址广泛用于转移指令。

  对于转移指令JMP A,当CPU从存储器中取出一字节时,会自动执行(PC)+1——>PC。 若转移指令的地址为X,占2B,则在取出该指令后,PC的值会增2,即(PC)=X+2, 这样在执行完该指令后,会自动跳转到X+2+A的地址继续执行。

  8.基址寻址

  基址寻址是指将CPU中基址寄存器(BR)的内容加上指令格式中的形式地址A而形成操作数的有效地址,即EA=(BR)+A。 其中基址寄存器既可采用专用寄存器,又可采用通用寄存器。(基址寄存器可采用隐式的和显式的两种。所谓隐式,是在计算机内专门设有一个基址寄存器BR,使用时用户不必明显指出该基址寄存器,只需由指令的寻址特征位反映出基址寻址即可。显式是在一组通用寄存器里,由用户明确指出哪个寄存器作为基址寄存器)
在这里插入图片描述
  基址寄存器是面向OS的,其内容由OS或管理程序确定,主要用于解决程序逻辑空间与存储器物理空间的无关性。 在程序执行过程中,基址寄存器的内容不变(作为基地址),形式地址可变(作为偏移量)。 采用通用寄存器作为基址寄存器时,可由用户决定哪个寄存器作为基址寄存器,但其内容仍由OS确定。

  基址寻址的优点是可扩大寻址范围(基址寄存器的位数大于形式地址A的位数);用户不必考虑自己的程序存于主存的哪个空间区域,因此有利于多道程序设计,并可用于编制浮动程序,但偏移量(形式地址A)的位数较短。


  基址寻址在多道程序中极为有用。用户可不必考虑自己的程序存于主存的哪一空间区域,完全可由OS或管理程序根据主存的使用情况,赋予基址寄存器内一个初始值(即基地址),便可将用户程序的逻辑地址转化为主存的物理地址(实际地址),把用户程序安置于主存的某一空间区域


  9.变址寻址

  变址寻址是指有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容之和,即EA=(IX)+A, 其中IX为变址寄存器(专用),也可用通用寄存器作为变址寄存器。
在这里插入图片描述
  变址寄存器是面向用户的,在程序执行过程中,变址寄存器的内容可由用户改变(作为偏移量),形式地址A不变(作为基地址)
  变址寻址的优点是可扩大寻址范围(变址寄存器的位数大于形式地址A的位数);在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器IX的内容,便可很容易形成数组中任一数据的地址,特别适合编制循环程序。 偏移量(变址寄存器IX)的位数足以表示整个存储空间。
  变址寻址与基址寻址的有效地址形成过程极为相似。但从本质上来讲,两者有较大区别。基址寻址面向系统,主要用于为多道程序或数据分配存储空间,因此基址寄存器的内容通常由OS或管理程序确定,在程序的执行过程中其值不可变,而指令字中的A是可变的;变址寻址立足于用户,主要用于处理数组问题,在变址寻址中,变址寄存器的内容由用户设定,在程序执行过程中其值可变,而指令字中的A是不可变的。

  各常见指令寻址方式的特点和适用情况:
  立即寻址操作数获取便捷,通常用于给寄存器赋初值
  直接寻址相对于立即寻址,缩短了指令长度
  间接寻址扩大了寻址范围,便于编制程序,易于完成子程序返回
  寄存器寻址的指令字较短,指令执行速度较快
  寄存器间接寻址扩大了寻址范围
  基址寻址扩大了操作数寻址范围,适用于多道程序设计,常用于为程序或数据分配存储空间
  变址寻址主要用于处理数组问题,适合编制循环程序
  相对寻址用于控制程序的执行顺序、转移等

  指令系统朝两个截然不同的方向发展:一是增强原有指令的功能,设置更为复杂的新指令实现软件功能的硬化,这类机器称为复杂指令系统计算机(CISC)。 典型的有采用X86架构的计算机;二是减少指令种类和简化指令功能,提高指令的执行速度,这类机器称为精简指令系统计算机(RISC), 典型的有ARM,MIPS架构的计算机。

 4.3.1 复杂指令系统计算机(CISC)

  CISC的主要特点:
  (1)指令系统复杂庞大,指令数目一般为200条以上
  (2)指令的长度不固定, 指令格式多,寻址方式多
  (3)可以访存的指令不受限制
  (4)各种指令使用频度相差很大
  (5)各种指令执行时间相差很大,大多数指令需多个时钟周期才能完成
  (6)控制器大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连线控制
  (7)难以用优化编译生成高效的目标代码程序

 4.3.2 精简指令系统计算机(RISC)

  精简指令系统计算机(RISC)的中心思想是要求指令系统简化,尽量使用寄存器-寄存器操作指令,指令格式力求一致。RISC的主要特点如下:
  (1)选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现
  (2)指令长度固定, 指令格式种类少,寻址方式种类少
  (3)只有Load/Store(取数/存数)指令访存,其余指令的操作都在寄存器之间进行
  (4)CPU中通用寄存器的数量相当多
  (5)RISC一定采用指令流水线技术, 大部分指令在一个时钟周期内完成
  (6)以硬布线控制为主,不用或少用微程序控制
  (7)特别重视编译优化工作,以减少程序执行时间
  从指令系统兼容性来看,CISC大多能实现软件兼容,即高档机包含了低档机的全部指令, 并可加以扩充。但RISC简化了指令系统,指令条数少,格式也不同于老机器,因此大多数RISC机不能与老机器兼容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153792.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!