- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统结构第二篇 章 指令系统(P36).ppt
第二章 指令系统(P36);指令系统的设计非常关键,设计指令系统需考虑的问题是:;本章介绍指令系统设计中2个最基本的内容:数据表示,操作码优化。
2.1 数据表示
[数据表示]就是计算机硬件能够直接辨认与处理的数据类型。
人们通常使用的数据类型有整数、实数、逻辑数(布尔数)、字符串、队列、堆栈、链表、文件等,它们的运算方法各不相同。
所谓“硬件能够直接辨认与处理”,指的是对该数据类型的各种运算操作都有相应的实现硬件电路。
[数据结构]是面向系统的软件、应用领域所需处理的各种数据类型,来研究这些数据类型的逻辑和物理结构之间的关系,并给出相应的算法。
硬件不能直接辨认与处理的数据类型就要根据数据结构的知识编制软件转化为硬件能处理的数据类型。
下面介绍通用型计算机数据表示集合中的一个基本成员 ── 浮点数据的分析与设计。;2.1.1 浮点数据表示(P38,P39);2.1.1.1 浮点数的组成
浮点数的组成与人们通常所说的“科学记数法”非常相似,唯一不同的是各部分均为有限位数,如下所示;2.1.1.3 浮点数的性能(P38); 例2.1 对规格化浮点数,尾数为原码,阶码为移 码,写出表数范围。(P40);写在一起就是:;可以代入具体数字来帮助理解:;(2) 表数精度(P42);表数精度常用最大表数误差表示(指相对误差);最大绝对误差是真实值与可表示值之间的最大可能距离。
一般而言,我们认为在规格化尾数最后1位的精确度是1半,也就是相邻两个可表示值间距的1/2,如图2.4所示。根据浮点数的组成式有其定义:;最大相对误差定义为:;(3) 表数效率(P45);定义:;[隐藏位技术]是一种提高表数效率的方法,但仅适用于rm=2的情况:尾数最高位m1在二进制条件下只有0和1两种可能,按照规格化要求, m1可由其它位推出。“隐藏”了m1之后,尾数只存储后面p-1位,它们中的任一位都有rm种取值,所以表数效率η=100%。;(4)浮点数的舍入处理;3. 下舍上入法
舍入规则:以P位之外的G位代码的中间值为界,小于这个中间值的则舍,大于或等于的则入。
优点:精度高,积累误差小,在正数区和负数区的积累误差达到完全平衡。
缺点:实现较困难,主要用于软件实现的浮点运算中。
4. 查表法
继承了3的优点,又克服了它的缺点。
;2.2 寻址技术;2.2.1 编址方式;零地址空间;并行存储器的编址技术;2.2.3 定位方式; 直接定位方式;静态定位方式;动态定位方式;;2.3.2 操作码优化
目前常用的编码方法有3种:定长编码,Huffman编码,扩展编码。
2.3.2.1 定长编码就是所有指令使用相同的代码位数,其最小码长等于;2.3.2.2 Huffman压缩编码(P91);(3) 编码方法性能指标(P91-P93); 平均码长:各事件编码长度的数学期望。;例,p92;形成的操作码编码并不是唯一的,但操作码的平均长度是唯一的;采用Huffman编码法所得到的操作码的平均码长为:;2.3.2.3 扩展编码方法(等长扩展法,P93);用码长表示:例如4-8-12法。这并不能说明具体编码方法,例如下面两种编码方法都是4-8-12法。
用码点数表示:例如15/15/15法,8/64/512法
15/15/15法,每一种码长都有4位可编码位(前头可以有相同的扩展标识前缀),可产生16个码点(即编码组合),但是至多只能使用其中15个来表示事件,留下1个或多个码点组合作为更长代码的扩展标识前缀。已经用来表示事件的码点组合不能再作为其它更长代码的前导部分,否则接收者会混淆。这就是“非前缀原则”。即指的是在4位的16个码点中,用15个表示最常用的15中命令,“XXXX”用1个表示扩展到下一个4位,“1111XXXX”,而第二个4位的16个码点也是如此做法,XXX”。;8/64/512法,每一种码长按4位分段,每一段中至少要留下1位或多位作为扩展标识。各段剩下的可编码位一起编码,所产生的码点用来对应被编码事件。每一段中的标识位指出后面还有没有后续段。即指的是用头4位的“0XXX”表示最常用的8中命令,接着操作码扩展成2个4位,用“1XXX0XXX”的64个码点表示64种指令,而后面扩展成3个4位,用“1XXX1XXX0XXX”的512个码点表示512种命令。;0001;扩展编码法举例;4;例2.3 已知频度序列为0.1,0.1,0.15,0.15,0.2,0.3,求Huffman编码、等长扩展3/3/3码、定长编码三者的平均码长、信息冗余量以及熵。解: 熵H= –(2×0.1×log20.1+2×0.15×log20
文档评论(0)