计算机系统结构第二章第一部分

上传人:博****1 文档编号:505429059 上传时间:2023-01-25 格式:DOC 页数:13 大小:325.50KB
返回 下载 相关 举报
计算机系统结构第二章第一部分_第1页
第1页 / 共13页
计算机系统结构第二章第一部分_第2页
第2页 / 共13页
计算机系统结构第二章第一部分_第3页
第3页 / 共13页
计算机系统结构第二章第一部分_第4页
第4页 / 共13页
计算机系统结构第二章第一部分_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《计算机系统结构第二章第一部分》由会员分享,可在线阅读,更多相关《计算机系统结构第二章第一部分(13页珍藏版)》请在金锄头文库上搜索。

1、.第二章 指令系统 指令系统是计算机系统结构的主要组成部分 指令系统是软件与硬件分界面的一个主要标志 指令系统软件与硬件之间互相沟通的桥梁 指令系统与软件之间的语义差距越来越大21 数据表示22 寻址技术23 指令格式的优化设计24 指令系统的功能设计25 RISC指令系统2.1 数据表示 新的研究成果,如浮点数基值的选择 新的数据表示方法,如自定义数据表示211 数据表示与数据类型212 浮点数的设计方法213 自定义数据表示2.1.1 数据表示与数据类型 数据的类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符 数据表示的定义:数据表示研究的是计算机硬件能够直

2、接识别,可以被指令系统直接调用的那些数据类型。例如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量 确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题 确定数据表示的原则:一是缩短程序的运行时间,二是减少CPU与主存储器之间的通信量,三是这种数据表示的通用性和利用率。例2.1:实现AAB,A和B均为200200的矩阵。分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量: 取指令2440,000条,精品. 读或写数据340,000个, 共要访问主存储器740,000次以上如果有向量数据表示,只需

3、要一条指令 减少访问主存(取指令)次数:440,000次缩短程序执行时间一倍以上 数据表示在不断扩大,如字符串、向量、堆栈、图、表 用软件和硬件相结合的方法实现新的数据表示例如:用字节编址和字节运算指令来支持字符串数据表示 用变址寻址方式来支持向量数据表示2.1.2 浮点数的设计方法1、浮点数的表示方式 一个浮点数N可以用如下方式表示:需要有6个参数来定义。两个数值: m:尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数) e:阶码的值,移码(偏码、增码、译码、余码等)或补码,整数两个基值: rm:尾数的基值,2进制、4进制、8进制、16进制和10进制等 re:阶码的基值,通常为2两个

4、字长: p:尾数长度,当rm16时,每4个二进制位表示一位尾数 q:阶码长度,阶码部分的二进制位数 p和q均不包括符号位 浮点数的存储式 1位 1位 q位 p位mfefem注:mf为尾数的符号位,ef为阶码的符号位,e为阶码的值,m为尾数的值。2、浮点数的表数范围 尾数为原码 尾数用原码、纯小数,阶码用移码、整数时,规格化浮点数N的表数范围: 尾数为补码尾数用补码表示时,正数区间的表数范围与尾数采用原码时完全相同,而负数区间的表数范围为:精品. 浮点数在数轴上的分布情况 上溢 下溢(浮点零) 上溢 -Nmin 负数区 -Nmax 0 Nmin 正数区 Nmax例2.2:设p23,q7,rmre

5、2,尾数用原码、纯小数表示,阶码用移码、整数表示,求规格化浮点数N的表数范围。解:规格化浮点数N的表数范围是:即:例2.3:尾数用补码、纯小数表示,阶码用移码、整数表示,p6,q6,rm16,re2,求规格化浮点数N的表数范围。解: 规格化浮点数N在正数区间的表数范围是: 在负数区间的表数范围是:3、浮点数的表数精度(误差) 产生误差的根本原因是浮点数的不连续性 误差产生的直接原因有两个: 一是两个浮点数都在浮点集内,而运算结果却可能不在这个浮点集内, 二是数据从十进制转化为2、4、8、16进制,产生误差。 规格化尾数的表数精度为:最后1个有效位的可信度为一半,当rm2时,有:4、浮点数的表数

6、效率 浮点数是一种冗余数制(Redundat Number System) 浮点数的表数效率定义为: 简化表示:精品. 当尾数基值为2时,浮点数的表数效率为: 浮点数的表数效率随rm增大 当尾数基值rm16时,浮点数的表数效率为: 尾数基值rm16与rm2相比,浮点数的表数效率提高了:4、浮点数尾数基值的选择 在表示浮点数的6个参数中,只有尾数基值rm、尾数长度p和阶码长度q与表数范围、表数精度和表数效率有关 在字长确定的情况下,如何选择尾数基值rm,使表数范围最大、表数精度和表数效率最高;假设有两种表示方式F1和F2,它们二进制字长相同,尾数都用原码或补码、小数表示,阶码都用移码、整数表示,

