第二章 指令系统

2.3 指令格式的优化设计

  由于指令系统是程序设计人员所能看到的计算机的主要属性,它在很大程度上决定了整个计算机系统所具有的基本功能。设计一套好的指令格式,不仅程序设计人员使用起来很方便,硬件实现起来比较容易,而且能够节省大量的程序存储空间。下面,举一个例子来说明。
  表2.4列出了美国Burroughs公司生产的B-1700计算机系统,分别采用8位定长操作码、4-6-10扩展操作码和全Huffman编码时,整个操作系统所用指令的操作码的总长度。从表中可以看出,改进操作码的编码方式可以节省大量的程序存储空间。

表2.4 B-1700计算机操作码编码方式比较

操作码编码方式
整个操作系统所用指令的操作码总位数
改进的百分比
8位定长编码
301,248
0
4-6-10扩展编码
184,966
39%
Huffman编码
172,346
43%

  另外,改进地址码的设计方法,也可以节省大量的程序存储空间。
  指令格式优化设计的主要目标有两个,一是节省程序的存储空间,二是指令格式要尽量规整,以减少硬件译码的复杂程度。另外,指令格式优化后,不应该降低指令的执行速度(例如,由于一条指令在主存储器中存放时,跨越了多个存储字,从而在读取指令时增加了访问存储器的次数)。
  以下,主要介绍操作码和地址码的优化设计方法,最后,举例说明整个指令格式的优化设计方法。