
计算机系统结构 (第6讲) 主讲人:郑纬民教授 清华大学计算机系
计算机系统结构 (第6讲) 主讲人: 郑纬民 教授 清华大学计算机系

第二章指令系统 2.1数据表示 2.2寻址技术 2.3指令格式的优化设计 2.4指令系统的功能设计 2.5RISC指令系统
第二章 指令系统 2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计 2.5 RISC指令系统

2.2寻址技术 寻找操作数及其他信息的地址的技术称为 寻址技术 内容:编址方式、寻址方式和定位方式 对象:寄存器、主存储器、堆栈 和输入输出设备 方法:分析各种寻址技术的优缺点, 如何选择和确定寻址技术 2.2.1编址方式 2.2.2寻址方式 2.2.3定位方式 重点是寻址方式的选择方法
2.2 寻址技术 寻找操作数及其他信息的地址的技术称为 寻址技术 内容:编址方式、寻址方式和定位方式 对象:寄存器、主存储器、堆栈 和输入输出设备 方法:分析各种寻址技术的优缺点, 如何选择和确定寻址技术 2.2.1 编址方式 2.2.2 寻址方式 2.2.3 定位方式 重点是寻址方式的选择方法

2.2.1编址方式 编址方式是指对各种存储设备进行编码的 方法。 主要内容:编址单位、零地址空间个数、 并行存储器的编址技术、输入输出设备 的编址技术 1、编址单位 常用的编址单位:字编址、字节编址、位 编址、块编址等
2.2.1 编址方式 编址方式是指对各种存储设备进行编码的 方法。 主要内容:编址单位、零地址空间个数、 并行存储器的编址技术、输入输出设备 的编址技术 1、编址单位 常用的编址单位:字编址、字节编址、位 编址、块编址等

编址单位与访问字长 一般:字节编址,字访问 部分机器:位编址,字访问 辅助存储器:块编址 字节编址字访问的优缺点 有利于信息处理 地址信息浪费、存储器空间浪费 读写逻辑稍复杂 0字节位置引起的问题 2、零地址空间个数 三个零地址空间:通用寄存器、主存储器 和输入输出设备均独立编址
编址单位与访问字长 一般:字节编址,字访问 部分机器:位编址,字访问 辅助存储器:块编址 字节编址字访问的优缺点 有利于信息处理 地址信息浪费、存储器空间浪费 读写逻辑稍复杂 0字节位置引起的问题 2、零地址空间个数 三个零地址空间:通用寄存器、主存储器 和输入输出设备均独立编址

两个零地址空间:主存储器与输入输出设 备统一编址 个零地址空间:所有存储设备统一编址, 最低端是通用寄存器,最高端是输入输 出设备,中间为主存储器 隐含编址方式,实际上没有零地址空间: 堆栈、Cache等 3、输入输出设备的编址 台设备一个地址 台设备两个地址:数据寄存器、状态或 控制寄存器
两个零地址空间:主存储器与输入输出设 备统一编址 一个零地址空间:所有存储设备统一编址, 最低端是通用寄存器,最高端是输入输 出设备,中间为主存储器 隐含编址方式,实际上没有零地址空间: 堆栈、Cache等 3、输入输出设备的编址 一台设备一个地址 一台设备两个地址:数据寄存器、状态或 控制寄存器

多个需要编址的寄存器共用同一个地址的 方法:依靠地址内部来区分,适用于被 编址的接口寄存器的长度比较短。“下 跟法”隐含编址方式,必须按顺序读写 寄存器。 台设备多个地址。对编程增加困难 4、并行存储器的编址技术 高位交叉编址 主要目的是用来扩大存储器容量。 低位交叉编址 主要目的是提高存储器速度
多个需要编址的寄存器共用同一个地址的 方法:依靠地址内部来区分,适用于被 编址的接口寄存器的长度比较短。“下 跟法”隐含编址方式,必须按顺序读写 寄存器。 一台设备多个地址。对编程增加困难 4、 并行存储器的编址技术 高位交叉编址 主要目的是用来扩大存储器容量。 低位交叉编址 主要目的是提高存储器速度

2.2.2寻址方式 寻址方式:寻找操作数及数据存放单元的 方法。 主要内容:设计思想和设计方法 1、寻址方式的设计思想 立即数寻址方式 用于数据比较短、源操作数 面向寄存器的寻址方式 OPC R OPC R,R OPC R.R.R
2.2.2 寻址方式 寻址方式:寻找操作数及数据存放单元的 方法。 主要内容:设计思想和设计方法 1、寻址方式的设计思想 立即数寻址方式 用于数据比较短、源操作数 面向寄存器的寻址方式 OPC R OPC R, R OPC R, R, R

OPC R,M 面向主存储器的寻址方式: OPC M OPC MM OPC M,M,M 面向堆栈的寻址方式: OPC OPC M 2、间接寻址方式与变址寻址方式的比较 目的相同: 都是为了解决操作数地址的修改问题
OPC R, M 面向主存储器的寻址方式: OPC M OPC M, M OPC M, M, M 面向堆栈的寻址方式: OPC OPC M 2、间接寻址方式与变址寻址方式的比较 目的相同: 都是为了解决操作数地址的修改问题

都能做到不改变程序而修改操作数地址 原则上,一种处理机中只需设置间址寻址 方式与变址寻址方式中的任何一种即可, 有些处理机两种寻址方式都设置 如何选取间址寻址方式与变址寻址方式? 优缺点怎样? 例2.7:一个由N个元素组成的数组,已经存 放在起始地址为AS的主存连续单元中, 现要把它搬到起始地址为AD的主存连续 单元中。不必考虑可能出现的存储单元的 重叠问题。为了编程简单,采用一般的两 地址指令编写程序
都能做到不改变程序而修改操作数地址 原则上,一种处理机中只需设置间址寻址 方式与变址寻址方式中的任何一种即可, 有些处理机两种寻址方式都设置 如何选取间址寻址方式与变址寻址方式? 优缺点怎样? 例2.7:一个由N个元素组成的数组,已经存 放在起始地址为AS的主存连续单元中, 现要把它搬到起始地址为AD的主存连续 单元中。不必考虑可能出现的存储单元的 重叠问题。为了编程简单,采用一般的两 地址指令编写程序