[农学]计算机体系结构 李学干 第二章ppt课件_第1页
[农学]计算机体系结构 李学干 第二章ppt课件_第2页
[农学]计算机体系结构 李学干 第二章ppt课件_第3页
[农学]计算机体系结构 李学干 第二章ppt课件_第4页
[农学]计算机体系结构 李学干 第二章ppt课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容提要内容提要 数据表示数据表示 寻址方式寻址方式 指令系统的设计和改进指令系统的设计和改进数据数据数据:数据:数据是描述客观事物的一些相互无关的符号。数据是描述客观事物的一些相互无关的符号。数据元素:数据元素:是数据的基本单位。是数据的基本单位。数据类型:数据类型:除了是一组值的集合外,还定义了可作用除了是一组值的集合外,还定义了可作用 于这个集合上的于这个集合上的操作集操作集。目的:目的:防止不同类型数据间的误操作防止不同类型数据间的误操作分类:分类:基本数据类型、结构数据类型基本数据类型、结构数据类型1、基本数据类型、基本数据类型基本数据类型包括基本数据类型包括:n二进制位及其位串二进

2、制位及其位串n整数及自然数整数及自然数(正整数正整数)n实数实数(浮点数浮点数)n字符字符n布尔数布尔数 由一组相互有关的数据元素组合而成的数据类型。由一组相互有关的数据元素组合而成的数据类型。常用的结构数据类型有常用的结构数据类型有: :n向量向量n数组数组n字符串字符串n堆栈堆栈n队列队列n记录记录2、结构数据类型、结构数据类型数据表示数据表示是指可由硬件直接识别和引用的是指可由硬件直接识别和引用的数据类型数据类型.由硬件实现的数据类型。由硬件实现的数据类型。数据类型包含了数据类型包含了数据取值集数据取值集和可作用其上和可作用其上的的操作集操作集,所以,相应的,所以,相应的指令及处理部件指

3、令及处理部件是是识别这些数据类型所必需的。识别这些数据类型所必需的。即:对该数据类型的各即:对该数据类型的各种运算操作都有相应的种运算操作都有相应的实现硬件电路实现硬件电路数据结构是指结构数据类型的组织方式数据结构是指结构数据类型的组织方式.它反映了在应用中所用到的各种数据元素或信息它反映了在应用中所用到的各种数据元素或信息单元间的结构关系。单元间的结构关系。除了数据表示之外的所有数据类型,一般都是数除了数据表示之外的所有数据类型,一般都是数据结构要研究的内容。据结构要研究的内容。是由软件实现的数据类型是由软件实现的数据类型。数据表示和数据结构都是数据类型的子集。数据表示和数据结构都是数据类型

4、的子集。硬件不能直接辨认与处理的数据类型就要根据数据硬件不能直接辨认与处理的数据类型就要根据数据结构的知识编制软件转化为硬件能处理的数据类型结构的知识编制软件转化为硬件能处理的数据类型数据结构数据结构研究的一个主要课题是研究的一个主要课题是:1)如何用如何用最少的存储空间最少的存储空间来存储这些数据结构;来存储这些数据结构;2)采用什么样的算法能最快、最简单地存储和访采用什么样的算法能最快、最简单地存储和访问这些数据结构问这些数据结构.数据表示数据表示要考虑的是正确、可靠、便于机器处理要考虑的是正确、可靠、便于机器处理和节省存储空间。和节省存储空间。数据表示实质上是软、硬件的主要分界面之一。数

5、据表示实质上是软、硬件的主要分界面之一。确定数据表示的实质是一个有关软硬件的取舍问题。确定数据表示的实质是一个有关软硬件的取舍问题。 计算机系统结构首先要研究的一个内容是:计算机系统结构首先要研究的一个内容是:在所有数据类型中,在所有数据类型中,哪些用硬件实现,哪些用软件实哪些用硬件实现,哪些用软件实现,并研究它们的实现方法。现,并研究它们的实现方法。数的进制选择数的进制选择例:例:“二进制表示二进制表示”和和“二二-十进制表示十进制表示”的权衡;的权衡; 二进制表示在运算速度、信息存储空间方面有优势二进制表示在运算速度、信息存储空间方面有优势 但二进制转换为十进制费时,而且有误差。但二进制转

