1、第 2 章 数据表示与指令系统 第 2 章 数据表示与指令系统2.1 数据表示2.2 寻址方式 2.3 指令系统的设计和改进2.4 指令系统的发展和改进第 2 章 数据表示与指令系统 2.1 数 据 表 示 一、 数据表示与数据结构数据表示 是 构成数据结构的元素 , 数据结构和数据表示是软硬件的数据结构和数据表示是软硬件的 交界交界面面 。 数据表示指的是能由机器硬件直接识别和引用的数据类型。当机器设置有定点加、减、乘、除、移位、比较等一系列定点运算指令和相应的运算硬件,可直接对定点数进行各种处理时,机器就有了 定点数据表示。当机器设置有逻辑加、 逻辑乘、按位相加、逻辑移位等一系列逻辑运算指
2、令和相应逻辑运算硬件,可直接对逻辑数进行各种处理,机器就有了 逻辑数据 表示。 若机器设置有浮点运算指令 (如浮点加、减、乘、除、 比较、存、取等 )和相应的运算硬件,可以直接对浮点数进行处理, 机器就有 浮点数据 表示。 第 2 章 数据表示与指令系统 软件系统所要处理的各种数据结构。有:串、队、栈、向量软件系统所要处理的各种数据结构。有:串、队、栈、向量、阵列、链表、树、图等,它们反映了面向应用的各种数据元素、阵列、链表、树、图等,它们反映了面向应用的各种数据元素或信息单元之间的结构关系。或信息单元之间的结构关系。数据结构是通过软件映象 ,将信息变换成机器中所具有的各种数据表示来实现的,
3、数据表示是构成数据结构的元素 。不同的数据表示可以为数据结构的实现提供不同的支持,表现在实现的效率和方便性上不同。 数据结构和数据表示是软、硬件的交界面。 设计系统时需要分配软、硬件的功能,确定在机器中设置哪些数据表示,以便对应用中所遇到的数据结构能有高的实现效率。数据表示的确定实质上是软、硬件的取舍问题。数据表示的确定实质上是软、硬件的取舍问题。 第 2 章 数据表示与指令系统 图 2.1 变址操作对向量、 阵列数据结构的支持 第 2 章 数据表示与指令系统 二、高级数据表示1.自定义数据表示自定义数据表示 自定义 (Self-defining)数据表示包括带标志符的 数据表示 和 数据描述
4、符 两类。在传统的计算机体系结构中,用指令本身来说明操作数据的类型。如:定点加法表示操作数是纯小数或纯整数;浮点加法表示操作数是浮点数;十进制加法表示操作数是 BCD数。由于操作数据类型不同,要设三种不同的指令 (操作码 )来加以区分。自定义数据表示则用数据本身来说明数据类型。表示形式有两种,即 标志符数据表示 和 描述符数据表示 。标志符数据表示要求对每一个数据都附加标志符,其格式如下 :第 2 章 数据表示与指令系统 (1) 带标志符的数据表示 高级语言用类型说明语句指明数据类型,让数据类型直接与数据本身联在一起,运算符不反映数据类型 。如 FORTRAN程序中,实数 I和 J的相加是采用
5、如下的语句组指明的:REAL I, JI=I+J 在说明 I、 J的数据为实型后,用通用的 “+”运算符就可实现实数加法。传统的机器语言程序要用操作码指明操作数的类型。如浮点加法指令中,由于操作码是浮加,那么无论 I和 J是否是浮点数, 总是按浮点数对待,进行浮点数加法。编译时 需要把 高级语言程序中的数据类型 说明语句 和 运算符变换成机器语言中不同类型指令的操作码 ,并 验证操作数的类型 是否与运算符所要求的一致,若不一致,还需用软件进行转换,这些都增加了编译的负担。 浮加 I J 第 2 章 数据表示与指令系统 其中标志符指明后面的数据所具有的类型,如整数、浮点数、 BCD数、字符串等。
6、标志符数据表示的 优点 是 能简化指令系统 ,便于程序调试和查错, 缺点 是 数据区域占用的存储空间增加 ,并使指令执行的速度减慢。 为了缩短高级语言与机器语言的这种语义差距,可让机器中的每个数据如下所示,都带有 类型标志位: 类 型 标 志 数 据 值 数据 (字 ) 第 2 章 数据表示与指令系统 标志符数据标志符数据 表示的主要优点 : (1)简化指令系统和程序设计; (2) 简化编译程序; (3) 便于实现一致性校验; (4) 能由硬件自动完成数据类型的变换; (5) 支持数据库系统的实现与数据类型无关的要求; (6) 为软件调试和应用软件开发提供了支持。采用标志符数据表示 带来的问题
7、 可能有两个: (1) 每个数据字因增设标志符, 会使程序所占用的 主存空间增加 。(2) 采用标志符会降低指令的 执行速度 。 第 2 章 数据表示与指令系统 2) 数据描述符 自定义数据表示则用数据本身来说明数据类型。 表示形式有两种,即 标志符数据 表示和 描述符数据 表示。为进一步减少标志符所占的存贮空间,对于向量、数组、记录等数据,由于每个元素具有相同的属性,产生数据描述符。数据描述符和标志符的差别在于 标志符是和每个数据相连,合存在一个存贮单元中, 描述单个数据的类型特征 ; 描述符描述符是与数据分开存放的,专门用来描述所要访问的数据是整块数是与数据分开存放的,专门用来描述所要访问的数据是整块数据还是单个数据,访问该数据块或数据元据还是单个数据,访问该数据块或数据元 素所需要的地址以及素所需要的地址以及其他特征信息等。其他特征信息等。 第 2 章 数据表示与指令系统 以 B6700的描述符为例, 其数据描述符和数据的形式分别如下: 1 0 1 各种 标 志符 长 度 地 址 描述符 0 0 0 数 据 数 据