




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据表示、寻址方式与指令系统,数据表示寻址方式指令系统的设计与优化指令系统的发展和改进,本章要点,浮点数据表示IEEE754标准及应用用描述符描述多维数组浮点数尾数的基值选择;数的下溢处理方法;操作码和指令字格式的优化;Huffman编码和扩展huffman编码RISC的主要技术,2.1数据表示,数据类型:指一组数据值的集合,还定义了可作用于这个集合上的操作集。从系统结构的观点来看,数据类型可分为基本数据、结构数据(用户定义和系统数据类型)等类型。,2.1.1数据表示与数据结构一.数据结构定义:是面向软件的数据类型,反映各种数据元素或单元之间的结构关系。二.数据表示,定义:是面向硬件的数据类型,机器硬件能直接识别和引用的数据类型。,必要条件:需相应的运算指令和运算硬件(处理部件)支持。,分类:基本数据表示、高级数据表示。,基本数据表示:定点数、浮点数、十进制数、逻辑数、字符等。,三.数据表示和数据结构,数据结构的实现:通过数据表示和软件映像相结合方法实现。,数据结构与数据表示的关系:,数据表示是数据结构的一个子集;数据表示是软、硬件界面的一部分,数据结构是软件和应用界面的一部分。,数据表示选择实际上是软、硬取舍问题。,尾数m码制:可用原码或补码表示;方便运算尾数m数制:用定点纯小数表示;提高精度、性能,指数e码制:一般用移码表示;方便运算指数e数制:用定点整数表示;尾数已为小数,方便对阶,指数的基re:通常为2;方便对阶,四、浮点数数据表示,1、参数选择(1)表示方法,相关参数:尾数m、指数e的码制和数制,尾数的基rm、指数的基re,,(2)部分参数选择,2、IEEE754浮点数表示,IEEE754标准在表示浮点数时,浮点数由三部分组成:符号位S,指数部分E和尾数部分M。浮点数一般采用以下四种基本形式:(1)单精度格式(32位):除去符号位1位后,E占8位,M占23位。(2)扩展单精度格式:E=11位,M=31位。(3)双精度格式:(64位):E=11位,M=52位。(4)扩展双精度格式:E=15位,M63位。,IEEE754浮点数据表示标准:,32位浮点单精度数据格式:,单精度格式:若E=0且M=0,N为0;若E=0且M0,N=(-1)S2-126(0.M),非规格化数;若1E254,N=(-1)S2E-127(1.M),规格化数;若E=255且M0,N=NaN(非数值);若E=255且M=0,N=(-1)S(无穷大)。,例1N=-1.5,求它的IEEE单精度浮点格式,所以,S=1,E=127,M=0.5,因此N=-1.5单精度格式为,例2以下的32位数所表示的单精度浮点数为多少?11000000101000000000000000000000,其中,S=1,E=129,M=0.25,因此N=,10111111110000000000000000000000,例3将5/32转换成IEEE单精度格式。,5/32=1.25*4/32=1.25*22/25=1.25*2-3所以S=0,E=-3+127=124,M=0.25,因此5/32的单精度格式为00111110001000000000000000000000,一、自定义数据表示,目的:缩小高级语言与机器语言间语义差别;实现操作与数据类型无关的特性。自定义数据表示:由数据本身来表明数据类型,使计算机内的数据具有自定义能力。自定义数据表示的两种方法:带标识符的数据表示法:用以定义单个数据的数据类型和数值的数据表示。数据描述符表示法:用以定义复杂数据结构(如向量、矩阵、多维数组、记录等)的数据表示。,2.1.2高级数据表示,1、带标志符数据表示,带标志符的数据表示:描述单个数据,标志符是和每个数据值相连,存在同一存贮单元内。,(1)格式:,(2)特点:A.指令不需区分数据类型,运算器根据数据中的类型进行相应运算。B.标志符定义法,只对系统软件和高级语言的编译器建立,而对高级程序员则透明。,(3)优点:简化了指令系统和程序设计;简化了编译程序;由硬件自动实现一致性检验和数据类型的转变;支持了数据库系统的实现与数据类型无关的要求;为软件调试和应用软件开发提供了支持;,(4)引入可行性分析:,a.存储空间问题,根据程序局部性原理,存储空间会减少。,b.实现时间问题,取出数据后转换,必须推迟运行时间;必须有专门的指令用于标志符初始化,增加了辅助开销。,结论:,运行时间增加,宏观时间减少,存储空间减少。适合专用机(支持动态数据类型)中使用。,例:假设X和Y是两种不同的处理机,X的数据不带标志符,其指令字长和数据字长均为32位;Y的数据带标志符,数据字长增加到35位,而指令字长减少到30位,若每一条指令平均访问两个操作数,每个操作数平均访问R次,现有一个程序,它有I条指令,则:X:程序所占的空间总和为:BX32I32(2I/R);Y:程序所占的空间总和为:BY30I35(2I/R);当R3;BY/BX(15R35)/(16R32)1;因此,会使程序所占的主存空间减小;,2、数据描述符,目的:描述复杂和多维的结构类型。数据描述符与标志符的差别:,标志符描述单个数据,与数据相连,共存于同一存储单元中,是数据的一部分;,描述符描述多个数据,与数据分开,增加一级寻址,是程序的一部分。,格式:,图2.5数据描述符格式,优点:整块数据可一次性操作;简化编译中的代码生成。,在B6700计算机中,每个48位长的字,附加有3位标志符。,当标志符为000状态时,,当标志符为101时,,表明后面的字为数据值;,就表示该字为描述符。,操作方式:(见下页),B6700计算机借助描述符访问指令所需操作数的过程如下图2.6所示。,图2.6通过描述符取数据块的过程,操作码,X,Y,101,101,101,地址形成逻辑,000,000,101,指令,描述符寄存器,描述符,主存储器,(数据),(数据),通过多次使用描述符,将描述符按树形连接来描述一个3*4二维数组,可用下图2.7所示:,三元素描述符向量,阵列描述符,三元素描述符向量,四元素向量,34二维数组,四元素向量,阵列描述符,S2,S3,S4,a11a12a13a14a21a22a23a24a31a32a33a34,图2.7用二重描述符表示二维数组,S1,三、向量数据表示,向量数据表示设计内容:向量参数、向量指令(含向量处理相关硬件)、向量存取方法。,向量参数:基地址,长度和位移量,向量指令:,向量处理部件:专用的向量处理器及向量REG等;,向量操作处理:对向量元素数据的操作处理同基本数据表示处理。,向量指令示例:C(4:11)=A(4:11)+B(-4:3),稀疏向量存取:,向量存取方法:常规存取、稀疏存取,2.1.3引入数据表示的原则,1.看系统效率是否提高,体现在是否减少实现时间和是否减少存储空间方面。,举例:向量数据表示时,向量运算部件节省时间,辅助开销时间减少;向量指令减少了指令存储空间。,2.该数据表示的通用性和利用率是否高,通用性:是否对多种数据结构均适用。,利用率:设置的硬件的利用率。,举例:树型与指针数据表示。树型:对向量、数组等支持不够;指针:对多种数据结构支持较好。,四、堆栈数据表示(自己看),2.1.4浮点数尾数基值大小和下溢处理方法的选择,1.浮点数尾数基值的选择,为讨论选择不同浮点数尾数基值的影响,我们用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采用尾基为rm的浮点数表示的特性及其举例,(1)可表示数的范围。由表2.1知,可表示的最小值为,rm增大,将减少;而可表示的最大值为,其中1-2-m部分为常数,rm增大,由于增大,而使可表示的最大值增大。因此,随rm的增大,可表示数的范围增大。换句话说,对于大的rm值,为表示相同范围的数,其阶码的位数p可以减少。,(2)可表示数的个数。由表2.1知,可表示数的个数为,其中2p+m为常数,所以rm的增大将因增大,而使可表示数的个数增多。很容易得出,rm用16与用2的可表示数的个数之比为,(3)数在实数轴上的分布。对比表2.2和表2.3,可以看出rm用16的比用2的可表示数在实数轴上的分布要稀。例如在1/2和2之间,rm为2的有15个值,而rm为16的只有8个值。由此可见,rm越大,数的密度分布要稀的多。,表2.2p=2,m=4,rm=2的规格化浮点数,表2.3p=2,m=4,rm=16的规格化浮点数,(4)可表示数的精度。由于rm愈大,数在数轴上的分布变稀,已可得出数的表示精度下降的结论。从另一个角度分析,由于机器尾数位数m相同情况下,规格化十六进制尾数最高数位中可能出现4位机器位中的左面3位均为0,即rm=2的可能比rm=16的有多3位机器位的精度。若rm=2k,则最坏情况下,尾数中只用到m-k+1位机器位来表示,所以,可表示数的精度随rm增大而单调下降。,(5)运算中的精度损失。运算中的精度损失是指由于运算过程中尾数右移出机器字长使得有效数字丢失后所造成的精度损失,因此它与可表示数的精度是两个不同的概念。由于尾数基值rm取大后,对阶移位的机会和次数要少,且由于数的表示范围扩大,也使出现尾数溢出需右规的机会减少。因此rm愈大,尾数右移的可能性愈小,精度的损失就越小。,(6)运算速度。由于rm大时发生因对阶或尾数溢出需右移及规格化需左移的次数显著减少,因此运算速度可以提高。,rm应根据应用需求选择:大型机上rm较大,微型机一般取为2。,2.浮点数尾数的下溢处理方法,截断法:将尾数超出机器字长的部分简单截去。特点:实现简单,不用增加硬件,但最大误差太大,平均误差最大,且无法调节,所以一般不用(2)舍入法:在机器运算部分的规定字长之外增设一位附加位,存放溢出部分的最高位,每当进行尾数下溢处理时,将此附加位加1;特点:实现简单,增加的硬件少,最大误差小,平均误差接近于0,稍偏正。但是处理速度比较慢,一般用于中低速机器或要求精度损失尽可能小的场合;,(3)恒置“1”法:在机器运算部分的规定字长之最低位恒置“1”状态;特点:这种方法实现简单,不需要增加硬件和处理时间,平均误差接近于0,稍偏正;但最大误差太大;适用于中高速机器;。(4)查表舍入法:用Rom或PLA存放下溢处理表,每次经查表来读出相应的处理结果;下溢处理表的内容安排为当尾数最低k-1位为全“1”时以截断法设置处理结果,其他情况按舍入法设置下溢处理结果。特点:速度较快,平均误差接近于0;但是硬件设备量增多。,图2.9rm=2,m=2时,各种下溢处理方法的误差曲线,几种方法比较:舍入法及查表舍入法较好,但舍入法平均误差稍偏正(0.5时进位),查表舍入法平均误差最接近零。下溢处理方法选择:选择查表舍入法。,1、在相同的机器字长和尾数位数的情况下,浮点数尾数基值取小,可使浮点数()A运算过程中数的精度损失降低B数在数轴上的分布变密C可表示数的范围增大D可表示数的个数增多2、浮点数尾数基值rm=8,尾数数值部分长6位,可表示的最小正尾数为()A0.5B.0.25C.0.125D.1/643、在尾数下溢处理方法中,平均误差最大的是()A截断法B.舍入法C恒置“1”法D.ROM查表法4.浮点数尾数基值rm=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大正尾数为()A1/2B.15/16C.1/256D.255/256,目标:确定指令中操作数存储部件的编址方式和寻址方式。一、编址方式1.对象:Register、Memory、堆栈;2.编址单位(以存储器为例)A、Word方式:每个编址单位与设备存储器访问单位相一致,实现简单。但不支持非数值计算,如String,Char等的运算。B、Byte方式:Normalmode,因为编址单位=信息的基本单位。出现的问题:存放单位和访问单位不一致的问题,因此将产生如何存放数据的问题。(最流行)C.Bit方式:优缺点与字节编址相同,但可有力地支持可变字长运算。但太复杂,一般不用。,2.2寻址方式,3.Byte编址方式下,产生的存贮和访问问题任意位置存放数据节省空间、损失时间;存储字的起始位置存放数据-节省时间、浪费空间;在数据长度的整数倍位置存放数据两者折衷。整数边界对齐原则:字节XXXXX单字XXX00半字XXXX0双字XX000故:R/W都能在1个周期内完成;但浪费相对更减小。,4.编址方式地址的编址,通常有三种不同方式:按各种部件分类编址。各种部件从“0”开始单独编址,构成多个一维线性地址空间。指令短,地址简单,编址范围大。但指令应有区分标志或使用约定。统一编址。把部件统一编成一个从“0”开始的一维线性地址,对部件的访问反映为对地址的访问。有利于简化指令系统,但使得地址形成较为复杂。隐式地址。采用约定的编址方式,不必计算部件地址,加快访问速度。但指令设计不规范。通常采用第一种方法,有时辅以其他方法。,定义:寻找操作数及数据存放单元的方法称为寻址方式。汇编和组成已经介绍了基本原理。下面要从计算机系统结构的角度介绍寻址方式的设计思想计算机主存、寄存器、堆栈分类编址,因此寻址面向主存、寄存器、堆栈进行寻址。(1)面向寄存器速度快(2)面向堆栈减轻编译负担(3)面向主存针对大量数据操作面向寄存器的寻址方式,操作数、结果都在ROPCROPCR,ROPCR,R,ROPCR,M,二、寻址方式,面向主存储器的寻址方式:直接和间接寻址。直接寻址指令无法容纳长的地址码,修改程序没有再入性,即修改数据还必须修改指令。间接寻址,在主存高端或者寄存器中存放间接地址,指令可以很短。OPCMOPCM,MOPCM,M,M面向堆栈的寻址方式,地址是隐含的,不必给出操作数地址:OPCOPCM,三、定位方式,1、物理地址与逻辑地址各程序逻辑地址均从零开始。程序执行时使用的是物理地址。多任务OS引发程序定位问题。,2、定位方法直接定位物理地址=逻辑地址;静态定位物理地址=逻辑地址+a,a不可变,装入时修改程序得到物理地址;动态定位物理地址=逻辑地址+a,a=(BX)可变,执行时计算(不修改程序)得到物理地址。,动态定位是最流行的方法。,1、指令系统设计规则(1)完备性-所有功能都包含在指令系统中;(2)规整性,均匀性-相似操作及操作数有相同的规定;(3)正交性-分离原则,不同字段相互独立;(4)可组合性-指令操作适应于各种数据类型和寻址方式;(5)对称性-方便编译,如A=A+B,则有B=B+A;(6)可扩充性预留空间,便于扩充;从系统结构设计人员角度出发,指令系统还应考虑到:兼容性适应性指令码密度适中,2.3指令系统的设计与优化,2.3.1指令系统设计的基本原则,2、指令系统基本设计思想,1)指令系统指令集结构设计,确定它的指令格式、类型、操作以及对操作数的访问方式。,2)指令系统功能集设计,(1)确定基本操作是由软件还是硬件实现,指标:执行时间及实现效率(性能/价格)。,(2)复杂操作用一条指令还是一串指令实现,指标:目标程序的实现效率;(CISC/RISC)支持编译程序和OS,减少语言间语义差别。,3)指令格式设计及优化,包括操作码、寻址方式和指令字格式设计及优化。,指标:平均码长、方便译码、满足需求。,2.3.2指令操作码的优化,优化指令格式的主要目标:计算机中存在各种各样的信息冗余,如何节省程序的存贮空间;指令格式尽可能规整,尽可能减少译码时间.指令格式优化的途径:,指令的优化通过操作码优化和地址码优化进行。如何用最短的位数表示指令的操作信息和地址信息,使程序中指令的平均字长最短。,指令的组成:,现设一台模型机,共有7种不同的指令,使用频度如右表所示。若用定长操作码表示,则需要3位。,1.定长操作码的信息冗余量,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,操作码的信息源熵:信息源所包含的平均最短信息量.对于二进制表示的信息来说,计算公式为:H=-Pilog2Pi,其中Pi为第i个信息源的频度。信息冗余量K=1-H/操作码的实际平均长度.,1)前提条件:各种事件发生的概率不等2)哈夫曼压缩的基本思想:频率相关思想。用最短的位数(时间)来表示(处理)发生概率最高的事件,而对出现概率较低的,用较长的位数(时间)来表示(处理),就会导致表示(处理)的平均位数(时间)的缩短。3)表示方法:哈夫曼树。,2、哈夫曼编码,则信息冗余量K=1-H/操作码的实际平均长度=1-2.17/3=0.28(即28%),相当大。为减少此信息冗余量,改用哈夫曼编码。,4)哈夫曼树实现方法:,(1)将事件按出现频率次序排列;(2)将出现频率最小的两个事件合并(频率相加)后,再按出现频率次序重新排列;(3)继续过程(2),直至剩下一个频率(构成一棵树);(4)置树中每左和右子树分别为1和0,直至叶结点;(5)叶结点编码为从根结点到叶结点的编码组合。,频率相等的事件可任意排列。,5)采用哈夫曼编码,操作码表示的平均长度L=Li*PiLi:第i个操作码的长度,1,1,1,1,1,1,0,0,0,0,0,0,0.03,0.03,0.04,0.05,0.15,0.30,0.40,I7I6I5I4I3I2I1,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.201.36%,0,10,110,11100,11101,11110,11111,利哈夫曼算法,构造哈夫曼树,5555321,哈夫曼编码并不是唯一的,只要将沿线所经过的“1”或“0”互换一下,就可得到一组新的编码。而且,当有多个相同的最小频度时,由于频度结合的次序不同,使用树的形状不同,也会使编码不同,但是虽然编码形式有所不同,但平均码长却是一样的。,1,01,001,00011,00010,00001,00000,0,1,0,1,0,1,0,1,1,0,1,0,5555321,哈夫曼编码方法可使平均码长减少,但表示指令操作码长度很不规整,因此要采用一种折衷方法。扩展编码法就是其中一种较好的选择。扩展操作码编码是介于定长二进制编码和哈夫曼编码之间。操作码长度不是定长的,但只有有限的几种码长。思想:利用概率高的用短操作码表示,概率低的用长操作码表示。常用扩展方法等长扩展法,以4-8-12为例,即每次扩展4位,有15/15/15编码法及8/64/512编码法,3、扩展哈夫曼编码,15/15/15编码法,8/64/512编码法,0000,0001,1110,1111,0000,1111,1111,1111,1111,1111,1111,1111,1111,1110,1110,0001,0000,0001,1111,1111,0000,0001,0111,1000,0000,1000,0001,1111,0111,1000,1000,0000,1000,1000,0001,0111,15,15,15,8,64,512,15/15/15编码法和8/64/512编码法,15/15/15编码法适用于pi在前15种指令中比较大,而在30种指令后急剧减小的情况。8/64/512编码法适用于pi在前8种指令中比较大,且之后的64种指令的pi也不是过小时。衡量标准:码长pili最短。注意扩展目标(各频率段)间关系。无论是哈夫曼编码,还是扩展哈夫曼编码,其中的短码都不能与长码的首部有相同。,表4.1操作码的扩展,结果:哈夫曼编码平均码长最短;定长编码最长。,注意:I4至I7的哈夫曼扩展编码长原为5,优化为4。,例.某计算机有10条指令,它们的使用频率分别为0.30,0.20,0.16,0.09,0.08,0.07,0.04,0.03,0.02,0.01(1)用哈夫曼编码对它们的操作码进行编码,并计算平均代码长度。(2)用扩展哈夫曼编码法对操作码进行编码,限两种操作码长度,并计算平均代码长度。,0.300.200.160.090.080.070.040.030.020.011101101001100110000001000010000010000002233444566,采用长度为2和长度为4两种编码:(共10个频度,采用频度较高的用两位操作码表示,00、01表示0.30、0.20,留下10和11两个2位码作为剩余的8个长码的扩展标志,分别扩展出2位码)0.300.200.160.090.080.070.040.030.020.01000110001001101010111100110111101111平均代码长度为:(0.30+0.20)2+(1-0.30-0.20)4=3.0,平均代码长度为(0.30+0.20)2+(0.16+0.09)3+(0.08+0.07+0.04)4+0.035+(0.02+0.01)6=1+0.75+0.76+0.15+0.18=2.84,练习题,假设某模型机共有7条指令,7条指令I1I7使用的频度分别为:0.35,0.25,0.20,0.10,0.04,0.03,0.03,(1)利用哈夫曼算法,构造哈夫曼树,并给出哈夫曼编码和平均码长(2)给出哈夫曼扩展码编码(两种码长)。,2.3.3、指令字格式的优化,优化了操作码,还必须优化地址码,程序所需总位数才得以减少。,1)涉及问题:地址码个数的如何选择最优?如何缩短地址码?2)地址码个数的选择A.三地址指令:(OPC,AD,AS1,AS2)B.两地址指令:(OPC,AD,AS)C.单地址指令:(OPC,A)D.零地址指令:(OPC),那么如何选择地址码的个数呢?我们先来评价一下这几种表示方法的优缺点,评价的标准就是程序的存储量和程序的执行速度。例:计算x=(a*b+c-d)/(e+f);下面程序中,A表数据a的地址,其他类推,用R1,R2等表示通用寄存器(累加器),用Y等表存放中间结果的存储单元,所有程序都用直接寻址编址;用三地址指令用二地址指令MULX,A,BMOVX,AADDX,X,CMULX,BSUBX,X,DADDX,CADDY,E,FSUBX,DDIVX,X,YMOVY,EADDY,FDIVX,Y,用一地址指令:用零地址:用多累加器(通用寄存器)二地址指令编写LOADEPUSHAMOVR1,AADDFPUSHBMULR1,BSTOREXMULADDR1,CLOADAPUSHCSUBR1,DMULBADDMOVR2,EADDCPUSHDADDR2,FSUBDSUBDIVR1,R2DIVXPUSHEMOVX,R1STOREXPUSHFADDDIVPOPX,“P“表操作码长;“A”表地址码长;“D”表数据长;“R”表通用寄存器长;,“B”表字节数;,取D4A16P16B,分析结果:(1)对于向量、矩阵运算为主的计算机系统,可以采用三地址结构;(2)对于二地址结构,只有采用多累加器才是可取的;用于数据传送操作,速度很快;(3)如果硬件结构要求简单,并且以连续运算为主,如求累加和等,宜采用一地址结构;(4)对于解决递归问题为主的机器,宜采用零地址结构。,3)缩短地址码的方法问题分析:由于逻辑地址空间的大小固定的。因此,缩短的地址码长度的根本目的是用一个较短的地址码表示一个比较大的逻辑地址空间。问题的解决方法:A.用间接寻址方式缩短地址码的长度。即通过在RAM的低端开辟一个专门的存放地址的区域。B.用变址寻址方式缩短地址码的长度,地址偏移量比较短。C.用RegisterIndirectAddressing方法MOVBX,offsetxADDAX,BXADDCX,BX.,2.4指令系统的发展和改进,改进指令系统有两种不同的途径和方向:CISC和RISC2.4.2按CISC方向发展和改进指令系统CISC三个优化方向:面向目标程序、面向高级语言和面向操作系统。1、面向目标程序优化实现改进基本思路:对于那些频度高的常用指令,可以考虑增强其功能,加快其执行速度,缩短其指令字长;而对于那些使用频度很低的指令就可以考虑将其取消,或将其功能合并到某些频度较高的指令中去。目标:占用存储器少(按静态使用频率来改进指令系统),访存次数少,执行时间短(按动态使用频率来改进指令系统),实现容易。,2.4.1CISC和RISC,2、CISC面向高级语言优化实现改进,目标:缩短高级语言与机器语言的语义差距,编译效率高。五个思路:(1)对高级语言语句使用频度进行统计分析,增设新指令,缩小高级语句与机器语言的语义差距。(2)面向编译优化代码生成。一开始就把指令系统设计成简单、对称、规整,其作用可能会比用新指令替代常用指令串的效果还要显著。(3)设法改进指令系统,使它与各种语言间的语义差距都有同等的缩小。(4)让机器有分别面向各种高级语言的多种指令系统,多种系统结构。从而达到减少目标程序长度,减少目标程序执行时间的目的。例:赋值语句、IF.Then.语句等的机器支持。(5)发展高级语言计算机-如Lisp计算机,prolog计算机。,3、CISC面向操作系统优化实现改进,目标:缩短操作系统与计算机系统结构的语义差距,提高运行效率,减少占主存空间。四个思路:(1)对操作系统常用指令和指令串使用频度进行统计分析来改进机器指令系统。(2)增设专用于操作系统的新指令。(3)对操作系统中频繁使用的,对速度影响大的某些软件子程序进行硬化或固化,改为直接用硬件或微程序解释实现。(4)让操作系统由专门的处理机来执行,发展功能分布处理的系统机构。,4、CISC设计风格,CISC的主要特点:(1)指令系统复杂。(复杂)(2)绝大多数指令需要多个机器时钟周期方可执行完毕。(费时)(3)各种指令都可访问存储器。(自由主义)(4)采用微程序控制。(地方主义)(5)有专用寄存器。(小金库)(6)难以用优化编译生成高效的目标代码程序。(低效率),1.CISC存在的问题:CISC指令系统过于复杂,指令规模过于庞大,呈现出20%80%的规律。CISC控制十分复杂,不规整,不符合VLSI发展的方向。在CISC处理机中,大量使用微程序技术以实现CISC,硬件开销大,使用频度低。软硬件功能分配问题:在CISC中,虽然增加了硬件指令,但并不能保证整个程序执行时间的缩短。因为这些复杂指令要消耗较多的CPU周期数,但又不常用,增加了编译程序的复杂性。,2.4.3按RISC方向发展和改进指令系统,2.RISC结构设计原则:(1)选择使用频度高的指令,增加少量支持操作系统和高级语言实现及其他功能的有用指令,寻址方式也取最基本的一、两种,使指令条数少,格式简单,并具有相同长度。(2)提高处理速度,采用流水技术使每一条指令都在一个机器周期内完成。(3)大部分指令操作在寄存器之间进行,采用硬件逻辑控制实现操作,只有少量使用微程序实现。(4)简化编译工作,一个周期完成一条指令操作,编译器易于调整指令流。,3、RISC主要特征,(1)简化指令系统;(寄存器-寄存器型)简单(2)除了LOAD/STORE指令外,所有指令都在一个时钟周期内执行完毕;(指令功能和执行周期权衡选择)省时(3)除了LOAD/STORE指令外,其余指令只与寄存器打交道;集体主义(4)绝大部分采用硬联线控制,不用或少用微程序实现;(少数采用微程序设计)搞活流通(5)使用较多的通用寄存器,一般至少有32个,绝没有专用寄存器;查封小金库(6)采用优化编译技术,生成高效的目标代码程序。高效率,4、RISC技术中所采用的特殊方法,1)窗口重叠寄存器目的:缩短CALL、RETURN等指令的执行时间。寄存器窗口技术:就是把所有寄存器分成很多小组,每个过程分配一个寄存器小组,当发生过程调用时,自动地把CPU转换到不同的寄存器小组使用,不再需要作保存和恢复的操作,这个寄存器小组就叫做寄存器窗口,相邻的寄存器窗口间有部分是重叠的,便于调用参数传送。方法:将设置的寄存器(数量多),分成多个组和全局区;每个组中分高、局部(本地)、低三个区;相邻组的高、低区重叠(共享),加速参数与结果传递。,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年烟草四川公司招聘考试真题及答案
- 中级计量经济学知到智慧树答案
- 计算机三级(信息安全技术)考试题(含答案)
- 中外名建筑赏析知到智慧树答案
- 中西方文化比较知到智慧树答案
- 中西医结合基础思路研究与方法知到智慧树答案
- 中学生物实验教学知到智慧树答案
- 2025版水电安装工程合同履行与维护合同
- 2025年仓储配送一体化大数据分析服务合同
- 2025版土地储备项目合作开发中介服务合同
- 勉县一中小升初数学试卷
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 第1课 中国古代政治制度的形成与发展 课件 统编版高中历史选择性必修1
- 药师考试历年真题综合测试试卷(含答案)
- 2025年村级防疫员考试模拟试题及答案
- 快餐公司门店设备夜间关闭管理制度
- 以童心为笔:基于儿童心理发展需求的小学校园公共活动空间设计
- 2025年度日语能力测试N4级试卷含答案与解析
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 板带轧机刚度对热轧板形的影响
评论
0/150
提交评论