6、换为十进制费时,而且有误差。 二二-十进制(十进制(BCD码)表示所需的存储空间大。码)表示所需的存储空间大。事务处理的出现,需要大量的十进制数,事务处理的出现,需要大量的十进制数,增加了十进制运算指令和相应的运算硬件。增加了十进制运算指令和相应的运算硬件。字长的确定字长的确定例:定点数和浮点数表示的字长的权衡例:定点数和浮点数表示的字长的权衡 过短:过短:表示范围小,表示精度低,容易造成运算溢表示范围小,表示精度低,容易造成运算溢出和机器零。出和机器零。 过长过长:主存空间开销大:主存空间开销大 定长表示和某些语言的语义不一致定长表示和某些语言的语义不一致 如如COBOLCOBOL语言提供了

7、可变长数据结构;有力支持了串数据结语言提供了可变长数据结构;有力支持了串数据结构的实现。构的实现。 为把可变长数据映象为定长数据表示,将增加编译的复杂为把可变长数据映象为定长数据表示,将增加编译的复杂性和编译时间。性和编译时间。折中的办法:多种定长数据表示,按位编址折中的办法:多种定长数据表示,按位编址如何确定数据表示如何确定数据表示是计算机系统结构设计人员要解决的难题之一。是计算机系统结构设计人员要解决的难题之一。确定哪些数据类型用数据表示来实现的原则确定哪些数据类型用数据表示来实现的原则:1) 缩短程序的运行时间,缩短程序的运行时间,2) 减少减少CPU与主存储器之间的通信量与主存储器之间

8、的通信量3) 考虑这种数据表示的通用性和利用率。考虑这种数据表示的通用性和利用率。堆栈机堆栈机:对栈数据结构高效,但矩阵运算效率却很低。:对栈数据结构高效,但矩阵运算效率却很低。树型结构机器:树型结构机器:对树数据结构的实现高效,但堆栈、对树数据结构的实现高效,但堆栈、 向量、链表等结构的实现低效。向量、链表等结构的实现低效。例例1 如果用定点数据表示实现浮点运算,处理机的如果用定点数据表示实现浮点运算,处理机的运算速度要降低两个数量级。运算速度要降低两个数量级。 如果用一台定点运算速度为每秒如果用一台定点运算速度为每秒1千万次的计算机千万次的计算机做科学计算,它的实际运算速度将低于每秒十万次

9、。做科学计算,它的实际运算速度将低于每秒十万次。用定点运算指令来实现用定点运算指令来实现32位的浮点运算时,平均要位的浮点运算时,平均要执行执行100条以上的指令。条以上的指令。CPU与主存储器之间的通信量也将增加与主存储器之间的通信量也将增加100多倍。多倍。例例2 实现实现AA+B,A和和B均为均为200 200的矩阵。的矩阵。如果在没有向量数据表示的计算机系统上实现,如果在没有向量数据表示的计算机系统上实现,编译为编译为IBM370机器的目标代码有机器的目标代码有6条指令,条指令,其中其中4条指令要执行条指令要执行4*104次。次。因此,因此,CPU与主存储器之间的通信量为:与主存储器之

10、间的通信量为:取指令:取指令:2+4 40 000条,条,读或写数据:读或写数据:3 40 000个,个,共访问主存储器共访问主存储器7 40 000次以上。次以上。例例2 实现实现AA+B,A和和B均为均为200 200的矩阵。的矩阵。如果在有向量数据表示的计算机系统上实现,只如果在有向量数据表示的计算机系统上实现,只需要一条指令。从而减少了需要一条指令。从而减少了CPU与主存储器之间的与主存储器之间的通信量:通信量:少取指令少取指令4 40 000次,程序执行时间缩短次,程序执行时间缩短了一半以上。了一半以上。因此,在设计计算机系统时,对于数据类型,系统因此,在设计计算机系统时,对于数据类

11、型,系统结构设计者要做的是:结构设计者要做的是:确定哪些数据类型全部用硬件实现,即数据表示;确定哪些数据类型全部用硬件实现,即数据表示;哪些数据类型用软件实现,即数据结构;哪些数据类型用软件实现,即数据结构;哪些数据类型可由硬件给予适当支持哪些数据类型可由硬件给予适当支持,即由软件和即由软件和硬件共同实现硬件共同实现,并确定软件与硬件的适当比例关系并确定软件与硬件的适当比例关系.传统的冯传统的冯诺依曼计算机中,诺依曼计算机中,指令本身指明了操作指令本身指明了操作数据类型数据类型.例如对于加法指令,在例如对于加法指令,在IBM 370中就要分成定点中就要分成定点加、浮点加、十进制加等加、浮点加、

