计算机组织与结构第二章第三讲short.ppt
《计算机组织与结构第二章第三讲short.ppt》由会员分享,可在线阅读,更多相关《计算机组织与结构第二章第三讲short.ppt(65页珍藏版)》请在冰豆网上搜索。
![计算机组织与结构第二章第三讲short.ppt](https://file1.bdocx.com/fileroot1/2022-10/9/245dc865-ad20-4589-a557-299cde496a9e/245dc865-ad20-4589-a557-299cde496a9e1.gif)
计算机组织与结构计算机组织与结构第二章第二章指令系统指令系统1计算机组织与结构计算机组织与结构第二章第二章指令系统指令系统第二章第二章指令系统指令系统2.12.1指令格式指令格式2.22.2寻址方式寻址方式2.32.3指令系统的功能与种类指令系统的功能与种类2.42.4精简指令系统精简指令系统RISCRISC2.52.5指令系统的优化与发展指令系统的优化与发展2.62.6指令的执行过程与控制指令的执行过程与控制2.72.7微程序控制器微程序控制器2.82.8中断系统中断系统2第二章第三讲学第二章第三讲学习目标习目标l指令格式的优化l指令种类的优化l指令的执行过程与控制32.5.12.5.1指令系统的优化设计指令系统的优化设计主要目标:
节省程序的存储空间主要目标:
节省程序的存储空间指令格式尽量规整,便于译码指令格式尽量规整,便于译码一、指令的组成一、指令的组成二、指令格式的优化二、指令格式的优化三、指令种类的优化三、指令种类的优化计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展4一、指令的组成计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展5二、二、指令格式的优化指令格式的优化操作码的三种编码方法:
操作码的三种编码方法:
定长(等长)编码、定长(等长)编码、HuffmanHuffman编码、扩展编码编码、扩展编码优化操作码编码的目的:
优化操作码编码的目的:
节省程序存储空间节省程序存储空间计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展61.1.定长编码定长编码所有指令的操作码长度都是相等的。
所有指令的操作码长度都是相等的。
如果需要编码的操作码有如果需要编码的操作码有n个,那么,定长操作个,那么,定长操作码的位数最少需要码的位数最少需要log2n位。
位。
许多许多RISC处理机采用定长操作码处理机采用定长操作码主要优点:
规整、译码简单主要优点:
规整、译码简单主要缺点:
浪费信息量(操作码的总长位数增主要缺点:
浪费信息量(操作码的总长位数增加)加)计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展7l必须知道每种操作码在程序中出现的概率操作码的操作码平均长度操作码平均长度可通过如下公式计算:
计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展822、HuffmanHuffman编码编码基本思想基本思想对出现频度对出现频度较高较高的信息单元用的信息单元用较短较短的编码表示,的编码表示,而对频率而对频率较低较低的信息单元用的信息单元用较长较长的编码表示。
的编码表示。
能达到能达到最短最短的编码长度,但编码不规则,译码困的编码长度,但编码不规则,译码困难难计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展特点特点922、HuffmanHuffman编码编码使用哈夫曼算法构造哈夫曼树来进行编码。
构造哈夫曼树的方法:
每次从结点集中选择出2个使用概率最小的结点,将其合并成概率为这两个概率之和的父结点,若结点集不为空集,就将生成的新结点放到结点集中,继续从这个新的结点集中选择出2个概率最小的结点生成其父结点。
对每个结点的两个分支分别用“0”和“1”标识,从根结点到一个叶结点的路径(由0和1组成的序列)就是这个叶结点的哈夫曼编码。
计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展10例例1:
假设一台模型计算机共有7种不同的操作码,如果采用固定长操作码需要3位。
已知各种操作码在程序中出现的概率如下表,计算采用Huffman编码法的操作码平均长度。
计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展11利用利用HuffmanHuffman树进行操作码编码树进行操作码编码12利用利用HuffmanHuffman树进行操作码编码树进行操作码编码13利用利用HuffmanHuffman树进行操作码编码树进行操作码编码14利用利用HuffmanHuffman树进行操作码编码树进行操作码编码15利用利用HuffmanHuffman树进行操作码编码树进行操作码编码16利用利用HuffmanHuffman树进行操作码编码树进行操作码编码17利用利用HuffmanHuffman树进行操作码编码树进行操作码编码18HuffmanHuffman操作码编码操作码编码19解:
采用解:
采用HuffmanHuffman编码法的操作码平均长度为:
编码法的操作码平均长度为:
0.4510.3020.1530.0540.0350.0160.0161.97(位)利用利用HuffmanHuffman树进行操作码编码树进行操作码编码203.3.扩展编码法扩展编码法HuffmanHuffman操作码的主要缺点:
操作码的主要缺点:
操作码长度很不规整,硬件译码困难操作码长度很不规整,硬件译码困难与地址码共同组成固定长的指令比较困难与地址码共同组成固定长的指令比较困难扩展编码法:
由固定长操作码与扩展编码法:
由固定长操作码与HuffmanHuffman编码法相编码法相结合形成结合形成计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展二、二、操作码的优化表示操作码的优化表示21基本思想基本思想将操作码的编码长度分成几种固定长的格式;频度高的码点用短码表示,频度较低的码点用长码表示。
被大多数指令集采用被大多数指令集采用3.3.扩展编码法扩展编码法计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展22种类种类/表示方法表示方法码长码长表示法:
用短横线前后的数字分别表示短码码长和长码码长如,2-4-6表示编码有3种码长,分别是2位、4位和6位。
码点数码点数表示法:
用斜线前后的数字分别表示短码码点个数和长码码点个数如,3/6/4表示有3种码长,最短码长的码点个数是3,最长码长的码点个数是4,码点总数是13。
3.3.扩展编码法扩展编码法计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展23例例2:
将例1改为1-2-3-5扩展编码法,操作码平均长度为:
H0.4510.3020.153(0.050.030.010.01)52.00将例1改为2-4等长扩展编码法,操作码平均长度为:
H(0.450.300.15)2(0.050.030.010.01)42.20计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展3.3.扩展编码法扩展编码法24计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展77条指令的操作码扩展编码法条指令的操作码扩展编码法25计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展26计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展27计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展例3,一个处理机有I1I10共10条指令,经统计,各指令在程序中的使用频度分别为:
p1=0.25,p2=0.20,p3=0.15,p4=0.10,p5=0.08,p6=0.08,p7=0.05,p8=0.04,p9=0.03,p10=0.02。
(1)写出这10条指令的操作码的哈夫曼编码,并计算编码的平均码长;
(2)采用3/7扩展编码和2/8扩展编码编写这10条指令的操作码,并分别计算平均码长。
28计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展哈夫曼树a29计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展哈夫曼树b30计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展哈夫曼编码31计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展计算计算2种哈夫曼编码的平均码长分别为种哈夫曼编码的平均码长分别为32计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展3/7扩展编码和扩展编码和2/8扩展编码如表所示扩展编码如表所示33计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展2种扩展编码的平均码长分别为种扩展编码的平均码长分别为34计算机组织与结构计算机组织与结构2.52.5指令系统的优化与发展指令系统的优化与发展三、指令种类的优化三、指令种类的优化指指令令种种类类优优化化的的主主导导思思想想是是增增加加一一些些有有效效的的指指令令和增强一条指令的功能,从而改进和增强一条指令的功能,从而改进整机的性能。
整机的性能。
指令种类优化的方向主要表现在下面三个方面。
指令种类优化的方向主要表现在下面三个方面。
(1)
(1)增强基本数据处理指令的功能增强基本数据处理指令的功能。
(2)
(2)增强程序控制指令增强程序控制指令。
(3)提供支持高级语言的编译及操作系统的指令提供支持高级语言的编译及操作系统的指令。
35CPUCPU组组成:
成:
成:
成:
运算器运算器运算器运算器、控制器控制器控制器控制器2.6.12.6.1处理器组织和功能处理器组织和功能计算机组织与结构计算机组织与结构2.62.6指令的执行过程与控制指令的执行过程与控制CPUCPU组组成:
成:
成:
成:
运算器运算器运算器运算器、控制器、控制器、控制器、控制器、cachecacheCPUCPU具有如下四方面基本功能:
具有如下四方面基本功能:
具有如下四方面基本功能:
具有如下四方面基本功能:
ll指令控制指令控制指令控制指令控制ll操作控制操作控制操作控制操作控制ll时间控制时间控制时间控制时间控制ll数据加工数据加工数据加工数据加工36372.6.12.6.1处理器组织和功能处理器组织和功能运算器组成:
运算器组成:
ALUALU、累加寄存器、数据缓冲寄存器、累加寄存器、数据缓冲寄存器、状态寄存器状态寄存器计算机组织与结构计算机组织与结构2.62.6指令的执行过程与控制指令的执行过程与控制运算器主要功能:
接受控制器的命令进行运算操作,运算器主要功能:
接受控制器的命令进行运算操作,进行各种进行各种算术逻辑运算算术逻辑运算。
38控制器的主要功能:
控制器的主要功能:
取指令,修改PC对指令进行译码,产生相应的操作控制信号控制指令执行的步骤和数据的流动方向。
2.6.12.6.1处理器组织和功能处理器组织和功能计算机组织与结构计算机组织与结构2.62.6指令的执行过程与控制指令的执行过程与控制控制器组成:
程序计数器、指令寄存器、指令译码控制器组成:
程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器器、时序产生器和操作控制器39指令存放在连续的主存单元中,当未遇到转移或跳步指令时,CPU将按照指令在主存中的存放顺序逐条将其读出并执行。
CPU中的主要寄存器:
指令寄存器(IR)程序计数器(PC)地址寄存器(AR)缓冲寄存器(DR)累加寄存器(AC)状态条件寄存器(PSW)计算机组织与结构计算机组织与结构2.6指令的执行过程与控制指令的执行过程与控制402.6.22.6.2寄存器的组织寄存器的组织CPU中的寄存器分中的寄存器分为两两类用用户可可见寄存器寄存器:
提供提供给机器机器语言或言或汇编语言程序言程序员使用的,目的是使使用的,目的是使程序尽量少地程序尽量少地访问内存。
内存。
如:
累加器、地址寄存器、数据如:
累加器、地址寄存器、数据缓冲寄存器、冲寄存器、标志寄志寄存器存器控制与状控制与状态寄存器寄存器:
提供提供给控制器用来控制器用来对CPU操作操作进行控制,或提供行控制,或提供给给特特权程序(操作系程序