计算机系统结构chap2-0929

上传人:豆浆 文档编号:48497218 上传时间:2018-07-16 格式:PPT 页数:94 大小:892.01KB
返回 下载 相关 举报
计算机系统结构chap2-0929_第1页
第1页 / 共94页
计算机系统结构chap2-0929_第2页
第2页 / 共94页
计算机系统结构chap2-0929_第3页
第3页 / 共94页
计算机系统结构chap2-0929_第4页
第4页 / 共94页
计算机系统结构chap2-0929_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《计算机系统结构chap2-0929》由会员分享,可在线阅读,更多相关《计算机系统结构chap2-0929(94页珍藏版)》请在金锄头文库上搜索。

1、第二章计计算机指令集结结构设计设计Department of Computing and Information TechnologyDepartment of Computing and Information Technology计计算机的指令集结结构也称为为指令系统统,它是硬件 机器所支持的全部指令集合,它是机器语语言程序 员员所看到的机器的最主要的属性之一。指令集结结构设计设计 的最基本问题问题 是软软硬件划分。指令集结结构设计设计 包括确定指令格式、类类型、操作 以及操作数的访问访问 方式等。引言Department of Computing and Information Tech

2、nologyDepartment of Computing and Information Technology2.1 指令集结构的分类2.1.1 指令集结结构分类类根据五个因素对计对计 算机指令集结结构进进行分类类 : (1) 在CPU中操作数的存储储方法 (2) 指令中显显式表示的操作数个数 (3) 操作数的寻寻址方式 (4) 指令集所提供的操作类类型 (5) 操作数的类类型和大小 CPU中操作数的存储储方法,是各种指令集结结 构之间间最主要的区别别所在。Department of Computing and Information TechnologyDepartment of Comp

3、uting and Information Technology1. CPU中用来存储储操作数的存储单储单 元主要有:2. 指令中的操作数可以显显式给给出,也可以隐隐式 地给给出。3. CPU对对操作数的不同存取方式 堆栈栈 累加器 寄存器/存储储器 2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing and Information TechnologyCPU提供的 暂暂存器每条ALU指令显显式表示 的操作数个数运算结结果的 目的地访问显访问显 式操作数 的过过程堆栈栈0堆栈

4、栈Push/Pop累加器1累加器Load/Store累加 器寄存器/存 储储器2/3寄存器或存 储储器Load/Store寄存 器或存储储器2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing and Information Technology4. 根据CPU内部存储单储单 元类类型进进行分类类,可以分 为为: 堆栈栈型指令集结结构 累加器型指令集结结构 通用寄存器型指令集结结构例 C=A+B表达式在这这三种类类型指令集结结构上的实现实现 方法。假设设A、B、C均是保存在存储

5、储器单单元 中,且A和B的值值在运算过过程中一直被保持。2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing and Information Technology2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing and Information Technology堆栈栈累加器寄存器(寄存器存储储器)寄存器 (寄存器寄存器)PUSH ALOAD ALOAD R

6、1,ALOAD R1,APUSH BADD BADD R3,R1,BLOAD R2,BADDSTORE CSTORE R3 , CADD R3,R1,R2POP CSTORE R3,C2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing and Information Technology三种类类型指令集结结构的优优缺点 指令集结结 构类类型优优点缺点堆栈栈型 是一种表示计计算的 简单简单 模型;指令短小 。堆栈栈不能被随机访问访问 ,从而很难难生 成有效代码码。同时时,由于堆

7、栈栈是瓶颈颈 ,所以很难难被高效地实现实现 。累加器型 减小了机器的内部 状态态;指令短小。由于累加器是唯一的暂暂存器,这这种 机器的存储储器通信开销销最大。寄存器型 是代码码生成最一般 的模型。所有操作数均需命名,且显显式表示 ,因而指令比较长较长 。2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing and Information Technology2.1.2 通用寄存器型指令集结结构的分类类早期的计计算机中采用堆栈栈指令集结结构和累加 器指令集结结构比较较多,但现现代

8、CPU,通用寄存器 型指令集结结构已成为为指令集结结构的主流,原因:2.1 指令集结构的分类1. 通用寄存器型指令集结结构的主要优优点(1) 使编译编译 器有效地使用寄存器;(2) 在表达式求值值方面,比其它类类型指令集结结构具有更大的灵活性;Department of Computing and Information TechnologyDepartment of Computing and Information Technology(3) 寄存器可以用来存放变变量。 减少存储储器的通信量,加快程序的执执行速度 。(因为为寄存器比存储储器快) 可以用更少的地址位来寻寻址寄存器,从而可以有

9、效改进进程序的目标标代码码大小。 2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing and Information Technology2. CPU需要设设置多少个寄存器呢?主要由编译编译 器使用寄存器的情况来决定 为为表达式求值值保留一些寄存器 为传递为传递 参数保留一些寄存器 用剩下的寄存器来保存变变量2.1 指令集结构的分类Department of Computing and Information TechnologyDepartment of Computing

