本科系统结构课件 chapter2-3_第1页
本科系统结构课件 chapter2-3_第2页
本科系统结构课件 chapter2-3_第3页
本科系统结构课件 chapter2-3_第4页
本科系统结构课件 chapter2-3_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

§3指令系统的设计和优化

指令系统是从程序设计者看到的机器的主要属性,是软、硬件的主要界面指令系统是计算机系统结构的主要组成部分指令系统是软件与硬件分界面的一个主要标志指令系统是软件与硬件之间互相沟通的桥梁指令系统与软件之间的语义差距越来越大指令系统的设计主要包括指令的功能(操作类型、具体操作内容)和指令格式的设计.内容指令系统设计的基本原则指令操作码的优化指令字格式的优化

指令设计的步骤根据应用,初拟出指令的分类和具体的指令;试编出用该指令系统设计的各种高级语言的编译程序;对各种算法用哪些大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否都比较高;将程序中高频出现的指令串复合改成一条强功能新指令,即改用硬件方式实现;而将频度很低的指令的操作改成基本的指令组成的指令串来完成,即用软件方式实现;指令类型非特权型:主要供应应用程序员使用,也可供系统程序员使用,包括算术逻辑运算、数据传送、浮点运算、字符串、十进制运算、控制转移及系统控制等;特权型:系统程序员使用,用户无权使用,有启动I/O(多用户环境下)、停机等待、存储管理保护、控制系统状态、诊断等;指令系统的设计设计的原则:如何支持编译系统能高效、简易地将源程序翻译成目标代码。规整性对称性独立性和全能性正交性可组合性可扩充性系统设计人员希望指令码密度适中高密度指令:强功能符合指令优点:减少程序长度、访存次数、Cache、虚存访问调度次数、程序运行时间;缺点:指令系统复杂,硬件实现困难;兼容性适应性指令系统的设计包含的内容指令的格式指令的类型操作功能操作数的访问方式---寻址方式指令的组成一般的指令主要由两部分组成:操作码和地址码操作码主要包括两部分内容:操作种类:加、减、乘、除、数据传送、移位、转移、输入输出操作数描述数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量进位制:2进制、10进制、16进制数据字长:字、半字、双字、字节地址码通常包括三部分内容:地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号地址的附加信息:偏移量、块长度、跳距寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址指令设计要考虑的问题操作数的存储形式存储器CPU内什么地方每条指令中显式说明的操作数个数操作数的位置操作类型操作数的类型和长短指令格式的优化

指令=操作码+地址码指令格式的优化:如何用最短的位数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短。主要目标:节省程序的存储空间指令格式尽量规整,便于译码操作码的优化表示

操作码的三种编码方法:固定长度:规整性好,解码简单,空间大。Huffman编码:空间小,规整性不好,解码复杂。扩展编码:折衷方案。固定长度4Huffman编码2.12扩展编码3.12信息源熵2.09改进操作码编码方式能够节省程序存储空间例如:Burroughs公司的B-1700机操作码编码方式整个操作系统所用指令的操作码总位数改进的百分比8位定长编码4-6-10扩展编码Huffman编码301,248184,966172,346039%43%哈夫曼(Huffman)压缩当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到平均位数减少的目的。用于代码压缩、程序压缩、空间压缩和时间压缩

操作码的优化表示

信息源熵:信息源包含的平均信息量。

信息冗余量:

举例

七条指令,频度如下

I1I2I3I4I5I6I70.40.30.150.050.040.030.03

信息源熵H=2.17

信息冗余量=0.28=28%1.000.600.300.150.060.030.030.040.050.150.300.400.0911111100000(11111)(11110)(11101)(11100)(110)(10)(0)I7I6I1I2I3I4I50扩展编码

Huffman操作码的主要缺点:操作码长度很不规整,硬件译码困难与地址码共同组成固定长的指令比较困难扩展编码法:由固定长操作码与Huffman编码法相结合形成减少平均长度方便译码上例:Huffman用四种长度

