《精编》数据表示、指令系统设计原理与优化

上传人:tang****xu5 文档编号:133195166 上传时间:2020-05-25 格式:PPT 页数:62 大小:483KB
返回 下载 相关 举报
《精编》数据表示、指令系统设计原理与优化_第1页
第1页 / 共62页
《精编》数据表示、指令系统设计原理与优化_第2页
第2页 / 共62页
《精编》数据表示、指令系统设计原理与优化_第3页
第3页 / 共62页
《精编》数据表示、指令系统设计原理与优化_第4页
第4页 / 共62页
《精编》数据表示、指令系统设计原理与优化_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《《精编》数据表示、指令系统设计原理与优化》由会员分享,可在线阅读,更多相关《《精编》数据表示、指令系统设计原理与优化(62页珍藏版)》请在金锄头文库上搜索。

1、第四章数据表示和指令系统 数据类型和表示指令系统设计原理和优化RISC计算机 本章要点 浮点数据表示IEEE标准及应用自定义数据表示定义 分类及优点哈夫曼概念及在计算机中应用 操作码编码法指令系统编码方法 指令系统设计原则两种指令系统风格 特点 RISC CISC 简述RISC的主要技术 4 1引言 1 考虑计算机面向的应用领域 程序设计语言 编译程序 操作系统直到硬件构成等诸多因素 2 如何继承软件资产 保证软件向后兼容和向上兼容也是要加以考虑的现实问题 指令系统 又称指令集 instructionset 是计算机体系结构设计的核心 是计算机软 硬件接口 是用机器语言汇编语言编写程序的用户所

2、能看到的计算机基本属性 4 1 1传统计算机指令系统的设计技术 总之要对执行性能 软 硬件开发费用 可靠性等各种因素间的矛盾 综合权衡考虑 设计一种新的指令系统 从提出指令系统的编码到实现这种指令系统的硬件要经过几次反复 1 根据计算机未来用途及通常机器指令集拟出初步指令系统设计及实现 2 编出这套指令系统设计的编译程序 3 进行模拟测试 研究这套指令操作码 寻址方式及其他效能 4 进行指令系统的优化 5 如此反复进行 要充分考虑计算机应用和对各类高级语言执行效率 并对大量算法进行测试 使机器效能最高 计算机指令系统的设计技术基本过程 现代计算机指令系统设计必须由编译程序设计人员同系统结构设计

3、人员共同配合进行传统计算机指令系统的设计 完备性 要求计算机的所有功能操作都包含在指令系统中 指令系统愈丰富 功能愈强 编译程序愈好写好用 运用范围愈广 指令系统设计规则 规整性 均匀性 要使相似的操作具有相同的规定 所有操作都均匀对称地在存储器和寄存器单元间进行 尽可能甚至不出现例外情况和特殊用法 正交性 编译程序设计人员希望数据类型 寻址方式 操作类型都互相独立 这样便于处理 也减轻编译负担 可组合性对称性 指令系统对所有的寻址方式和所有数据类型都能适用 减化编译程序的代码生成 从系统结构设计人员角度出发 指令系统还应考虑到 兼容性 指令系统设计多次反复 注意简单周到 还应注意系列机中软件

4、兼容性 可扩性 保留一定余量的操作码空间 为以后扩展用 并适应工艺技术的新发展 指令码高密度性 对于那些频度高的指令串可以进行优化 设计新指令代替 提高指令码密度 减少存储容量和访问存储器次数 以提高效率 4 1 2指令系统发展的两种途径CISC RISC 一 复杂指令集计算机 CISC 二 精简指令系统计算机 RISC 通过减少指令总数和简化指令的功能来降低硬件设计的复杂程度 提高指令执行速度 使指令简单 有效可行 指令系统庞大 硬件复杂 庞大 执行速度低 编译程序复杂 长 部分指令使用效率低 PENTIUM处理器 RISC特征 某些指令以硬连线来实现 并能在一个时钟周期执行完 CISC特征

5、 用微代码实现 需要2 3个时钟周期的执行时间 有多种寻址方式 多种指令长度 为数不多的通用寄存器 4 2数据类型和数据表示4 2 1数据类型 计算机中常用数据有三类 用户定义的数据系统数据指令数据 数据类型 指一组数据值的集合 还定义了可作用于这个集合上的操作集 从系统结构看有基本数据类型 结构数据类型 抽象数据类型和访问指针 4 2 2基本数据表示 数据表示 指在计算机中能由硬件直接辩认 指令系统可以直接调用的数据类型 数据结构 结构化数据的组织方式 它反应了应用中各种数据元或信息元间的结构关系 它必须通过软件映象 变换成机器中所具有的 存储于一维存储器内 各种数据表示来实现的 数据表示实

