第03章 CPU子系统-指令系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

B
S
优点:编程灵活 寻址空间大(2N N:内存数据线宽度) 缺点:多重存储器访问
3.2 指令信息的表示
3.2.2 常见寻址方式 5. 寄存器间接寻址(register indirect addressing) 指令中直接给出寄存器号,该寄存器中存放 操作数地址
OP R A 操作数有效地址 EA = (R)
3.2 指令信息的表示
3.2.3 指令的功能和类型 不同的机器指令系统各不相同。一个完善的 指令系统应满足以下四方面的要求: ·完备性 ·有效性 ·规整性 ·兼容性
3.2 指令信息的表示
3.2.3 指令的功能和类型 不同的机器指令系统各不相同。一个完善的 指令系统应满足以下四方面的要求: ·完备性 是指在一个有限可用的存储空间,对于任何 可解的问题,编制计算程序时,指令系统直 接提供的指令足够使用。这是一个原则性要 求,很难确定一个完备性的标准。
注:通过多重读取提供地址的可变性
主存 A
S
3.2 指令信息的表示
3.2.2 常见寻址方式 5. 寄存器间接寻址 优点:寻址空间大,减少地址码的位数 缺点:增加一次存储器访问 变化:自增型寄存器间接寻址 (R)+ 自减型寄存器间接寻址 -(R)
3.2 指令信息的表示
3.2.2 常见寻址方式 6. 变址寻址(indexing) 指令中给出形式地址,该地址与变址寄存器 (显示或隐式给出)的内容相加,作为操作数 的有效内存地址。
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 ⑴ 四地址指令
OP A1 A2 A3 A4
指令功能: (A1) OP (A2)→A3 A4:后继指令地址
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 ⑵ 三地址指令
OP A1 A2 A3
指令功能: (A1) OP (A2)→A3 (PC)+ n → PC
3.2 指令信息的表示
3.2.2 常见寻址方式 9. 相对寻址(relative addressing) 隐含引用PC中的内容作为基准地址,与指令 中的形式地址(补码)相加,形成操作数的有 效地址
OP d 主存
PC
A
+
A+d
S
操作数有效地址 EA =(PC)+ d
特点:可实现程序的浮动
3.2 指令信息的表示
3.2.2 常见寻址方式 10. 页面寻址(page addressing) PC高位作为操作数有效地址的高位,指令中 的形式地址作为操作数地址的低位。 操作数有效地址 EA = (PC)H + d
特点: 在页式存储管理方案中,可快速定位
3.2 指令信息的表示
3.2.2 常见寻址方式 11. 堆栈寻址(stack addressing) 是一种隐含寻址方式,指令中不需要给出一 个存储器引用,而是隐含指示操作发生在栈 顶。
OP R A 主存
N
+
A+N
S
操作数有效地址 EA = A+(R)
注:地址域引用一个主存地址,被引用的寄存器含有该地址的一个正的偏移量
3.2 指令信息的表示
3.2.2 常见寻址方式 6. 变址寻址(indexing) 优点:灵活 缺点:复杂 变化:自动变址,每次引用后递增(减)
OP R A 主存
N
3.2 指令信息的表示
3.2.3 指令的功能和类型 ·有效性 是指利用该指令系统所编写的程序能够高效 率地运行。高效率主要表现在程序占据存储 空间小、解题速度快。
3.2 指令信息的表示
3.2.1 指令格式 ⑴ 操作码 指明操作性质,是区别不同指令的依据 ⑵ 操作数或操作数地址 参加运算操作的数据称为操作数。 ⑶ 存放运算结果的地址 指明运算结果的存放位置 ⑷ 后继指令地址 告知CPU本条指令执行完毕后到哪里去取下一 条指令
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 一条指令需要的最大地址数是多少? 对于二元运算: ·两个地址来访问操作数 ·一个地址来存放运算结果 ·下一条指令的地址
3.2 指令信息的表示
3.2.1 指令格式 3. 操作码结构 ⑶ 单功能型或复合型操作码 ·单功能型操作码 操作码只表示一种操作 含义 ·复合型操作码 将操作码分组,组合成丰 富的含义
3.2 指令信息的表示
3.2.1 指令格式 4. 指令字长 指令格式的长度是最基本的设计出发点,它 决定了汇编程序员所看到的机器的灵活程度。 ?需要考虑的因素
S
优点:灵活 缺点:复杂
操作数有效地址 EA = A+(R)
注:被引用的寄存器含有存储器地址,地址段含有该地址的偏移量(无符号整数)
3.2 指令信息的表示
3.2.2 常见寻址方式 8. 基址加变址 ·前变址(pre-indexing) EA = (A + (R)) ·后变址(post-indexing) EA = (A) + (R) 应用: 访问多路转移表、处理二维数组或表格
3.2.2 常见寻址方式 2. 直接寻址(direct addressing) 指令中直接给出操作数的地址
OP A
A 主存 S
操作数有效地址 EA = A
优点:简单,且只进行一次存储器访问 缺点:有效地址是指令的一部分,不能动态 改变;寻址空间有限
3.2 指令信息的表示
3.2.2 常见寻址方式 3. 寄存器寻址(register addressing) 指令中直接给出操作数所在的寄存器号
从用户的观点看,选取机器语言的用户必定 要通晓机器所直接支持的寄存器和存储器结 构、数据类型以及ALU的功能。
3.2 指令信息的表示
CPU的操作被它执行的指令所确定,这些指令 被称为机器指令或计算机指令。 CPU可完成的各类功能反映在为CPU定义的各 类指令中。
CPU能执行的各种不同指令的集合称为CPU的 指令集(instruction set),也叫指令系统。
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 为了灵活性和使用多寄存器的能力,大多数 当代计算机采用了双地址和三地址指令的混 合方式。
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 对地址数目选择的影响另一个因素: 地址是引用到存储器位置还是寄存器的设计 考虑。 结果是: 大多数CPU设计成有多种指令格式
3.2 指令信息的表示
3.2.1 指令格式 3. 操作码结构 操作码位数决定了操作类型的多少 ⑴ 固定长度操作码 ⑵ 可变长度操作码 采用操作码扩展技术, 让操作码的位数随地址数的减少而增加。
3.2 指令信息的表示
3.2.1 指令格式 3. 操作码结构 例: 设某指令系统指令字长16位,最多可给出 3 个地址段X、Y、Z,每个地址段占4位。试给 出一种扩展操作码方案
+
A+N
S
操作数有效地址 EA = A+(R)
3.2 指令信息的表示
3.2.2 常见寻址方式 7. 基址寄存器寻址(base-register addressing) 指令中的形式地址作为偏移量,该地址与基 址寄存器(显示或隐式给出)的内容相加,作 为操作数的有效内存地址。
OP R A 百度文库存
N
+
A+N
3.2 指令信息的表示
3.2.3 指令的功能和类型 在指令集设计的最根本出发点上还存在争议: ·操作指令表 应提供多少和什么样的操作, 操作将是何等复杂; ·数据类型 对几种数据类型完成操作; ·指令格式 指令的长度、地址数目、各个字 段的大小; ·寄存器 能被指令访问的CPU寄存器数据以 及它们的用途; ·寻址方式 指定操作数地址的产生方式。
优点:无处储器访问 缺点:应用有限
寻址方式举例
3.2 指令信息的表示
3.2.3 指令的功能和类型 计算机设计的一个最具影响的方面是指令集 的设计。它影响计算机系统的诸多方面: ·指令集定义了CPU应完成的多数功能,对 CPU的实现有显著影响 ·指令集是程序员控制CPU的方式,因此设 计指令集时必须考虑程序员的要求。
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 ⑶ 二地址指令
OP A1 A2
指令功能: (A1) OP (A2)→A1 (PC)+ n → PC
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 ⑷ 一地址指令 OP A ·单操作数指令 指令功能: OP (A) → A (PC)+ n → PC ·双操作数指令 指令功能: (AC) OP (A) → AC (PC)+ n → PC
OP R R S
操作数有效地址 EA = R
优点:指令中仅需要一个较小的地址字段 无存储器访问 指令长度短 缺点:寻址空间有限
3.2 指令信息的表示
3.2.2 常见寻址方式 4. 间接寻址(indirect addressing) 指令中直接给出操作数地址的地址
OP A 主存
A
B
操作数有效地址 EA =(A) (A):A中的内容
3.2 指令信息的表示
3.2.2 常见寻址方式 CPU根据指令约定的寻址方式对地址字段的 有关信息作出解释,以找到操作数。 操作数的存放位置: ·主存或虚存 ·CPU寄存器 ·I/O设备
3.2 指令信息的表示
3.2.2 常见寻址方式 指令格式中地址字段非常有限,要想有能力 大范围地访问主存或虚存,就要采用各种寻 址技术。这涉及到在寻址范围和寻址灵活性 之间,以及存储器引用数和地址计算复杂性 之间的权衡考虑。
3.2 指令信息的表示
3.2.1 指令格式 4. 指令字长 需要考虑的因素: ·在强有力的指令清单和必须节省空间之间 权衡 ·指令字长和机器字长间的关系 ·指令长度应当是字符长度或定点数长度的 整数倍 ⑴ 固定字长指令 ⑵ 变字长指令
3.2 指令信息的表示
3.2.2 常见寻址方式 寻址方式: 指令中提供操作数或操作数地址的方式
3.1 字符表示
3.1.2 汉字编码简介 2.汉字输入码(用于输入) 直接使用西文标准键盘把汉字输入到计算机。 当前采用的方法有: ·区位码 ·拼音码 ·字形编码(五笔字型) ·语音识别、图象识别 3.汉字字模码(用于输出)
3.2 指令信息的表示
计算机设计人员和计算机编程人员能看见同 一机器的分界是机器指令集。 从设计者的观点看,机器指令集提出了对CPU 的功能性需求;
3.1 字符表示
3.1.1 ASCII码 美国信息交换标准码(American Standard Code For Information Interchange),简 称ASCII码。
3.1 字符表示
3.1.2 汉字编码简介 1.汉字内码(用于内部处理) 用于汉字信息的存储、交换、检索等操作的 机内代码,一般采用两个字节表示
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 ⑸ 零地址指令 OP ·零操作数指令 ·单操作数指令 指令功能: OP (AC) → AC (PC)+ n → PC ·隐含指定操作数来源于堆栈
3.2 指令信息的表示
3.2.1 指令格式 2. 指令中的地址结构 每条指令应包含的地址数目是基本的设计决 策。 指令中的地址数目越少,则指令的长度越短, 指令也越原始(不需要复杂的CPU)。另一方 面它又会使程序的总的指令条数更多,程序 也更复杂。
3.2 指令信息的表示
在计算机内部,指令由一个位串来表示。相 应于指令的各要素,这些位串划分成几个字 段。指令的这种状况称为指令格式 (instruction format)。
一条指令控制实现一步操作。
3.2 指令信息的表示
3.2.1 指令格式 1. 指令中的基本信息 指令中应包含的内容: ·进行何种操作 ·数据的来源 ·结果的去向 操作码 地址码 ·后继指令地址 前者体现为操作码(operation code) 后三者体现为地址码
3.2 指令信息的表示
3.2.2 常见寻址方式 1. 立即寻址(immediate addressing) 操作数在指令中,取出了指令的同时也就取 出了操作数
OP A
操作数 = A
优点:不必为获取操作数再次访问存储器, 节省一个存储器或Cache周期。 缺点:数的大小受限于地址字段的长度
3.2 指令信息的表示
第3章 CPU子系统-指令系统
计算机中两类信息流:数据流和控制流 本章考察控制信息的表示
第3章 CPU子系统-指令系统
基本知识点: 指令的格式、寻址方式、寻址范围、操作码 扩展技术;指令系统的设计
第3章 CPU子系统-指令系统
重点:操作码扩展技术;指令系统的设计 难点:操作码扩展技术,指令系统的设计
相关文档
最新文档