第2章数据表示与指令系统 21数据表示 21.1数据表示与数据结构 定义:数据表示指的是机器硬件直接识别和引用的 数据类型 1.种类:定点浮点逻辑二十进制数据表示 2.数据表示与数据结构 二者关系:数据表示是数据结构的组成元素 相互影响:数据表示为数据结构提供支持 数据表示的实质:软硬件界面
第2章 数据表示与指令系统 2.1 数据表示 2.1.1 数据表示与数据结构 定义: 数据表示指的是机器硬件直接识别和引用的 数据类型. 1. 种类:定点 浮点 逻辑 二-十进制数据表示 2. 数据表示与数据结构 二者关系:数据表示是数据结构的组成元素 相互影响:数据表示为数据结构提供支持 数据表示的实质:软硬件界面
第2章数据表示与指令系统 21数据表示与数据结构 3.数据表示的发展 定点浮点逻辑二十进制数据表示 变址操作为向量和阵列数据结构的实现提供 直接支持 可变长字符串 增加数据表示应注意的问题 术语:程序的可再入性数据结构
第2章 数据表示与指令系统 2.1.1 数据表示与数据结构 3. 数据表示的发展 定点 浮点 逻辑 二-十进制数据表示 变址操作:为向量和阵列数据结构的实现提供 直接支持 可变长字符串 增加数据表示应注意的问题 术语: 程序的可再入性 数据结构
第2章数据表示与指令系统 212高级数据表示 1.自定义数据表示 种类:带标志符的数据表示和数据描述符 (1)带标志符数据表示 高级语言与机器的语义差距分析 标志符数据表示的引入与建立 类型标志 数据值 ·举例: Burroughs B5000B6500B7500 1位3位 10位 透明性对于高级语言程序透明由编译程序建立
第2章 数据表示与指令系统 2.1.2 高级数据表示 1. 自定义数据表示 种类: 带标志符的数据表示和数据描述符 (1) 带标志符数据表示 • 高级语言与机器的语义差距分析 • 标志符数据表示的引入与建立 • 举例:Burroughs B5000 B6500 B7500 R-2 1位 3位 10位 透明性:对于高级语言程序透明,由编译程序建立 类型标志 数据值
标志符数据表示的优点 简化指令系统和程序设计 简化编译程序 ·便于实现一致性校验 可由硬件自动完成数振类型的变换 支持数据库系统的实现与数据类型无关的要求 为软件调试和应用程序开发提供了支持 采用标志符数据表示可能产生的问题 由于数据字增加了标志符程序占用主有空 问可能增加 采用标志符会降低指令的执行速度
标志符数据表示的优点 • 简化指令系统和程序设计 • 简化编译程序 • 便于实现一致性校验 • 可由硬件自动完成数据类型的变换 • 支持数据库系统的实现与数据类型无关的要求 • 为软件调试和应用程序开发提供了支持 采用标志符数据表示可能产生的问题 • 由于数据字增加了标志符,程序占用主存空 间可能增加 • 采用标志符会降低指令的执行速度
第2章数据表示与指令系统 212高级数据表示 1.自定义数据表示 (2)数据描述符 必要性:向量数组的特性 数据描述符的实现方式:B6700的实现 101 各种标志符长度地址 000 数据 读取操作数的过程 ·多维数组的描述方法 ·好处比变址方法实现方便便于越界检查
第2章 数据表示与指令系统 2.1.2 高级数据表示 1. 自定义数据表示 (2) 数据描述符 • 必要性:向量数组的特性 • 数据描述符的实现方式: B6700的实现 • 读取操作数的过程 • 多维数组的描述方法 • 好处:比变址方法实现方便,便于越界检查 101 000 数 据 各种标志符 长度 地址
第2章数据表示与指令系统 212高级数据表示 2.向量数组数据表示 传统的向量数组的处理方法(举例) 串行的循环方式及问题 向量指令格式 向量加A向量参数B向量参数C向量参数 向量编址的参数:向量长度基地址 起始地址向量有效长度位移量
第2章 数据表示与指令系统 2.1.2 高级数据表示 2. 向量数组数据表示 传统的向量数组的处理方法(举例) 串行的循环方式及问题 向量指令格式: 向量编址的参数: 向量长度 基地址 起始地址 向量有效长度 位移量 向量加 A向量参数 B向量参数 C向量参数
第2章数据表示与指令系统 212高级数据表示 2.向量数组数据表示 优点: ·快速形成元素地址成块元素预取 一条指令可以处理整个向量、数组 可以实现越界检查 高速高效 方便处理稀疏矩阵 编译程序简单
第2章 数据表示与指令系统 2.1.2 高级数据表示 2. 向量数组数据表示 优点: • 快速形成元素地址,成块元素预取 • 一条指令可以处理整个向量、数组 • 可以实现越界检查 • 高速高效 • 方便处理稀疏矩阵 • 编译程序简单
第2章数据表示与指令系统 212高级数据表示 3.堆栈数据表示 堆栈机器:具有堆栈数据表示的机器叫堆栈 机 活。 堆栈的作用: 快速访问堆栈 直接进行各种运算和处理 ·高级语言的编译(逆波兰表达式) 子程序的嵌套和递归调用
第2章 数据表示与指令系统 2.1.2 高级数据表示 3. 堆栈数据表示 堆栈机器:具有堆栈数据表示的机器叫堆栈 机器。 堆栈的作用: • 快速访问堆栈 • 直接进行各种运算和处理 • 高级语言的编译(逆波兰表达式) • 子程序的嵌套和递归调用
第2章数据表示与指令系统 213引入数据表示的原则 维线性存储器的局限性 引入数据表示的原则 1.系统效率是否提高 举例:PL实现A=A+B的计算的两种情 况 2.通用性和利用率 基本数据表示的问题举例:二-十进制数 定长字表示定点数和浮点数的问题 去论(p5∩
第2章 数据表示与指令系统 2.1.3 引入数据表示的原则 一维线性存储器的局限性 引入数据表示的原则 1. 系统效率是否提高 举例: PL/1实现 A=A+B的计算的两种情 况 2. 通用性和利用率 基本数据表示的问题举例: 二-十进制数 定长字表示定点数和浮点数的问题 结论(P50)
第2章数据表示与指令系统 22寻址方式 寻址方式:指令寻找操作数或操作数地址的方式 221寻址方式分析 1.主存、寄存器和堆栈的编址方式 统一编址方式:无单独的I/O指令 独立编址方式:存储空间大需要专门的指令 2.面向主存、寄存器和堆栈的寻址方式 面向寄存器 面向堆栈 面向主存
第2章 数据表示与指令系统 2.2 寻址方式 寻址方式:指令寻找操作数或操作数地址的方式 2.2.1 寻址方式分析 1. 主存、寄存器和堆栈的编址方式 • 统一编址方式:无单独的I/O指令 • 独立编址方式:存储空间大,需要专门的指令 2.面向主存、寄存器和堆栈的寻址方式 • 面向寄存器 • 面向堆栈 • 面向主存