0,10,110,11100,11101,11110,11111I1、I2、I3用两位:00、01、10I4、I5、I6、I7用四位:

1100、1101、1110、1111

平均码长=2.30

信息冗余量=0.0565=5.65%Huffman编码方法

写出每个事件出现频度找出两个时间出现频度最低的数字,相加形成新的频度重复(2),直到出现频度为1,建立Huffman树确定Huffman代码表

说明目的:平均码长减少。Huffma代码不唯一0,1对换合并次序

假设一台模型计算机共有7种不同的操作码,如果采用固定长操作码需要3位。已知各种操作码在程序中出现的概率如下表,计算采用Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量。

利用Huffman树进行操作码编码的方法,又称为最小概率合并法。指令I1概率0.45I20.30I30.15I40.05I50.03I60.01I70.01举例1把所有指令按照操作码在程序中出现的概率,自左向右从排列好。选取两个概率最小的结点合并成一个概率值是二者之和的新结点,并把这个新结点与其它还没有合并的结点一起形成新结点集合。在新结点集合中选取两个概率最小的结点进行合并,如此继续进行下去,直至全部结点合并完毕。最后得到的根结点的概率值为1。每个结点都有两个分支,分别用一位代码“0”

和“1”表示。从根结点开始,沿尖头所指方向,到达属于该指令的概率结点,把沿线所经过的代码组合起来得到这条指令的操作码编码。解:采用Huffman编码法所得到的操作码的平均长度

=0.45×1+0.30×2+0.15×3+0.05×4

+0.03×5+0.01×6+0.01×6=1.97(位)熵H=0.45×1.152+0.30×1.737+0.15×2.737

+0.05×4.322+0.03×5.059+0.01×6.644

+0.01×6.644=1.95(位)0.450.300.150.050.030.010.011.000.550.250.100.050.02010101010101指令序号概率Huffman编码法操作码长度I10.4501位I20.30102位I30.151103位I40.0511104位I50.03111105位I60.011111106位I70.0111111116位采用3位固定长操作码的信息冗余量为: 例如:把上例改为1-2-3-5扩展编码法,其操作码最短平均长度为:

H = 0.45×1+0.30×2+0.15×3+

(0.05+0.03+0.01+0.01)×5

= 2.00

信息冗余量为:

又例如:把上例改为2-4等长扩展编码法,其操作码最短平均长度为:

H = (0.45+0.30+0.15)×2+

(0.05+0.03+0.01+0.01)×4

= 2.20

信息冗余量为:序号概率1-2-3-5扩展编码I10.450I20.3010I30.15110I40.0511100I50.0311101I60.0111110I70.01111112-4等长扩展编码0001101100110111101111平均长度2.02.2信息冗余量2.5%11.4%7条指令的操作码扩展编码法

举例2:二~十进制代码压缩

2位二~十进制代码可表示0~99abcdefgh00000000000100010010001000110011010001000101010101100110011101111000100010011001写出概率表ae=00,g=0.8*0.8=0.64ae=01,g=0.2*0.8=0.16ae=10,g=0.8*0.2=0.16ae=11,g=0.2*0.2=0.04画出Huffman代码树,写出代码表ae状态概率Huffman代码000.640100.1611010.16100110.04101写出压缩代码表ae=000bcdfghae=10b=c=011xdfghae=01f=g=0100dbchae=11b=c=f=g=0101dxxh15/15/15与8/64/512编码

0000

:15种111011110000

::15种11111110111111110000

:::15种111111111110111111110111100010000001100010000000111101111000000110000000011100010000………………………………864512指令字格式的优化

为了不降低访存取指令的速度,按整数边界存储。操作数地址的位数从寻址范围看:越大越好用各种方法,压缩操作码的位数通过采用多种不同的寻址方式、地址制、地址形式和地址码长度以及多种指令字长,将它们与可变长操作码的优化表示相结合,可构成冗余度尽可能少的指令字。等长地址码发挥不出操作码优化表示的作用limax地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论