7、阶码的基均为2,尾数的基不同。浮点数表示方式F1:尾数基值rm12,尾数长度p1,阶码长度q1, 二进制字长:L1p1q12。浮点数表示方式F2:尾数基值rm22k,尾数长度p2,阶码长度q2, 二进制字长:L2k p2q22。由F1与F2的二进制字长相同,即L1L2,得:p1q1k p2q2(2.1) 字长和表数范围确定时,尾数基值rm与表数精度的关系F1的表数范围是:,F2的表数范围是:,F1与F2的表数范围相同,得到:两边取以2为底的对数,得到:q1q2log2 k(2.2)把(2.2)式代入(2.1)式,得到:p1k p2log2 k(2.3)F1的表数精度是:(2.4)把(2.3)代

8、入(2.4)得到:F2的表数精度是:取F2与F1表数精度的比值:(2.5)只有k1(尾数基值rm2)或k2(尾数基值rm4)时,比值T1。结论1:在字长和表数范围一定时,尾数基值rm取2或4,浮点数具有最高的表数精度。精品. 字长和表数精度一定,尾数基值rm与表数范围的关系由F1与F2的表数精度相同得到:即:p1kp2k1(2.6)把(2.6)代入(2.1)得到:q1q2k1(2.7)F1的表数范围:F2的表数范围:假设表数范围F2大于F1,则阶码的最大值F2大于F1:这个不等式在正整数定义域内没有解,即不存在比F1的表数范围更大的浮点数表示方式只有k1(尾数基值rm2)或k2(尾数基值rm4

9、)时,F2阶码的最大值等于F1阶码的最大值。结论2:在字长和表数精度一定时,尾数基值rm取2或4,浮点数具有最大的表数范围。推论1:在字长确定之后,尾数基值rm取2或4,浮点数具有最大的表数范围和最高的表数精度。例2.4:IBM 370系列计算机的短浮点数表示方式,尾数基值rm16,尾数字长为16进制6位,阶码基值rm2,阶码字长6位,尾数用原码、小数表示,阶码用移码、整数表示。求表数范围和表数精度,并尾数基址rm2的浮点数表示方式进行比较。解: 表数精度为: 表数范围是: 若尾数基值rm2,则有: 解得p21,则q322129,它的表数范围是: 推论2:浮点数的尾数基值rm取2,并采用隐藏位

10、表数方法是最佳的浮点数表示方式。这种浮点数表示方式能做到表数范围最大、表数误差最小、表数效率最高。目前,IBM公司的IBM360、370、4300系列机等,尾数基值rm16。Burroughs公司的B6700、B7700等大型机,尾数基值rm8。DEC公司的PDP-11、VAX-11和Alpha等小型机,CDC公司的CDC6600、CYBER70等大型机,Intel公司的x86系列机等均采用尾数基值rm2。5、浮点数格式的设计定义浮点数表示方式的6个参数的确定原则: 尾数:多数机器采用原码、小数表示精品. 采用原码制表示:加减法比补码表示复杂,乘除法比补码简单 表示非常直观。 采用小数表示能简

11、化运算,特别是乘除法运算。 阶码:一般机器都采用整数、移码表示采用移码表示的主要原因是:浮点0与机器0一致。阶码进行加减运算时,移码的加减法运算要比补码复杂 尾数的基值rm选择2, 阶码的基值re取2, 浮点数格式设计的关键问题是: 在表数范围和表数精度给定的情况下,如何确定最短的尾数字长p和阶码字长q例2.5:要求设计一种浮点数格式,其表数范围不小于1037,正、负数对称,表数精度不低于10-16。解:根据表数范围的要求:解这个不等式:取阶码字长q7根据表数精度的要求,得到:解这个不等式:由于浮点数字长通常是8的倍数,因此取尾数字长p55所设计浮点数的格式如下:1位 1位 7位 55位mfe

12、feM所设计浮点数的主要参数如下:最大尾数值:绝对值最小的尾数值:最大阶码:最小阶码:最大正数:;最小正数:;最大负数:;最小负数:;精品.表数精度:;浮点零:浮点零与机器零相同,64位全为0;表数效率:采用隐藏位,表数效率;6、浮点数的舍入处理 浮点数要进行舍入处理的原因是:十进制实数转化为浮点数时,有效位长度超过给定的尾数字长。两个浮点数的加、减、乘、除结果,尾数长度超过给定的尾数字长。 舍入处理要解决的问题是:把规格化尾数的pg位处理成只有p位。其中:p是浮点数表示方式给定的尾数字长, g是超过给定尾数字长的部分。 舍入方法的主要性能标准是:绝对误差小,积累误差小,容易实现。 进行舍入处

13、理时要注意的问题是:必须先规格化,然后再舍入,否则舍入是没有意义的。在计算积累误差时,要同时考虑到正数区和负数区的情况;方法1:恒舍法恒舍法又称截断法、必舍法等恒舍法的主要优点:实现起来非常容易。误差大。恒舍法的舍入规则及误差情况尾数有效字长p位有效字长之外g位误差情况正数区舍入前0.xxx.xx0.xxx.xx0.xxx.xx.0.xxx.xx00.00000.00100.010.11.111d0d2-p-gd2-p-g+1 .d2-p(12-g)舍入后0.xxx.xxs2-p-1(2g-1)负数区舍入前0.xxx.xx0.xxx.xx0.xxx.xx.0.xxx.xx00.00000.00100.010.11.111d

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号