第二章数据表示与指令系统 s1数据表示 数据表示的确定 1.何谓数据表示 由硬件直接识别和处理(引用)的数据类型, 2.数据表示的主要类型 1)常用数据表示:定点数、字符串、浮点数等。 2)高级数据表示:自定义、向量、堆栈数据表示 3数据表示与系统结构的关系 1)数据表示是硬件设计基础 2)数据表示是指令加工的对象
第二章 数据表示与指令系统 §1 数据表示 一、数据表示的确定 1. 何谓数据表示 由硬件直接识别和处理(引用)的数据类型, 2. 数据表示的主要类型 1)常用数据表示:定点数、字符串、浮点数等。 2)高级数据表示:自定义、向量、堆栈数据表示 3. 数据表示与系统结构的关系 1)数据表示是硬件设计基础 2)数据表示是指令加工的对象
4.数据表示确定 在进行软件和硬件的功能分配时,计算机系统结构设 计应考虑在机器中设置哪些数据表示,使之能对应用中用 到的数据结构有高的实现效率。在定点、浮点、字符串 逻辑、十进制等基本数据表示的基础之上,根据应用的需 要,考虑在机器中引入哪些高级的数据表示,以便能为数 据的实现提供更好的支持(通用性和利用率是否较高)。 )一般计算机要选用常用的数据表示; 2)对较高级的数据表示要有针对选取 ①当处理的数据类型较多时,可选自定义的数据。 ②当对向量数据处理较多时,可选向量数据表示。 ③当逆波兰表达式处理较多时,可选堆栈数据表示
4. 数据表示确定 在进行软件和硬件的功能分配时,计算机系统结构设 计应考虑在机器中设置哪些数据表示,使之能对应用中用 到的数据结构有高的实现效率。在定点、浮点、字符串、 逻辑、十进制等基本数据表示的基础之上,根据应用的需 要,考虑在机器中引入哪些高级的数据表示,以便能为数 据的实现提供更好的支持(通用性和利用率是否较高)。 1)一般计算机要选用常用的数据表示; 2)对较高级的数据表示要有针对选取。 ①当处理的数据类型较多时,可选自定义的数据。 ②当对向量数据处理较多时,可选向量数据表示。 ③当逆波兰表达式处理较多时,可选堆栈数据表示
二、自定义数据表示 自定义数据表示是为缩短高级语言和机器语言的语义差距引出 来的。它又有标志符数据表示和数据描述符两类。 1.标志符 1)格式 ①类型标志 类型标志 数据值 ②数据值 如: 类型标志 数据值 无符号数 01101000 104十进制 BCD码 01101000 68(两位) 2)标志位位数选取 ①简单的用三位标志符区分8种(23)类型
二、自定义数据表示 自定义数据表示是为缩短高级语言和机器语言的语义差距引出 来的。它又有标志符数据表示和数据描述符两类。 1. 标志符 1)格式 ①类型标志 ②数据值 类型标志 数据值 2)标志位位数选取 ①简单的用三位标志符区分8种(2 3)类型 ②根据需要选取更多位 类型标志 数据值 BCD码 无符号数 01101000 01101000 104十进制 68(两位) 如:
3)使用标志位的优缺点 可简化指令系统与编译程序,便于不同数据类型的自 动校验与转换。 缺点:一个标志位只能对一个数据进行描述,其描述 效率不高。 2.描述符 格式:「特征位块长度块首址块属性 数据块 ①特征位:用来区分描述符还是非描述符。 当为描述符时,才有后面的三个字段,如某机采用101表 示描述符的特征位
特征位 块长度 块首址 块属性 数据块 格式: 3)使用标志位的优缺点 可简化指令系统与编译程序,便于不同数据类型的自 动校验与转换。 缺点:一个标志位只能对一个数据进行描述,其描述 效率不高。 2. 描述符 ①特征位:用来区分描述符还是非描述符。 当为描述符时,才有后面的三个字段,如某机采用101表 示描述符的特征位
②块长度:描述数据块的个数 ③块首址:第一个数据单元的地址 ④块属性:描述数据的特征。 2)使用描述符的好处 ①描述相同类型的数据时,描述效率高; ②利用块属性也有利于对信息的保护 ③可当作直接寻址及间接寻址使用。 直接寻址:根据描述符给岀数据块的首址,直接寻址。 011 ↓000数据
101 1 000 数据 ②块长度:描述数据块的个数。 ③块首址:第一个数据单元的地址。 ④块属性:描述数据的特征。 2)使用描述符的好处 ①描述相同类型的数据时,描述效率高; ②利用块属性也有利于对信息的保护; ③可当作直接寻址及间接寻址使用。 直接寻址:根据描述符给出数据块的首址,直接寻址
存储器一次间接 存储器两次间接 描述符给出的仍是数据描述符 1011 1011 1011 1011 0000数据 00数据 ④可描述阵列数据:描述一个阵列可用一级、二级描述符 描述。 a00.a03 A a30.a33
存储器一次间接 存储器两次间接: 描述符给出的仍是数据描述符 ④可描述阵列数据:描述一个阵列可用一级、二级描述符 描述。 a00 … a03 A= ┇ a30 … a33 101 1 101 1 000 数据 000 数据 101 1 101 1 101 1
级描述符(要求数据连续存放) 10116 000a00 a00 000 二级描述符 03 a 10 all 101 101 101 44444 20 21 a22 101 a23 a30
一级描述符(要求数据连续存放) 101 16 000 a00 000 a01 : a33 : . 101 4 101 4 101 4 101 4 101 4 a12 a13 a10 a11 a22 a23 a20 a21 a32 a33 a30 a31 a02 a03 a00 a01 二级描述符
分别利用两级描述符和三级描述符描述下列阵列数据 a00 a01 a02 a03 b00 bo1 b02 b03 alo all al2 al3 b10 bl1 b12 b13 A=a20a21a22a23 B=b20b21b22b23 a30 a31 a32 a33 b30 b31 b32 b33 a00 a01 第一级 101 2 a33 第二级101 16 101 16 b00 bo1 b33
101 2 101 16 101 16 a00 a01 : a33 : . b00 b01 : b33 : . 第一级 第二级 分别利用两级描述符和三级描述符描述下列阵列数据。 a00 a01 a02 a03 b00 b01 b02 b03 a10 a11 a12 a13 b10 b11 b12 b13 A= a20 a21 a22 a23 B= b20 b21 b22 b23 a30 a31 a32 a33 b30 b31 b32 b33
向量数据表示 1.含义:有序排列的数据元素称为向量(向量数据) 2.向量数据的三要素: 1)基地址:存放第一个向量数据的地址; 2)向量长度:向量数据个数; 3)位移量:与基地址的距离
三、向量数据表示 1. 含义:有序排列的数据元素称为向量(向量数据) 2. 向量数据的三要素: 1)基地址:存放第一个向量数据的地址; 2)向量长度:向量数据个数; 3)位移量:与基地址的距离
3.根据三要素可推出参数 )起始地址=基地址+位移量,实际参与本次操作的 第一个数据(元素)的地址; 2)有嫩向量长度=向量长度-位移量,实际参与本次 操作的向量数据个数。 4.量运算指令 基地址 SAR100机共有16个向量奇存器, 位|移 每个奇存器用四位二进制数表示。 量为al 1)格式: 起始地址 长度为 FGAY BZC 有效 长度 为7 )说明
3. 根据三要素可推出参数 1)起始地址 = 基地址 + 位移量,实际参与本次操作的 第一个数据(元素)的地址; 2)有效向量长度 = 向量长度-位移量,实际参与本次 操作的向量数据个数。 4. 向量运算指令 STAR—100机共有16个向量寄存器, 每个寄存器用四位二进制数表示 。 1)格式: F G X A Y B Z C a 3 a 2 a 1 a 0 a 9 ... 有 效 长 度 为 7 位 移 量 为 3 基地址 起始地址 长 度 为 10 2) 说明: