计算机组成原理第四章课件(白中英版)

上传人:n**** 文档编号:93422950 上传时间:2019-07-22 格式:PPT 页数:41 大小:452KB
返回 下载 相关 举报
计算机组成原理第四章课件(白中英版)_第1页
第1页 / 共41页
计算机组成原理第四章课件(白中英版)_第2页
第2页 / 共41页
计算机组成原理第四章课件(白中英版)_第3页
第3页 / 共41页
计算机组成原理第四章课件(白中英版)_第4页
第4页 / 共41页
计算机组成原理第四章课件(白中英版)_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《计算机组成原理第四章课件(白中英版)》由会员分享,可在线阅读,更多相关《计算机组成原理第四章课件(白中英版)(41页珍藏版)》请在金锄头文库上搜索。

1、计算机组成原理,任课教师:石磊 郑州大学信息工程学院计算机系 Email: Tel: 13676986863,第一章 计算机系统概论 第二章 运算方法和运算器 第三章 存储系统 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 第九章 并行组织,目录,教材 白中英,计算机组成原理网络版,科学出版社,2002 参考书 石磊,计算机组成原理第2版, 清华大学出版社,2006 钱晓捷,微型计算机原理及应用, 清华大学出版社,2006 王爱英,计算机组成与结构第3版, 清华大学出版社,2001 白中英 邝坚,计算机组织与结构网络版,科学出版社,2003,

2、4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 指令和数据的寻址方式 4.4 堆栈寻址方式 4.5 典型指令,第4章 指令系统,4.1指令系统的发展与性能要求,指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响到系统软件设计的难易程度。 完善的计算机的指令系统应具备: 1、完备性:一台计算机中最基本的、必不可少的指令构成了指令系统的完备性。 2、有效性:指利用该指令系统所提供的指令编制的程序能够产生高效率。高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。 3、规整性:指令操作的对称性和匀齐性,指

3、令格式与数据格式的一致性。 (1)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对简化程序设计,提高程序的可读性非常有用。 (2)匀齐性:是指一种操作性质的指令可以支持各种数据类型。 (3)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系,以方便存取和处理。 4、兼容性:兼容性一般是指计算机的体系结构设计基本相同,机器之间具有相同的基本结构、数据表示和共同的基本指令集合。,程序、指令、指令系统、指令格式,计算机的程序是由一系列的指令组成 指令是要计算机执行某种操作的命令 指令系统是一台计算机中所有指令的集合 决定计算机的基本功能,软件与硬件的界面 是计算机系统设计的一个核

4、心问题 指令格式是用二进制代码表示的指令形式 由操作码字段和地址码字段组成 操作码:表示指令进行什么性质的操作 地址码:指定参与操作的操作数地址,4.2指令格式,计算机的指令格式与机器的字长、存储器的容量及指令的功能密切相关。,指令操作码与地址码,两个字段:操作码字段+操作数地址字段: 1.操作码 操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。 (1)每条指令都要求它的操作码必须是独一无二的位组合。 (2)指令系统中指令的个数N与操作码的位数n,必须满足关系式: N2n 2.操作数地址码 (1)地址码:用来描述该指令的操作对象。 (2)指令字长=操作码的位数+(操作数地址个数)*

