没有合适的资源?快使用搜索试试~ 我知道了~
高级计算机体系结构知识点整理2
需积分: 0 0 下载量 7 浏览量
2022-08-08
23:13:30
上传
评论
收藏 74KB DOCX 举报
温馨提示
试读
53页
第二章 指令系统(一)指令集结构概述指令:操作码、寻址方式、操作数、寻址方式、操作数指令集:一些指令的集合每条指令都是直接由CPU硬件执行指令的表示方法:二进制
资源详情
资源评论
资源推荐
第二章 指令系统
(一)指令集结构概述
指令:操作码、寻址方式、操作数、寻址方式、操作数
指令集:
1) 一些指令的集合
2) 每条指令都是直接由 CPU 硬件执行
指令的表示方法:
二进制格式。
物理存储空间组织方式是位、字节、字和多字等
当前指令字长有 16、32、64 位
可变长格式和固定长度格式。(绝大部分 RISC 处理器其指令
的长度都是确定的:MIPS32 位;而以 X86 为代表的 CISC 处
理器的指令长度不固定:最短 1 个字节,最长 17 个字节)。
指令的特点:
1. 指令的操作十分简单,其操作由操作码编码表示。
2. 每个操作需要的操作数个数为 0-3 个不等
操作数是一些存储单元的地址(典型的存储单元有:
主存、寄存器、堆栈和累加器)
3. 操作数地址隐含表示或显示表示。(有的指令的操作数隐
含在指令的操作码里面,操作码指明的功能说明了其需要
处理的数据,e.g X86 的 PUSHX:把特殊寄存器 flag 的内容
压到堆栈里面,无操作数)
指令集与计算机的性能(P38 下 CPU 时间公式)
指令集抽象和进一步描述——>各种程序设计语言(源程序)—
编译器的生成—>目标代码(指令集的二进制表示)—优化
编译器(提高目标代码的质量)—>优化过的目标代码——>
指令译码(提取信息)——>(为了提高指令的执行和存储
效率,研究指令的编码策略)——>执行指令时,指令集的
好坏影响 CPI 和数据通路复杂度
(二)指令集结构的分类
一般从如下五个因素考虑对计算机指令集结构进行分类,即:
1. 在 CPU 中操作数的存储方法(主要分类依据)
2. 指令中显示表示的操作数个数
3. 操作数的寻址方式
4. 指令集所提供的操作类型
5. 操作数的类型和大小
CPU 中用来存储操作数的存储单元主要有:堆栈、累加器
(现在用的不多)、一组寄存器
指令中的操作数可被明确显示给出,也可按照某种约定隐式
给出
(例子 P367/表 A-1)
早期大多数采用堆栈或累加型指令集结构,1980 年以来大多
数采用寄存器型(虽然数量增加但是速度快),原因:
1. 集成电路技术飞速发展(VLSI:very large scale intergration)
2. 寄存器和 CPU 内部其他存储单元一样,要比存储器快很多
3. 随着编译技术的成熟,已形成一套有效分配和使用寄存器
的算法(无需程序员考虑)
通用寄存器型指令集结构的主要优点:
1. 在表达式求值方面,比其他类型指令集结构都具有更大的
灵活性
2. 寄存器可以用来存放变量:
1) 减少 mem 的通信量,加快程序的执行速度(因为 reg
比 mem 快)
2) 可以用更少的地址位来寻址 reg,从而可以有效改进
程序目标代码大小(reg 的数量远远小于存储单元的数
量)
两种主要的指令特性能够将通用 reg 型指令集结构(GPR)
进一步细分(表 A-2):
1. ALU 指令有两个或是三个操作数
2. 一条指令里最多允许有多少存储器操作数
可将当前大多数通用 reg 型指令集结构进一步细分为三种
类型:R-R、R-M、M-M(无)
R-R 型(0,3):优点比缺点更加明显——流水线技术多条指
令 可 重 叠 执 行 , 所 以 指 令 条 数 多 可 以 掩 盖 掉 MIPS 、
PowerPC——RISC
优点:指令字长固定,指令结构简洁,各种指令执行时钟周
期数相近(数据通路相对简单)
缺点:与指令中含 mem 操作数的 ISA(指令系统结构)相比,
指令条数多,目标代码不够紧凑,因而程序占用空间较大
(LOAD 指令和 STORE 指令)
R-M 型(1,2):X86——CISC
优点:可在 ALU 指令中直接对 mem 操作数引用,无需 load
加载,易编码,目标代码紧凑
缺点:
1. 因为有一个操作数用来保存结果,所以指令中两个操作数
不对称。
2. 在一条指令中同时对 reg 操作数和 mem 操作数编码,可
能限制指令所能够表示的 reg 个数(因为 mem 地址的字
段比较长,而指令长度有限,所以分配给 reg 的字段有限)
3. 指令的执行时钟周期因操作数的来源(reg 或 mem)的不
同差别较大,影响数据通路和流水线
M-M 型 (3,3):
优点:目标代码最紧凑,不需要设置存储器保存变量
缺点:
1. 指令字长变换很大,特别是 3 个操作数指令,寻址方式复
杂时,字长会非常长。
2. 每条指令完成的工作差别也很大
3. 对 Mem 频繁访问使 mem 访问成为性能瓶颈——这种类型
已不用了(现在 CPU 和 mem 速度差异越来越大)
指令集结构设计概观:硬件——>指令集——>操作系统软件
——>应用程序软件(步骤)
(三)寻址技术
在通用 reg 型指令集结构中,一般利用寻址方式指明指令中
的操作数(存放在哪里)是一个常数、一个寄存器操作数或
是一个存储器操作数。
寻址是从形式地址(由指令描述)到实际地址(有效地址
——寄存器地址或 mem 单元的地址)转换。——必须加速
有效地址的生成(表 A-4)
最常用:立即数和位移量寻址;ALU 运算和比较指令易采用
立即数寻址。
(四)指令系统的设计和优化
一种指令集结构中的指令到底要支持哪些类型的操作?
——指令集结构功能设计问题(操作码)
指令集操作的分类(书 P376/表 A-5)
1. 控制指令:
跳转(Jump):当控制指令为无条件改变控制流时,称之为
“跳转”。
剩余52页未读,继续阅读
一筐猪的头发丝
- 粉丝: 62
- 资源: 315
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0