6、质上是一个软 硬件取舍的问题 4 2 4二进制定点 浮点 数据表示 IEEE754浮点数据表示标准 32位浮点单精度数据形式 4 2 5自定义数据表示 为了缩短机器语言同高级语言对数据属性的说明之间的语义差距 目的 自定义数据表示 由数据本身来表明数据类型 使计算机内的数据具有自定义能力 分类 带标志符的数据表示数据描述符 带标志符的数据表示 描述简单数据 标志符是和每个数据值相连 存在同一存贮单元内 数据标志位 数据值 优点 1 简化了指令系统 2 容易检出程序编制中的错误 3 简化了编译程序 4 支持数据库系统 5 简化程序设计 6 便于软件测试 缺点 每个字都增加了标志位 使字长增长 但

7、另一方面 缩短了目的程序长度 操作码总数减少导致操作码位数减少 降低指令的执行速度 但 编制时间 调试时间减少 编制时间 调试时间 执行时间减少 与其他计算机的兼容性差 硬件复杂 数据描述符 用来描述复杂和多维数据 如向量 数组 记录等 描述符专用来描述所要访问数据的特性 它和数据字分开存储 机器经描述符形成访问每个元素的地址及其他信息 增加一级以上寻址 描述符或数据字 而数据字本身又是带标志符数据表示 与带标志符数据表示不同之处 标志符要与每个数据相连 两者合存在一个存储器单元中 而描述符则和数据分开放 要访问数据集中的元素时 必须先访问描述符 这就至少要增加一级寻址 描述符可看成是程序一部

8、分 而不是数据一部分 因为它是专门来描述要访问的数据的特性 现以B6500 7500为例进行自定义数据表示的说明 数据 000 数值 描述符 101 P C I S R T D 长度 地址 3 1 1 1 1 20 2 20 1 1 数据描述符 0 单精度数据 1 双精度数据 1 不连续数据 0 连续数据 1 数据集中的一个 0 数据集的全体 1 在主存中 0 不在主存中 只准读出的数据 00 数据描述符 写其他描述符 用数据描述符描述一个3 4二维阵列 三元素向量 四元素向量 块内的元素个数 四元素向量 四元素向量 描述符读取操作数过程 操作码 X Y 101 101 101 地址形成逻辑

9、000 000 101 指令 寄存器描述符 描述符 主存储器 数据 数据 CDCSTAR 100计算机对每一个向量数据用基地址 长度和位移量三个参量表示 其中对于指令 操作向量的起始地址 基址 位移量 操作向量有效长度 向量长度 位移量 其中X Y Z各区段表示寄存器号 分别表示源向量A B和结果向量的位移量 而A B C各区段分别存放源向量A B和结果向量C的基地址及长度 4 2 6向量数据表示 向量 指具有n个数据的数组 特点 各个数据称为数组的元素 而每个数据应具有相同的数据类型 如实数或逻辑数 相同的数据表示 如字长 字的格式相同 进行相同的操作 而各数据之间是独立无关的 这样的一个数

10、组称为向量 基地址 向量长度 向量数据表示的参数 起始地址 基地址十位移量 向量有效长度 位移量 A0 A1 A2 A3 A4 A5 A6 A7 稀疏向量的压缩表示 4 3指令系统设计原理 指令系统中指令编码方法 1 正交法指令中的每个分段 包括操作码 操作数地址等 相互独立 操作数地址的编码同操作码无关 反之亦然 优点 对流水机特别适用 微程序控制数量减少 2 整体法指令中各个分段在译码时相互有关 操作码同操作数地址的分界线并不清楚 优点 可以把使用频度高的操作码同操作数地址码组合起来 加以缩短优化 而使用频度低的可以较长些 这样可以节省存贮容量 缺点 在用微程序控制时 微程序数量较多 需要

11、有较大的微程序控制存贮器 3 混合法这种方法把上两种方法的优点结合起来 二 指令系统及结构的分类 指令系统也可以按下面几个准则分类 1 每条指令中显式指明的操作数个数2 CPU中存放操作数部件的类型3 数据类型和数据表示4 ALU指令的操作数个数和位置 基本思想 计算机系统中的一些基本操作 包括操作系统和高级语言的操作 应由硬件实现还是由软件实现 某些复杂操作是由一条指令实现还是由一串指令实现 堆栈机 主要操作 是压入和弹出 主要是以后进先出的方式 优点 面向堆栈 指令短 表达式求值简单 可以有较高的编码密度 缺点 不能随机访问和编译技术不匹配 很难高速执行 这类机器的例子Burroughs5

