精华资料第02章盘算机系统结构课件.ppt

上传人(卖家):晟晟文业 文档编号:4958436 上传时间:2023-01-28 格式:PPT 页数:116 大小:844KB
下载 相关 举报
精华资料第02章盘算机系统结构课件.ppt_第1页
第1页 / 共116页
精华资料第02章盘算机系统结构课件.ppt_第2页
第2页 / 共116页
精华资料第02章盘算机系统结构课件.ppt_第3页
第3页 / 共116页
精华资料第02章盘算机系统结构课件.ppt_第4页
第4页 / 共116页
精华资料第02章盘算机系统结构课件.ppt_第5页
第5页 / 共116页
点击查看更多>>
资源描述

1、第二章第二章 指令系统要点指令系统要点n 浮点数据表示浮点数据表示IEEE标准及应用标准及应用n 自定义数据表示定义、分类及优点自定义数据表示定义、分类及优点n 编址与寻址编址与寻址n 哈夫曼概念及在计算机中应用,操作码编码法哈夫曼概念及在计算机中应用,操作码编码法n 指令系统编码方法,指令系统设计原则指令系统编码方法,指令系统设计原则n 两种指令系统风格,特点(两种指令系统风格,特点(RISC、CISC)n 简述简述RISC的主要技术的主要技术2.2 数据类型和数据表示数据类型和数据表示2.2.1 数据类型数据类型n 计算机中常用数据有三类:计算机中常用数据有三类:v 用户定义的数据用户定义

2、的数据v 系统数据系统数据v 指令数据指令数据n 数据类型指一组数据值的集合:数据类型指一组数据值的集合:文件、图、表、树、文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符,定点、逻辑、浮点、十进制。布尔数、字符,定点、逻辑、浮点、十进制。还定还定义了可作用于这个集合上的操作集。义了可作用于这个集合上的操作集。n 计算机系统结构研究的首要问题:在所有的数据类计算机系统结构研究的首要问题:在所有的数据类型中,哪些用硬件实现,哪些用软件实现,并研究型中,哪些用硬件实现,哪些用软件实现,并研究他们的实现方法他们的实现方法2.2.2

3、 基本数据表示基本数据表示数据表示:指在计算机中能由硬件直接辩认,指令系统可以直接调用的数据类型。数据结构:结构化数据的组织方式,它反应了应用中各种数据元或信息元间的结构关系。它必须通过软件映象,变换成机器中所具有的(存储于一维存储器内)各种数据表示来实现的。研究的是面向系统软件,面向应用领域所需要处理的各种数据类型,研究这些数据类型的逻辑结构和物理结构之间的关系,并给出相应的算法。数据结构和数据表示都是数据类型的子集。哪些数据类型用数据表示实现,哪些用数据结构实现,实质上是一个软、硬件取舍的问题。在计算机系统设计的过程中,硬件设计人员实现指令系统,软件设计人员采用这些指令,编制各种系统软件和

4、应用软件。因此,指令系统是软件和硬件设计人员之间的主要分界面,也是沟通的桥梁。除了数据表示之外的所有数据类型,一般都是数据结构需要研究的内容。如何确定数据表示这个数据类型的子集,是系统结构设计人员要解决的难题之一。用数据表示来实现复杂的数据类型,系统的硬件成本会升搞。只要有了最简单的数据表示如定点表示,就能用软件实现其他各种各样的数据类型,但是系统的性能会很差。例2.1:实现AAB,A和B均为200200的矩阵。分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量:取指令2440,000条,读或写数据3

5、40,000个,共要访问主存储器740,000次以上 如果有向量数据表示,只需要一条指令 减少访问主存(取指令)次数:440,000次 缩短程序执行时间一倍以上 随着计算机系统的发展,数据表示的范畴在不断扩大。例如在目前的计算机中,字符串数据表示,向量数据表示、堆栈数据表示等已经普遍使用。有些很复杂的数据表示,如图和表等数据。用软件和硬件相结合的方法实现新的数据表示,降低硬件成本,提高系统效率。例如:用字节编址和字节运算指令来支持字符串数据表示;用变址寻址方式来支持向量数据表示 对于系统设计者,首先要确定的,就是那些数据类型全部用硬件来实现,即数据表示;那些用软件来实现,即数据结构;那些可以结

6、合起来实现,如何实现,软硬件的比例是多少。2.2.4 二进制定点二进制定点 浮点浮点 数据表示数据表示定点运算的三个缺点:编程困难。只有4位小数情况下:3.8888+2.99999=(38.888+29.9999)/10可表示的范围小,-32728到32767,表示2x1061,x=203十分困难。数据存储单元利用率低,如定小数位置在数据最高位前面。汇编语言学习了浮点数的格式及其用法,组成原理学习了浮点数的运算方法,系统结构分析浮点数据的设计方法。IEEE754 浮点数据表示标准1823S符号位符号位EM指数指数尾数尾数32位单精度形式位单精度形式11152S 符号位符号位EM指数指数尾数尾数

7、64位双精度形式位双精度形式ef浮点数在数据存储单元中的存放方式mf:尾数符号 ef:阶码符号 e:阶码长度 m:尾数的值。尾数用原码、纯小数表示,阶码用移码、整数表示。浮点数的表示范围定义为:qqeerr 1p1mmmmrr|N|(1 r)r P=23,q=7,rm=re=2,浮点数N的表示范围:129231272|N|(1 2)2 绝对值不能无穷接近0值,即存在截止区(dead-zone),也叫下溢区十进制数0.1的16位多种表示方式尾数的值尾数的值 阶符阶符 阶码阶码 尾符尾符尾数尾数rm=2010101100,1100,1100,1100rm=40111001,10,01,10,01,

8、10,01,10rm=801110110,011,001,100,110,0rm=16100000001,1001,1001,1001(阶码的基)阶码位数+阶码值(-43)=阶码的移码值(07)0.1(10)=0.1100110011001100(2)2-3=0.121212(4)4-1=0.63146314(8)8-1=0.19999(16)160浮点数的表数(representation)精度尾数尾数p=2rm=20.75(0.11)0.5(0.10)-0.5(1.10)0.75(1.11)阶码阶码(阶码的移码阶码的移码),q=1,rm=21(1.1)3/21-1-3/20(1.0)-1/

9、2-3/4-1(0.1)3/8-1/4-3/8-2(0.0)3/161/8-1/8-3/16(阶码的基)阶码位数+阶码值(-21)=阶码的移码值(03)若有2个浮点数a1=1/2,b1=3/4,a1+b1=5/4,不在这个浮点数集里面,因此必须用靠近这个数的值表示,如1或者3/2。由此产生表数误差。阶码尾数pm(1r)1由于因此,能表示的绝对值最大的浮点可近似为:qer1mr假设有2种浮点数表示方法F1和F2:F1:尾数的基为2,阶码的长度为q1;F2:尾数的基为 ,阶码的长度为q2,并设:;两种浮点数表示方式的表示范围比为:lo g 2mrk 222111222222max22(,)2max

10、122qqqqqqkmkmrNTr qN尾数的基从2增加到 ,mrmr所能表示的阶码最大值就增加k倍,而浮点数的表数范围,是根据其阶码增加以2的指数增加:q1=7,rm1=2;q2=6,rm2=16;T=2128尾数的基与表数范围浮点数格式的设计要求设计一种浮点数格式,其表数范围不小于10e-3710e37,正负数对称,表数精度不低于10e-16。qer1m1ogN1og(1)2rNq6.951og2 plog2p53.21og2mfefe(q)7bitm(p)55bit2.2.5 自定义数据表示自定义数据表示n 目的:目的:v为了缩短机器语言同高级语言对数据属性的说为了缩短机器语言同高级语言

11、对数据属性的说明之间的语义差距。明之间的语义差距。v自定义数据表示:由数据本身来表明数据自定义数据表示:由数据本身来表明数据类型,使计算机内的数据具有自定义能力。类型,使计算机内的数据具有自定义能力。n 分类:分类:v 带标志符的数据表示带标志符的数据表示v 数据描述符数据描述符在多数计算机中,数据存储单元(寄存器、主存储器、外存储器等)只存放纯数据,通过指令中的操作码来解释:数据的类型(定点数、浮点数、复数、字符、字符串、逻辑数、向量等)进位制(2进制、10进制、16进制等)数据字长(字、半字、双字、字节等)寻址方式(直接寻址、间接寻址、相对寻址、寄存器寻址等)数据的功能(地址、数值、控制字

12、、标志等)等同一种操作指令通常需要很多条,IBM370系列机,仅加法指令就有8条。在高级语言和其它许多应用软件中数据的属性必须由数据自己定义在高级语言与机器语言之间的语义差距,要靠编译器等填补那么,很自然就产生了一个问题,能否在机器语言这一级由数据自己定义其属性,从而简化指令系统,简化编译器?60年代开始,Burroughs公司在大型计算机中引入自定义数据表示方式 和带标志符的数据表示方式 标志符数据表示通常有高级语言的编译器或者其他系统软件来实现,对于一般高级程序员和计算机用户是透明的。带标志符的数据表示带标志符的数据表示:描述简单数据,标志符是和每个数据值相连,存在同一存贮单元内。Burr

13、oughs公司的标志符数据表示方法。60年代初在B5000大型机中,每个数据有一位标志符。在B6500和B7500大型机中,每个数据有三位来标志符;在R-2巨型机中采用10位标志符数据标志位数据值简化了指令系统。容易检出程序编制中的错误。简化了编译程序。支持数据库系统。简化程序设计。便于软件测试。X2 32IB32IRY2 35IB30IRY处理机程序占用的存储空间总和为:例2.2:假设X处理机的数据不带标志符,其指令字长和数据字长均为32位。Y处理机的数据带有标志符,每个数据的字长增加至35位,其中有3位是标志符,其指令字长由32位减少至30位。并假设一条指令平均访问两个操作数,每个操作数平

14、均被访问R次。现有一个程序,它的指令条数为I,分别计算在这两种不同类型的处理机中程序所占用的存储空间。解:X处理机程序占用的存储空间总和为:Y处理机与X处理机的程序占用存储空间的比值:YX2 35I30IB15R35R2 32IB16R3232IRYXB1B当R3时,有 ,在实际应用中经常是R10,即带标志符的处理机所占用的存储空间通常要小。采用标志符数据表示方法的主要优点:简化了指令系统。由硬件自动实现一致性检查和数据类型的转换。简化程序设计,缩小了人与机器之间的语义差距。简化编译器,使高级语言与机器语言之间的语义差距大大缩短。支持数据库系统,一个软件不加修改就可适用于多种数据类型。方便软件

15、跟踪调试,在每个数据中都有陷井位。不仅可以用来定义数据类型,还可以用来描述机器中用到的各种信息。缺点:缺点:n 每个字都增加了标志位,使字长增长。每个字都增加了标志位,使字长增长。n 但另一方面:缩短了目的程序长度。操作码总数减但另一方面:缩短了目的程序长度。操作码总数减少导致操作码位数减少。少导致操作码位数减少。n 降低指令的执行速度。但:编制时间、调试时间减降低指令的执行速度。但:编制时间、调试时间减少,编制时间少,编制时间+调试时间调试时间+执行时间减少。执行时间减少。n 与其他计算机的兼容性差,硬件复杂。与其他计算机的兼容性差,硬件复杂。对于复杂的数据结构,如向量、矩阵,许多连续存放的

16、数据属性都是相同的,没有必要让每个数据都带标志符数据描述符与标志符的区别:标志符只作用于一个数据,而数据描述符要作用于一组数据。Burroughs公司生产的B-6700机中采用的数据描述符表示方法。最高三位为101时表示数据描述符,最高三位为000时表示数据。101(描述符描述符)标志位标志位长度长度地址地址数据描述符数据描述符000(标志位标志位)数值数值数据标志符数据标志符数据描述符数据描述符:用来描述复杂和多维数据,如向量、数组、记录等,描述符专用来描述所要访问数据的特性,它和数据字分开存储,机器经描述符形成访问每个元素的地址及其他信息,增加一级以上寻址,(描述符或数据字)而数据字本身又

17、是带标志符数据表示。与带标志符数据表示不同之处:标志符要与每个数据相连,两者合存在一个存储器单元中;而描述符则和数据分开放;要访问数据集中的元素时,必须先访问描述符,这就至少要增加一级寻址;描述符可看成是程序一部分,而不是数据一部分,因为它是专门来描述要访问的数据的特性。现以B6500,7500为例进行自定义数据表示的说明数据000数值描述符101P C ISRTD 长度地址311112022011数据描述符0:单精度数据1:双精度数据1:不连续数据0:连续数据1:数据集中的一个0:数据集的全体1:在主存中0:不在主存中只准读出的数据00:数据描述符写其他描述符1013101410141014

18、000000000000000000000000000000000000用数据描述符描述一个34二维阵列三元素向量四元素向量块内的元素个数四元素向量四元素向量描述符读取操作数过程操作码 X Y101101101地址形成逻辑000000101指令寄存器描述符描述符主存储器(数据)(数据)向量:指具有n个数据的数组。特点:各个数据称为数组的元素,而每个数据应具有相同的数据类型,(如实数或逻辑数);相同的数据表示(如字长、字的格式相同);进行相同的操作;而各数据之间是独立无关的,这样的一个数组称为向量。CDCSTAR-100计算机对每一个 向量数据用基地址,长度和位移量三个参量表示,其中对于指令,操

19、作向量的起始地址=基址+位移量,操作向量有效长度=向量长度-位移量向量加向量加XAYBZC其中X,Y,Z各区段表示寄存器号,分别表示源向量A,B和结果向量的位移量,而A,B,C各区段分别存放源向量A,B和结果向量C的基地址及长度。2.2.6 向量数据表示向量数据表示基地址向量长度向量数据表示的参数起始地址(基地址十位移量)向量有效长度位移量.A0 A1A2A3A4A5A6A7A01 0 0 1 1 0 0 1A3A2(0)A1(0)A4A7A6(0)A5(0)A0A7A4A301234567稀疏向量稀疏向量压缩向量压缩向量排序向量排序向量 稀疏向量的压缩表示2.3 计算机指令系统计算机指令系统

20、指令系统:又称指令集(instruction set)是计算机体 系结构设计的核心,是计算机软、硬件接口,是用机器语言汇编语言编写程序的用户所能看到的计算机基本属性。考虑计算机面向的应用领域,程序设计语言,编译程序,操作系统直到硬件构成等诸多因素。如何继承软件资产,保证软件向后兼容和向上兼容也是要加以考虑的现实问题。总之要对执行性能,软、硬件开发费用,可靠性等各种因素间的矛盾,综合权衡考虑。设计一种新的指令系统,从提出指令系统的编码到实现这种指令系统的硬件要经过几次反复。根据计算机未来用途及通常机器指令集拟出初步指令系统设计及实现,编出这套指令系统设计的编译程序,进行模拟测试,研究这套指令操作

21、码,寻址方式及其他效能,进行指令系统的优化。如此反复进行,要充分考虑计算机应用和对各类高级语言执行效率,并对大量算法进行测试,使机器效能最高。现代计算机指令系统设计必须由编译程序设计人员同系统结构设计人员共同配合进行传统计算机指令系统的设计。计算机指令系统的设计技术基本过程完备性:要求计算机的所有功能操作都包含在指令系统中,指令系统愈丰富,功能愈强,编译程序愈好写好用,运用范围愈广。规整性,均匀性:要使相似的操作具有相同的规定,所有操作都均匀对称地在存储器和寄存器单元间进行,尽可能甚至不出现例外情况和特殊用法。正交性:编译程序设计人员希望数据类型、寻址方式、操作类型都互相独立,这样便于处理,也

22、减轻编译负担。操作和寻址为例。可组合性对称性:指令系统对所有的寻址方式和所有数据类型都能适用,简化编译程序的代码生成。指令系统设计规则兼容性:指令系统设计多次反复,注意简单周到,还应注意系列机中软件兼容性可扩性:保留一定余量的操作码空间,为以后扩展用,并适应工艺技术的新发展。指令码高密度性:对于那些频度高的指令串可以进行优化,设计新指令代替,提高指令码密度,减少存储容量和访问存储器次数,以提高效率。取舍简化折中:在一个变量被访问多少次后才将它取到寄存器比较好。有了Cache和流水线后难做到。提供原语,而不是解决方案,不针对某种高级语言。对于编译时作为常量的数值量,提供能将其确定为常量的指令。2

23、.3.1 指令系统发展的两种途径指令系统发展的两种途径n 复杂指令集计算机复杂指令集计算机(CISC)精简指令系统计算机(RISC):通过减少指令总数和简化指令的功能来降低硬件设计的复杂程度,提高指令执行速度,使指令简单,有效可行。PENTIUM处理器:RISC特征:某些指令以硬连线来实现,并能在一个时钟周期执行完;CISC特征:用微代码实现,需要2-3个时钟周期的执行时间,有多种寻址方式,多种指令长度,为数不多的通用寄存器。指令系统庞大 硬件复杂、庞大 执行速度低 编译程序复杂、长 部分指令使用效率低 2.3.2 指令编码方法指令编码方法n 正交法正交法:指令中的每个分段(包括操作码、操作数

24、指令中的每个分段(包括操作码、操作数地址等)地址等)相互独立,操作数地址的编码同操作码相互独立,操作数地址的编码同操作码无关,反之亦然无关,反之亦然。优点优点:对流水机特别适用,微程序控制数量减少。对流水机特别适用,微程序控制数量减少。n 整体法整体法:指令中各个分段在译码时相互有关,操作指令中各个分段在译码时相互有关,操作码同操作数。地址的分界线并不清楚。码同操作数。地址的分界线并不清楚。优点优点:可以把使用频度高的操作码同操作数地址码可以把使用频度高的操作码同操作数地址码组合起来,加以缩短优化,而使用频度低的可以较组合起来,加以缩短优化,而使用频度低的可以较长些长些,这样可以节省存贮容量。

25、这样可以节省存贮容量。缺点缺点:在用微程序控制时,微程序数量较多,需要在用微程序控制时,微程序数量较多,需要有较大的微程序控制存贮器。有较大的微程序控制存贮器。n 混合法混合法:这种方法把上两种方法的优点结合起来。这种方法把上两种方法的优点结合起来。指令系统及结构的分类指令系统及结构的分类基本思想:计算机系统中的一些基本操作(包括操作系统和高级语言的操作)应由硬件实现还是由软件实现;某些复杂操作是由一条指令实现还是由一串指令实现。指令系统也可以按下面几个准则分类:每条指令中显式指明的操作数个数CPU中存放操作数部件的类型数据类型和数据表示ALU(arithmetic logical unit)

26、指令的操作数个数和位置n 堆栈机堆栈机v 主要操作:是压入和弹出,主要是以后进先出的主要操作:是压入和弹出,主要是以后进先出的方式。方式。v 优点:面向堆栈,优点:面向堆栈,指令短,表达式求值简单;可指令短,表达式求值简单;可以有较高的编码密度。以有较高的编码密度。v 缺点:不能随机访问和编译技术不匹配,很难高缺点:不能随机访问和编译技术不匹配,很难高速执行:这类机器的例子速执行:这类机器的例子Burroughs 5500,HP3000。主要依据:在CPU中以何种存储方式来存放操作数。分类:堆栈型累加器型通用寄存器型R-RR-MM-Mn 累加器型机器是有一个隐含操作数的机器,指令能够累加器型机

27、器是有一个隐含操作数的机器,指令能够直接装卸或存储的累加器中。操作时取一个操作数,直接装卸或存储的累加器中。操作时取一个操作数,另一个操作数取自累加器,结果放回到累加器另一个操作数取自累加器,结果放回到累加器n 累加器类的基本优缺点与堆栈机相同。这类机器的例累加器类的基本优缺点与堆栈机相同。这类机器的例子是子是PDP-8。寄存器为基础的指令系统寄存器为基础的指令系统(GPR机机):n 优点:于数据在寄存器中,减少了对存储器的存取,优点:于数据在寄存器中,减少了对存储器的存取,速度更快一些。数值表示有很强的适应性。速度更快一些。数值表示有很强的适应性。n 缺点:指令格式必须包含寄存器指针空间。缺

28、点:指令格式必须包含寄存器指针空间。GPR机类机类型:有三类型:有三类GPR机,它们是寄存器机,它们是寄存器-寄存器型机和寄寄存器型机和寄存器存器-存储器型机。还有存储器存储器型机。还有存储器-存储器型机存储器型机累加器为基础的指令系统取取/存寄存器存寄存器或存储器或存储器寄存器或存寄存器或存储器储器2/3IBM360/370DEC VAX-11RISC机机寄存器集寄存器集取取/存累加器存累加器累加器累加器1PDP-8MC 6800累加器累加器进栈或退栈进栈或退栈堆栈堆栈0B5500/6500HP3000Transputer堆栈堆栈访问显式操访问显式操作数的过程作数的过程结果存放目结果存放目的

29、地的地每条每条ALU指令需指指令需指明的显式明的显式操作数操作数机器型号机器型号CPU中存储部中存储部件形式件形式三种不同的指令系统集结构PDP-11,IBM360/370的的SS型指型指令令2M-M2VAX-11系列机系列机3M-M3PDP-10,MC 68000,IBM 360/370中中RX型指令型指令IBM360/370中的中的RS型指令型指令23R-M1IBM RT-PC,IBM360/370中中RR型指令型指令SPARC,MIPS,HP PA 等等RISC机机23R-R0计算机实例计算机实例ALU指令中指令中可能使用的可能使用的操作数个数操作数个数结构类型结构类型ALU指令指令访存

30、操作数访存操作数个数个数典型计算机中ALU指令所使用的访存操作数的个数2.4 寻址技术寻址技术是指寻找数据以及其他信息的地址技术。它是软件与硬件的一个主要分界面,是计算机系统结构的重要组成部分。主要研究:编址方式、寻址方式和定位方式 等。研究的对象有寄存器、主存存储器、堆栈、输入输出设备等。在汇编语言中,已经学习了常见的寻址方式的基本原理。在组成原理中,学习了寻址技术的实现方法。在分析各种寻址技术的优缺点基础上,学习在计算机系统设计过程中如何选择和确定采用那种寻址技术。2.4.1 编址技术目前常用的有字编址、字节编址、位编址。字编址,是实现起来最容易的,因为每个编址单位与设备的访问单位相一致。

31、即每个编址单位所包含的bit数与访问一次设备所得到的bit数相同。地址信息、存储容量没有任何损失。每从主存取一个数据后,地址计数器加1,实现很简单。由于非数值应用超过了数值应用,而后者要求以字节编址。在字编址计算机中,需要设置字节操作指令、位操作指令,在指令中指出操作数的字节编号或位编号。为了适应非数值计算的需要,字节编址的方式能够使编址单位与信息单位一致。如果机器的主存访问字长也是一个字节的话,那么主存的带宽就太窄了,必将称为瓶颈。通常主存的字长使一个字节的4倍以上,有的达到几十倍。由于编址单位所包含的信息量(一个字节)和访问一次所获得的信息量(一个字)不想同,产生了数据如何存放的问题。如果

32、指令长是32位,那么每执行完一条指令,指令计数器加4。DRAM是一种破坏性读出,每当从一个存储单元读出数据,该存储单元清0,再写入刚读出的数据。写数据也必须包括读出和重写两次访问主存操作。00字节字节半字半字双双08字字单字单字半半10字字单字单字字节字节单单18字字2000字节字节浪费浪费08半字半字浪费浪费10单字单字浪费浪费18双字双字201000 1001 1010 1011 1100 1101 11101111字节编址00字节字节浪费浪费08双字双字10半字半字浪费浪费18双字双字20单字单字浪费浪费28双字双字30字节字节浪费浪费单字单字38半字半字浪费浪费单字单字40字节字节 浪

33、费浪费半字半字双字放在最末是000的地址,单字地址最末两位为00,半字最末一位为02.4.2 零地址空间个数计算机需要对通用寄存器、主存储器和输入输出设备进行分别编址。堆栈虽然也是一种存储设备,但是不需要编址。三个零地址空间:通用寄存器、主存储器和输入输出设备均独立编址两个零地址空间:主存储器与输入输出设备统一编址一个零地址空间:所有存储设备统一编址,最低端是通用寄存器,最高端是输入输出设备,中间为主存储器隐含编址方式,实际上没有零地址空间堆栈、Cache等。三个零地址空间通常要有三类指令:数据传送指令、运算指令、移位指令和测试指令等。为了简化指令系统,所有的运算、移位和测试都在通用寄存器里面

34、进行。访问操作可以再三类存储设备中进行。在CISC机上,所有的操作都能在三类存储设备中进行。通用寄存器寻址技术,只有单一的寻址方式,而且编址长度和一次访问的长度相同,即编址方式。主存寻址技术最复杂,由于存储量大,因此地址码长度很长。编址单位和访问单位也不相同。输出输入设备寻址和通用寄存器和主存也不相同。由于寻址方式单一,一般采用直接寻址。两个零地址空间通用寄存器独立编址,主存与输入输出设备统一编址。一般在主存地址码高端划出一部分作为IO设备地址,4K左右。主存与IO统一编址能简化指令系统,因为不需要另外的IO指令。缺点是指令执行过程复杂,执行时间加长。因为访问存储器的指令都要做是否访问IO设备

35、的判断?对于CISC处理机,除了专门读写主存的指令外,还有许多运算指令也能访问主存。对于RISC几,只有load和store能够访问主存,一般运算指令不能访问主存。访问IO设备,只采用直接寻址,复杂的指令永不上。一个零地址空间和隐含编址地址最低端是通用寄存器,最高端是IO设备,中间分给主存。通常有一个大容量的高速存储器,有多个进程或线程存放在高速存储器中,并且可以通过硬件进行进程和线程切换。有一些DSP采用一个零地址编址方式。在堆栈计算机中,运算指令不需要编址。Cache存储器采用相联方式访问的存储器也不需要编址。在一般处理机中,一些特殊的寄存器或寄存器堆,如指令和数据的缓冲栈等,也不需要编址

36、。输入输出设备的非线性编址一台设备一个地址,只对设备本身编址,但不对设备接口上的寄存器编址,需通过指令中的操作码识别寄存器。一台设备两个地址:一个是数据寄存器,另一个是状态或控制寄存器,原因是绝大多数IO设备的接口上只有两个要编址的寄存器。存在的共同问题:设备接口上可能还有一些需要编址的寄存器没有分配地址。一台设备多个地址。根据IO设备的不同需要分配不同数目的地址。主要实用于主存储器与IO设备合用一个零地址空间的系统中。如某些微小型系统把高端4 k和8k的地址空间分配给IO设备。并行存储器的编址技术高位交叉编址,主要目的是用来扩大存储器容量。地址码的低位部分在各个存储体体内。高位用来区分存储体

37、的体号。用户可以根据需要随时很方便地改变自己的主存储器容量。要求每个存储体都有自己独自的控制部件,包括地址寄存器、地址译码器、驱动电路、放大电路、读写控制、数据寄存器。模块性能好,控制复杂。低位交叉编址,是一种流水方式的并行存储器,主要目的是提高存储器速度。N个存储体可以分时启动,采用流水线方式工作。目前在共享主存的多处理机中得到广泛应用。2.4.3 寻址方式定义:寻找操作数及数据存放单元的方法称为寻址方式。汇编和组成已经介绍了基本原理。下面要从计算机系统结构的角度介绍寻址方式的设计思想立即数寻址方式,用于数据比较短、源操作数,不需要数据存储单元。只能源操作数寻址,数据不能太长。通常只指定一些

38、低精度的整数。面向寄存器的寻址方式,操作数、结果都在R OPCR OPCR,R OPCR,R,R OPCR,M 面向主存储器的寻址方式:直接和间接寻址。直接寻址指令无法容纳长的地址码,修改程序没有再入性,即修改数据还必须修改指令。间接寻址,在主存高端或者寄存器中存放间接地址,指令可以很短。OPCMOPCM,M OPC M,M,M面向堆栈的寻址方式,地址是隐含的,不必给出操作数地址:OPC OPC M 主存寻址方式直接寻址主存寻址方式包括:直接寻址、间接寻址和变址寻址三种类型。直接寻址是在指令中直接给出参加运算的操作数以及结果所存放的地址。随着主存容量的增大,需要很长的地址码。特别是在二地址和三

39、地址指令中。实现循环和数组运算,运行过程中修改数据的地址,这些是必不可少的。但直接寻址需要修改程序本身,没有再入性。多任务多用户操作系统要求程序能够在主存中浮动。因此直接寻址不利于目前的操作系统。主存寻址方式间接寻址间接寻址在指令中给出的是操作数地址的地址。必须经过两次或者两次以上的访存操作才能得到操作数。间接寻址可以进行一次,也可以进行多次。多数计算机采用一次寻址方式。只要用指令中的地址码去访问主存,就能得到操作数的有效地址。地址码的简址标志位可以用来指示多次寻址。为1表示继续寻址,为0表示得到了操作数的有效地址。通常在主存的最低端一小部分存放间接地址。因此地址码可以很短。也可以用寄存器存放

40、数组的基地址。主存寻址方式变址寻址需要设置一个或多个变址寄存器。变址寄存器的长度由主存的寻址空间决定。如主存4G,变址寄存器的长度就需要32位。也可以把通用寄存器用作变址寄存器。变址寄存器的主要作用是存放数组的基地址。在指令中给出变址寄存器的编号和地址偏移量。执行时,用硬件加法器,把变址寄存器中给出的基地址和指令中的地址偏移相加,得到有效地址。变址寻址还有两种特殊形式:相对寻址,当变址寄存器就是程序计数器本身时,采用相对变址编写程序本身就具有浮动性。基址寻址,为了支持程序动态重定位。两种都有时,执行时,需要两次变址运算,才能得到有效地址。目标相同:都是为了解决操作数地址的修改问题,都能做到不改

41、变程序而修改操作数地址。一台计算机中,原则上,仅需设置间址寻址方式与变址寻址方式中的任何一种即可。主要差别:间接寻址地址在主存储器中,没有偏移量;变址寻址地址在寄存器中,带偏移量。优缺点:间接实现容易,只需要一条主存到数据寄存器的通路。速度慢,读一个操作数需要访存两次以上。变址需要一个硬件加法器,不需要访存,速度快;变址更适合于数组运算;变址可以向前也可以向后偏移;无论采用哪种方式,对于数组运算,都需要对地址进行增量的指令。但变址寻址可以带有偏移量,更有效。间接寻址方式与变址寻址方式START:LOOP:ASR:ADR:NUM:ASI:ADI:CNT:MOVEMOVEMOVEMOVEINCIN

42、CDECBGTHALTASADN000ASR,ADR,NUM,ASI,ASI,ADI,CNT,LOOP,ASIADICNTADI保存源数组基地址,为了程序的再入性保存源数组基地址,为了程序的再入性保存目标数组基地址保存目标数组基地址保存数据个数保存数据个数用简址传送数据用简址传送数据源数组地址加源数组地址加1目标数组地址加目标数组地址加1个数减个数减1判断判断停机停机源基地址源基地址目标基址目标基址需传送数据数目需传送数据数目当前征传送源数组地址当前征传送源数组地址当前征传送目标数组地址当前征传送目标数组地址乘余数据个数乘余数据个数START:LOOP:NUM:CNT:MOVEMOVEMOVE

43、INCDECBGTHALTN0AS,NUM,(X),X,CNT,LOOP,XCNTAD-AS(X)送源数组基址到寄存器送源数组基址到寄存器保存数据个数保存数据个数AD-AS为地址偏移量,确定值为地址偏移量,确定值变址寄存器中的值加变址寄存器中的值加1个数减个数减1判断判断停机停机需传送数据数目需传送数据数目乘余数据个数乘余数据个数 MOVE (x),AD-AS(x),只要访存3次,哪3次?MOVE AS,AD,要访存5次,哪5次?寄存器寻址运算型指令只要指定通用寄存器的编号,无需指定主存的地址。寄存器也可以间接寻址,即在通用寄存器中存放操作数在主存中的地址。指令字长短,执行速度快,支持向量和矩

44、阵运算。不利于优化编译,不适合高级语言的数据模型。把连续使用的放在通用寄存器中,给编译器的优化造成了很大的困难?现场切换困难,当发生调用、中断、分时切换等情况时,把通用寄存器里面内容保存到主存中。解决方法:切换到另外一套寄存器中。即重用寄存器窗。硬件复杂。直接定位方式:在程序装入主存储器之前,程序中的指令和数据的主存物理就已经确定了的称为直接定位方式。静态定位:在程序装入主存储器的过程中随即进行地址变换,确定指令和数据的主存物理地址的称为静态定位方式。动态定位:在程序执行过程中,当访问到相应的指令或数据时才进行地址变换,确定指令和数据的主存物理地址的称为动态定位方式。2.4.4 定位方式定位方

45、式为了把一个程序交给处理机运行,首先要把程序的指令和数据装入到主存储器的一个或几个区域。逻辑地址:相对于本程序的相对地址,而物理地址是程序在主存储器中使用的实际地址。内容:程序的主存物理地址在什么时间确定?采用什么方式来实现?程序需要定位的主要原因:程序的独立性程序的模块化设计数据结构在程序运行过程中,其大小往往是变化的有些程序本身很大,大于分配给它的主存物理空间直接定位方式,前提:已经知道在主存储器中地址。直接使用实际贮存物理地址来编写或编译程序,目前大多不用这种方式。静态定位方式,专门用装入程序,集中一次来完成地址变换,一旦装入主存就不能再变动了,这种方式实现简单,但不够灵活,主存利用率不

46、高,多个用户不能共享主存。动态定位方式,利用类似变址寻址方法,有硬件支持完成。用地址加法器把指令逻辑地址和主存的起始地址相加,指令的地址不需全部修改。指令需要表明是否加基地址。优点:主存利用率高,多个用户可以共享同一个程序段,支持虚拟存储器实现。缺点:需要硬件支持,实现的算法比较复杂。2.4.5 指令系统功能设计指令系统功能设计n 设计指令时,要考虑三个因素:速度,价格,灵活设计指令时,要考虑三个因素:速度,价格,灵活性。通用计算机指令分为五类:性。通用计算机指令分为五类:v数据传送类指令数据传送类指令v运算类指令运算类指令v程序控制类指令程序控制类指令v输入输出指令输入输出指令v处理机控制和

47、调试指令处理机控制和调试指令n 数据传送类指令,由如下三个主要因素决定:数据传送类指令,由如下三个主要因素决定:v数据存储设备的种类数据存储设备的种类v数据单位:字、字节、位、数据块等数据单位:字、字节、位、数据块等v采用的寻址方式采用的寻址方式 运算类指令考虑四个因数的组合:操作种类:加、减、乘、除、与、或、非、异或、比较、移位、检索、转换、匹配、清除、置位等 数据表示:定点、浮点、逻辑、十进制、字符串、定点向量等数据长度:字、双字、半字、字节、位、数据块等数据存储设备:通用寄存器、主存储器、堆栈等 程序控制指令主要包括三类:转移指令、调用和返回指令、循环控制指令转移条件主要有:零(Z)、正

48、负(N)、进位、溢出(V)及它们的组合运算类与程序控制指令输入输出指令主要有:启动、停止、测试、控制设备,数据输入、输出操作等,采用单一的直接寻址方式在多用户或多任务环境下,输入输出指令属于特权指令也可以不设置输入输出指令,输入输出设备与主存储器共用同一个零地址空间 处理机状态切换指令处理机至少有两个或两个以上状态硬件和软件的调试指令硬件调试指令:钥匙位置、开关状态的读取,寄存器和主存单元的显示等软件调试指令:断点的设置、跟踪,陷井指令等输入输出与处理机控制和调试指令指令的组成一般的指令主要由两部分组成:操作码通常包括两部分内容:操作种类:加、减、乘、除、数据传送、移位、转移、输入输出 操作码

49、操作码(OPC)地址码地址码(A)操作数描述数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量进位制:2进制、10进制、16进制数据字长:字、半字、双字、字节地址码通常包括三部分内容:地址:还包括间接地址、立即数、寄存器编号、变址寄存器地址的附加信息:偏移量、块长度、跳距寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址2.5.6 指令格式的优化指令格式的优化指令格式优化的目的:如何用最短的位数表示指令的操作信息和地址信息,用最短的时间处理频度高的指令,使二者之间有最佳配合以减少指令字中冗余信息以及用最少信息位来表示所需的操作信息和地址信息。指令的优化通过操作码

50、优化和地址码优化进行。哈夫曼压缩的基本思想:1992年由Huffman首先提出的一种编码方法。当各种事件发生的概率不均时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的,用较长的位数(时间)来表示(处理),就会导致表示(处理)的平均位数(时间)的缩短。指令系统的执行和优化指令系统的执行和优化计算机的控制过程:取指令、分析指令(译码、取操作数),执行指令,再取下一条指令的周而复始过程。程序的执行过程:顺序执行、转移(条件转移或无条件转移)和进程的调用和返回。由计算机系统的层次结构看,指令系统应对于各层的工作给于有力的支持,这样计算机效率才能更高。面向目标程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(精华资料第02章盘算机系统结构课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|