12、十进制加等15种加法指令。种加法指令。高级语言中,同一种运算操作,只采用一个操作符高级语言中,同一种运算操作,只采用一个操作符. .如如 A=A+Breal A,B;A=A+B;int A,B;A=A+B;float A,B;A=A+B;n自定义数据表示自定义数据表示 带标志符的数据表示带标志符的数据表示 数据描述符数据描述符n 向量数据表示向量数据表示n 堆栈数据表示堆栈数据表示1、带标志符的数据表示、带标志符的数据表示数据字的格式数据字的格式类型标志类型标志 数据值数据值这种表示要求这种表示要求对每一个数据都附加类型标志对每一个数据都附加类型标志 B-5000设置了设置了1位标志,用来区分

13、数据字是位标志,用来区分数据字是操作数还是描述符。操作数还是描述符。 B-6500和和B-7500设置了设置了3位标志,可区分位标志,可区分8种种类型。类型。R-2设置了设置了10位标志符。位标志符。信息类型位信息类型位( 2位)位)直接标志位直接标志位(4位)位)奇偶位奇偶位(1位)位)写封锁位写封锁位(1位)位)软件定义捕捉位软件定义捕捉位(2位)位)信息类型位信息类型位直接标志位直接标志位数值数值二进制数、十进制数、二进制数、十进制数、整数、实数、字符串、整数、实数、字符串、单精度数、双精度数单精度数、双精度数地址地址绝对地址、相对地址、绝对地址、相对地址、链接中的地址链接中的地址1、带

14、标志符的数据表示、带标志符的数据表示带标志符数据表示的优缺点带标志符数据表示的优缺点优点:优点:1)减少指令种类,简化指令系统与程序设计;)减少指令种类,简化指令系统与程序设计;2)简化了编译器的构造,并加快了编译过程;)简化了编译器的构造,并加快了编译过程;3)便于一致性检查(由硬件检测);)便于一致性检查(由硬件检测);4)由硬件实现数据类型的转换,可进一步简化编译器,)由硬件实现数据类型的转换,可进一步简化编译器,并缩短变换时间;并缩短变换时间;5)支持了数据库系统的实现与数据类型无关的要求;)支持了数据库系统的实现与数据类型无关的要求;6)为软件调试和应用软件的开发提供了支持。)为软件

15、调试和应用软件的开发提供了支持。带标志符数据表示的优缺点带标志符数据表示的优缺点使用带标志符数据表示的主要问题是:使用带标志符数据表示的主要问题是: 1)程序占用的主存空间增加)程序占用的主存空间增加采用标志符后指令字缩短采用标志符后数据字增长不采用标志符总数少总数多AB数据指令采用标志符后指令字缩短采用标志符后数据字增长不采用标志符总数少总数多AB数据指令若有若有BA程序所占的存储程序所占的存储空间反而节省空间反而节省使用带标志符数据表示的主要问题是:使用带标志符数据表示的主要问题是: 2)指令执行速度将减慢(但宏观性能有利)指令执行速度将减慢(但宏观性能有利).3)必须用专门的指令完成标志

16、符的初始化)必须用专门的指令完成标志符的初始化.带标志符数据表示的优缺点带标志符数据表示的优缺点2、数据描述符、数据描述符数据描述符专门用来描述要访问的数据的特性数据描述符专门用来描述要访问的数据的特性.主要是用来描述复杂和多维结构的数据类型主要是用来描述复杂和多维结构的数据类型。 指明这是一个指明这是一个数据描述符数据描述符指明所描述数据指明所描述数据的各种特征的各种特征指明所描述数据的长度,指明所描述数据的长度,即数组中元素个数即数组中元素个数指明所描述的指明所描述的一组数据的首址。一组数据的首址。描述符描述符标志位标志位特征标志特征标志数据块长度数据块长度数据块起始地址数据块起始地址B-

17、6700B-6700计算机的数据描述符计算机的数据描述符数据格式数据格式描述符格式描述符格式000数据数据101长度长度地址地址标志位标志位n标志位标志位(8位位)另一描述符体系另一描述符体系整块或单个数据整块或单个数据连续或分段存贮连续或分段存贮只读或可写只读或可写字或串字或串单精度或双精度单精度或双精度n长度长度块内元素的个数块内元素的个数n地址地址块中首元素的地址块中首元素的地址数据描述符与带标志符的不同数据描述符与带标志符的不同 标志符要与每个数据相连标志符要与每个数据相连,两者合起来存在一个存,两者合起来存在一个存储器单元中,描述单个数据的类型特征储器单元中,描述单个数据的类型特征