5、(操作数地址码位数),地址码,三地址指令,二地址指令,单地址指令,零地址指令,指令操作码与地址码,一、指令格式 1.零地址指令格式 这是一种没有操作数地址部分的指令格式。 这种指令有两种可能: (1)无需任何操作数。如空操作指令,停机指令等。 (2)所需的操作数是默认的:堆栈。,操作码OC,指令操作码与地址码,A、堆栈的概念 (a)是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。 (b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。 (c)堆栈中的数据采用“先进后出”或“后进先出”的存取工作方式。 B、 堆栈结构在计算机中的作用 (a)具有

6、堆栈结构的机器使用零地址指令,这不仅合指令长度短,指令结构简单,机器硬件简化。 (b)实现程序调用,子程序嵌套调用和递归调用。 (c)对于“中断”技术,堆栈更是不可缺少的,保存“断点”和“现场”。,指令操作码与地址码,C、堆栈的操作 设数据进栈方向为从高地址向低地址发展,当向堆栈压入数据时,SP的内容先自动递减而指向一个新的空栈顶单元,再把数据写入此栈顶单元;当数据弹出堆栈时,立即读出SP所指向的栈顶单元内容,再把SP内容自动递增而指向新的栈顶位置。即 PUSH X;(SP)-1SP (X)(SP) POP X; (SP)X (SP)+1SP,指令操作码与地址码,2.一地址指令格式 (1)指令

7、中给出的一个地址即是操作数的地址,又是操作结果的存储地址。如加1、减1、移位等单操作数指令。 (2)在某些计算机中,指令中提供的一个地址提供一个操作数,另一个操作数是由机内硬件寄存器“隐含”地自动提供的。所谓“隐含”是指此操作数在指令中不出现,而是按照事先约定由寄存器默认提供,运算结果仍送到寄存器中。因为这个寄存器在连续运算时,保存着多条指令连续操作的累计结果,故称为累加器(AC)。,指令操作码与地址码,3.二地址指令格式 (1)把保存操作前原来操作数的地址称为源点地址(SS),把保存指令执行结果的地址称为终点地址或目的地址(DD)。 (2)将源点与终点操作数进行操作码规定的操作后,将结果存入

8、终点地址。通常二地址指令又称为双操作数指令。 例如,双操作数加法指令: ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以后,将结果存入R1寄存器中。 又如ADD (R0),R1表示将R0寄存器的内容作为地址,到内存中取出该地址所指向的单元内容作为源点操作数,和作为终点操作数的R1寄存器的内容相加以后,将结果存入R1寄存器中。,指令操作码与地址码,4.三地址指令格式 其操作是对AC1、AC2指出的两个操作数进行操作码所规定的操作,并将结果存入AC3中。例如: ADD X Y Z 含义为 (X)+(Y)Z 即X单元内容加上Y单元内容,结果送Z单元中。,指令操作码与地址码,5.多地址

9、指令格式 例如四地址指令格式。 (1)含义: ADD X Y Z W A、(X)+(Y)Z B、(W)下一条指令地址 (2)特点: A、直观明了; B、程序执行的流向明确; C、操作数和结果可以分散在内存各处。 D、但是指令字长度太长。,指令操作码与地址码,指令格式设计准则 1、指令字长要短,以得到时间和空间上的优势。 2、指令字长必须有足够的长度。 3、指令字长一般应是机器字符长度的整数倍以便存储系统的管理。若机器中字符码长是L位,则机器字长最好是L,2L,4L,8L等。 4、指令格式的设计还与如何选定指令中操作数地址的位数有关。 例如,对同一容量(如64KB)的存储器 (1)若取存储单元为

10、一字节长,则需要16位地址码, (2)若存储单元长度为32位,则只需14位地址码。 方案(1)对字符操作方便,但地址码位数多, 方案(2)地址码位数少,很有利,但字符操作困难,分辩率低。 (存储器分辩率:指存储器能被区分、识别与操作的精细程度),指令字长与扩展方法,一、操作码和地址码间的权衡(操作码有两种编码格式) 1、固定格式:操作码长度固定,且集中放在指令字的一个字段中。 2、可变格式:即操作码长度可变,且分散地放在指令字的不同字段中。 二、扩展操作码 1、要点: (1)操作码位数随地址码个数变化采取可变长度的类型; (2)指令间指令码一定不重复; (3)根据需要灵活变通。,指令字长与扩展

11、方法,2、比较 假设一台计算机指令字长16位,操作码与地址码都为4位,如图所示。 (1)方法一:固定格式,则最多可以设计16条三地址指令,指令字长与扩展方法,(2)方法二:扩展操作码,具体方法如下: A、4位OC中用0000-1110定义15条三地址指令,留编码1111作为扩展标志与下一个4位组成一个8位操作码,引出二地址指令,则: B、(a)若将AC1全部用作2地址指令的OC,能再定义16条2地址指令; (b)8位OC中用11110000-11111110定义15条二地址指令,剩下的一个编码11111111与下一个4位组成一个12位的操作码,引出一地址指令; (c)选111100001111

12、1101共14条2地址指令,留11111110,11111111为扩展标志,再与AC2组合,以此类推。 C、若选B(c),则可定义31条1地址指令,留一个编码111111111111为扩展标志,与下一个4位组成16位操作码,引出16条零地址指令; 3、扩展操作码的另一个演变是用操作码中的某一位或几位来说明指令的格式与长度,或是说明操作数的特征。 例如:小型机PDP-11是用操作码最左边一位(最高位15位)来指明指令操作处理的数据字长度,当第15位=0,是字指令,操作数是16位长的字;当15位=1,是字节指令,操作数是8位长的字节。,指令集结构ISA,堆栈型 操作数默认在处理器内置的堆栈,不需指

13、明 如Intel 80x87浮点处理器结构 累加器型 其中一个操作数默认在累加器,不需指明 寄存器存储器型(RS型) 一个操作数在寄存器,另一个在主存 例如Intel 80x86整数处理器结构 寄存器寄存器型(RR型) 读取存储器操作数只有LOAD指令,存储存储器操作数只有STORE指令,算术运算ALU等操作均在寄存器之间进行 例如大多数RISC处理器,通用寄存器GPR结构,通用寄存器GPR(General-Purpose Register)比存储器快,是主要的应用类型 寄存器寄存器结构具有简单、定长的指令编码,采用简单的代码生成模式,每条指令执行的时钟周期相近。但其程序的指令条数多,目标代码

14、较大 寄存器存储器结构可以直接访问存储器,容易对指令进行编码,生成的目标代码较小。但其操作数类型不同,需同时对存储器和寄存器进行编码,指令执行的时钟周期数也不尽相同,Pentium指令格式,Pentium机的指令字长度可变:从字节到12字节,还可以带前缀 非固定长度的指令格式是典型的CICS结构特征 为了与它的前身80486保持兼容 希望能给编译程序的编制以更多灵活的编程支持,例1 分析指令格式的特点,单字长二地址指令 操作码字段OP长度为7位,可指定128条指令 源寄存器和目标寄存器都是通用寄存器(可分别指定16个)。两个操作数均在寄存器中,所以是寄存器寄存器型指令 这种指令结构常用于算术逻

15、辑运算类指令,例2 分析指令格式的特点,双字长二地址指令,用于访问存储器 操作码字段OP为6位,可以指定64种操作 一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定),所以是寄存器存储器型指令,4.3 指令和数据的寻址方式,某个操作数或某条指令存放在某个存储单元时,其存储单元的编号,就是该操作数或指令在存储器中的地址 寻址方式:形成指令或操作数的内存地址的方式,或者说查找指令或数据的方式 寻址方式的类别 指令寻址方式:用于形成指令在内存中的地址 数据(操作数)寻址方式:用于形成操作数在内存中的地址,一般也包括数据在寄存器的情况,指令的顺序寻址方式,指令的跳跃寻

16、址方式(程序的控制转移),指令的相对寻址方式,程序计数器PC的内容加上偏移量形成指令的目的地址,4.3.2 操作数寻址方式,指令中操作数字段的地址码,是由形式地址(偏移量)和变址、间址等组合形成 操作数的寻址:把操作数的形式地址,根据间址和变址等组合变换为操作数有效地址的过程,常用数据寻址方式,隐含寻址:在指令中不明显地给出操作数的地址 寄存器寻址:指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。即操作数不放在内存中,而是放在通用寄存器中 立即寻址:指令的地址字段指出的不是操作数的地址,而直接是操作数本身 直接寻址:在指令格式的地址字段中,直接给出操作数在内存的地址 寄存器间接寻址:指令中指定的寄存器中的内容不是操作数,而是操作数的地址 基址(寄存器相对)寻址:基址寄存器的内容加上指令中给定的形式地址(偏移量),形成操作数的有效地址,直接寻址,基址(寄存器相对)寻址,寻址方式总结,4.4 堆栈寻址方式,堆栈:一个“先进后出FILO”或“后进先出LIFO”存

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

当前位置:首页 > 大杂烩/其它

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