计算机系统结构-第二章(指令系统).ppt
《计算机系统结构-第二章(指令系统).ppt》由会员分享,可在线阅读,更多相关《计算机系统结构-第二章(指令系统).ppt(126页珍藏版)》请在三一办公上搜索。
1、指令系统,指令系统的分类数据表示寻址技术指令格式的优化设计指令系统的功能设计综合实例:MIPS指令集,指令系统的分类,本章内容,分类标准根据CPU中操作数的存储方法分类(主要分类准则)根据指令中显式操作数个数分类根据操作数能否放在存储器中分类 分类堆栈型指令系统累加器型指令系统寄存器型指令系统,6 之 1,以C=A+B为例说明不同指令系统的特点,6 之 2,灰色块:操作数黑色块:结果TOS:栈顶,三种指令系统的特点,堆栈型指令系统优点:指令长度短,代码密度高,占用存储空间小。缺点:代码效率低,执行效率不高。累加器型指令系统优点:指令长度短,代码密度高,代码效率高。缺点:执行效率不高。寄存器型指
2、令系统优点:指令简单,执行效率高,对编译程序支持好。缺点:指令长度长。,本章内容,现在通用寄存器型已成为主流结构,6 之 3,通用寄存器型指令系统的分类,本章内容,根据分类标准2、3可以分为:,6 之 4,不同通用寄存器型指令系统的特点,本章内容,6 之 5,指令系统的选择,本章内容,针对应用需求,对指令中各属性分布进行分析,根据指令执行效率确定指令集风格根据各种指令的各属性分布确定寄存器数及操作数个数必须考虑对OS和编译程序的支持,6 之 6,数据表示,本章内容,基本概念基本数据表示高级数据表示数据表示设计,基本概念,本章内容数据表示,数据类型 计算机系统中可以使用和处理的各种数据的类型,主
3、要有:整数、布尔数、字符、文件、图、表、树、阵列、队列、链表、栈、向量、串等。数据表示 能由硬件直接识别和引用(即有相应运算指令和有硬件支持)的数据类型,例如:定点数据表示、逻辑数据表示、浮点数据表示等。数据结构 带有结构的数据元素的集合,例如:串、队列、栈、向量、阵列、链表、树、图等。,3 之 1,三者之间的关系,本章内容数据表示,3 之 2,数据表示和数据结构都是数据类型的子集;数据表示是数据类型中最常用、也是相对较简单,用硬件实现相对比较容易的;数据结构由软件进行实现,转换成数据表示。,确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题。,结 论,本章内容数据表示,3 之 3,数据类
4、型是指令系统的核心内容,系统结构设计者在设计时应首先确定:哪些数据类型全部用硬件实现,即数据表示;哪些数据类型用软件实现,即数据结构;哪些数据类型可由硬件给予适应的支持,即由软件和硬件共同来实现,并确定软件和硬件的适当比例关系。,基本数据表示,本章内容数据表示,内容 定点数、浮点数、十进制数、逻辑数、字符等。目的 支持数据结构,提高系统效率和性能/价格。设计 根据应用需求,设计各种参数、指标。举例 浮点数数据表示的设计。,2 之 1,浮点数数据表示设计,浮点数格式浮点数尾数基值选择浮点数尾数下溢处理浮点数格式设计,本章内容数据表示,2 之 2,浮点数格式,两个符号:mf:尾数符号e f:阶码符
5、号,本章内容数据表示 浮点数数据表示,两个数值:m:尾数的值e:阶码的值,两个基:rm:尾数的基re:阶码的基,两个字长:p:尾数的长度q:阶码的长度,浮点数尾数基值的选择,表数范围 随rm加大,范围加大。表数个数 随rm加大,个数增多。表数精度 随rm加大,精度变低。运算精度损失 随rm加大,损失变小。运算速度 随rm加大,速度变快。,rm的选择应根据应用需要来综合平衡:巨/大/中型机rm宜取大 尾数字长较长可以弥补精度的损失。小/微型机rm宜取小 提高的精度可以弥补尾数字长较短的不足。,本章内容数据表示 浮点数数据表示,浮点数尾数下溢的处理,问题 在浮点数操作(相加、相乘、右移等)过程中产
6、生的下溢会造成精度的损失。解决 设计下溢处理方法,有多种方法,不同的方法有不同的优点和缺点,其出发点和应用场合也不一样,应根据需要进行选择。,截断法 舍入法 恒置“1”法 查表舍入法,本章内容数据表示 浮点数数据表示,浮点数格式设计,本章内容数据表示 浮点数数据表示,尾数 码制可以采用原码或补码,数制可以采用整数或小数,基可以采用二进制、四进制、八进制、十进制或十六进制。多数机器采用原码、小数表示,尾数的基rm=2。阶码 码制可以采用移码或补码,数制采用整数,基re=2。一般机器都采用移码、整数表示。,2 之 1,浮点数格式设计,本章内容数据表示 浮点数数据表示,设计重点 在表数范围和表数精度
7、给定的情况下,如何确定最短的尾数字长p和阶码字长q。研究对象阶码长度q 影响表数范围。尾数长度p 影响表数精度。尾数基值rm 影响表数范围、精度及数在数轴上分布离散程度。,2 之 2,高级数据表示,本章内容数据表示,内容 堆栈、向量、数组(队列)、记录、自定义数据表示等。目的 支持数据结构,提高系统效率和性能/价格。举例 自定义数据表示。,2 之 1,自定义数据表示,本章内容数据表示,存在问题解决方法带标志符的数据表示法数据描述符表示法,2 之 2,存在问题,本章内容数据表示 自定义数据表示,在高级语言与机器语言之间存在着很大的语义差距(例如:运算符和数据类型之间的关系),增加了编译程序的负担
8、,能否在设计机器语言时,缩短与高级语言之间的差距?,带标志符的数据表示法,本章内容数据表示 自定义数据表示,思想 每个数据的格式为:例子在B5000大型机中,每个数据有一位标志符在B6500/B7500大型机中,每个数据有三位标志在R-2巨型机中采用10位标志符,标志符,数值,标志符由编译器或其它系统软件建立,对一般高级语言程序员和计算机用户透明。,4 之 1,带标志符的数据表示法,优点简化指令系统和程序设计简化编译程序便于硬件实现一致性校验能由硬件自动完成数据类型的变换为软件调试和应用软件开发提供支持,支持了数据库系统的实现与数据类型无关的要求缺点数据和指令的长度可能不一致指令执行速度降低,
9、程序设计时间、编译时间和调试时间缩短硬件复杂度增加。,本章内容数据表示 自定义数据表示,4 之 2,存储空间分析,问题 存储空间将会增加。解决 合理地设计和使用会不增反降。原因数据字增加,指令字缩小编译程序缩短,目的程序缩短,本章内容数据表示 自定义数据表示,数据字长加长,数据,指令,指令字长缩短,采用标志符的指令字长,标志符长度,不采用标志符的指令和数据字长,采用标志符的数据长度,4 之 3,存储空间分析,例:假设X处理机的数据不带标志符,其指令字长和数据字长均为32位;Y处理机的数据带标志符,数据字长增加至35位,其中3位是标志符,其指令字长由32位减少至30位。并假设一条指令平均访问两个
10、操作数,每个操作数平均被访问R次。分别计算一个有I条指令的程序在这两种不同类型的处理机中所占用的存储空间。,答:程序在X中的存储空间:程序在Y中的存储空间:二者的比值为:分析:当R3时有 BY/BX 1。在实际应用中经常是R10。,本章内容数据表示 自定义数据表示,4 之 4,数据描述符表示法,本章内容数据表示 自定义数据表示,思想 对于许多连续存放的同属性数据,例如:向量、矩阵、多维数组等,可以采用一个数据描述符作用于这样的一组数据,而没有必要让每个数据都带标志符。例子 以Burroughs公司生产的B-6700机中采用的数据描述符表示方法进行介绍。,5 之 1,B-6700中的格式,本章内
11、容数据表示 自定义数据表示,数据描述符格式 数据格式,5 之 2,取操作数的过程,本章内容数据表示 自定义数据表示,5 之 3,101,000,000,101,操作码,x,y,指令,主存储器,101,101,地址形成逻辑,寄存器,描述符,(数据),(数据),描述符,描述二维阵列(按行存储),本章内容数据表示 自定义数据表示,5 之 4,特 点,本章内容数据表示 自定义数据表示,优点整块数据可一次性操作简化编译中的代码生成 比较 标志符是和每个数据相连,合存于一个存储单元中,描述单个数据的类型特征;描述符是和数据分开存放的,专门用来描述一组数据。,5 之 5,数据表示设计,本章内容数据表示,确定
12、哪些数据类型用数据表示来实现的原则主要有:,原则一原则二,设计原则一,本章内容数据表示数据表示设计,是否提高系统的效率,即:是否减少了实现时间和所需的存储空间。实现时间的衡量主存和处理机间所需传送的消息量有否减少高速运算部件是否节省了时间是否节省了大量的辅助操作(由硬件完成)是否节省了编译所需要的时间 例子 向量数据表示的引入(例如:两个200200的定点数矩阵相加)。,设计原则二,本章内容数据表示 数据表示设计,通用性和利用率是否高。堆栈机 尽管堆栈操作速度很快,但矩阵运算效率却降低了。阵列机 还需要解决通用性问题、如何高效地实现不同的数据结构、如何确定阵列型数据表示的规模等。树型结构机器
13、堆栈、向量、链表等结构的实现低效。,寻址技术,概念 寻址技术就是寻找操作数及其他信息的地址的技术,它是软件和硬件的一个主要分界面。对象 寄存器、主存储器、堆栈和输入输出设备。,内容方法 分析各种寻址技术的优缺点,如何选择和确定寻址技术。,本章内容,编址方式 寻址方式 定位方式,编址方式,本章内容寻址技术,编址单位零地址空间个数I/O设备的编址技术并行存储器的编址技术,编址单位,本章内容寻址技术编址方式,字编址字节编址位编址,字编址,本章内容寻址技术编址方式编址单位,方法 每个编址单位与设备的访问单位相一致。即,每个编址单位所包含的信息量(例:二进制位数)与访问一次设备(指读或写)所获得的信息量
14、是相同的。优点 实现很简单,地址信息、存储器容量等没有任何浪费。缺点 没有对非数值计算的应用(要求按字节编址,因为它的基本寻址单位是字节)提供支持。,字节编址,方法 每个编址单位是字节。优点 编址单位与信息的基本单位(一个字节)相一致。缺点 地址空间的浪费。,问题 因为每个编址单位所包含的信息量(一个字节)与访问一次设备所获得的信息量(通常是一个字:字节的4倍以上)不相同,从而就产生了数据如何在存储器里存放的问题。解决 有三种:(1、2、3),本章内容寻址技术编址方式编址单位,从任意位置开始存储,优点 不浪费存储器资源。,本章内容寻址技术编址方式编址单位字节编址,缺点增加读取时间(可能需要两个
15、存储周期)存储器的读写控制比较复杂,字,单-,字节,单字,字,半-,单字,字,双-,半字,字节,存储字长:64位(8字节),主存空间,从存储字起始位置开始存储,缺点 浪费存储器资源。,本章内容寻址技术编址方式编址单位字节编址,优点读取都可以在一个存储周期内完成存储器的读写控制比较简单,存储字长:64位(8字节),主存空间,从地址整数倍位置开始存储,性能是前两种方法的折中,本章内容寻址技术编址方式编址单位字节编址,存储字长:64位(8字节),主存空间,xx00,xx08,xx10,xx18,xx20,xx28,xx30,地址,位编址,本章内容寻址技术编址方式编址单位,方法 每个编址单位是位。特点
16、 同字节编址,只不过地址信息的浪费更大。,早期的计算机大多采用字编址,目前使用最普遍的是字节编址,而位编址是一种很有应用前景的编址方式。,零地址空间个数,本章内容寻址技术编址方式,三个零地址空间 通用寄存器、主存储器和输入输出设备均独立编址。两个零地址空间 主存储器与输入输出设备统一编址。一个零地址空间 所有存储设备统一编址,最低端是通用寄存器,最高端是输入输出设备,中间为主存储器。没有零地址空间(隐含编址方式)所有存储设备都无需编址,例如:堆栈、Cache等。,I/O设备的编址技术,本章内容寻址技术编址方式,一台设备一个地址 对I/O设备本身进行编址,没有对寄存器进行编址。一台设备两个地址
17、一个地址是数据寄存器,另一个是状态或控制寄存器。一台设备多个地址 根据各种I/O设备的不同需要为它分配不同数据的地址。,并行存储器的编址技术,本章内容寻址技术编址方式,高位交叉编址 主要目的是用来扩大存储器容量。低位交叉编址 主要目的是提高存储器速度。,高位交叉编址,本章内容寻址技术编址方式并行存储器的编址技术,MBR,存储体0,MAR,0.00.0,0.0F.F,MBR,存储体1,MAR,0.10.0,0.1F.F,MBR,存储体n-1,MAR,F.F0.0,F.FF.F,译码器,高位 地址寄存器(低位),MBR 数据寄存器 MAR 地址寄存器,低位交叉编址,本章内容寻址技术编址方式并行存储
18、器的编址技术,MBR,存储体0,MAR,0.00.0,F.F0.0,MBR,存储体1,MAR,0.00.1,F.F0.1,MBR,存储体n-1,MAR,0.0F.F,F.FF.F,译码器,地址寄存器(高位)(低位),MBR 数据寄存器 MAR 地址寄存器,寻址方式,本章内容寻址技术,常用寻址方式寻址方式选择寻址方式参数大小选择,常用寻址方式的含义和使用,寻址方式选择,本章内容寻址技术寻址方式,选择方法 使用频度分析法根据指令系统风格和各种寻址方式的使用频率,选择高频率的寻址方式。例子 在VAX指令集机器上运行gcc、Spice和Tex基准程序,各种寻址方式的分布见图。,2 之 1,结论:偏移寻
19、址和立即数使用频率很高,必须支持这两种方式;对其他寻址方式,则应根据软、硬取舍原则进行选择。,2 之 2,寻址方式参数大小选择,本章内容寻址技术寻址方式,选择方法 根据频度分析法进行分析和选择。例子偏移寻址参数大小选择立即数参数大小选择,结论:偏移寻址方式中的地址长度至少为1216bit(75%99%)。,问题:偏移的范围如何确定,因为其大小直接影响指令的长度。,在Alpha体系结构计算机上使用SPEC CPU2000测试所得结果,结论:立即数寻址模式中的立即数字段长度至少为816bit(50%80%)。,问题:立即数的取值范围如何确定,因为其大小直接影响指令的长度。,在Alpha体系结构计算
20、机上使用SPEC CPU2000测试所得结果,定位方式,本章内容寻址技术,直接定位方式 在程序装入主存储器之前,程序中的指令和数据的主存物理地址就已经确定了的称为直接定位方式。静态定位方式 在程序装入主存储器的过程中随即进行地址变换,确定指令和数据的主存物理地址的称为静态定位方式。动态定位方式 在程序执行过程中,当访问到相应的指令或数据时才进行地址变换,确定指令和数据的主存物理地址的称为动态定位方式。,指令格式的优化设计,本章内容,指令的组成操作码的优化设计地址码的优化设计指令字格式的优化设计,指令的组成,本章内容指令格式的优化设计,指令一般由两部分组成:操作码和地址码。,操作码 由两部分组成
21、:指令的操作种类所用操作数的类型,地址码 由三部分组成:操作数地址地址的附加信息寻址方式,2 之 1,指令格式优化设计的目标,本章内容指令格式的优化设计,节省程序的存储空间指令格式要尽量规整,以减少硬件译码的复杂度,2 之 2,本章内容指令格式的优化设计,操作码的优化设计,评价方法固定长度操作码Huffman编码扩展编码法,本章内容指令格式的优化设计操作码的优化设计,评价方法,编码的平均码长l其中:pi:表示第i种操作码在程序中出现的概率;li:表示第i种操作码的编码长度;n:操作码的总数。,编码的信息冗余量R其中:H:为信息熵(理论上的最短平均码长)。,2 之 1,本章内容指令格式的优化设计
22、操作码的优化设计,例 子,为增加可比性,对下面介绍的编码方法采用同一例子:假设一台模型计算机,共有7种不同的指令,已知各种指令在程序中出现的概率如下表。,2 之 2,本章内容指令格式的优化设计操作码的优化设计,固定长度操作码,思想 所有指令的操作码长度都是相同的。如果需要编码的指令有n条,则固定长度操作码的位数至少需要 log2n 位。目前许多的RISC采用该思想。例子 H=1.95;l=3;R=35%特点优点:非常规整,硬件译码也很简单。缺点:浪费严重。,本章内容指令格式的优化设计操作码的优化设计,Huffman编码,思想 概率高的用短位数表示,概率低的用长位数表示。算法 利用Huffman
23、树实现。特点 是最优化的编码方式(平均码长最短,信息的冗余量最小),但操作码很不规整。,4 之 1,本章内容指令格式的优化设计操作码的优化设计,Huffman编码算法,把所有指令按照使用概率自左向右排列好。选取两个概率最小的结点合并成一个概率值是二者之和的新结点,并把这个新结点与其它还没有合并的结点一起形成新结点集合。在新结点集合中选取两个概率最小的结点进行合并,如此继续进行下去,直至全部结点合并完毕。最后得到的根结点的概率值为1。每个结点都有两个分支,分别用“0”和“1”表示。从根结点开始,沿尖头所指方向,到达属于该指令的概率结点,把沿线所经过的代码组合起来得到这条指令的操作码编码。,4 之
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 第二 指令系统

链接地址:https://www.31ppt.com/p-6023884.html