18、描述符则和数据分开存放描述符则和数据分开存放,专门用来描述要访问的数,专门用来描述要访问的数 据是整块数据还是单块数据,访问该数据块或数据元素据是整块数据还是单块数据,访问该数据块或数据元素 需要的地址以及其他特征等信息。需要的地址以及其他特征等信息。是对它所指向的数据是对它所指向的数据 块的共性描述,块的共性描述,为数据块中所有数据字所共享为数据块中所有数据字所共享. .操作码操作码XY000000101101101101地址生成逻辑地址生成逻辑指令指令数据数据数据数据.主存储器主存储器描述符描述符描述符的工作过程描述符的工作过程例:一维数组的描述Aaaaaaaaaaaaa3 4112131

19、122232132333142434按行描述按行描述按列描述按列描述1013101410141014000(a11)000(a12)000(a13)000(a14)000(a21)000(a22)000(a23)000(a24)000(a31)000(a32)000(a33)000(a34)1014例:二维数组的描述3、向量数据表示、向量数据表示例如,若要计算例如,若要计算ci=ai+bi-4, i=4,5,11的向量的向量加法时,用加法时,用C语言实现:语言实现: for(i=4;i=11;i+) ci=ai+bi-4;各条目标码指令只能顺序执行。各条目标码指令只能顺序执行。向量加向量加 A

20、向量参数向量参数 B向量参数向量参数 C向量参数向量参数 向量参数向量参数(基地址基地址,位移量位移量,向量长度向量长度) :指向向量的第一个元素指向向量的第一个元素 向量长度向量长度 用于校验地址是否越界用于校验地址是否越界 基地址基地址位移量位移量起始地址起始地址 指向实际参加运算的第一个元素指向实际参加运算的第一个元素 向量的有效长度向量的有效长度 Ce=11-4+1A0A1A2A3A4A5A6A7A8A9A10A11AbAd=4As=4Ae=11-4+1C0C1C2C3C4C5C6C7C8C9C10C11CbCd=4Cs=4B0B1B2B3B4B5B6B7Bd=0Bb=Bs=0Be=7

21、-0+1c(i)=a(i)+b(i-4)例:例:ci=ai+bi-4, i=4,5,11(1)向量处理机)向量处理机向量处理机向量处理机( Vector Processor ):):具有向量表示和相应向量运算指令的计算机。具有向量表示和相应向量运算指令的计算机。标量处理机标量处理机( Scalar Processor ):):不具有向量表示和相应向量运算指令的计算机。不具有向量表示和相应向量运算指令的计算机。(2)向量数据)向量数据 向量的表示向量的表示 数组数组 A=(a0,a1,a2,an-1) ai为为A的元素,可以为定点数、浮点数、整数等的元素,可以为定点数、浮点数、整数等 向量在主存

22、中的存放原则:向量在主存中的存放原则: 规律性、地址计算简单、访存冲突小规律性、地址计算简单、访存冲突小 元素相邻存放元素相邻存放 元素等间距存放元素等间距存放压缩一般要分为两步实现:压缩一般要分为两步实现:1)先形成一个向量先形成一个向量Z,它是一个,它是一个“位向量位向量”,用来指,用来指明稀疏向量中各元素的状况及明稀疏向量中各元素的状况及所在位置所在位置。2)根据根据Z向量的内容将稀疏向量中与向量的内容将稀疏向量中与Z向量中向量中“1”元元素相对应的向量元素存入指定存储单元,转变成压素相对应的向量元素存入指定存储单元,转变成压缩向量缩向量.稀疏向量稀疏向量: 含有大量零元素的向量含有大量

23、零元素的向量.(3)稀疏向量)稀疏向量A0A1(0)A2(0)A3A4A5(0)A6(0)A7A0A3A4A7 A0 A1 A2 A3 A4 A5 A6 A7 1 0 0 1 1 0 0 1稀疏向量稀疏向量 压缩向量压缩向量 Z向量(有序向量向量(有序向量) 4、堆栈数据表示、堆栈数据表示堆栈机器:堆栈机器: 具有堆栈数据表示的机器。具有堆栈数据表示的机器。堆栈机器特点:堆栈机器特点: (1)有若干高速寄存器组成的硬件堆栈,并附加控制有若干高速寄存器组成的硬件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上组成一个整体,电路让它与主存中的堆栈区在逻辑上组成一个整体,使使堆栈的访问速度是寄存器的,容量是主存的堆栈的访问速度是寄存器的,容量是主存的。 (2)有很丰富的堆栈操作类指令且功能很强,可直接有很丰富的堆栈操作类指令且功能很强,可直接对堆栈中的数据进行各种运算和处理。对堆栈中的数据进行各种运算和处理。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论