指令系统和寻址方式是计算机系统的主要组成部分。本章主要讲述了指令系统和寻址方式的一般概念,即通用计算机系统中指令系统和寻址方式,通过本章的学习,希望大家弄清楚以下几个问题:
  1.寻址方式
  按照数据或有效地址的来源划分,在一般计算机系统中采用的寻址类型有:立即数寻址、寄存器寻址、主存储器寻址和堆栈寻址等。
  在学习本节时,要了解上述几类寻址方式的原理和特点,而本节的重点是主存储器寻址,分别总结如下:
  立即数寻址方式在指令的地址码部分直接给出执行本条指令所需要的源操作数,它的主要优点是:节省了数据存储单元,指令的执行速度快;主要缺点是:只能用于源操作数的寻址,数据的长度不能太长,大量使用立即数寻址方式会使程序的通用性下降。
  在寄存器寻址方式中,指令执行过程中所需要的操作数来源于寄存器,运算结果也写回到寄存器中。寄存器寻址方式的主要优点有:指令字长短,指令执行速度快,支持向量、矩阵运算;它的主要缺点有:不利于优化编译,现场切换困难,硬件实现复杂等。
  主存储器寻址是使用最广泛的一类寻址方式,其种类也最为复杂,也是本节的重点。主存储器寻址的基本类型有直接寻址方式、间接寻址方式和变址寻址等三种。其中,直接寻址方式是在指令的地址码部分直接给出有效地址;间接寻址方式与变址寻址方式的目标都是为了解决操作数地址的修改问题。它们都能做到,在程序设计过程中能够对操作数的地址进行修改,而不必去修改程序中的指令本身。这两种寻址方式的特点是:间接寻址方式实现起来很容易;变址寻址方式的执行速度快;变址寻址方式对数组运算的支持比较好。
  另外,变址寻址方式和间接寻址方式还有以下几种特殊的寻址方式:多重间接寻址方式,相对寻址方式,基址寻址方式,自动变址方式,前变址寻址方式与后变址寻址方式等
堆栈寻址方式的地址是隐含的,在指令中不必给出操作数的地址,因此,指令的长度很短。
  2.指令格式的优化表示
  在一般通用计算机系统种,指令主要由两部分组成:操作码和地址码。本节主要讲述操作码和地址码的编码方法。
  操作码的编码方法通常有三种:固定长度操作码、哈夫曼编码方法和扩展编码方法。在扩展编码法中,又有等长扩展编码和不等长扩展编码,有只保留一个扩展码点和保留多个扩展码点等多种扩展方法。
  缩短地址码长度的主要方法有:用主存间接寻址方式缩短地址码长度,用变址寻址方式缩短地址码长度,用寄存器间接寻址方式缩短地址码长度等方法。他们的共同之处是用比较短的地址码表示一个很大的逻辑地址空间。
  本节要求能够熟练掌握操作码的等长编码、哈夫曼编码和扩展编码的编码方法,会计算这几种编码方式的平均码长和信息冗余量,能够根据实际要求,设计简单计算机的操作码和指令格式。
  3.指令功能的优化表示
  在一般通用计算机种,基本指令种类有:数据传送类指令、运算类指令、程序控制类指令、输入输出指令、处理机控制和调试指令。而且,每类指令要有一定的比例,指令的功能要合理,要符合完整性、规整性、高效率和兼容性等方面的要求。
  指令系统的优化表示有两个截然相反的方向:
  (1)复杂指令系统计算机CISC,其基本思想是增强指令的功能,设置一些功能复杂的指令和寻址方式,把一些原来由软件实现的,常用的功能改用硬件的指令系统来实现。
  (2)精简指令系统计算机RISC,其基本思想是尽量简化指令的功能,简化寻址方式,只保留那些功能简单,能在一个机器周期内执行完成指令,较复杂的功能用子程序来实现。
  优化指令系统的方法主要有:面向目标程序优化指令系统,面向高级语言和编译程序优化指令系统,面向操作系统优化指令系统等。
  4.RISC指令系统
  RISC是80年代提出的一种计算机系统的设计思想。提出RISC思想的原因主要有:
  (1)20%与80%定律,在CISC中只有20%的指令使用频度比较大,占据了80%以上的处理机时间;
  (2)RISC思想正好适应了VLSI工艺要求,VLSI要求处理机结构规整,控制逻辑简单;
  (3)软硬件的功能分配问题,CISC中的许多复杂指令不仅增加了硬件的复杂程度,而且使指令的执行周期大大加长。
  RISC思想的精华是:由于精简了指令系统和寻址方式,其指令的平均执行周期数CPI减小了。
  RISC的主要特点有:简单而对称指令格式,大部分指令单周期执行完成,采用LOAD/STORE结构,简单的寻址方式,采用流水线技术,采用延迟转移技术或指令取消技术,有较多的寄存器等。
  在RISC中采用的关键技术有:指令取消技术,指令延迟技术,寄存器窗口技术,指令流调整技术,以硬件为主固件为辅,十分强调优化编译技术等。