10、 and Information Technology 有两个操作数的指令:一个操作数既作为为源 操作数,也作为为目的操作数(2) 在ALU指令中,有多少个操作数可以用存储储 器来寻寻址,也即有多少个存储储器操作数?一般来说说,ALU指令有03个存储储器操作数。3. 两种主要的指令特性能够够将通用寄存器指令集结结 构(GPR)进进一步细细分 (1) ALU指令到底有两个或是三个操作数? 有三个操作数的指令:两个源操作数一个结结 果操作数2.1 指令集结构的分类ALU指令中,存储储器操作数个数和操作数个数的所有可能组组 合,以及相应应的机器实实例 ALU指令中存储储器操 作数个数ALU指令中操作

11、数的最 大个数机器实实例02IBM RT-PC3SPARC,MIPS, Alpha12PDP-10,IBM 360, Motorola 68000, x863IBM360的部分指令22PDP11,部分IBM360指 令, VAX333VAXDepartment of Computing and Information TechnologyDepartment of Computing and Information Technology(3) 通用寄存器指令集结构进一步细分为三种类型:(4) 常见见的三种通用寄存器型指令集结结构的优优缺点: 注:表中 ( m, n ) 代表指令的 n 个操作数

12、中有 m 个存储储器操作数。 寄存器 - 寄存器型(R-R:register-register) 寄存器 - 存储储器型(R-M:register-memory) 存储储器 - 存储储器型(M-M:memory-memory)2.1 指令集结构的分类指令集结结构 类类型优优 点缺 点寄存器寄 存器型(0,3)简单简单 ,指令字长长固定 ,是一种简单简单 的代码码 生成模型,各种指令的 执执行时钟时钟 周期数相近 。和指令中含有对对存储储器操作数访问访问 的 结结构相比,指令条数多,因而其目标标 代码较码较 大。寄存器存 储储器型(1,2)可以直接对对存储储器操 作数进进行访问访问 ,容易 对对

13、指令进进行编码编码 ,且 其目标标代码较码较 小。指令中的操作数类类型不同。在一条指令 中同时对时对 一个寄存器操作数和存储储器 操作数进进行编码编码 ,将限制指令所能够够 表示的寄存器个数。由于指令的操作数 可以存储储在不同类类型的存储储器单单元, 所以每条指令的执执行时钟时钟 周期数也不 尽相同。存储储器存 储储器型(3,3)是一种最紧紧密的编码编码 方式,无需“浪费费”寄存 器保存变变量。指令字长长多种多样样。每条指令的执执行 时钟时钟 周期数也大不一样样,对对存储储器的 频频繁访问访问 将导导致存储储器访问访问 瓶颈问题颈问题 。Department of Computing and

14、Information TechnologyDepartment of Computing and Information Technology2.2 寻址技术 寻寻址方式是指令对对操作数的访问访问 方式.在一个计计算机系统统中,寻寻址方式通常有多种.1.在通用寄存器指令集结结构中,一般是利用寻寻 址方式指明指令中的操作数是一个常数、一个 寄存器操作数,或是一个存储储器操作数。2.当前通用寄存器指令集结结构中所使用的一些 寻寻址方式寻寻址方式指令实实例含 义义寄存器寻寻址Add R4 , R3RegsR4RegsR4RegsR3立即值寻值寻 址Add R4 , #3RegsR4RegsR43偏

15、移寻寻址Add R4 , 100(R1)RegsR4RegsR4Mem100+RegsR1寄存器间间接寻寻址Add R4 , (R1)RegsR4RegsR4MemRegsR1索引寻寻址Add R3 , (R1 + R2)RegsR3RegsR3MemRegsR1+RegsR2直接寻寻址或绝对绝对 寻寻址Add R1 , (1001)RegsR1RegsR1Mem1001存储储器间间接寻寻址Add R1 , (R3)RegsR1RegsR1MemMemRegsR3自增寻寻址Add R1 , (R2)+RegsR1RegsR1MemRegsR2 RegsR2RegsR2d自减寻寻址Add R1,

16、 -(R2)RegsR2RegsR2d RegsR1RegsR1+MemRegsR2缩缩放寻寻址Add R1 , 100(R2)R3RegsR1RegsR1Mem100RegsR2 RegsR3*dDepartment of Computing and Information TechnologyDepartment of Computing and Information Technology寄存器寻寻址:变变量值值在寄存器中。立即值寻值寻 址:常量访问访问偏移寻寻址:访问访问 局部变变量寄存器间间接寻寻址:用指针访问变针访问变 量(指针值针值 在 寄存器中)索引寻寻址:数组访问组访问直接寻寻址或绝对寻绝对寻

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号