教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

计算机体系结构第2章

来源:网络收集 时间:2026-04-29
导读: 计算机体系结构第2章 第2章 计算机指令集结构张晨曦 刘依http://www.77cn.com.cnxzhang2000@http://www.77cn.com.cn ▲ 1/75 计算机体系结构第2章 2.12.2 2.3 2.4 2.5 指令集结构的分类寻址方式 指令集结构的功能设计 操作数的类型和大小 指令格式的设计 2.6

计算机体系结构第2章

第2章 计算机指令集结构张晨曦 刘依http://www.77cn.com.cnxzhang2000@http://www.77cn.com.cn

1/75

计算机体系结构第2章

2.12.2 2.3 2.4 2.5

指令集结构的分类寻址方式 指令集结构的功能设计 操作数的类型和大小 指令格式的设计

2.6

MIPS指令集结构

2/75

计算机体系结构第2章

2.1 指令集结构的分类1. 区别不同指令集结构的主要因素 CPU中用来存储操作数的存储单元的类型

2. CPU中用来存储操作数的存储单元的主要类型 堆栈 累加器 通用寄存器组

3. 将指令集结构分为三种类型▲ 3/75

计算机体系结构第2章

2.1 指令集结构的分类

堆栈结构

累加器结构 通用寄存器结构根据操作数的来源不同,又可进一步分为:

寄存器-存储器结构(RM结构)(操作数可以来自存储器 )

寄存器-寄存器结构(RR结构) (所有操作数都是来自通用寄存器组) 也称为load-store结构,这个名称强调:只有 load指令和store指令能够访问存储器。

4/75

计算机体系结构第2章

2.1 指令集结构的分类

4. 对于不同类型的指令集结构,操作数的位置、个数以

及操作数的给出方式(显式或隐式)也会不同。 显式给出:用指令字中的操作数字段给出 隐式给出:使用事先约定好的存储单元

5. 4种指令集结构的操作数的位置以及结果的去向

5/75

计算机体系结构第2章

堆栈结构

累加器结构

通用寄存器结构(RM) 通用寄存器结构(RR)

CPUTOS

ALU ALU

ALU

ALU

存储器

(a)

(b)

(c)

(d)

灰色块:操作数

黑色块:结果

TOS(Top Of Stack):栈顶

计算机体系结构第2章

2.1 指令集结构的分类

例: 表达式C=A+B在4种类型指令集结构上的代码。 假设:A、B、C均保存在存储器单元中,并且不能

破坏A和B的值。堆 栈 push A push B add pop C▲

累加器 load A add B

寄存器(RM型) load R1,A add R1,B

寄存器(RR型) load R1,A load R2,B add R3,R1,R2

store C

store R1,C

store R3,C7/75

计算机体系结构第2章

2.1 指令集结构的分类

6. 通用寄存器结构 现代指令集结构的主流 在灵活性和提高性能方面有明显的优势

跟其他的CPU内部存储单元一样,寄存器的访问

速度比存储器快。

对编译器而言,能更加容易、有效地分配和使用 寄存器。

寄存器可以用来存放变量。(1)减少对存储器的访问,加快程序的执行速度; (因为寄存器比存储器快)

8/75

计算机体系结构第2章

2.1 指令集结构的分类

(2)用更少的地址位(相对于存储器地址来说)来对寄存器进行寻址,从而有效地减少程序的目标代码的 大小。

7. 根据ALU指令的操作数的两个特征对通用寄存器型指令集结构进一步细分 ALU指令的操作数个数

3个操作数的指令 两个源操作数、一个目的操作数

2个操作数的指令

其中一个操作数既作为源操作数

,又作为目的操作数。

9/75

计算机体系结构第2章

2.1 指令集结构的分类

ALU指令中存储器操作数的个数可以是0~3中的某一个,为0表示没有存储器操作数。

10/75

计算机体系结构第2章

8. ALU指令中操作数个数和存储器操作数个数的典型组合ALU指令中存储器操作数的个数

