全国计算机等级考试 四级|2017年全国计算机等级考试四级复习纲要:考试要点2

副标题:2017年全国计算机等级考试四级复习纲要:考试要点2

时间:2023-08-08 16:35:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


二、指令系统

(一) 指令集体系结构的分类

1.分类的依据

从体系结构的观点对指令集进行分类,可以根据下述五种尺度:(1)操作数在CPU中的存储方式,即操作数从主存中取来后要把它保存在什么地方。

(2)显式操作数的数量,即在条典型的指令中有多少个显式命名的操作数。

(3)操作数的位置,即任一个ALU指令的操作数能否放在主存中,或者必须把某些操作甚至全部操作数都放在CPU的内部存储器中?如果某操作数要放在主存中,那么它是如何定位的?

(4)指令的操作,即在指令集中提供哪些操作?

(5)操作数的类型与大小,即每个操作数是什么类型、尺寸大小,以及怎样对它规定。

2.按暂存机制分类

根据在CPU内部存储操作数的区别,可以把指令集体系分为三类。这三类分别为:堆栈(stack)、累加器(accumulator)和寄存器集(a set of registers)。

3.通用寄存器机的分类

通用寄存器机(general-purpose register machines)简称GPR机。GPR的关键性优点起因于编译程序能有效地使用寄存器,无论是计算机表达式的值,还是从全局的角度使用寄存器来保存变量的值。在表达式求解时,寄存器比堆栈或者累加器能提供更加灵活的次序。更重要的是寄存器能用来保存变量。当变量分配给寄存器时,访存流量(memory traffic)就会减少,程序运行就会加速,而且代码密度也会得到改善。可以用指令集的两个主要特征来区分GPR体系结构。这两个特征都是关于ALU指令即典型的算术逻辑指令中操作数的本质。第一个是ALU指令有两个或三个操作数。在三操作数格式中,指令包括两个源操作数物一个目的操作数。在二操作数格式中,有一个操作数既是源操作数又是目的操作数。第二个是ALU指令中有几个操作数是存储器地址,对典型的ALU指令,这个数可能在1与3之间。


(二) 指令格式及其优化

1.指令格式的设计考虑对于指令格式(instruction format)的设计有一些优先考虑的原则:

(1)关于指令的长度,短指令要比长指令更节约些。尽管存储器的价格越来越便宜,但设计者还是不愿意浪费它们。

(2)还要考虑是否有足够的空间表示所有期望的操作。来源:www.examda.com

(3)在GPR结构中,无论是哪种寄存器与存储器类型,提高存取指令的速度都是应该考虑的一个重要原则。存储器的存取速度越高,就能给处理机提供更多的指令进行处理。在一定的存取速率下,如果平均指令长度较短,那么存储器就能供应更多的指令。

(4)机器字长(word length)应该是字符长度(character length)的整数倍。否则,在存储字符时就会造成浪费,而且也会造成寻址困难。

(5)寻址字段长度的选择。假设存储空间是2 19 位,如果存取单位的大小不同,则地址长度也不相同。

2.指令格式化

指令格式的优化既包括指令码的优化,也包括操作数的优化。所谓指令格式的优化就是从整个指令系统的利用率角度出发,尽量设法减少指令中的冗余信息量,以便用最少的位数提供足够的操作信息和地址信息。

3.哈夫曼编码

哈夫曼编码的基本概念是:对发生概率高的事件用短码表示,对发生概率低的事件用长码表示,这样做的结果可以使平均编码长度明显压缩,使之很接近理论编码长度。要对指令码进行优化表示,就必须知道每条指令在程度中出现的概率,即指令的使用频度,一般都是通过对大量已有的典型程序进行统计而求得。获得使用频度后,即可根据这些数据构造一个哈夫曼树。具体算法是:把各指令按使用频度从小到大排序;从中取出最小与次最小的两个指令作为叶结点构成二叉树,其根为两结点频度之和,并把比值插入到频度序列中;递归地使用此法继续构造二叉树,直到全部指令都作为叶结点使用完为止。有了哈夫曼树(它是一个二叉树),即可用它进行编码。具体做法是:从根结点开始,把树的左子树线段标为1,右子树线段标为0,直至叶结点。然后从每个指令所在的叶结点位置开始,沿最短路径到达各个叶结点并依次写下沿线的0、1序列。就得到该指令的哈夫曼编码。(三) 指令集的复杂化

2017年全国计算机等级考试四级复习纲要:考试要点2.doc

本文来源:https://www.wddqw.com/bhrn.html