指令系统的设计和优化.ppt
《指令系统的设计和优化.ppt》由会员分享,可在线阅读,更多相关《指令系统的设计和优化.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、指令系统的设计和优化 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望内容n指令系统设计的基本原则n指令操作码的优化n指令字格式的优化 指令设计的步骤n根据应用,初拟出指令的分类和具体的指令;n试编出用该指令系统设计的各种高级语言的编译程序;n对各种算法白那些大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否都比较高;n将程序中高频出现的指令串复合改成一条强攻能新指令,即改用硬件方式实现;而将频度很低的指令的操作改成基本的指令组成的指令串来完成,即用软件
2、方式实现;指令类型n非特权型:主要供应应用程序员使用,也可供系统程序员使用,包括算术逻辑运算、数据传送、浮点运算、字符串、十进制运算、控制转移及系统控制等;n特权型:系统程序员使用,用户无权使用,有启动I/O(多用户环境下)、停机等待、存储管理保护、控制系统状态、诊断等;指令系统的设计n设计的原则:如何支持编译系统能高效、简易地将源程序翻译成目标代码。n规整性n对称性n独立性和全能性n正交性n可组合性n可扩充性系统设计人员希望n指令码密度适中n高密度指令:强功能符合指令n优点:减少程序长度、访存次数、Cache、虚存访问调度次数、程序运行时间;n缺点:指令系统复杂,硬件实现困难;n兼容性n适应
3、性指令系统的设计包含的内容n指令的格式n指令的类型n操作功能n操作数的访问方式-寻址方式指令的组成n一般的指令主要由两部分组成:操作码和地址码n操作码主要包括两部分内容:n操作种类:加、减、乘、除、数据传送、移位、转移、输入输出n操作数描述n数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量n进位制:2进制、10进制、16进制n数据字长:字、半字、双字、字节n地址码通常包括三部分内容:n地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号n地址的附加信息:偏移量、块长度、跳距n寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址指令设计要考虑的问题n操作数
4、的存储形式n存储器nCPU内什么地方n每条指令中显式说明的操作数个数n操作数的位置n操作类型n操作数的类型和长短指令的分类指令格式的优化 n指令=操作码+地址码n指令格式的优化:如何用最短的位数来表示 指令的操作信息和地址信息,使程序中指 令的平均字长最短。n主要目标:n节省程序的存储空间n指令格式尽量规整,便于译码操作码的优化表示n 操作码的三种编码方法:n固定长度:规整性好,解码简单,空间大。nIBM公司的大中型机:最左边8位为操作码nIntel公司的Intanium处理机:14位定长操作码n许多RISC处理机采用定长操作码nHuffman编码:空间小,规整性不好,解码复杂。n扩展编码:折
5、衷方案。固定长度4Huffman编码2.12扩展编码3.12信息源熵2.09n改进操作码编码方式能够节省程序存储空间n例如:Burroughs公司的B-1700机操作码编码方式整个操作系统所用指令的操作码总位数改进的百分比8位定长编码4-6-10扩展编码Huffman编码301,248184,966172,34603943哈夫曼(Huffman)压缩n当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到平均位数减少的目的。n用于代码压缩、程序压缩、空间压缩和时间压缩 操作码的优化表示
6、n信息源熵:信息源包含的平均信息量。n信息冗余量:举例 n七条指令,频度如下 I1 I2 I3 I4 I5 I6 I70.4 0.3 0.15 0.05 0.04 0.03 0.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扩展编码 nHuffman操作码的主要缺点:n操作码长度很不规整,硬件译码困难n与地址码共同组成固定长的指令比较困难n扩展编码法:
7、由固定长操作码与Huffman编码法相结合形成n减少平均长度n方便译码n上例:Huffman用四种长度 0,10,110,11100,11101,11110,11111 I1、I2、I3用两位:00、01、10 I4、I5、I6、I7用四位:1100、1101、1110、1111 平均码长=2.30 信息冗余量=0.0565=5.65%Huffman编码方法 n写出每个事件出现频度n找出两个时间出现频度最低的数字,相加形成新的频度n重复(2),直到出现频度为1,建立Huffman树n确定Huffman代码表 说明 n目的:平均码长减少。nHuffma代码不唯一n0,1对换n合并次序 n 假设一
8、台模型计算机共有7种不同的操作码,如果采用固定长操作码需要3位。已知各种操作码在程序中出现的概率如下表,计算采用Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量。利用Huffman树进行操作码编码的方法,又称为最小概率合并法。指令I1概率 0.45I20.30I30.15I40.05I50.03I60.01I70.01举例1n把所有指令按照操作码在程序中出现的概率,自左向右从排列好。n选取两个概率最小的结点合并成一个概率值是二者之和的新结点,并把这个新结点与其它还没有合并的结点一起形成新结点集合。n在新结点集合中选取两个概率最小的结点进行合并,如此继续
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 设计 优化
限制150内