ALU指令中操作数的最多个数

结构类型

机器实例

0

3

RR

MIPS,SPARC,Alpha,

PowerPC,ARMIBM 360/370,Intel 80x86,Motorola 68000 IBM 360/370

21 3

RMRM

23

23

MMMM

VAX VAX

计算机体系结构第2章

2.1 指令集结构的分类

9. 通用寄存器型指令集结构进一步细分为3种类型 寄存器-寄存器型(RR型) 寄存器-存储器型(RM型) 存储器-存储器型(MM型)

10. 3种通用寄存器型指令集结构的优缺点 表中(m,n)表示指令的n个操作数中有m个存 储器操作数。

12/75

计算机体系结构第2章

指令集结构类型

指令字长固定,指令结构 寄存器-寄存器型 简洁,是一种简单的代码 生成模型,各种指令的执 (0,3) 行时钟周期数相近

与指令中含存储器操作数的指令集 结构相比,指令条数多,目标代码 不够紧凑,因而程序占用的空间比 较大

可以在ALU指令中直接对存 指令中的两个操作数不对称。在一 条指令中同时对寄存器操作数和存 储器操作数进行引用,而 不必先用load指令进行加 储器操作数进行编码,有可能限制 寄存器-存储器型 载。容易对指令进行编码, 指令所能够表示的寄存器个数。指 令的执行时钟周期数因操作数的来 (1,2) 目标代码比较紧凑 源(寄存器或存储器)不同而差别 比较大指令字长变化很大,特别是3操作数 存储器-存储器型 目标代码最紧凑,不需要 (2,2) 或(3,3) 设置寄存器来保存变量

指令。而且每条指令完成的工作也差别很大。对存储器的频繁访问会 使存储器成为瓶颈。这种类型的指 令集结构现在已不用了

计算机体系结构第2章

2.2 寻址方式1. 一种指令集结构如何确定所要访问的数据的地址? 2. 当前的指令集结构中所采用的一些操作数寻址方式 :赋值操作 Mem:存储器 Regs:寄存器组 方括号:表示内容

Mem[ ]:存储器的内容 Regs[ ]:寄存器的内容 Mem[Regs[R1]]:以寄存器R1中的内容作为地址的 存储器单元中的内容14/75

计算机体系结构第2章

寻址方式寄存器寻址

指令实例Add R4 , R3

Regs[R4]←Regs[R4]+Regs[R3]

立即值寻址偏移寻址 寄存器间接寻址 索引寻址 直接寻址或 绝对寻址

Add R4 , #3Add R4 , 100(R1) Add R4 , (R1) Add R3 , (R1 + R2) Add R1 , (1001)

Regs[R4]←Regs[R4]+3Regs[R4]←Regs[R4]+Mem[100+Regs[R1]] Regs[R4]←Regs[R4]+Mem[Regs[R1]] Regs[R3]←Regs[R3]+Mem[Regs[R1]+Regs[R2]] Regs[R1]←Regs[R1]+Mem[1001]

存储器间接寻址自增寻址 自减寻址 缩放寻址

Add R1 ,

@(R3)Add R1 , (R2)+

Regs[R1]←Regs[R1]+Mem[Mem[Regs[R3]]]Regs[R1]←Regs[R1]+Mem[Regs[R2]] Regs[R2]←Regs[R2]+d Regs[R2]←Regs[R2]-d Regs[R1]←Regs[R1]+Mem[Regs[R2]] Regs[R1]←Regs[R1] + Mem[100 + Regs[R2] + Regs[R3]*d]

Add R1, -(R2) Add R1 , 100(R2)[R3]

计算机体系结构第2章

2.2 寻址方式

采用多种寻址方式可以显著地减少程序的指令条 数,但可能增加计算机的实现复杂度以及指令的CPI。

16/75

…… 此处隐藏:1546字,全部文档内容请下载后查看。喜欢就下载吧 ……
计算机体系结构第2章.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1112331.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)