数据表示寻址方式与指令系统

上传人:bin****86 文档编号:54839337 上传时间:2018-09-20 格式:PPT 页数:112 大小:550.50KB
返回 下载 相关 举报
数据表示寻址方式与指令系统_第1页
第1页 / 共112页
数据表示寻址方式与指令系统_第2页
第2页 / 共112页
数据表示寻址方式与指令系统_第3页
第3页 / 共112页
数据表示寻址方式与指令系统_第4页
第4页 / 共112页
数据表示寻址方式与指令系统_第5页
第5页 / 共112页
点击查看更多>>
资源描述

《数据表示寻址方式与指令系统》由会员分享,可在线阅读,更多相关《数据表示寻址方式与指令系统(112页珍藏版)》请在金锄头文库上搜索。

1、,第二章 数据表示、寻址方式与指令系统,目录,数据表示 寻址方式 指令系统的设计和优化指令系统的发展和改进,1 数据表示,数据表示与数据结构 高级数据表示 自定义数据表示(Self_defining) 带标识符的数据表示 数据描述符 向量数组数据表示 堆栈数据表示 引入数据表示的原则 浮点数尾数基值大小和下溢处理方法的选择(选讲),数据表示,定义:机器硬件能直接识别和引用的数据类型。 条件:相应的运算指令和运算硬件(处理部件)。 分类:基本数据表示、高级数据表示、自定义数据表示。 目标: 缩小高级语言和机器语言间的语义差别 提高性能/价格 节省处理时间和存储空间 实现:最小的存储空间、最简单的

2、存取算法。,数据表示与数据结构,数据表示:指的是能由机器硬件直接识别和引用的数据类型。由硬件实现的数据类型 数据结构:面向计算机系统软件、面向应用领域所需处理的数据类型。由软件实现的数据类型。 目标:最大限度满足应用要求、最简化的方法实现。 实现:通过数据表示和软件映象相结合方法实现。 数据表示是数据类型的子集。 数据表示的确定实质上是软、硬件的取舍问题 数据结构和数据表示是软、硬件的界面,数据类型,定义:具有一组值的集合,且定义了作用于该集合的操作集。 目的:防止不同类型数据间的误操作。 分类:基本类型、结构类型。 基本数据类型 内容:二进制位、二进制位串、整数、十进制数、浮点数、字符、布尔

3、数等。 结构数据类型定义:由一组相互有关的数据元素复合而成的数据类型。 分类:系统数据类型、用户自定义数据类型 内容:数组、字符串、向量、堆栈、队列、记录等,数据表示中应表达的内容,数值的表达 进位制数、负数、小数点的方式 字符和符号的表达 ASCII码 数据单位的表达 字:逻辑单位,一条指令处理的数据单位。32Bit, 字节、半字、字、双字 数据的属性 类型、存放的位置、对数据的约束,数据表示的发展,定点数据表示 用定点数表示浮点数 不方便而低效 50年代提出变址操作,为向量、阵列提供方便。 用循环遍历向量和阵列 可变长字符串数据表示 支持串数据结构的实现 用于输入、输出、事务处理和编译,高

