计算机组成原理复习4(指令系统)

指令格式

指令是指计算机执行某种操作的命令,是计算机运行的最小功能单位。

1.指令的基本格式

指令包括操作码字段和地址码字段

操作码是识别指令,了解指令功能与区分操作数地址内容的组成和使用等关键信息。

指令长度指所包含的二进制代码的位数,取决于操作码的长度,操作数地址码的长度和操作数地址的个数。

单字长指令:指令长度等于机器字长

  • 零地址指令:只给出操作码OP,没有显地址;如空操作指令,停机指令,关中断指令;用在堆栈计算机中
  • 一地址指令:只有目的操作数的单操作数指令,按A1地址读取操作数,进行OP操作后,结果返回源地址;
  • 二地址指令:(A1)OP(A2)——》A1    
  • 三地址指令:(A1)OP(A2)——》A3
  • 四地址指令:(A1)OP(A2)——》A3,A4=下一条将要执行指令的地址

指令寻址方式

  寻址方式是指寻找指令或操作有效地址的方式,也就是指确定本条指令的数据地址,以及下一条将要执行的指令的方法。

1.指令寻址

  • 顺序寻址可通过程序计数器PC加1(指令字长),自动形成下一条指令的地址
  • 跳跃寻址通过转移类指令实现,跳跃是指下条指令的地址码不是有程序计数器给出,而是由本条指令给出下条指令地址的计算方式。

2.数据寻址

                                                                    操作码      寻址特征         形式地址A

1)隐含寻址

    不明显的给出操作数的地址,在指令中隐含着操作数的地址。如单地址的指令格式,在累加器ACC作为第二操作数地址。优点是有利于缩短指令字长,缺点是需增加存储操作数或隐含地址的硬件。

2)立即(数)寻址

     指令的地址字段指出的不是操作数的地址,而是操作数本身,又称为立即数。优点是指令在执行阶段不访问主存,指令执行时间短,缺点:A的位数限制了立即数的范围

3)直接寻址

   指令中的形式地址A就是操作数的真实地址EA;优点:简单,缺点:A的位数决定了该指令操作数的寻址范围。

4)间接寻址

   指令中的形式地址A不是操作数的真实地址,而是操作数有效地址所在的存储单元的地址。地址的地址。

   优点:可扩大寻址范围,缺点:指令在执行阶段要多次访问

5)寄存器寻址

   在指令字中直接给出操作数所在的寄存器编号

优点:在指令执行期间不访问主存,只访问寄存器;缺点:价格贵

6)寄存器间接寻址

   间接寻址是在寄存器R中给出的不是一个操作数,而是操作数所在主存单元的地址,特点是比间接寻址速度快,但是需要访问主存。

7)相对寻址

   相对地址是把程序计数器PC的内容加上指令格式中的形式地址A而形成操作数的有效地址;优点是操作数的地址不是固定的,随PC的变化而变化。

8)基址寻址

   指CPU中基址寄存器(BR) 的内容加上指令格式中的形式地址A,形成操作数的有效地址,基址寄存器的内容不变,形式地址可变,面向系统。优点:扩大寻址范围,有利于多道程序设计;偏移量(形式地址A)的位数较短。

9)变址寻址

   有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和,(ix)+A,面向用户,变址寄存器的内容可由用户改变,形式地址A不变;优点是可扩大寻址范围(变址寄存器的位数大于A)

10)堆栈寻址

 堆栈是存储器中一块特定的按后进先出(LIFO)原则管理的存储区,该存储区中被读写单元的地址是用一个特定的寄存器给出的,该寄存器称为堆栈指针(SP)

 


CISC和RISC的基本概念

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

1.复杂指令系统计算机CISC

 特点:

  • 指令系统复杂庞大,指令数目一般为200条以上
  • 指令的长度不固定,指令格式多,寻址方式多
  • 可以访存的指令不受限制
  • 各种指令使用频度相差很大
  • 各种指令执行时间相差很大,大多数指令需多个时钟周期才能完成。
  • 控制器大多数采用微程序控制
  • 难以用优化编译生成高效的目标代码程序

2.精简指令系统计算机RISC

  • 选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现
  • 指令长度固定,指令格式种类少,寻址方式种类少
  • 只有Load/Store(取数/存数)指令访存,其余指令的操作都在寄存器之间进行
  • CPU中通用寄存器数量多
  • RISC一定采用指令流水线技术,大部分指令在一个时钟周期内完成
  • 以硬布线控制为主,不用或少用微程序控制
  • 特别重视编译优化工作,以减少程序执行时间

3.比较

  • RISC更能充分的利用VLSI芯片的面积,CISC的控制器大多采用微程序控制,其控制存储器在CPU芯片内所占的面积为50%以上而RISC控制器采用组合逻辑控制,其硬布线逻辑只占CPU芯片面积的10%左右。
  • RISC更能提高运算速度,RISC的指令数,寻址方式和指令格式种类少,又设有多个通用寄存器,采用流水线技术,所以运算速度更快,大多数指令在一个时钟周期内完成
  • RISC便于设计,可降低成本,提高可靠性。RISC指令系统简单,机器周期短,逻辑简单,可靠性高
  • RISC有利于编译程序代码优化。RISC指令类型少,寻址方式多,使编译程序容易选择更有效地指令和寻址方式,并适当的调整指令顺序,使得代码执行更高效化。

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(计算机组成原理复习4(指令系统))