




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2 2章章 数据表示与指令系统数据表示与指令系统2.1 2.1 数据表示数据表示2.2 2.2 寻址方式寻址方式2.3 2.3 指令格式的优化设计指令格式的优化设计2.4 2.4 按按CISCCISC方向发展与改进指令系统方向发展与改进指令系统2.5 2.5 按按RISCRISC方向发展与改进指令系统方向发展与改进指令系统本章重点本章重点: : 自定义数据表示;浮点数尾数基值选择;尾数自定义数据表示;浮点数尾数基值选择;尾数下溢处理方法;寻址方式中的再定位技术;整数边下溢处理方法;寻址方式中的再定位技术;整数边界存贮;操作码和指令字格式的优化;界存贮;操作码和指令字格式的优化; CISCC
2、ISC指令系统的改进途径综述;指令系统的改进途径综述;RISCRISC概念及所概念及所采用的基本技术等。采用的基本技术等。本章难点:本章难点: 浮点数尾数基值的选择;操作码和指令字格式浮点数尾数基值的选择;操作码和指令字格式的优化。的优化。2.1 2.1 数据表示数据表示2.1.12.1.1数据表示与数据结构数据表示与数据结构 1.1.基本概念基本概念 1)1)数据表示数据表示:能由机器硬件直接识别和的引用:能由机器硬件直接识别和的引用 的数据类型的数据类型。 2)2)数据结构数据结构:各种数据元素或信息单元之间的:各种数据元素或信息单元之间的 结构关系结构关系。 3)3)两者关系两者关系 a
3、)a)数据结构是通过软件映像将信息变换成数数据结构是通过软件映像将信息变换成数 据表示来实现的,表示是结构的元素。据表示来实现的,表示是结构的元素。 b)b)不同的表示为结构的实现提供不同的支持,不同的表示为结构的实现提供不同的支持, 表现在实现的效率和方便性上。表现在实现的效率和方便性上。 c)c)结构和表示是软、硬件的交接面。结构和表示是软、硬件的交接面。2.2.数据表示的发展数据表示的发展 1)1)早期只有定点数表示早期只有定点数表示 ,浮点数用两个定点,浮点数用两个定点数表示其阶码和尾码。数表示其阶码和尾码。 2)502)50年代初提出变址操作,为向量、阵列提供年代初提出变址操作,为向
4、量、阵列提供了直接的数据支持。见下页图示或了直接的数据支持。见下页图示或P P2828: 3)3)可变长字符串可变长字符串( (行行) )数据表示的引入,为串数数据表示的引入,为串数据结构的实现提供了支持。据结构的实现提供了支持。 aA1i变址寄存器变址寄存器变址加法器变址加法器有效地址有效地址1主存主存a+0a+1a+ia+n-1操作码操作码变址位变址位变址位变址位A1A2变址操作对向量、阵列数据结构的支持变址操作对向量、阵列数据结构的支持2.1.2 2.1.2 高级数据表示高级数据表示1.1.自定义数据表示自定义数据表示 1)1)带标志符的数据表示带标志符的数据表示 a)a)高级语言与机器
5、语言的差别高级语言与机器语言的差别: 高级:用类型说明语句指明类型,类型与数高级:用类型说明语句指明类型,类型与数 据相联系,运算符不反映类型,通用。据相联系,运算符不反映类型,通用。 int a,b,sum; sum=a+b;int a,b,sum; sum=a+b; 机器:用操作码指明操作数的类型。机器:用操作码指明操作数的类型。 浮加浮加ab b)b)上述差别导致编译时,要将高级语言中的类上述差别导致编译时,要将高级语言中的类型说明、运算符转换为机器语言的相应操作码型说明、运算符转换为机器语言的相应操作码并验证,不一致还要软件转换,负担大。因此,并验证,不一致还要软件转换,负担大。因此,
6、我们用到了带标志符的数据标志,即每个数据我们用到了带标志符的数据标志,即每个数据都带上数据标志。都带上数据标志。类型标志类型标志数据值数据值数据数据( (字字) ) c)c)优点:优点: 简化了指令系统和程序设计。简化了指令系统和程序设计。 简化了编译程序。简化了编译程序。 便于实现一致性校验。便于实现一致性校验。 能由硬件自动变换数据类型。能由硬件自动变换数据类型。 支持了数据库系统的实现与类型无关的要求。支持了数据库系统的实现与类型无关的要求。 为软件调试和应用软件开发提供了支持。为软件调试和应用软件开发提供了支持。 d)d)存在问题存在问题: 每个数据字因增设标志符,程序所占用的每个数据
7、字因增设标志符,程序所占用的 主存空间会增加。主存空间会增加。 会降低指令的执行速度。会降低指令的执行速度。AB指令指令( (多多) )数据数据( (少少) )采用标志符采用标志符指令字缩短指令字缩短不用标志符不用标志符采用标志符采用标志符数据字增长数据字增长 2)2)数据描述符数据描述符 a)a)目的目的:进一步减少标志符所占空间,对于向:进一步减少标志符所占空间,对于向量、数组、记录等数据,每个元素具有相同属性,量、数组、记录等数据,每个元素具有相同属性,为此提出了数据描述符。为此提出了数据描述符。 b)b)与标志符的区别:与标志符的区别: 标志符标志符:与每个数据相连,合存一个单元,:与
8、每个数据相连,合存一个单元,描述单个数据的类型特征。描述单个数据的类型特征。 描述符描述符:和数据分开,描述要访问数据是单:和数据分开,描述要访问数据是单个还是整块,及所需地址等信息。个还是整块,及所需地址等信息。 例:例:B6700地址地址长度长度数据数据各种标志各种标志101000描述符描述符数据数据操作码操作码指令指令XY101000000101101101地址形成逻辑地址形成逻辑描述符描述符描述符描述符数据数据数据数据主存贮器主存贮器 c)c)可以按树型连接来描述多维数据结构。如:可以按树型连接来描述多维数据结构。如:1011011011010000000000000000000000
9、00000000000000a31 阵列描述符阵列描述符三元素向量三元素向量3 34 4维阵列维阵列a11a12a13a14a21a22a23a24a31a32a33a343 34 4维阵列维阵列a12a11a13a14a21a22a23a24a33a32a342.2.向量数组数据表示向量数组数据表示 1)1)目的目的:为向量、数组的实现和快速运算提供更:为向量、数组的实现和快速运算提供更好的硬件支持,引入了向量数组数据表示,组成好的硬件支持,引入了向量数组数据表示,组成向量处理机。向量处理机。 a)a)无向量数组表示的机器,需借助变址操作来实无向量数组表示的机器,需借助变址操作来实现,且各指
10、令、求解、判界只能顺序执行,难以现,且各指令、求解、判界只能顺序执行,难以并行处理并行处理。 例:例:c ci i=i+1; i=1100;=i+1; i=1100; for(i=1;i101;i+)for(i=1;i22的可表示浮点数个数与的可表示浮点数个数与r rm m=2=2 的可表示浮点数个数之比。的可表示浮点数个数之比。 计算公式计算公式: : e= 2e= 21-p1-p(1-r(1-rm m -1-1)(1+ (2)(1+ (2p p-1)/ log-1)/ log2 2 r rm m) ) 例例:p=8, r:p=8, rm m =16 =16时,时, e= 0.47e= 0.
11、47 由表示比可知,由表示比可知, r rm m越大,越大,e e越小,数的分越小,数的分布越是稀疏。布越是稀疏。 c)c)总结:总结: r rm m增大:增大: 增大表示范围增大表示范围 增加表示个数增加表示个数 减少移位次数减少移位次数 降低精度损失降低精度损失 提高运算速度提高运算速度 降低表示精度降低表示精度 分布越加离散分布越加离散2.2.浮点数尾数的下溢处理方法浮点数尾数的下溢处理方法 数据运算过程中的相乘或右移,使超出运算器数据运算过程中的相乘或右移,使超出运算器 和存贮器字长的部分丢弃造成精度损失,为减和存贮器字长的部分丢弃造成精度损失,为减 少精度损失,关键要处理好尾数下溢问
12、题。下少精度损失,关键要处理好尾数下溢问题。下 面以面以r rm m=2,m=2=2,m=2来讨论。来讨论。 1)1)截断法截断法 a)a)方法方法: :将尾数超出机器字部分简单截去。将尾数超出机器字部分简单截去。 b)b)最大误差:最大误差: 整数接近整数接近1 1,二进制分数接近,二进制分数接近2 2-m-m 正负正负:正数:正数 产生负误差产生负误差 分布分布:间隔相同,均匀分布。:间隔相同,均匀分布。 c)c)误差曲线:误差曲线: d)d)优点优点: 简单,不增加简单,不增加 硬件,不增加硬件,不增加 时间。时间。 e)e)缺点缺点: 最大误差大,最大误差大, 平均误差无法平均误差无法
13、 调节。调节。0000011011处理结果处理结果实际值实际值00 000 101 001 1理想直线理想直线最大误差最大误差稳态值稳态值截断法截断法 2)2)舍入法舍入法 a)a)方法方法: :在规定字长外增设一位附加位,存放溢在规定字长外增设一位附加位,存放溢出部分高位,处理时该位加出部分高位,处理时该位加1 1。 b)b)最大误差:最大误差: 整数二进制为整数二进制为0.50.5,分数为,分数为2 2-(m+1)-(m+1)。 正负:有正有负。正负:有正有负。 分布:统计平均误差接近零,稍偏正,无法分布:统计平均误差接近零,稍偏正,无法 调节。调节。 c)c)误差曲线误差曲线 d)d)优
14、点优点: 增加硬件少,增加硬件少, 最大误差小,最大误差小, 平均误差接近零。平均误差接近零。 e)e)缺点缺点: 处理速度慢。处理速度慢。0000011011实际值实际值00 000 101 001 1理想直线理想直线最大误差最大误差处理结果处理结果舍入法舍入法 3)3)恒置恒置“1”1”法法 a)a)方法方法: :在规定字长之最低位恒置成在规定字长之最低位恒置成“1”1”状态状态。 b)b)最大误差:最大误差: 整数二进制为整数二进制为1 1,分数为,分数为2 2-m-m。 正负:有正有负。正负:有正有负。 分布:统计平均误差接近零,稍偏正,无法分布:统计平均误差接近零,稍偏正,无法 调节
15、。调节。 c)c)误差曲线误差曲线: : d)d)优点优点: 实现简单,不增实现简单,不增 加硬件和处理时加硬件和处理时 间,平均误差接间,平均误差接 近零。近零。 e)e)缺点缺点: 最大误差大。最大误差大。 0000011011处理结果处理结果实际值实际值00 000 101 001 1理想直线理想直线最大误差最大误差恒置恒置“1”1”法法 4)4)查表舍入法查表舍入法 a)a)方法方法: :基于存贮逻辑思想,用基于存贮逻辑思想,用ROMROM或或PLAPLA存放下溢存放下溢处理表。处理表。 当当k-1k-1位全位位全位“1”1”时,以截断法处理;其它以时,以截断法处理;其它以 舍入法处理
16、。舍入法处理。 长结果长结果较短近似值较短近似值尾数尾数尾数尾数2kROMk-1低位低位k-1低位低位 被舍掉的位被舍掉的位高位高位 b)b)最大误差:最大误差: 最大为最大为1 1。 正负:有正有负。正负:有正有负。 分布:不均匀,平均误差为零,可调节。分布:不均匀,平均误差为零,可调节。 c)c)优点:优点: ROMROM速度快,平均误差可调为零,可调节。速度快,平均误差可调为零,可调节。 d)d)缺点:缺点: 增加过多硬件设备增加过多硬件设备。2.2 2.2 寻址方式寻址方式 寻址方式是指指令按什么方式询问寻址方式是指指令按什么方式询问( (或访问或访问) )到所需要的操作数或信息的。到
17、所需要的操作数或信息的。2.2.1 2.2.1 寻址方式分析寻址方式分析 能被指令访问到的存放数据或信息的部件能被指令访问到的存放数据或信息的部件: :主存、堆栈及各种寄存器主存、堆栈及各种寄存器( (通用、控制、设备等通用、控制、设备等) )。1.1.不同机器的编址方式不同机器的编址方式 1)1)把部件分类,各自从把部件分类,各自从“0”0”开始单独编址,构开始单独编址,构成多个一维线性地址空间。指令短,地址简单,成多个一维线性地址空间。指令短,地址简单,编址范围大。但指令应有区分标志或使用约定。编址范围大。但指令应有区分标志或使用约定。 2)2)把部件统一编成一个从把部件统一编成一个从“0
18、”0”开始的一维线性开始的一维线性地址,对部件的访问反映为对地址的访问。有利地址,对部件的访问反映为对地址的访问。有利于简化指令系统。于简化指令系统。 3)3)隐式地址,采用约定的编址方式,不必计算隐式地址,采用约定的编址方式,不必计算部件地址,加快访问速度。但指令设计不规范。部件地址,加快访问速度。但指令设计不规范。 2.2.寻址方式寻址方式 1)1)面向寄存器面向寄存器速度快速度快 2)2)面向堆栈面向堆栈减轻编译负担减轻编译负担 3)3)面向内存面向内存针对大量数据操作针对大量数据操作 三者反映了不同工作阶段的特点,不应相互排三者反映了不同工作阶段的特点,不应相互排斥。在同一系统中,都应
19、采用,只是一种为主,斥。在同一系统中,都应采用,只是一种为主,其它为辅,以取长补短。其它为辅,以取长补短。 地址码形成物理地址方法:立即寻址、直接寻地址码形成物理地址方法:立即寻址、直接寻址、间接寻址、相对寻址、编址寻址等。址、间接寻址、相对寻址、编址寻址等。3.3.寻址方式的两种指明方式寻址方式的两种指明方式 1)1)占用操作码的某些位来指明占用操作码的某些位来指明 2)2)在地址码部分专门设置寻址方式位来指明在地址码部分专门设置寻址方式位来指明 相比较而言,寻址方式位法寻址灵活,操相比较而言,寻址方式位法寻址灵活,操作码短,但需专门的寻址位字段,和操作码的作码短,但需专门的寻址位字段,和操
20、作码的总位数会比占用操作码位来指明要长。总位数会比占用操作码位来指明要长。2.2.2 2.2.2 逻辑地址与主存物理地址逻辑地址与主存物理地址 1.1.基本概念基本概念 1)1)逻辑地址逻辑地址: :程序员编程时使用的地址。程序员编程时使用的地址。 2)2)主存物理地址主存物理地址:程序在主存中的实际地址:程序在主存中的实际地址。 3)3)两者发展变化两者发展变化 a)a)早期是一致的,程序与数据的地址由程序员编早期是一致的,程序与数据的地址由程序员编程时决定和指明。程时决定和指明。 b)b)随着汇编、编译程序和随着汇编、编译程序和OSOS的出现,变得不一致。的出现,变得不一致。多道程序执行,
21、程序员事先不知道程序装入主存多道程序执行,程序员事先不知道程序装入主存的地址,各个逻辑地址都从的地址,各个逻辑地址都从0 0开始,而主存是一维开始,而主存是一维线性从线性从0 0开始编址,导致不一致。开始编址,导致不一致。 一般是程序装入内存时,需要转换,即再定位一般是程序装入内存时,需要转换,即再定位。A A道程序的逻辑地址空间道程序的逻辑地址空间0加加转移转移gsgs加加转移转移a+ga+sa+ga+sa0ma+m主存空间主存空间A A道程序道程序地址空间地址空间逻辑地址空间到物理地址空间的变换逻辑地址空间到物理地址空间的变换下界下界上界上界2.2.程序定位方法程序定位方法 1)1)静态再
22、定位静态再定位 a)a)思想思想: :利用冯利用冯. .诺依曼型机器指令可修改的特诺依曼型机器指令可修改的特 点,程序装入内存时,用软件方法把逻辑地址变点,程序装入内存时,用软件方法把逻辑地址变换成物理地址,执行时物理地址不再改变。换成物理地址,执行时物理地址不再改变。 b)b)缺点缺点:一道程序地址修改错误会导致其它程序:一道程序地址修改错误会导致其它程序被破坏,防碍程序再入性,不利于调试,给重叠、被破坏,防碍程序再入性,不利于调试,给重叠、流水带来困难。流水带来困难。6060年代后,不准修改指令。年代后,不准修改指令。 2)2)动态再定位动态再定位 a)a)思想思想: :基于变址思想,提出
23、了基址寻址法,增基于变址思想,提出了基址寻址法,增加相应基址寄存器和地址加法器,执行时逻辑加相应基址寄存器和地址加法器,执行时逻辑地址加基址即可形成物理地址而访问。地址加基址即可形成物理地址而访问。指令地址码指令地址码基址寄存器基址寄存器逻辑逻辑(形式形式)地址地址程序基点程序基点(a)地址加法器地址加法器物理物理( (有效有效) )地址地址基址寻址基址寻址3.3.基址寻址与变址寻址基址寻址与变址寻址 1)1)变址寻址变址寻址: :对向量、数组等数据块运算的支对向量、数组等数据块运算的支 持,以利于实现程序的循环。持,以利于实现程序的循环。 2)2)基址寻址基址寻址: :对逻辑地址空间到物理地
24、址空间的对逻辑地址空间到物理地址空间的 支持,以利于实现程序的动态再定位。其实质支持,以利于实现程序的动态再定位。其实质 是将静态再定位的软件实现用地址加法器硬件是将静态再定位的软件实现用地址加法器硬件 替换了,以加快地址变换的速度。替换了,以加快地址变换的速度。 4.4.界限保护界限保护 1)1)原因原因: :地址不是直接取自指令地址码,而是由地址不是直接取自指令地址码,而是由 地址硬件变换的来,为防止出错,生成物理地地址硬件变换的来,为防止出错,生成物理地 址后要判断其有效性。址后要判断其有效性。 2)2)原则原则: :当生成的有效地址小于下界值或大于上当生成的有效地址小于下界值或大于上
25、界值时,就出现地址越界错误,需经中断转入界值时,就出现地址越界错误,需经中断转入 越界分析和处理。越界分析和处理。 3)3)方法方法: :设置上下界寄存器,保护上下界地址。设置上下界寄存器,保护上下界地址。 还可设置多对上下界寄存器,保证一道程序可还可设置多对上下界寄存器,保证一道程序可 以访问多个连续空间。以访问多个连续空间。 5.5.物理地址空间的信息分布物理地址空间的信息分布 同台机器可存贮多种宽度信息同台机器可存贮多种宽度信息: :字节、字、半字节、字、半 字、双字等。如:字、双字等。如: 字节字节字节字节浪费浪费半半字字字字字字双双单单 字字单单半半 字字浪浪 费费双双 字字单单 字
26、字单单 字字主存宽度主存宽度主存宽度主存宽度8 8个字节个字节8 8个字节个字节(a)(b)各种宽度信息的存贮各种宽度信息的存贮 1)1)存贮原则存贮原则: :存贮于主存中的各位信息必须是其信存贮于主存中的各位信息必须是其信 息位数的整数倍,即按整数边界存贮。息位数的整数倍,即按整数边界存贮。 2) )优点优点: :减少了访问周期,有利于提高访问速度。减少了访问周期,有利于提高访问速度。 3)3)缺点缺点: :浪费存贮空间。浪费存贮空间。2.32.3 指令格式的优化设计指令格式的优化设计 从程序设计者角度看,指令系统是机器的主从程序设计者角度看,指令系统是机器的主要属性,是软硬件的交界面,决定
27、了计算机的功要属性,是软硬件的交界面,决定了计算机的功能。指令系统的设计包括指令功能能。指令系统的设计包括指令功能( (操作类型、具操作类型、具体操作内容体操作内容) )和和格式的设计格式的设计。2.3.1 2.3.1 操作码的优化操作码的优化 1.1.基本概念基本概念 1)1)指令指令: :由操作码和地址码由操作码和地址码( (操作数操作数) )组成。组成。 2)2)指令格式的优化指令格式的优化: :用最短的位数来表示指令用最短的位数来表示指令 的操作信息和地址信息,使程序中指令的平均的操作信息和地址信息,使程序中指令的平均 字长最短。字长最短。 3)3)哈夫曼压缩思想哈夫曼压缩思想:当各种
28、事件发生概率不等时,:当各种事件发生概率不等时,概率最高事件用最短位数表示,概率低事件用长概率最高事件用最短位数表示,概率低事件用长位数表示,就会使平均位数缩短。可用于代码、位数表示,就会使平均位数缩短。可用于代码、程序、存贮空间、时间等的压缩。程序、存贮空间、时间等的压缩。 2.2.操作码的优化表示操作码的优化表示 1)1)目的目的: :缩短指令字长度,减少程序总位数,增加缩短指令字长度,减少程序总位数,增加指令字所能表示的操作信息和地址信息。指令字所能表示的操作信息和地址信息。 2)2)信息源熵信息源熵H H: :信息量的单位,表示信息源所包含信息量的单位,表示信息源所包含的平均信息量。对
29、于二进制表示的信息来说,计的平均信息量。对于二进制表示的信息来说,计算公式为:算公式为: H=H=ppi iloglog2 2p pi i 其中,其中,p pi i是指令的使用频度是指令的使用频度。ni=1 3)定长操作码的信息冗余量定长操作码的信息冗余量 指令指令指令指令使用频度使用频度(pi)使用频度使用频度(pi)I1I2I3I4I5I6I70.400.300.150.050.040.030.03表表2.4 某模型机指令使用频度举例某模型机指令使用频度举例 按上表数据带入公式计算按上表数据带入公式计算H,得,得 H=0.40*1.32+0.30*1.74+0.15*2.74 +0.05*
30、4.32+0.04*4.64+0.03*5.06 +0.03*5.06 =2.17 说明表示这说明表示这7 7种指令,操作码平均只需种指令,操作码平均只需2.17位位 就够了。采用就够了。采用3位定长操作码表示的位定长操作码表示的冗余冗余为:为: ( (实际平均长度实际平均长度H)/H)/实际平均长度实际平均长度 计算得,计算得,(32.17)/3=0.28=28%,信息冗余相当大,信息冗余相当大。 4)4)哈夫曼编码哈夫曼编码 a)a)构造哈夫曼树构造哈夫曼树 将指令的使用频度由小到大排序将指令的使用频度由小到大排序 每次选最小两个频度结合一个新节点每次选最小两个频度结合一个新节点 再按频度
31、大小插入余下未结合的频度值中再按频度大小插入余下未结合的频度值中 如此重复直至全部结合完毕成根节点如此重复直至全部结合完毕成根节点“1”1” 沿两个分支,分别用沿两个分支,分别用“0”0”或或“1”1”来表示来表示 这样,从根节点开始,沿线到达个频度指令的这样,从根节点开始,沿线到达个频度指令的代码序列就是该指令的哈夫曼编码。如下图:代码序列就是该指令的哈夫曼编码。如下图: 1.000.600.300.150.060.030.030.030.030.030.040.030.050.030.150.030.300.030.400.09000000111111I7I6I5I4I3I2I1图图2.1
32、4 哈夫曼树举例哈夫曼树举例 b)b)编码结果及其冗余编码结果及其冗余 频度频度 (pi)指令指令op长长 liop长长 li操作码操作码op使用使用 哈夫曼编码哈夫曼编码利用哈夫曼概念利用哈夫曼概念 的扩展编码的扩展编码 表表2.5 操作码的哈夫曼编码与扩展编码操作码的哈夫曼编码与扩展编码I1I2I3I4I5I6I70.400.300.150.050.040.030.0301011011100111011111011111000110110011011110111112355552224444 结果如上表结果如上表 平均码长平均码长: : ppi il li i=0.4=0.4* *1+0.
33、31+0.3* *2+0.152+0.15* *3+0.053+0.05* *5 5 +0.04 +0.04* *5+0.035+0.03* *5+0.035+0.03* *5 5 =2.20 =2.20 冗余冗余:(2.2-2.17)/2.2=1.36:(2.2-2.17)/2.2=1.36% %2828% % c) c)缺点缺点: :操作码不规整,操作码不规整,7 7条指令,条指令,4 4中码中码 长,不便于译码,不适用。长,不便于译码,不适用。 5)5)扩展操作码编码扩展操作码编码 a)a)思想思想: :结合哈夫曼编码与定长二进制编码思想,结合哈夫曼编码与定长二进制编码思想,只用有限几种
34、码长只用有限几种码长( (本例两种本例两种) ),仍是概率大的用,仍是概率大的用长码,小的用短码。以此来缩短码长,降低冗余长码,小的用短码。以此来缩短码长,降低冗余量,便于译码。量,便于译码。 b) b) 编码结果及冗余编码结果及冗余 结果如上表结果如上表 平均码长平均码长: : pili=2.30 冗余冗余: :(2.3-2.17)/2.3=5.65%28% c)c)优点优点: :冗余略高于哈夫曼编码,但远远小于定冗余略高于哈夫曼编码,但远远小于定长编码,且便于译码,比较适用。长编码,且便于译码,比较适用。 编码方式编码方式 整个操作系统所用整个操作系统所用指令的操作码总位数指令的操作码总位
35、数改进百分比改进百分比 (%)定长定长8位位4610位位哈夫曼法哈夫曼法301 248位位184 966位位172 346位位03943表表2.6 B1700操作码编码方式比较操作码编码方式比较 d)d)常用扩展方法常用扩展方法 等长扩展法等长扩展法 如如4 48 81212等,早期用。等,早期用。 15/15/1515/15/15编码法编码法 适用于适用于p pi i在前在前1515种指令中比较大,而在种指令中比较大,而在3030种种 指令后急剧减小的情况。指令后急剧减小的情况。 8/64/5128/64/512编码法编码法 适用于适用于p pi i在前在前8 8种指令中比较大,且之后的种指
36、令中比较大,且之后的 6464种指令的种指令的p pi i也不是过小时。也不是过小时。 衡量标准衡量标准: :码长码长ppi il li i最短。最短。 15/15/15编码法编码法8/64/512编码法编码法0000000111101111 0000111111111111 11111111 11111111 1111 111011100001000000011111 11110000000101111000 00001000 00011111 01111000 1000 00001000 1000 0001011115151586451215/15/15编码法和编码法和8/64/512编码
37、法编码法2.3.2 2.3.2 指令字格式的优化指令字格式的优化 只对操作码表示优化,不对地址码表示和寻址只对操作码表示优化,不对地址码表示和寻址 方式采取措施,程序所需总位数难以减少。方式采取措施,程序所需总位数难以减少。 1)问题的提出问题的提出:主存按位编址,指令一条条挨:主存按位编址,指令一条条挨 着存贮,会使程序所需总位数减少,但是速度着存贮,会使程序所需总位数减少,但是速度 明显下降。为了不降低访存取指速度,就要按明显下降。为了不降低访存取指速度,就要按 整数边界存贮。这样,操作码优化表示所带来整数边界存贮。这样,操作码优化表示所带来li的的缩短只是使指令字内出现空白浪费缩短只是使
38、指令字内出现空白浪费( (冗余冗余) )。显然。显然只有地址码也是可变长的,才能用上空白部分。只有地址码也是可变长的,才能用上空白部分。下面分析定长下面分析定长(L)指令字情况:指令字情况: 显然,只有地址码可变长,才能避免冗余,显然,只有地址码可变长,才能避免冗余, 发挥操作码优化表示所带来的作用。发挥操作码优化表示所带来的作用。 定长指令字长度定长指令字长度L L地址码地址码地址码地址码地址码地址码空白浪费空白浪费空白浪费空白浪费liliminlimax 等长地址码发挥不出等长地址码发挥不出 操作码优化表示的作用操作码优化表示的作用kk+1k+2k+4k+5k+6k+7k+8k+9k+3主
39、存宽度主存宽度任意长度指令字在按位编址任意长度指令字在按位编址 主存中存贮的情况主存中存贮的情况 1)1)地址码长度优化:地址码长度优化: a)a)从访存范围考虑,地址码越长越好。从访存范围考虑,地址码越长越好。 b)b)在满足寻址范围前提下,可以缩短其位数。在满足寻址范围前提下,可以缩短其位数。 基址寻址基址寻址: :指明基址寄存器号指明基址寄存器号 B B为基址寄存器号,存放为基址寄存器号,存放2424位基地址。位基地址。BD指令中访存地址码部分指令中访存地址码部分4位位12位位 相对寻址相对寻址: :指明相对位移,相对位移不会太大。指明相对位移,相对位移不会太大。 地址分段地址分段: :
40、地址由段号和段内地址组成。段内地址由段号和段内地址组成。段内 转移,不需指明段号;断间转移,指明段号。转移,不需指明段号;断间转移,指明段号。 寄存器间接寻址寄存器间接寻址: :操作数存在寄存器内或经寄存操作数存在寄存器内或经寄存器访存,则地址码宽度只需窄到指明寄存器号就器访存,则地址码宽度只需窄到指明寄存器号就可以了。可以了。段号段号段内地址段内地址 多种地址制多种地址制: :地址字段个数多,指令功能强,宏地址字段个数多,指令功能强,宏观所需指令条数少。且同一地址制可采用多种地观所需指令条数少。且同一地址制可采用多种地址形式和长度,或利用空白处存放直接操作数及址形式和长度,或利用空白处存放直
41、接操作数及常数。常数。地址码地址码地址码地址码地址码地址码地址码地址码地址码地址码地址码地址码操作码操作码操作码操作码操作码操作码操作码操作码操作码操作码操作码操作码RRRRR立即数立即数访存地址访存地址S三地址制三地址制二地址制二地址制一地址制一地址制R-RR-R型型R-RR-R型型立即型立即型4位位4位位4位位4位位1616位定长指令字位定长指令字图图2.18 在定长指令字在定长指令字 内实现多种地址制内实现多种地址制 图图2.19 同种地址制下同种地址制下的多种地址形式和长度的多种地址形式和长度 例如例如:A+B:A+B C C 单地址实现单地址实现: :取取A A,加,加B B,送,送
42、C C三条指令。三条指令。 多地址实现多地址实现:只需一条指令。:只需一条指令。 以上是对定长指令,还可考虑多种指令长度,以上是对定长指令,还可考虑多种指令长度,更能减小信息冗余,缩短程序长度。更能减小信息冗余,缩短程序长度。 通过不同的寻址方式、地址制、地址形式和通过不同的寻址方式、地址制、地址形式和 地址码长度及多种指令字长与可变长操作码的地址码长度及多种指令字长与可变长操作码的 优化表示相结合,可以设计冗余尽可能小的指优化表示相结合,可以设计冗余尽可能小的指 令字以节省空间。令字以节省空间。加加ABC补充知识:补充知识:例如例如:IBM370 的指令格式的指令格式 R1 、 R2、R3为
43、操作数寄存器和结果寄存器号为操作数寄存器和结果寄存器号 B1 、 B2表示基址寄存器号表示基址寄存器号 D1 、D2表示相对位移表示相对位移 他们分别由操作码的最高二位状态来指明其长他们分别由操作码的最高二位状态来指明其长 度和格式,规则为:度和格式,规则为: 00为为RR格式,指令字长格式,指令字长16位位 01为为RX格式,指令字长格式,指令字长32位位 10为为RS或或SI格式,指令字长格式,指令字长32位位 11为为SS格式,指令字长格式,指令字长48位位 R代表寄存器,代表寄存器,S代表存贮器,代表存贮器,X代表变址,代表变址,I代表立代表立即操作数。即操作数。 操作码操作码B2D2
44、84412RX操作码操作码操作数操作数长度长度(S)B1B2D1D288441212SS操作码操作码常数常数LB1D188412SIR1X24操作码操作码B2D284412RSR1R34444128操作码操作码RRR1R2448图图2.20 IBM 370指令的主要格式指令的主要格式2.4 2.4 按按CISCCISC方向发展与改进指令系统方向发展与改进指令系统 1.CISC1.CISC的改进思路的改进思路 如何进一步增强原有指令的功能以及设置如何进一步增强原有指令的功能以及设置更为复杂的新指令取代原来由子程序完成的更为复杂的新指令取代原来由子程序完成的功能,功能, 实现软件功能的硬化。结果是
45、系统愈加庞实现软件功能的硬化。结果是系统愈加庞大、复杂,称为复杂指令系统计算机。大、复杂,称为复杂指令系统计算机。(Complex Instruction Set Computer,CISC)。2.CISC2.CISC的改进途径的改进途径( (三个三个) ) 1)1)面向目标程序的优化实现来改进面向目标程序的优化实现来改进 a)a)目的目的:提高各机器语言目标程序的效率,减:提高各机器语言目标程序的效率,减少存贮空间,提高运行速度,容易实现。少存贮空间,提高运行速度,容易实现。 b)b)思路思路: 按统计出的指令和指令串的使用频度来分析按统计出的指令和指令串的使用频度来分析改进改进 静态使用频
46、度静态使用频度:对程序中出现的指令及指令串:对程序中出现的指令及指令串进行统计得到的百分比。目的是减少目标程序所进行统计得到的百分比。目的是减少目标程序所占用的存贮空间。占用的存贮空间。 动态使用频度动态使用频度:在目标程序执行中对指令和:在目标程序执行中对指令和 指令串统计的百分比。目的是减少目标程序的指令串统计的百分比。目的是减少目标程序的 执行时间。执行时间。 高频度指令高频度指令增强功能,加快速度,缩短字长。增强功能,加快速度,缩短字长。 低频度指令低频度指令功能合并到高频指令中或取消。功能合并到高频指令中或取消。 高频指令串高频指令串用新指令取代用新指令取代可以减少访存,可以减少访存
47、, 加快速度,缩短长度。加快速度,缩短长度。 如如下面的例子:下面的例子: 成组取成组取R1R3B2D20812162031成组传送成组传送B1D108162032L3647D2B2条件转移条件转移M1R2081215条件转移条件转移M1X20812162031B2D2 增设强功能的复合指令,取代原先由宏指令或增设强功能的复合指令,取代原先由宏指令或子程序实现的功能,可以提高运算速度,减少程子程序实现的功能,可以提高运算速度,减少程序调用的额外开销,也减少子程序所占用的空间。序调用的额外开销,也减少子程序所占用的空间。 例如例如IBM 370370上增设的上增设的“翻译翻译”指令的形式为:指令
48、的形式为:翻译翻译LB1D1B2D2081620323647 原则一原则一:不删改原有指令,增设强功能指令替:不删改原有指令,增设强功能指令替代对代对“瓶颈瓶颈”有直接影响的常用指令,以满足软件有直接影响的常用指令,以满足软件向后兼容,从而新指令程序效率更高。向后兼容,从而新指令程序效率更高。 原则二原则二:尽量减少程序中如存取、传送、转:尽量减少程序中如存取、传送、转移、比较等不执行数据变换的非功能型指令,增移、比较等不执行数据变换的非功能型指令,增加真正执行数据变换的加、减、乘、除等功能型加真正执行数据变换的加、减、乘、除等功能型指令的比例。指令的比例。 2)2)面向高级语言的优化来实现面
49、向高级语言的优化来实现 a)a)目的目的:尽可能缩短高级语言和机器语言的语义差:尽可能缩短高级语言和机器语言的语义差距,以利于支持高级语言的编译系统,缩短编译程距,以利于支持高级语言的编译系统,缩短编译程序的长度和编译所需的时间。序的长度和编译所需的时间。 b)b)思路思路: 对源程序中各高级语言的使用频度进行分析对源程序中各高级语言的使用频度进行分析 由于不同的高级语言用途不同,语句使用频度由于不同的高级语言用途不同,语句使用频度差异很大,因此指令系统难以对各种语言都是优化差异很大,因此指令系统难以对各种语言都是优化的,只能对用户面向的高级语言优化。是零碎、局的,只能对用户面向的高级语言优化
50、。是零碎、局部的。部的。 面向编译,优化代码生成来实现面向编译,优化代码生成来实现 增强系统结构的规整性,减少特殊用法,让增强系统结构的规整性,减少特殊用法,让所有运算对称、均匀地在存贮所有运算对称、均匀地在存贮( (寄存寄存) )单元进行,单元进行,同等对待所有的存贮同等对待所有的存贮( (寄存寄存) )单元。否则编译时会单元。否则编译时会为优化管理通用寄存器的使用而增加辅助性开销。为优化管理通用寄存器的使用而增加辅助性开销。 高级语言与机器语言的差距是造成代码复杂、高级语言与机器语言的差距是造成代码复杂、效率低的原因。但系统结构点也不能太过靠近某效率低的原因。但系统结构点也不能太过靠近某一
51、高级语言而造成与其它语言差距更大,如下图:一高级语言而造成与其它语言差距更大,如下图: 原则原则: 指令系统设计为比较的通用和基本,对指令系统设计为比较的通用和基本,对每种语言都不远非是优化的,只要通过编译能比每种语言都不远非是优化的,只要通过编译能比较高效的实现即可。较高效的实现即可。 改进指令系统改进指令系统 使系统节点与各种语言的语义差距都减小,使系统节点与各种语言的语义差距都减小,如上图,把系统结构节点右移。如上图,把系统结构节点右移。右移右移COBOLBASIC FORTRANPL/IAPLVon Neumann型型 系统结构系统结构各种语言与传统机器指令系统结构的语义差距各种语言与
52、传统机器指令系统结构的语义差距 动态切换动态切换 分别面向各种高级语言的多种指令系统、分别面向各种高级语言的多种指令系统、多种系统结构,并能动态切换。多种系统结构,并能动态切换。 BASIC虚拟机虚拟机 面向面向 BASIC系统结构系统结构FORTRAN 虚拟机虚拟机 面向面向 FORTRAN 系统结构系统结构COBOL虚拟机虚拟机 面向面向 COBOL系统结构系统结构操作系统操作系统 SDL 虚拟机虚拟机 面向面向 SDL系统结构系统结构微程序微程序机机 器器B B17001700具有多种系统结构具有多种系统结构 发展高级语言机器发展高级语言机器 进一步增大解释比重,直至机器语言与高级进一步
53、增大解释比重,直至机器语言与高级语言几乎没有语义差距。此时,高级语言机器不语言几乎没有语义差距。此时,高级语言机器不需要编译。需要编译。 两种形式两种形式: 一种是让高级语言直接成为机器的汇编语言,一种是让高级语言直接成为机器的汇编语言,使高级语言和机器语言基本一一对应,称这种为使高级语言和机器语言基本一一对应,称这种为间接执行高级语言机器。间接执行高级语言机器。 另一种是高级语言本身作为机器语言,由硬另一种是高级语言本身作为机器语言,由硬件或固件对其语句逐条解释执行,不需编译和汇件或固件对其语句逐条解释执行,不需编译和汇编,称为直接执行高级语言机器。编,称为直接执行高级语言机器。 3)3)面
54、向操作系统的优化来实现改进面向操作系统的优化来实现改进 a)a)背景背景:OSOS几乎占用计算机系统资源的三分几乎占用计算机系统资源的三分之一,甚至更多。若系统结构对之一,甚至更多。若系统结构对OSOS的支持不的支持不够,不能使够,不能使OSOS中的进程管理、设备管理、文中的进程管理、设备管理、文件管理、中断处理等比现有系统有更好的性件管理、中断处理等比现有系统有更好的性能和更高的效率,计算机系统就难以得到发能和更高的效率,计算机系统就难以得到发展。而且,展。而且,OSOS的实现更深依于赖系统结构是的实现更深依于赖系统结构是否为它的实现提供相应的硬件支持。否为它的实现提供相应的硬件支持。 b)
55、b)目的目的:缩短:缩短OSOS与系统结构的语义差距,减与系统结构的语义差距,减少运行少运行OSOS所需的辅助时间,节省所需的辅助时间,节省OSOS软件所占软件所占用的存贮空间。用的存贮空间。 c)c)思路思路: 统计和分析统计和分析OSOS中常用指令中常用指令( (串串) )的使用频度的使用频度 增加专用于增加专用于OSOS的新指令的新指令 硬化或固化子程序的某些功能硬化或固化子程序的某些功能 硬件实现用于提高系统执行效率和速度,减硬件实现用于提高系统执行效率和速度,减 小小OSOS的开销。适用于能确切定义、稳定的机构的开销。适用于能确切定义、稳定的机构 型功能。型功能。( (进程管理、信息
56、保护、存贮管理等进程管理、信息保护、存贮管理等) ) 软件实现用于提供系统灵活性。这一方法不软件实现用于提供系统灵活性。这一方法不 适用因环境而异、不稳定的策略型功能。适用因环境而异、不稳定的策略型功能。( (上机上机 费用、作业排队、用户标示等)费用、作业排队、用户标示等) 发展功能分布处理系统结构发展功能分布处理系统结构 A进程进程 B进程进程 主存主存(按字节编址按字节编址)07取取C存存C增值增值K1LCK公公用用区区A、B进程共用进程共用K公用区独立给公用区独立给C增值增值条件码条件码补充补充:举例举例 A A进程进程 B B进程进程A1:A1:测试与置定测试与置定L B1:L B1
57、:测试与置定测试与置定L L 条件转移条件转移A1 A1 条件转移条件转移B1 B1 调用公用区调用公用区K K 调用公用区调用公用区K K K K公用区子程序公用区子程序 K1:K1:取取C C 增值增值 存存C C 清除清除L L 返回返回测试与置定测试与置定未用未用B2D208162031 采用比较与交换指令后,采用比较与交换指令后,A A给给C C增值改成:增值改成: 取取R R1 1, C (C) R, C (C) R1 1, , A1:A1:取取R R3 3, R, R1 1 (R(R1 1) ) R R3 3 增值增值R R3 3 (R(R3 3)+1 )+1 R R3 3 比较
58、与交换比较与交换 若若(R(R1 1) )(C),(R(C),(R3 3) C,) C,置条件码为置条件码为0000 R R1 1, R, R3 3, C , C 若若(R(R1 1) )(C),(C) R(C),(C) R1 1, ,置条件码为置条件码为01 01 条件转移条件转移A1 A1 若条件码为若条件码为0101进行转移进行转移比较与交换比较与交换B2D208162031R1R3123.CISC3.CISC的结构和思路存在的问题的结构和思路存在的问题 1)1)指令系统庞大,设计麻烦,周期长,成本高,指令系统庞大,设计麻烦,周期长,成本高, 可靠性低,查错和纠错代价大。可靠性低,查错和
59、纠错代价大。 2)2)指令操作烦杂,执行速度很低。指令操作烦杂,执行速度很低。 3)3)难以优化编译生成真正高效的机器语言。难以优化编译生成真正高效的机器语言。 4)4)各种指令使用频度不高,且差别大,有些指各种指令使用频度不高,且差别大,有些指 令利用率很低,降低系统性价比。令利用率很低,降低系统性价比。 2.5 2.5 按按RISCRISC方向发展与改进指令系统方向发展与改进指令系统1. 1. RISCRISC的提出的提出 CISCCISC的问题的问题: : 1)1)指令系统庞大指令系统庞大, ,一般在一般在200200条指令以上;条指令以上;2)2)许多指令的操作繁杂,指令执行速度低;许
60、多指令的操作繁杂,指令执行速度低;3)3)由于指令系统庞大,编译程序效率低;由于指令系统庞大,编译程序效率低;4)4)由于指令系统庞大,各种指令利用率低。由于指令系统庞大,各种指令利用率低。 RISCRISC的改进思路的改进思路: : 通过减少指令总数和简化指令功能来降低硬件设通过减少指令总数和简化指令功能来降低硬件设计的复杂度,提高指令执行速度。按这种途径和方向计的复杂度,提高指令执行速度。按这种途径和方向发展,使机器指令精练简单,因此称为精简指令系统发展,使机器指令精练简单,因此称为精简指令系统计算机计算机(Reduced Instruction Set (Reduced Instruct
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025汉景帝阳陵博物院讲解员招聘模拟试卷及答案详解(有一套)
- 2025广西桂林城乡建设控股集团有限公司公开招聘5人模拟试卷附答案详解(突破训练)
- 2025河南商丘市夏邑县治安巡防队员招聘50人模拟试卷附答案详解(突破训练)
- 2025国家电网内蒙古新正产业发展有限公司全资控股公司高校毕业生招聘41人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025江苏盐城市第七人民医院招录政府购买服务用工14人考前自测高频考点模拟试题及答案详解(历年真题)
- 文库发布:洗髓功课件
- 2025海南保亭黎族苗族自治县市场监督管理局公益性岗位人员招聘1人考前自测高频考点模拟试题附答案详解(典型题)
- 安全培训考核记录培训类型课件
- 2025年甘肃庆阳庆城县事业单位引进高层次和急需紧缺人才(第三批)考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025江苏南通市兴东街道招聘综合行政执法辅助人员3人考前自测高频考点模拟试题含答案详解
- 2023年高考地理(上海卷)-含答案
- 比重式精选机的使用与维护
- GB/T 39554.1-2020全国一体化政务服务平台政务服务事项基本目录及实施清单第1部分:编码要求
- GB/T 2942-2009硫化橡胶与纤维帘线静态粘合强度的测定H抽出法
- 电梯设计系统
- 细胞培养技术培训课件
- 劳动保障协理员考试复习资料
- DB3301T 0286-2019 城市绿地养护管理质量标准
- 道路护栏设计和路侧安全净区宽度的计算
- 轴类零件工艺工序卡片
- 道德与法治-六年级(上册)-《知法守法 依法维权》教学课件
评论
0/150
提交评论