4、级数据表示,自定义数据表示(Self_defining) 带标识符的数据表示 数据描述符 向量数组数据表示 堆栈数据表示,带标识符的数据表示,主要用于指明数据类型(如二进制整数、十进制整数等,也可用于指明及其内部所用信息的各种类型。对高级程序员透明。,带标识符的数据表示的优缺点,优点: 简化指令系统和程序设计 简化编译程序 便于一致性校验 能由硬件自动完成数据类型的变换 支持数据库系统的实现与数据类型无关的要求 为软件调试和应用软件开发提供支持;,缺点: 使程序所占用的主存空间增加(如下图) 降低指令的执行速度; 必须用专门的指令完成标识符的初始化,采用标识符缩短操作码而节省程序空间,通常有面

5、积B面积A,数据描述符,000,数据,描述符,数据,目的:描述复杂和多维的结构类型。,数据描述符,实现阵列数据的索引比变址方法实现的好,而且能检查程序设计中阵列越界错误。 为向量、数组数据结构的实现提供一定的支持,有利于简化编译中的代码生成。 工作过程:如下图,描述符的工作过程,数据描述符与带标识符的区别,标识符是和每一个数据相连的,合存在一个存储单元中,描述单个数据的类型特征。描述符是和数据分开存放的,专门用来描述所要访问的数据是整块数据还是单块数据,访问该数据块或数据元素需要的地址以及其他特征信息等。,向量数组数据表示,举例:计算 i=10、11.1000 C语言:for (i=10; i

6、=1000; i+)Ci=ai+bi,向量数据表示: C=A+B,向量处理机(向量计算机)(Vector Processor):具有向量表示和相应的向量运算指令的计算机。 标量处理机(标量计算机)(Scalar Processor):不具有向量表示和相应的向量运算指令的计算机。,向量数据,向量的表示 数组 为A的元素。 可为定点数、浮点数、整数、逻辑数等。 向量在主存储器中的存放原则 规律性 地址计算简单 访存冲突小 向量的存放方式 元素相邻存放 元素等间距存放,向量数据,向量存储的参数 基地址、位移量、向量长度 稀疏向量的压缩 采用隐蔽位向量方法,如下图 向量指令格式的描述 寄存器-寄存器

7、存储器-寄存器 存储器-存储器,稀疏向量的压缩,堆栈数据表示,有利于编译和子程序调用。 堆栈机器:具有堆栈数据表示的机器。 有若干高速寄存器组成的硬 件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上组成一个整体,使堆栈的访问速度是寄存器的,堆栈的容量是主存的; 有很丰富的堆栈操作类指令且功能很强,直接可对堆栈中的数据进行各种运算和处理; 有力地支持高级语言程序的编译;逆波兰表达式 有力地支持子程序的嵌套和递归调用。,堆栈数据表示(续),有力地支持高级语言程序的编译;逆波兰表达式F=A*B+C/(D-E) 逆波兰表达式 AB*CDE-/+ 有力地支持子程序的嵌套和递归调用。 减少大量辅助性工作

8、 多使用零地址指令 存储效率高,引入数据表示的原则,看系统的效率是否提高,是否减少了实现时间和所需的存储空间; 举例1:两个200*200的二维定点数组相加PL/1 A=A+B, 无阵列型:6条指令,4条循环 200*200=40000 有阵列型:1条指令,减少4*40000=160000字,引入数据表示的原则(续),看引入数据表示后,其通用性和利用率是否高; 通用性:是否对多种数据结构均适用。 利用率:硬件设置大小的选择。数据结构的发展总是优先于机器的数据表示,应尽可能为数据结构提供更多的支持。,浮点数尾数基值大小和下溢处理方法的选择,二进制的定点数 符号数值、反码、补码 浮点数数据表示 I

9、EEE标准754 1985年 提出 三部分:符号位、指数、尾数浮点数尾数基值的选择 浮点数尾数下溢处理方法,IEEE754表示:,若E=0且M=0,N为0 若E=0且M0,N=(-1)S2-126 (0.M),非规格化数; 若1E254,N=(-1)S2E-127 (1.M),规格化数; 若E=255且M 0,N=NaN(非数值); 若E=255且M = 0,N= (-1)S (无穷大),浮点数尾数下溢处理方法,2 寻址方式,寻址方式:是指令按什么方式寻找(访问)到所需的操作数或信息的。寻址方式分析 逻辑地址与主存物理地址,寻址方式分析,面向主存:主要访问内存,少量访问寄存器面向通用寄存器:多

10、数在寄存器,少量在内存面向堆栈:主要在堆栈,可减轻编译负担,寻址方式的种类,寄存器寻址 ADD R4,R3 R4-R4+R3 立即寻址 ADD R4,#3 R4-R4+3 直接寻址 ADD R1,(2000) R1-R1+M2000 间接寻址 ADD R4,(R1) R4-R4+MR1 相对寻址 ADD R4,100(R1) R4-R4+M100+R1,寻址方式的种类(续),变址寻址 ADD R3,(R1+R2) R3-R3+MR1+R2 寄存器间接寻址 ADD R1,(R3) R1-R1+MMR3 自增自减寻址 ADD R1,(R2)+ R1-R1+MR2 R2-R2+d 比例寻址 ADD

11、R1,100(R2)R3 R1-R1+M100+R2+R3*d,寻址方式在指令中的指明方式,操作码占用位 DJS200中:操作码中2位表示 地址码设置寻址方式字段 VAX-11的4位 寻址灵活、操作码短,需专门的寻址方式位字段,使用概率分析法分析寻址方式,例1:在VAX指令集机器上运行gcc、Spice和Tex基准程序,各种寻址方式的分布如下图:,逻辑地址与主存物理地址,逻辑地址:程序员编写程序时使用的地址。 物理地址:程序在主存中的实际地址。一般来讲,逻辑地址的空间大于物理地址的空间。 如逻辑地址为32位,即232=4GB 物理地址只有256MB 映射实际上是压缩。,静态再定位:用软件方法把

12、目标程序的逻辑地址变换成物理地址,而在程序的执行过程中,物理地址不再改变。动态再定位:在执行每条指令时才形成访存物理地址的方法。通过基址寻址。,变址寻址:支持向量、数组,实现循环; 基址寻址:支持逻辑地址到物理地址的变换,实现动态再定位; 存储保护:设置多对上、下界寄存器。 整数边界存储 保证访存速度 造成浪费,3 指令系统的设计和优化,指令系统是从程序设计者看到的机器的主要属性,是软、硬件的主要界面 指令系统是计算机系统结构的主要组成部分 指令系统是软件与硬件分界面的一个主要标志 指令系统是软件与硬件之间互相沟通的桥梁 指令系统与软件之间的语义差距越来越大 指令系统的设计主要包括指令的功能(

13、操作类型、具体操作内容)和指令格式的设计.,内容,指令系统设计的基本原则指令操作码的优化指令字格式的优化,指令设计的步骤,根据应用,初拟出指令的分类和具体的指令; 试编出用该指令系统设计的各种高级语言的编译程序; 对各种算法白那些大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否都比较高; 将程序中高频出现的指令串复合改成一条强攻能新指令,即改用硬件方式实现;而将频度很低的指令的操作改成基本的指令组成的指令串来完成,即用软件方式实现;,指令类型,非特权型:主要供应应用程序员使用,也可供系统程序员使用,包括算术逻辑运算、数据传送、浮点运算、字符串、十进制运算、控制转移及系统控制等;

14、特权型:系统程序员使用,用户无权使用,有启动I/O(多用户环境下)、停机等待、存储管理保护、控制系统状态、诊断等;,指令系统的设计,设计的原则:如何支持编译系统能高效、简易地将源程序翻译成目标代码。 规整性 对称性 独立性和全能性 正交性 可组合性 可扩充性,系统设计人员希望,指令码密度适中 高密度指令:强功能符合指令 优点:减少程序长度、访存次数、Cache、虚存访问调度次数、程序运行时间; 缺点:指令系统复杂,硬件实现困难; 兼容性 适应性,指令系统的设计包含的内容,指令的格式 指令的类型 操作功能 操作数的访问方式-寻址方式,指令的组成,一般的指令主要由两部分组成:操作码和地址码 操作码

15、主要包括两部分内容: 操作种类:加、减、乘、除、数据传送、移位、转移、输入输出 操作数描述 数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量 进位制:2进制、10进制、16进制 数据字长:字、半字、双字、字节 地址码通常包括三部分内容: 地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号 地址的附加信息:偏移量、块长度、跳距 寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址,指令设计要考虑的问题,操作数的存储形式 存储器 CPU内什么地方 每条指令中显式说明的操作数个数 操作数的位置 操作类型 操作数的类型和长短,指令格式的优化,指令=操作码+地址

16、码指令格式的优化:如何用最短的位数来表示指令的操作信息和地址信息,使程序中指 令的平均字长最短。主要目标: 节省程序的存储空间 指令格式尽量规整,便于译码,操作码的优化表示,操作码的三种编码方法: 固定长度: 规整性好,解码简单,空间大。 Huffman编码:空间小,规整性不好,解码复杂。 扩展编码: 折衷方案。,改进操作码编码方式能够节省程序存储空间 例如:Burroughs公司的B-1700机,哈夫曼(Huffman)压缩,当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到平均位数减少的目的。 用于代码压缩、程序压缩、空间压缩和时间压缩,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号