




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章指令系统 qxye 中科院研究生院工程教育学院叶齐祥 2 1数据表示2 2寻址技术2 3指令格式的优化设计2 4指令系统功能设计 第2章指令系统 2 1 1数据表示与数据结构概念2 1 2浮点数2 1 3自定义数据表示 2 1数据表示 2 1 1数据表示与数据结构 数据表示指的是能由机器硬件直接识别和引用的数据类型 例如 当机器设置有定点加 减 乘 除 移位 比较等一系列定点运算指令和相应的运算硬件 可以直接对定点数进行各种处理时 机器就有了定点数据表示 当机器设置有逻辑加 逻辑乘 按位相加 逻辑移位等一系列逻辑运算指令和相应的逻辑运算硬件 可以直接对逻辑数进行各种处理 机器就有了逻辑数据表示 类似的 若机器设置有浮点运算指令 如浮点加 减 乘 除 比较 存 取等 和相应的运算硬件 可以直接对浮点数进行各种处理 机器就有了浮点数据表示 2 1 1数据表示与数据结构 串 队 栈 向量 阵列 链表 树 图等是软件系统所要处理的各种数据结构 它们反映了面向应用所要用到的各种数据元素或信息单元之间的结构关系 数据结构是通过软件映象 将信息变换成机器中所具有的各种数据表示来实现的 可见 数据表示是构成数据结构的元素 不同的数据表示可以为数据结构的实现提供不同的支持 表现在实现的效率和方便性上不同 因此 数据结构和数据表示是软 硬件的交界面 2 1 1数据表示与数据结构 系统结构设计者在确定软 硬件的功能分配时 应考虑在机器中设置哪些数据表示 以便对应用中所遇到的数据结构能有高的实现效率 当然 这是以花费适当的硬件为代价的 所以 数据表示的确定实质上是软 硬件的取舍问题 因此在设计计算机时 系统设计者首先要做的是 数据结构 那些数据由软件实现 数据表示 那些数据由硬件实现 它们的比例关系 2 1 1数据表示与数据结构 例1 用定点运算实现浮点运算 处理机的运算速度要下降两个数量级 例2 实现矩阵运算时 用向量类型运算效率更高A B C A B C为100 x100的矩阵 2 1 2浮点数 定点数据的缺点 太阳重量 克电子重量 克需要很多维二进制才能表达 而且对于小数的精度不够 浮点数设计的一些性能指标 表述范围表述精度表述效率 2 1 2浮点数 2 1 2浮点数 浮点数据表示 尾数的值阶码的值尾数的基阶码的基主要研究p q的和以实现大的表示范围和表示精度 尾数符号位 阶码符号位 阶码的数值 尾数的数值 浮点数尾数基值的选择 浮点数的一般格式 2 1 2浮点数 浮点数可表示实数域中的值 2 1 2浮点数 浮点数的表示正实数范围当阶符 0 数符 0 阶码和尾数的数值位各位全为1 即阶码和尾数都为最大正数 时 浮点数为最大正数 最大值 阶码和尾数的数值位各位全为1 即阶码和尾数都为最大正数 时 浮点数为最小正数 2 1 2浮点数 规格化浮点数的概念把尾数最高位不为零的浮点数称为规格化浮点数在同一种浮点数表示方式中 规格化浮点数具有最长的尾数有效位数 即能够保证尾数的绝对值最大 当尾数用小数表示时 其绝对值在 1 rm 1 0 表述精度最高 2 1 2浮点数 不同数制的影响 我们用rm来表示其浮点数尾数的基 在机器中 一个rm进制的数位是用 log2rm 个机器位数来表示 因此 尾数的机器位数为m时 相当于rm进制的尾数共有m 个数位 其权值由小数点开始向右依次为 其中 例如 rm 2时 m 为m rm 16时 m 为m 4 rm 10时 m 为m 4 当rm为2的整数次幂时 就有特例 所谓以rm为尾数基值的浮点数就是当其尾数右移一个rm进制数位时 为保持数值不变 阶码才增1 2 1 2浮点数 采用尾基为rm的浮点数表示的特性及其举例 2 1 2浮点数 1 可表示数的范围 由上表知 可表示的最小值为 rm增大 将减少 而可表示的最大值为其中1 2 m部分为常数 rm增大 由于增大 而使可表示的最大值增大 因此 随rm的增大 可表示数的范围增大 2 可表示数的个数 由上表知 可表示数的个数为 其中2p m为常数 所以rm的增大将因增大 而使可表示数的个数增多 2 1 2浮点数 3 数在实数轴上的分布 对比 下页 表2 2和表2 3 可看出rm用16的比用2的可表示数在数轴上的分布稀 例如在1 2和2之间 rm为2的有15个值 而rm为16的有8个值 rm愈大 在与rm 2的浮点数相重叠的范围内 数的分布密度要稀得多 2 1 2浮点数 表2 2p 2 m 4 rm 2的规格化浮点数 2 1 2浮点数 表2 3p 2 m 4 rm 16的规格化浮点数 4 可表示数的精度 2 1 2浮点数 绝对误差 相对误差 计算误差 4 可表示数的精度 由于rm愈大 数在数轴上的分布变稀 已可得出数的表示精度下降的结论 从另一个角度分析 由于机器尾数位数m相同情况下 规格化十六进制尾数最高数位中可能出现4位机器位中的左面3位均为0 即rm 2的可能比rm 16的有多3位机器位的精度 若rm 2k 则最坏情况下 尾数中只用到m k 1位机器位来表示 所以 可表示数的精度随rm增大而单调下降 2 1 2浮点数 运算中的精度损失 运算中的精度损失是指由于运算过程中尾数右移出机器字长使得有效数字丢失后所造成的精度损失 因此它与可表示数的精度是两个不同的概念 由于尾数基值rm取大后 对阶移位的机会和次数要少 且由于数的表示范围扩大 也使出现尾数溢出需右规的机会减少 这从表2 4对大量指令执行后统计得出的浮点加法移位距离和所占百分比情况可以看出 因此rm愈大 尾数右移的可能性愈小 精度的损失就越小 2 1 2浮点数 表2 4浮点加法的移位距离及百分比 2 1 2浮点数 5 运算速度 效率 2 1 2浮点数 尾数的正负数 最高位编码种数 除最高位以外编码数 阶码正负 机器0 5 运算速度 效率 由于rm大时发生因对阶或尾数溢出需右移及规格化需左移的次数显著减少 因此运算速度可以提高 2 1 2浮点数 在 表述范围 表述精度 表述效率 的不同要求下设计浮点数 综上所述 rm增大 1 2 4 5 带来益处 3 带来害处 因此rm值的选取要根据应用需要来综合平衡 一般在巨 大 中型机上 rm宜取大 而小 微型机上 rm宜取小 2 1 2浮点数 表述范围 表述精度 表述效率 要求下设计浮点数 2 1 2浮点数 第一种数制2 第二种数制 截断法 2 舍入法 3 恒置 1 法 4 查表舍入法 2 1 2浮点数下溢处理方法 1 截断法这是一种最容易实现的舍入方法 无论多余部分q位为何代码 一律舍去 保留部分p位不作任何改变 保留部分p位 多余部分q位 p q位 2 1 2浮点数下溢处理方法 2 舍入法舍入就是0舍1入 用将要舍去的q位部分的最高位作为判断标志 如该位为0 则舍去整个q位部分 如该位为1 则在前面的p位部分的最低位上加1 保留部分p位 多余部分q位 p q位 保留部分p位 多余部分q位 p q位 1 1 1 1 2 1 2浮点数下溢处理方法 3 恒置 1 法这种舍入法又称为冯 诺依曼舍入法 即不论多余部分q位为何代码 都把p位的最低位置1 保留部分p位 多余部分q位 p q位 保留部分p位 多余部分q位 p q位 1 保留部分最低位为1 保留部分最低位为0 2 1 2浮点数下溢处理方法 4 查表舍入法用ROM存放下溢处理表 每次经查表来读得相应的处理结果 ROM表存储器的容量为2K个单元 每个单元字长为K 1位 下溢处理表的内容设置一般采用的方法是 当K位数据的高K 1位为全 1 时 让那些单元按截断法填入K 1位全 1 其余单元都按最低位 即附加位 0舍1入的结果来填其内容 地址内容0000000101010010111010010101111111111 2 1 2浮点数下溢处理方法 k位ROM查表舍入 2 1 2浮点数下溢处理方法 图2 9rm 2 m 2时 各种下溢处理方法的误差曲线 1 自定义数据表示 自定义 Self defining 数据表示包括带标志符的数据表示和数据描述符两类 1 带标志符的数据表示 高级语言用类型说明语句指明数据的类型 让数据类型直接与数据本身联系在一起 运算符不反映数据类型 是通用的 例如FORTRAN程序中 实数 浮点数 I和J的相加是采用如下的语句组指明的 REALI J I I J 2 1 2自定义数据表示 在说明I J的数据为实型后 用通用的 运算符就可实现实数加法 可是 传统的机器语言程序却正好相反 它用操作码指明操作数的类型 如浮点加法指令 中 由于操作码是浮加 那么无论I和J是否是浮点数 总是按浮点数对待 进行浮点数加法 这样 编译时就需要把高级语言程序中的数据类型说明语句和运算符变换成机器语言中不同类型指令的操作码 并验证操作数的类型是否与运算符所要求的一致 若不一致 还需用软件进行转换 这些都增加了编译的负担 2 1 2自定义数据表示 为了缩短高级语言与机器语言的这种语义差距 可让机器中的每个数据如下所示 都带有类型标志位 2 1 2自定义数据表示 标志符数据表示的主要优点为 简化了指令系统和程序设计 2 简化了编译程序 3 便于实现一致性校验 4 能由硬件自动完成数据类型的变换 5 支持了数据库系统的实现与数据类型无关的要求 6 为软件调试和应用软件开发提供了支持 2 1 2自定义数据表示 采用标志符数据表示带来的问题可能有两个 1 每个数据字因增设标志符 会使程序所占用的主存空间增加 不一定 2 采用标志符会降低指令的执行速度 2 1 2自定义数据表示 数据字长加长 数据 指令在 指令字长缩短 采用标志符的指令字长 标志符长度 不采用标志符的指令和数据字长 采用标志符的数据长度 由于一般程序中指令条数比数据条数多 因此指令字长缩短的面积要大于数据字长加长的面积 当数据带标志符时 整个程序占用的存储空间反而减少 原来数据 指令 指令字长缩短 采用标志符的指令长度 2 1 2自定义数据表示 2 数据描述符 为进一步减少标志符所占的存贮空间 对于向量 数组 记录等数据 由于每个元素具有相同的属性 为此发展出数据描述符 数据描述符和标志符的差别在于标志符是和每个数据相连的 合存在一个存贮单元中 描述单个数据的类型特征 描述符是和数据分开存放的 专门用来描述所要访问的数据是整块数据还是单个数据 访问该数据块或数据元素所需要的地址以及其他特征信息等 2 1 2自定义数据表示 以B6700的描述符为例 其数据描述符和数据的形式分别如下所示 2 1 2自定义数据表示 例如 用数据描述符表示方法表示一个3 4矩阵A 2 1 2自定义数据表示 2 1 2自定义数据表示 向量数组数据表示 例如 要计算向量和 ai i i i ci ai 5 bii 10 11 1000 用FORTRAN语言写成的有关DO循环部分为 DO40I 10 1000 40C I A I 5 B I 2 1 2自定义数据表示 在具有向量 数组数据表示的向量处理机上 表现出在硬件上设置有丰富的向量或阵列运算指令 配置有以流水或阵列方式处理的高速运算器 只需用一条如下的向量加法指令 2 1 2自定义数据表示 堆栈数据表示 1 有若干高速寄存器组成的硬件堆栈 并附加控制电路让它与主存中的堆栈区在逻辑上组成一个整体 使堆栈的访问速度是寄存器的 堆栈的容量是主存的 2 有很丰富的堆栈操作类指令且功能很强 直接可对堆栈中的数据进行各种运算和处理 2 1 2自定义数据表示 3 有力地支持高级语言程序的编译 假定有算术赋值语句F A B C D E 可以很容易通过用逆波兰表达式 AB CDE 作为编译时的中间语言 直接生成堆栈机器指令程序 4 有力地支持子程序的嵌套和递归调用 2 1 2自定义数据表示 图2 6用堆栈实现子程序的嵌套和递归调用 2 1 2自定义数据表示 2 1 3引入数据表示的原则 一方面是看系统的效率有否提高 即是否减少了实现时间和所需的存贮空间 衡量实现时间是否减少 主要是看在主存和处理机之间传送的信息量有否减少 传送的信息量越少 其实现时间就会越少 以A B两个200 200的定点数二维数组相加为例 如果在没有向量数据表示的计算机系统上实现 一般需要6条指令 其中有4条指令要循环4万次 因此 CPU与主存储器之间的通信量 取指令2 4 40 000条 读或写数据3 40 000个 共要访问主存储器7 40 000次以上 如果有向量数据表示 只需要一条指令A B 减少访问主存 取指令 次数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国互联网大会参展商权益保障及服务合同范本
- 2025年智能物流配送系统环保改造合作协议
- 2025高端医疗设备产品注册及市场准入策略咨询服务协议
- 2025年度城市绿化养护劳务合作服务合同
- 2025年绿色校园节能照明系统设计与施工一体化合同
- 2025年孕期离婚财产合理分割与子女共同抚养协议书
- 2025年企业绿色生产线升级改造设备采购及培训合同
- 2025年智能交通管理系统运维与事故响应快速处理服务合同
- 2025年度车辆运输车辆通行证办理合同
- 2025版施工安全技术咨询合同范本
- 绿色建筑概论 课件全套 第1-11章 绿色建筑概述-绿色建筑运营与维护
- 2025医务人员手卫生规范
- 医务人员行为规范
- 光伏电站安全培训
- GB/T 35267.4-2025清洗消毒器第4部分:内镜清洗消毒器
- 职工安置方案模板
- DB45T 1056-2014 土地整治工程 第2部分:质量检验与评定规程
- ISO9001工厂质量体系文件
- 2025年春季学期 形势与政策讲稿第五讲-从教育大国迈向教育强国
- 柴油发电机组操作培训
- 体检中心知识
评论
0/150
提交评论