- 1、本文档共123页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章(指令系统)
指令系统 指令系统的分类 数据表示 寻址技术 指令格式的优化设计 指令系统的功能设计 综合实例:MIPS指令集 指令系统的分类 分类标准 根据CPU中操作数的存储方法分类 分类 堆栈型指令系统 累加器型指令系统 寄存器型指令系统 寄存器-存储器型(RM) 寄存器-寄存器型(RR)/load-store型 三种指令系统的特点 堆栈型指令系统 优点:指令长度短,代码密度高,占用存储空间小。 缺点:代码效率低,执行效率不高。 累加器型指令系统 优点:指令长度短,代码密度高,代码效率高。 缺点:执行效率不高。 寄存器型指令系统 优点:指令简单,执行效率高,对编译程序支持好。 缺点:指令长度长。 通用寄存器型指令系统的分类 分类标准 ALU指令的操作数个数 ALU指令的存储器操作数个数 不同通用寄存器型指令系统的特点 指令系统的选择 针对应用需求,对指令中各属性分布进行分析,根据指令执行效率确定指令集风格 根据各种指令的各属性分布确定寄存器数及操作数个数 必须考虑对OS和编译程序的支持 数据表示 基本概念 基本数据表示 高级数据表示 数据表示设计 基本概念 数据类型 计算机系统中可以使用和处理的各种数据的类型,主要有:整数、布尔数、字符、文件、图、表、树、阵列、队列、链表、栈、向量、串等。 数据表示 能由硬件直接识别和引用(即有相应运算指令和有硬件支持)的数据类型,例如:定点数据表示、逻辑数据表示、浮点数据表示等。 数据结构 带有结构的数据元素的集合,例如:串、队列、栈、向量、阵列、链表、树、图等。 三者之间的关系 数据表示和数据结构都是数据类型的子集; 数据表示是数据类型中最常用、也是相对较简单,用硬件实现相对比较容易的; 数据结构由软件进行实现,转换成数据表示。 结 论 数据类型是指令系统的核心内容,系统结构设计者在设计时应首先确定: 哪些数据类型全部用硬件实现,即数据表示;哪些数据类型用软件实现,即数据结构;哪些数据类型可由硬件给予适应的支持,即由软件和硬件共同来实现,并确定软件和硬件的适当比例关系。 基本数据表示 内容 定点数、浮点数、逻辑数、字符等。 目的 支持数据结构,提高系统效率和性能/价格。 设计 根据应用需求,设计各种参数、指标。 举例 浮点数数据表示的设计。 浮点数格式 两个符号: mf :尾数符号 e f :阶码符号 浮点数格式设计 尾数 码制可以采用原码或补码,数制可以采用整数或小数,基可以采用二进制、四进制、八进制、十进制或十六进制。多数机器采用原码、小数表示,尾数的基rm=2。 阶码 码制可以采用移码或补码,数制采用整数,基re=2。一般机器都采用移码、整数表示。 浮点数设计重点 设计重点 在表数范围和表数精度给定的情况下,如何确定最短的尾数字长p和阶码字长q。 研究对象 阶码长度q 影响表数范围。 尾数长度p 影响表数精度。 尾数基值rm 影响表数范围、精度及数在数轴上分布离散程度。 浮点数尾数基值的选择 表数范围 随rm加大,范围加大。 表数个数 随rm加大,个数增多。 表数精度 随rm加大,精度变低。 运算精度损失 随rm加大,损失变小。 运算速度 随rm加大,速度变快。 rm的选择应根据应用需要来综合平衡: 巨/大/中型机rm宜取大 尾数字长较长可以弥补精度的损失。 小/微型机rm宜取小 提高的精度可以弥补尾数字长较短的不足。 浮点数尾数下溢的处理 问题 在浮点数操作(相加、相乘、右移等)过程中产生的下溢会造成精度的损失。 解决 设计下溢处理方法,有多种方法,不同的方法有不同的优点和缺点,其出发点和应用场合也不一样,应根据需要进行选择。 截断法 舍入法 恒置“1”法 查表舍入法 高级数据表示 内容 堆栈、向量、数组(队列)、记录、自定义数据表示等。 目的 支持数据结构,提高系统效率和性能/价格。 举例 自定义数据表示。 自定义数据表示 存在问题 解决方法 带标志符的数据表示法 数据描述符表示法 存在问题 在高级语言与机器语言之间存在着很大的语义差距(例如:运算符和数据类型之间的关系),增加了编译程序的负担,能否在设计机器语言时,缩短与高级语言之间的差距? 带标志符的数据表示法 思想 每个数据的格式为: 例子 在B5000大型机中,每个数据有一位标志符 在B6500/B7500大型机中,每个数据有三位标志 在R-2巨型机中采用10位标志符 带标志符的数据表示法 优点 简化指令系统和程序设计 简化编译程序 便于硬件实现一致性校验 能由硬件自动完成
文档评论(0)