12、500 HP3000 主要依据 在CPU中以何种存储方式来存放操作数 指令系统集结构的分类 分类 堆栈型累加器型通用寄存器型 R RR MM M 累加器为基础的指令系统 累加器型机器是有一个隐含操作数的机器 指令能够直接装卸或存储的累加器中 操作时取一个操作数 另一个操作数取自累加器 结果放回到累加器累加器类的基本优缺点与堆栈机相同 这类机器的例子是PDP 8 寄存器为基础的指令系统 GPR机 优点 1 由于数据在寄存器中 减少了对存储器的存取 速度更快一些 2 数值表示有很强的适应性 缺点 指令格式必须包含寄存器指针空间 GPR机类型 有三类GPR机 它们是寄存器 寄存器型机和寄存器 存储器

13、型机 还有存储器 存储器型机 三种不同的指令系统集结构 典型计算机中ALU指令所使用的访存操作数的个数 4 3 2寻址技术 一 访问方式按地址访问 串行顺序访问 按指定地址读取代码 地址可是通用寄存器 专用寄存器 内存 地址概念 逻辑地址 物理地址地址编址方式采用三种 统一编址 局部编址 隐含编址具体可按面向对象和寻址方式来区分按内容访问 给出欲访问单元内容 其主要特点是以并行方式查找所需信息内容 联想存储器 寻址技术 指的是指令按什么方式寻找 或访问 到所需的操作数或信息 它影响主存规模速度及存取方式 寻址方式对应用程序员是透明的 二程序定位方式 直接定位方式直接使用实际贮存物理地址来编写或

14、编译程序 目前大多不用这种方式 静态定位方式专门用装入程序来完成 一旦装入主存就不能再变动了 这种方式实现简单 但不够灵活 主存利用率不高 多个用户不能共享主存 动态定位方式利用类似变址寻址方法 有硬件支持完成 只把主存的起始地址装入该程序对应的基址寄存器中 指令的地址不需全部修改 优点 主存利用率高 多个用户可以共享同一个程序段 支持虚拟存储器实现 缺点 需要硬件支持 实现的算法比较复杂 4 3 3指令系统功能设计 设计指令时 要考虑三个因素 速度 价格 灵活性通用计算机指令分为五类 数据传送类指令运算类指令程序控制类指令输入输出指令处理机控制和调试指令 4 3 4指令格式的优化 哈夫曼压缩

15、的基本思想 当各种事件发生的概率不均时 采用优化技术对发生概率最高的事件用最短的位数 时间 来表示 处理 而对出现概率较低的 用较长的位数 时间 来表示 处理 就会导致表示 处理 的平均位数 时间 的缩短 指令的优化通过操作码优化和地址码优化进行 指令格式优化的目的 如何用最短的位数表示指令的操作信息和地址信息 用最短的时间处理频度高的指令 使二者之间有最佳配合以减少指令字中冗余信息以及用最少信息位来表示所需的操作信息和地址信息 用哈夫曼压缩概念进行编码的步骤 1 将要编码的字符按出现频率的次序排列 频率相等的符号可任意排列 2 把出现频率最小的两个符号合并 并将其频率相加 按相加后的频率次序

16、重新排序 3 继续过程 2 直至只剩下两个频率 此后以相反过程进行编码 4 对最后两个频率分别指定代码0和1 5 若某一频率由两个频率相加而成 则分别指定这两个频的下一个代码为0或1 6 继续过程 5 直到所有符号均已指定不同代码为止 现设一台模型机 共有7种不同的指令 使用频度如表所示 若用定长操作码表示 则需要3位 操作码表示的平均长度L li PiLi 第i个操作码的长度 H Pilog2Pi 0 40 1 32 0 30 1 74 0 15 2 74 0 05 4 32 0 04 4 64 0 03 5 06 0 03 5 06 2 17 则信息冗余量K 1 H 操作码的实际平均长度 1 2 17 3 0 28 即28 操作码的信息源熵 信息源所包含的平均最短信息量 H Pilog2Pi 其中Pi为第i个信息源的频度 Pili 0 40 1 0 30 2 0 15 3 0 05 5 0 04 5 0 03 5 0 03 5 2 20 位 这种编码的信息冗余为K 1 2 17 2 20 1 36 1 00 0 60 0 30 0 15 0 06 0 09 0 03 0 03 0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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