《数据表示、指令系统设计原理与优化35662.pptx》由会员分享,可在线阅读,更多相关《数据表示、指令系统设计原理与优化35662.pptx(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章第四章数据表示和指令系统数据表示和指令系统n n数据类型和表示数据类型和表示n n指令系统设计原理和优化指令系统设计原理和优化n nRISC计算机计算机本章要点本章要点t t浮点数据表示IEEE标准及应用t t自定义数据表示定义、分类及优点t t哈夫曼概念及在计算机中应用,操作码编码法t t指令系统编码方法,指令系统设计原则t t两种指令系统风格,特点(RISC、CISC)t t简述RISC的主要技术4.1引言引言(1 1)考虑计算机面向的应用领域,程序设计语言,编译程)考虑计算机面向的应用领域,程序设计语言,编译程)考虑计算机面向的应用领域,程序设计语言,编译程)考虑计算机面向的应用领
2、域,程序设计语言,编译程序,操作系统直到硬件构成等诸多因素。序,操作系统直到硬件构成等诸多因素。序,操作系统直到硬件构成等诸多因素。序,操作系统直到硬件构成等诸多因素。(2 2)如何继承软件资产,保证软件向后兼容和向上兼容也)如何继承软件资产,保证软件向后兼容和向上兼容也)如何继承软件资产,保证软件向后兼容和向上兼容也)如何继承软件资产,保证软件向后兼容和向上兼容也是要加以考虑的现实问题。是要加以考虑的现实问题。是要加以考虑的现实问题。是要加以考虑的现实问题。指令系统:指令系统:又称指令集(又称指令集(instructionset)是计算机体系结构是计算机体系结构设计的核心,是计算机软、硬件接
3、口设计的核心,是计算机软、硬件接口,是用机器语言汇编语言是用机器语言汇编语言编写程序的用户所能看到的计算机基本属性。编写程序的用户所能看到的计算机基本属性。411传统计算机指令系统的设计技术传统计算机指令系统的设计技术总之要对执行性能,软、硬件开发费用,可靠性等各种因总之要对执行性能,软、硬件开发费用,可靠性等各种因素间的矛盾,综合权衡考虑。设计一种新的指令系统,从提出素间的矛盾,综合权衡考虑。设计一种新的指令系统,从提出指令系统的编码到实现这种指令系统的硬件要经过几次反复。指令系统的编码到实现这种指令系统的硬件要经过几次反复。(1)根据计算机未来用途及通常机器指令集拟出初步指)根据计算机未来
4、用途及通常机器指令集拟出初步指令系统设计及实现,令系统设计及实现,(2)编出这套指令系统设计的编译程序,)编出这套指令系统设计的编译程序,(3)进行模拟测试,研究这套指令操作码,寻址方式及)进行模拟测试,研究这套指令操作码,寻址方式及其他效能,其他效能,(4)进行指令系统的优化。)进行指令系统的优化。(5)如此反复进行,要充分考虑计算机应用和对各类高)如此反复进行,要充分考虑计算机应用和对各类高级语言执行效率,并对大量算法进行测试,使机器效能最高。级语言执行效率,并对大量算法进行测试,使机器效能最高。计算机指令系统的设计技术基本过程:计算机指令系统的设计技术基本过程:现代计算机指令系统设计必须
5、由现代计算机指令系统设计必须由编译程序设计人员编译程序设计人员同同系系统结构设计人员统结构设计人员共同配合进行传统计算机指令系统的设计。共同配合进行传统计算机指令系统的设计。完备性:完备性:要求计算机的所有功能操作都包含在指令系统中,要求计算机的所有功能操作都包含在指令系统中,指令系统愈丰富,功能愈强,编译程序愈好写好用,运用指令系统愈丰富,功能愈强,编译程序愈好写好用,运用范围愈广。范围愈广。指令系统设计规则:指令系统设计规则:规整性,均匀性:规整性,均匀性:要使相似的操作具有相同的规定,所要使相似的操作具有相同的规定,所有操作都均匀对称地在存储器和寄存器单元间进行,尽可有操作都均匀对称地在
6、存储器和寄存器单元间进行,尽可能甚至不出现例外情况和特殊用法。能甚至不出现例外情况和特殊用法。正交性:正交性:编译程序设计人员希望数据类型、寻址方式、编译程序设计人员希望数据类型、寻址方式、操作类型都互相独立,这样便于处理,也减轻编译负担。操作类型都互相独立,这样便于处理,也减轻编译负担。可组合性对称性:可组合性对称性:指令系统对所有的寻址方式和指令系统对所有的寻址方式和所有数据类型都能适用,减化编译程序的代码生成。所有数据类型都能适用,减化编译程序的代码生成。从系统结构设计人员角度出发,指令系统还应考虑到:从系统结构设计人员角度出发,指令系统还应考虑到:兼容性:兼容性:指令系统设计多次反复,
7、注意简单周到,还应指令系统设计多次反复,注意简单周到,还应注意系列机中软件兼容性注意系列机中软件兼容性可扩性:可扩性:保留一定余量的操作码空间,为以后扩展用,保留一定余量的操作码空间,为以后扩展用,并适应工艺技术的新发展。并适应工艺技术的新发展。指令码高密度性:指令码高密度性:对于那些频度高的指令串可以进行优对于那些频度高的指令串可以进行优化,设计新指令代替,提高指令码密度,减少存储容量化,设计新指令代替,提高指令码密度,减少存储容量和访问存储器次数,以提高效率。和访问存储器次数,以提高效率。4.1.2指令系统发展的两种途径指令系统发展的两种途径CISC,RISC(一一一一)复杂指令集计算机(
8、复杂指令集计算机(复杂指令集计算机(复杂指令集计算机(CISCCISC)(二二二二)精简指令系统计算机(精简指令系统计算机(精简指令系统计算机(精简指令系统计算机(RISCRISC)通过减少指令总数和简化指令的功能来降低硬件设计通过减少指令总数和简化指令的功能来降低硬件设计通过减少指令总数和简化指令的功能来降低硬件设计通过减少指令总数和简化指令的功能来降低硬件设计的复杂程度,提高指令执行速度,使指令简单,有效可行。的复杂程度,提高指令执行速度,使指令简单,有效可行。的复杂程度,提高指令执行速度,使指令简单,有效可行。的复杂程度,提高指令执行速度,使指令简单,有效可行。指令系统庞大指令系统庞大硬
9、件复杂、庞大硬件复杂、庞大执行速度低执行速度低编译程序复杂、长编译程序复杂、长部分指令使用效率低部分指令使用效率低PENTIUM处理器:处理器:RISC特特征征:某某些些指指令令以以硬硬连连线线来来实实现现,并并能能在在一一个个时时钟钟周周期执行完;期执行完;CISC特特征征:用用微微代代码码实实现现,需需要要2-3个个时时钟钟周周期期的的执执行行时时间间,有有多多种种寻寻址址方方式式,多多种种指指令令长长度度,为为数数不不多多的的通通用用寄寄存器。存器。4.2数据类型和数据表示数据类型和数据表示4.2.1数据类型数据类型计算机中常用数据有三类:计算机中常用数据有三类:计算机中常用数据有三类:
10、计算机中常用数据有三类:用户定义的数据用户定义的数据系统数据系统数据指令数据指令数据数数据据类类型型:指指一一组组数数据据值值的的集集合合,还还定定义义了了可可作作用用于于这这个个集集合上的操作集。合上的操作集。从从系系统统结结构构看看有有基基本本数数据据类类型型,结结构构数数据据类类型型,抽抽象象数数据据类型和访问指针。类型和访问指针。用户定义用户定义系统数据类型系统数据类型4.2.2基本数据表示基本数据表示 数数数数据据据据表表表表示示示示:指指指指在在在在计计计计算算算算机机机机中中中中能能能能由由由由硬硬硬硬件件件件直直直直接接接接辩辩辩辩认认认认,指指指指令令令令系统可以直接调用的数
11、据类型。系统可以直接调用的数据类型。系统可以直接调用的数据类型。系统可以直接调用的数据类型。数数据据结结构构:结结构构化化数数据据的的组组织织方方式式,它它反反应应了了应应用用中中各各种种数数据据元元或或信信息息元元间间的的结结构构关关系系。它它必必须须通通过过软软件件映映象象,变变换换成成机机器器中中所所具具有有的的(存存储储于于一一维维存存储储器内)各种数据表示来实现的。器内)各种数据表示来实现的。数据表示实质上是一个软、硬件取舍的问题。数据表示实质上是一个软、硬件取舍的问题。4.2.4二进制定点,浮点,二进制定点,浮点,数据表示数据表示IEEE754IEEE754浮点数据表示标准:浮点数
12、据表示标准:浮点数据表示标准:浮点数据表示标准:1823S符号位符号位EM指数指数尾数尾数32位单精度形式位单精度形式11152S符号位符号位EM指数指数尾数尾数64位双精度形式位双精度形式32位浮点单精度数据形式:位浮点单精度数据形式:4.2.5自定义数据表示自定义数据表示 为为为为了了了了缩缩缩缩短短短短机机机机器器器器语语语语言言言言同同同同高高高高级级级级语语语语言言言言对对对对数数数数据据据据属属属属性性性性的的的的说明之间的语义差距。说明之间的语义差距。说明之间的语义差距。说明之间的语义差距。目的:目的:自定义数据表示:自定义数据表示:由数据本身来表明数据类型,使由数据本身来表明数
13、据类型,使计算机内的数据具有自定义能力。计算机内的数据具有自定义能力。分类:分类:v带标志符的数据表示带标志符的数据表示v数据描述符数据描述符带标志符的数据表示:带标志符的数据表示:描述简单数据,标志符是和每个数描述简单数据,标志符是和每个数据值相连,存在同一存贮单元内。据值相连,存在同一存贮单元内。数据标志位数据标志位数据值数据值优点:优点:(1)简化了指令系统。简化了指令系统。(2 2)容易检出程序编制中的错误。)容易检出程序编制中的错误。(3 3)简化了编译程序。)简化了编译程序。(4 4)支持数据库系统支持数据库系统。(5)简化程序设计)简化程序设计。(6 6)便于软件测试。)便于软件
14、测试。缺点:缺点:每个字都增加了标志位,使字长增长。每个字都增加了标志位,使字长增长。但另一方面:但另一方面:缩短了目的程序长度。缩短了目的程序长度。操作码总数减少导致操操作码总数减少导致操 作码位数减少。作码位数减少。降低指令的执行速度。降低指令的执行速度。但:但:编制时间、调试时间减少,编制时间编制时间、调试时间减少,编制时间+调调试时间试时间+执行时间减少。执行时间减少。与其他计算机的兼容性差,硬件复杂。与其他计算机的兼容性差,硬件复杂。数据描述符:数据描述符:用来描述复杂和多维数据,如向量、数组、记用来描述复杂和多维数据,如向量、数组、记录等,描述符专用来描述所要访问数据的特性,它和数
15、据字录等,描述符专用来描述所要访问数据的特性,它和数据字分开存储,机器经描述符形成访问每个元素的地址及其他信分开存储,机器经描述符形成访问每个元素的地址及其他信息,增加一级以上寻址,(描述符或数据字)而数据字本身息,增加一级以上寻址,(描述符或数据字)而数据字本身又是带标志符数据表示。又是带标志符数据表示。与带标志符数据表示不同之处:与带标志符数据表示不同之处:标志符要与每个数据相连,两者合存在一个存储器单元标志符要与每个数据相连,两者合存在一个存储器单元中;而描述符则和数据分开放;中;而描述符则和数据分开放;要访问数据集中的元素时,必须先访问描述符,这就至少要访问数据集中的元素时,必须先访问
16、描述符,这就至少要增加一级寻址;要增加一级寻址;描述符可看成是程序一部分,而不是数据一部分,因为它描述符可看成是程序一部分,而不是数据一部分,因为它是专门来描述要访问的数据的特性。是专门来描述要访问的数据的特性。现以现以B6500,7500为例进行自定义数据表示的说明为例进行自定义数据表示的说明数据数据000数值数值描述符描述符101P CISRTD长度长度地址地址311112022011数据描述符数据描述符0:单精度数据:单精度数据1:双精度数据:双精度数据1:不连续数据:不连续数据0:连续数据:连续数据1:数据集中的一个:数据集中的一个0:数据集的全体:数据集的全体1:在主存中:在主存中0
17、:不在主存中:不在主存中只准读出的数据只准读出的数据00:数据描述符:数据描述符写其他描述符写其他描述符1013101410141014000000000000000000000000000000000000用数据描述符描述一个用数据描述符描述一个3*4二维阵列:二维阵列:三元素向量三元素向量四元素向量四元素向量块内的元块内的元素个数素个数四元素向量四元素向量四元素向量四元素向量描述符读取操作数过程描述符读取操作数过程操作码操作码X Y101101101地址形成逻辑地址形成逻辑000000101指令指令寄存器寄存器描述符描述符描述符描述符主存储器主存储器(数据)(数据)(数据)(数据)CDCS
18、TAR-100计算机对每一个计算机对每一个向量数据用基地址,长度向量数据用基地址,长度和位移量三个参量表示,其中对于指令,操作向量的起始地和位移量三个参量表示,其中对于指令,操作向量的起始地址址=基址基址+位移量,操作向量有效长度位移量,操作向量有效长度=向量长度向量长度-位移量位移量向量加向量加XAYBZC其中其中X,Y,Z各区段表示寄存器号,分别表示源向量各区段表示寄存器号,分别表示源向量A,B和结果向量的位移量,而和结果向量的位移量,而A,B,C各区段分别存放源向量各区段分别存放源向量A,B和结果向量和结果向量C的基地址及长度。的基地址及长度。4.2.6向量数据表示向量数据表示向量:向量
19、:指具有指具有n个数据的数组。个数据的数组。特点:特点:各个数据称为数组的元素,而每个数据应具有相同的各个数据称为数组的元素,而每个数据应具有相同的数据类型,数据类型,(如实数或逻辑数如实数或逻辑数);相同的数据表示(如字长、;相同的数据表示(如字长、字的格式相同);进行相同的操作;而各数据之间是独立无字的格式相同);进行相同的操作;而各数据之间是独立无关的,这样的一个数组称为向量。关的,这样的一个数组称为向量。基地址基地址向量长度向量长度向量数据表示的参数向量数据表示的参数起始地址起始地址(基地址十位移量)(基地址十位移量)向量有效长度向量有效长度位移量位移量.A0 A1 A2 A3 A4A
20、5 A6A7A01 0 0 1 1 0 0 1A3A2(0)A1(0)A4A7A6(0)A5(0)A0A7A4A301234567稀疏向量稀疏向量压缩向量压缩向量排序向排序向量量稀疏向量的压缩表示稀疏向量的压缩表示4.3指令系统设计原理指令系统设计原理指令系统中指令编码方法:指令系统中指令编码方法:指令系统中指令编码方法:指令系统中指令编码方法:1.1.正交法正交法正交法正交法指令中的每个分段(包括操作码、操作数地址等)指令中的每个分段(包括操作码、操作数地址等)指令中的每个分段(包括操作码、操作数地址等)指令中的每个分段(包括操作码、操作数地址等)相互独立,相互独立,相互独立,相互独立,操作
21、数地址的编码同操作码无关,反之亦然操作数地址的编码同操作码无关,反之亦然操作数地址的编码同操作码无关,反之亦然操作数地址的编码同操作码无关,反之亦然。优点:优点:优点:优点:对流水机特别适用,微程序控制数量减少。对流水机特别适用,微程序控制数量减少。对流水机特别适用,微程序控制数量减少。对流水机特别适用,微程序控制数量减少。2.整体法整体法指令中各个分段在译码时相互有关,操作码同操作数指令中各个分段在译码时相互有关,操作码同操作数地址的分界线并不清楚。地址的分界线并不清楚。优优点点:可可以以把把使使用用频频度度高高的的操操作作码码同同操操作作数数地地址址码码组组合合起起来来,加加以以缩缩短短优
22、优化化,而而使使用用频频度度低低的的可可以以较较长长些些,这这样样可可以以节节省省存存贮容量。贮容量。缺缺点点:在在用用微微程程序序控控制制时时,微微程程序序数数量量较较多多,需需要要有有较较大大的的微微程序控制存贮器。程序控制存贮器。3.混合法混合法这种方法把上两种方法的优点结合起来。这种方法把上两种方法的优点结合起来。(二)指令系统及结构的分类(二)指令系统及结构的分类指令系统也可以按下面几个准则分类:指令系统也可以按下面几个准则分类:指令系统也可以按下面几个准则分类:指令系统也可以按下面几个准则分类:1.1.每条指令中显式指明的操作数个数每条指令中显式指明的操作数个数每条指令中显式指明的
23、操作数个数每条指令中显式指明的操作数个数2.2.CPUCPU中存放操作数部件的类型中存放操作数部件的类型中存放操作数部件的类型中存放操作数部件的类型3.3.数据类型和数据表示数据类型和数据表示数据类型和数据表示数据类型和数据表示4.4.ALUALU指令的操作数个数和位置指令的操作数个数和位置指令的操作数个数和位置指令的操作数个数和位置基本思想:基本思想:计算机系统中的一些基本操作(包括操作系统计算机系统中的一些基本操作(包括操作系统和高级语言的操作)应由硬件实现还是由软件实现;某些和高级语言的操作)应由硬件实现还是由软件实现;某些复杂操作是由一条指令实现还是由一串指令实现。复杂操作是由一条指令
24、实现还是由一串指令实现。堆栈机堆栈机主要操作:主要操作:主要操作:主要操作:是压入和弹出,主要是以后进先出的方式。是压入和弹出,主要是以后进先出的方式。是压入和弹出,主要是以后进先出的方式。是压入和弹出,主要是以后进先出的方式。优点:优点:优点:优点:面向堆栈,面向堆栈,面向堆栈,面向堆栈,指令短,表达式求值简单;可以有较高的指令短,表达式求值简单;可以有较高的指令短,表达式求值简单;可以有较高的指令短,表达式求值简单;可以有较高的 编码密度。编码密度。编码密度。编码密度。缺点:缺点:缺点:缺点:不能随机访问和编译技术不匹配,很难高速执行:这不能随机访问和编译技术不匹配,很难高速执行:这不能随
25、机访问和编译技术不匹配,很难高速执行:这不能随机访问和编译技术不匹配,很难高速执行:这 类机器的例子类机器的例子类机器的例子类机器的例子Burroughs 5500Burroughs 5500Burroughs 5500Burroughs 5500,HP3000HP3000HP3000HP3000。主要依据:在主要依据:在CPU中以何种存储方式来存放操作数。中以何种存储方式来存放操作数。指令系统集结构的分类指令系统集结构的分类分类:分类:v堆栈型堆栈型v累加器型累加器型v通用寄存器型通用寄存器型R-RR-MM-M累加器为基础的指令系统累加器为基础的指令系统n n累加器型机器是有一个隐含操作数的
26、机器,指令能够累加器型机器是有一个隐含操作数的机器,指令能够累加器型机器是有一个隐含操作数的机器,指令能够累加器型机器是有一个隐含操作数的机器,指令能够直接装卸或存储的累加器中。操作时取一个操作数,直接装卸或存储的累加器中。操作时取一个操作数,直接装卸或存储的累加器中。操作时取一个操作数,直接装卸或存储的累加器中。操作时取一个操作数,另一个操作数取自累加器,结果放回到累加器另一个操作数取自累加器,结果放回到累加器另一个操作数取自累加器,结果放回到累加器另一个操作数取自累加器,结果放回到累加器n n累加器类的基本优缺点与堆栈机相同。这类机器的例累加器类的基本优缺点与堆栈机相同。这类机器的例累加器
27、类的基本优缺点与堆栈机相同。这类机器的例累加器类的基本优缺点与堆栈机相同。这类机器的例子是子是子是子是PDP-8PDP-8。寄存器为基础的指令系统(寄存器为基础的指令系统(GPR机):机):优点:优点:优点:优点:(1 1)由于数据在寄存器中,减少了对存储器的存取,速度)由于数据在寄存器中,减少了对存储器的存取,速度)由于数据在寄存器中,减少了对存储器的存取,速度)由于数据在寄存器中,减少了对存储器的存取,速度更快一些。更快一些。更快一些。更快一些。(2 2)数值表示有很强的适应性。)数值表示有很强的适应性。)数值表示有很强的适应性。)数值表示有很强的适应性。缺点:缺点:缺点:缺点:指令格式必
28、须包含寄存器指针空间。指令格式必须包含寄存器指针空间。指令格式必须包含寄存器指针空间。指令格式必须包含寄存器指针空间。GPRGPR机类型:有三类机类型:有三类机类型:有三类机类型:有三类GPRGPR机,它们是寄存器机,它们是寄存器机,它们是寄存器机,它们是寄存器-寄存器型机和寄存器型机和寄存器型机和寄存器型机和寄存器寄存器寄存器寄存器-存储器型机。还有存储器存储器型机。还有存储器存储器型机。还有存储器存储器型机。还有存储器-存储器型机存储器型机存储器型机存储器型机取取取取/存寄存器存寄存器存寄存器存寄存器或存储器或存储器或存储器或存储器寄存器或存寄存器或存寄存器或存寄存器或存储器储器储器储器2
29、/32/3IBM360/370IBM360/370DECVAX-11DECVAX-11RISCRISC机机机机寄存器集寄存器集寄存器集寄存器集取取取取/存累加器存累加器存累加器存累加器累加器累加器累加器累加器1 1PDP-8PDP-8MC6800MC6800累加器累加器累加器累加器进栈或退栈进栈或退栈进栈或退栈进栈或退栈堆栈堆栈堆栈堆栈0 0B5500/6500B5500/6500HP3000HP3000TransputerTransputer堆栈堆栈堆栈堆栈访问显式操访问显式操访问显式操访问显式操作数的过程作数的过程作数的过程作数的过程结果存放目结果存放目结果存放目结果存放目的地的地的地的地
30、每条每条每条每条ALUALU指令需指指令需指指令需指指令需指明的显式明的显式明的显式明的显式操作数操作数操作数操作数机器型号机器型号机器型号机器型号CPUCPU中存储部中存储部中存储部中存储部件形式件形式件形式件形式三种不同的指令系统集结构三种不同的指令系统集结构PDP-11PDP-11,IBM360/370IBM360/370的的的的SSSS型指型指型指型指令令令令2 2M-MM-M2 2VAX-11VAX-11系列机系列机系列机系列机3 3M-MM-M3 3PDP-10PDP-10,MC68000MC68000,IBMIBM360/370360/370中中中中RXRX型指令型指令型指令型指
31、令IBM360/370IBM360/370中的中的中的中的RSRS型指令型指令型指令型指令2 23 3R-MR-M1 1IBMRT-PCIBMRT-PC,IBM360/370IBM360/370中中中中RRRR型指令型指令型指令型指令SPARCSPARC,MIPSMIPS,HPPAHPPA等等等等RISCRISC机机机机2 23 3R-RR-R0 0计算机实例计算机实例计算机实例计算机实例ALUALU指令中指令中指令中指令中可能使用的可能使用的可能使用的可能使用的操作数个数操作数个数操作数个数操作数个数结构类型结构类型结构类型结构类型ALUALU指令指令指令指令访存操作数访存操作数访存操作数访
32、存操作数个数个数个数个数典型计算机中典型计算机中ALU指令所使用的访存操作数的个数指令所使用的访存操作数的个数4.3.2寻址技术寻址技术一一一一.访问方式访问方式访问方式访问方式n n 按地址访问按地址访问按地址访问按地址访问:串行顺序访问,按指定串行顺序访问,按指定串行顺序访问,按指定串行顺序访问,按指定 地址读取代码(地址地址读取代码(地址地址读取代码(地址地址读取代码(地址可是通用寄存器,专用寄存器,内存)可是通用寄存器,专用寄存器,内存)可是通用寄存器,专用寄存器,内存)可是通用寄存器,专用寄存器,内存)地址概念:逻辑地址,物理地址地址概念:逻辑地址,物理地址地址概念:逻辑地址,物理地
33、址地址概念:逻辑地址,物理地址地址编址方式采用三种:统一编址,局部编址,隐含编地址编址方式采用三种:统一编址,局部编址,隐含编地址编址方式采用三种:统一编址,局部编址,隐含编地址编址方式采用三种:统一编址,局部编址,隐含编址址址址具体可按面向对象和寻址方式来区分具体可按面向对象和寻址方式来区分具体可按面向对象和寻址方式来区分具体可按面向对象和寻址方式来区分n n 按内容访问:按内容访问:按内容访问:按内容访问:给出欲访问单元内容,其主要特点是以并行给出欲访问单元内容,其主要特点是以并行给出欲访问单元内容,其主要特点是以并行给出欲访问单元内容,其主要特点是以并行方式查找所需信息内容。(联想存储器
34、)方式查找所需信息内容。(联想存储器)方式查找所需信息内容。(联想存储器)方式查找所需信息内容。(联想存储器)寻址技术:寻址技术:指的是指令按什么方式寻找(或访问)到所需的操指的是指令按什么方式寻找(或访问)到所需的操作数或信息。它影响主存规模速度及存取方式。寻址方式对应作数或信息。它影响主存规模速度及存取方式。寻址方式对应用程序员是透明的。用程序员是透明的。二二程序定位方式程序定位方式直接定位方式直接定位方式直接定位方式直接定位方式直接使用实际贮存物理地址来编写或编译程序,目前大直接使用实际贮存物理地址来编写或编译程序,目前大直接使用实际贮存物理地址来编写或编译程序,目前大直接使用实际贮存物
35、理地址来编写或编译程序,目前大多不用这种方式。多不用这种方式。多不用这种方式。多不用这种方式。静态定位方式静态定位方式静态定位方式静态定位方式专门用装入程序来完成,一旦装入主存就不能再变动了,专门用装入程序来完成,一旦装入主存就不能再变动了,专门用装入程序来完成,一旦装入主存就不能再变动了,专门用装入程序来完成,一旦装入主存就不能再变动了,这种方式实现简单,但不够灵活,主存利用率不高,多这种方式实现简单,但不够灵活,主存利用率不高,多这种方式实现简单,但不够灵活,主存利用率不高,多这种方式实现简单,但不够灵活,主存利用率不高,多个用户不能共享主存。个用户不能共享主存。个用户不能共享主存。个用户
36、不能共享主存。动态定位方式动态定位方式动态定位方式动态定位方式利用类似变址寻址方法,有硬件支持完成。只把主存的利用类似变址寻址方法,有硬件支持完成。只把主存的利用类似变址寻址方法,有硬件支持完成。只把主存的利用类似变址寻址方法,有硬件支持完成。只把主存的起始地址装入该程序对应的基址寄存器中,指令的地址起始地址装入该程序对应的基址寄存器中,指令的地址起始地址装入该程序对应的基址寄存器中,指令的地址起始地址装入该程序对应的基址寄存器中,指令的地址不需全部修改。不需全部修改。不需全部修改。不需全部修改。优点:优点:优点:优点:主存利用率高,多个用户可以共享同一个程序段,主存利用率高,多个用户可以共享
37、同一个程序段,主存利用率高,多个用户可以共享同一个程序段,主存利用率高,多个用户可以共享同一个程序段,支持虚拟存储器实现。支持虚拟存储器实现。支持虚拟存储器实现。支持虚拟存储器实现。缺点:缺点:缺点:缺点:需要硬件支持,实现的算法比较复杂。需要硬件支持,实现的算法比较复杂。需要硬件支持,实现的算法比较复杂。需要硬件支持,实现的算法比较复杂。4.3.3指令系统功能设计指令系统功能设计设计指令时,要考虑三个因素:速度,价格,灵活性设计指令时,要考虑三个因素:速度,价格,灵活性设计指令时,要考虑三个因素:速度,价格,灵活性设计指令时,要考虑三个因素:速度,价格,灵活性通用计算机指令分为五类:通用计算
38、机指令分为五类:通用计算机指令分为五类:通用计算机指令分为五类:n n数据传送类指令数据传送类指令数据传送类指令数据传送类指令n n运算类指令运算类指令运算类指令运算类指令n n程序控制类指令程序控制类指令程序控制类指令程序控制类指令n n输入输出指令输入输出指令输入输出指令输入输出指令n n处理机控制和调试指令处理机控制和调试指令处理机控制和调试指令处理机控制和调试指令4.3.4指令格式的优化指令格式的优化哈夫曼压缩的基本思想:哈夫曼压缩的基本思想:哈夫曼压缩的基本思想:哈夫曼压缩的基本思想:当各种事件发生的概率不均时,采用优化技术对发生概率当各种事件发生的概率不均时,采用优化技术对发生概率
39、当各种事件发生的概率不均时,采用优化技术对发生概率当各种事件发生的概率不均时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现最高的事件用最短的位数(时间)来表示(处理),而对出现最高的事件用最短的位数(时间)来表示(处理),而对出现最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的,用较长的位数(时间)来表示(处理),就会导概率较低的,用较长的位数(时间)来表示(处理),就会导概率较低的,用较长的位数(时间)来表示(处理),就会导概率较低的,用较长的位数(时间)来表示(处理),就会导致表示(处理)的平均位数(时间)的缩短。致表示(处理)的平均位数(时
40、间)的缩短。致表示(处理)的平均位数(时间)的缩短。致表示(处理)的平均位数(时间)的缩短。指令的优化通过操作码优化和地址码优化进行。指令的优化通过操作码优化和地址码优化进行。指令格式优化的目的:指令格式优化的目的:如如何何用用最最短短的的位位数数表表示示指指令令的的操操作作信信息息和和地地址址信信息息,用用最最短短的的时时间间处处理理频频度度高高的的指指令令,使使二二者者之之间间有有最最佳佳配配合合以以减减少少指指令令字字中中冗冗余余信信息息以以及及用用最最少少信信息息位位来来表表示示所所需需的的操操作作信息和地址信息。信息和地址信息。用哈夫曼压缩概念进行编码的步骤:用哈夫曼压缩概念进行编码
41、的步骤:(1)将将要要编编码码的的字字符符按按出出现现频频率率的的次次序序排排列列,频频率率相相等等的的符号可任意排列;符号可任意排列;(2)把把出出现现频频率率最最小小的的两两个个符符号号合合并并,并并将将其其频频率率相相加加,按相加后的频率次序重新排序;按相加后的频率次序重新排序;(3)继继续续过过程程(2),直直至至只只剩剩下下两两个个频频率率,此此后后以以相相反反过过程进行编码;程进行编码;(4)对最后两个频率分别指定代码对最后两个频率分别指定代码0和和1;(5)若若某某一一频频率率由由两两个个频频率率相相加加而而成成,则则分分别别指指定定这这两两个个频的下一个代码为频的下一个代码为0
42、或或1;(6)继续过程(继续过程(5),直到所有符号均已指定不同代码为止。),直到所有符号均已指定不同代码为止。现设一台模型机,共有现设一台模型机,共有现设一台模型机,共有现设一台模型机,共有7 7种不同的指令,使用频度如表所示。种不同的指令,使用频度如表所示。种不同的指令,使用频度如表所示。种不同的指令,使用频度如表所示。若用定长操作码表示,则需要若用定长操作码表示,则需要若用定长操作码表示,则需要若用定长操作码表示,则需要3 3位。位。位。位。I10.40I20.30I30.15I40.05I50.04I60.03I70.03指令指令使用频度使用频度操作码表示的平均长度操作码表示的平均长度
43、L=l li i*P*PiiL Li i:第第第第i i个操作码的长度个操作码的长度个操作码的长度个操作码的长度H=H=-P Pi iloglog2 2P Pi i=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%)操作码的信息源熵:操作码的信息源熵:操作码的信息源熵:操作码的信息源熵:信息源所包含信息源所包含信息源所包含信息源所包含的平均最短信息量的平均最短信息量的平均最短信息量
44、的平均最短信息量.H=H=-P Pi iloglog2 2P Pi i,其中其中其中其中P Pi i为第为第为第为第i i个信息源个信息源个信息源个信息源的频度的频度的频度的频度 P Pi il li i=0.40*1+0.30*2+0.15*3+0.05*5+0.04*5+0.03*5+0.03*5=0.40*1+0.30*2+0.15*3+0.05*5+0.04*5+0.03*5+0.03*5=2.20(=2.20(位位位位)这种编码的信息冗余为这种编码的信息冗余为这种编码的信息冗余为这种编码的信息冗余为K=1-2.17/2.201.36%K=1-2.17/2.201.36%1.000.6
45、00.300.150.060.090.030.030.040.050.150.300.40111111000000为减少此信息冗余量,改用为减少此信息冗余量,改用为减少此信息冗余量,改用为减少此信息冗余量,改用哈夫曼树哈夫曼树哈夫曼树哈夫曼树:I7I6I5I4I3I2I1I7I6I5I4I3I2I14 4111111115 511111111110.030.03I7I74 4111011105 511110111100.030.03I6I64 4110111015 511101111010.040.04I5I54 4110011005 511100111000.050.05I4I42 2101
46、03 31101100.150.15I3I32 201012 210100.300.30I2I22 200001 10 00.400.40I1I1OPOP长度长度长度长度li li用哈夫曼用哈夫曼用哈夫曼用哈夫曼概念的扩概念的扩概念的扩概念的扩展操作码展操作码展操作码展操作码OPOP长度长度长度长度li li操作码操作码操作码操作码OPOP使用哈夫曼使用哈夫曼使用哈夫曼使用哈夫曼编码编码编码编码 频频频频 度度度度(PiPi)指指指指令令令令操作码的扩展(等长扩展)操作码的扩展(等长扩展)0001000011101500000001.1110151111.11111111.0000000111
47、10151111.11111111.111111111111.800000001.01116410001000.111151210001000.1111000000010111100010001111000000010111.15/15/158/64/512编码法编码法指令格式的优化指令格式的优化 地址码表示和寻址方式采取相应优化措施,程序所需总地址码表示和寻址方式采取相应优化措施,程序所需总位数才得以减少。由于操作数地址是随机的无规律可循,归位数才得以减少。由于操作数地址是随机的无规律可循,归结为指令格式的优化。结为指令格式的优化。地址码优化时应注意的问题:地址码优化时应注意的问题:(1)操
48、操作作数数地地址址码码长长度度可可在在很很宽宽的的范范围围内内变变化化,只只要要恰恰当当安安排排就就可可与与变变长长操操作作码码很很好好合合成成定定长长指指令令。这这样样地地址址码码宽宽度应随不同指令,其宽度可以变化;度应随不同指令,其宽度可以变化;(2)通通过过改改变变指指令令字字中中的的地地址址数数和和地地址址码码的的长长度度,以以使使单地址、双地址甚至三地址都可以在指令中使用;单地址、双地址甚至三地址都可以在指令中使用;(3)设法利用空白处存放立即操作数或常数。)设法利用空白处存放立即操作数或常数。(4)丰富多彩的寻址方式。)丰富多彩的寻址方式。VAX-11指令格式和寻址方式指令格式和寻
49、址方式22到到到到6 6个附加个附加个附加个附加的操作数描的操作数描的操作数描的操作数描述码和它们述码和它们述码和它们述码和它们的扩充字节的扩充字节的扩充字节的扩充字节1 1到到到到8 8个字节个字节个字节个字节操作数描述码操作数描述码描述码描述码1可能可能带的扩充字节带的扩充字节操作数描述码操作数描述码1操作码操作码158702到到6个可能有的附加的操作数描述码和它们的扩充字节个可能有的附加的操作数描述码和它们的扩充字节地址增大地址增大地址增大地址增大VAX-11基本指令格式基本指令格式寄存器寄存器寻址方式寻址方式寻址方式寻址方式寄存器寄存器00直接量直接量74 30750指明指明12种寻址
50、方种寻址方式之一,但不包式之一,但不包括直接量方式括直接量方式指明指明16个个寄存器寄存器6位直接量位直接量VAX-1操作数描述码格式操作数描述码格式6a.立即方式立即方式b.绝对方式绝对方式c.寄存器直接方式寄存器直接方式d.寄存器间接寻址方式寄存器间接寻址方式e.自增寻址方式自增寻址方式f.自减寻址方式自减寻址方式g.变址寻址方式变址寻址方式VAX-11的主要寻址方式的主要寻址方式i.变址的位移寻址方式变址的位移寻址方式j.自增变址寻址方式自增变址寻址方式k.自减变址寻址方式自减变址寻址方式l.基址寻址方式基址寻址方式m.基址变址寻址方式基址变址寻址方式h.位移寻址方式位移寻址方式4.3.