计算机组成与体系第四章课件

上传人:bin****86 文档编号:57177899 上传时间:2018-10-19 格式:PPT 页数:54 大小:261KB
返回 下载 相关 举报
计算机组成与体系第四章课件_第1页
第1页 / 共54页
计算机组成与体系第四章课件_第2页
第2页 / 共54页
计算机组成与体系第四章课件_第3页
第3页 / 共54页
计算机组成与体系第四章课件_第4页
第4页 / 共54页
计算机组成与体系第四章课件_第5页
第5页 / 共54页
点击查看更多>>
资源描述

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

1、计算机组成体系,任课教师:赵孟德上海电机学院,第一章 计算机系统概论 第二章 运算方法和运算器 第三章 存储系统 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 第九章 并行组织,目录,教材 白中英,计算机组成原理网络版,科学出版社,2002 参考书 石磊,计算机组成原理第2版, 清华大学出版社,2006 钱晓捷,微型计算机原理及应用, 清华大学出版社,2006 王爱英,计算机组成与结构第3版, 清华大学出版社,2001 白中英 邝坚,计算机组织与结构网络版,科学出版社,2003,4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 指令和

2、数据的寻址方式 4.4 堆栈寻址方式 4.5 典型指令,第4章 指令系统,4.1指令系统的发展与性能要求,计算机的程序是由一系列的指令组成 指令是要计算机执行某种操作的命令 指令系统是一台计算机中所有指令的集合 决定计算机的基本功能,软件与硬件的界面 是计算机系统设计的一个核心问题微指令:微程序级命令,属于硬件。指令 机器指令:介于微指令与宏指令之间。宏指令:有若干机器指令组成的软件指 令,属于软件。,4.1指令系统的发展,系列计算机的基本指令系统相同,基本体系结构相同。能实现向上兼容。 随着VLSL技术的发展,多数计算机指令系统多达几百条,称这些计算机为复杂指令系统计算机(CISC)。 研制

3、周期长 难保证正确性 不易调试维护 后提出精简指令系统计算机(RISC)。,4.1.2对指令系统性能的要求,指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响到系统软件设计的难易程度。 完善的计算机的指令系统应具备: 1、完备性:汇编语言写程序时,不必另用软件实现。 2、有效性:该指令系统所编程序能高效率的运行。 3、规整性:指令操作的对称性和匀齐性,指令格式与 数据格式的一致性。 4、兼容性:只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。,4.1.3低级语言与硬件结构的关系,高级语言用法与具体机器的指令

4、系统无关。 低级语言(机器语言&汇编语言)和具体机器的指令系统密切相关。 汇编语言依赖于计算机的硬件结构和指令系统。,高级语言如何访问机器硬件资源,高级语言提供了与汇编语言之间的调用接口。 用汇编语言编写的程序作为高级语言的一个外部过程或函数。 利用堆栈来传递参数或参数的地址。 两者编译生成目标(OBJ)文件。 利用连接程序(LINKER)把它们连接成可执行文件便可运行。,4.2指令格式,指令格式是用二进制代码表示的指令形式 由操作码字段和地址码字段组成 操作码:表示指令进行什么性质的操作 地址码:指定参与操作的操作数地址计算机的指令格式与机器的字长、存储器的容量及指令的功能密切相关。,指令操

5、作码,两个字段:操作码字段+操作数地址字段: 1.操作码操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。 (1)每条指令都要求它的操作码必须是独一无二的位组合。 (2)指令系统中指令的个数N与操作码的位数n,必须满足关系式:N2n (3)由CPU中的专门电路来解释每个操作码,指令地址码,2.操作数地址码 (1)地址码:用来描述该指令的操作对象。 (2)指令字长=操作码的位数+(操作数地址个数)*(操作数地址码位数) (3)根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。,地址码,三地址指令,二地址指令,单地址指令,零地址指令,指令操作码与地址码,一、指令格式

6、 1.零地址指令格式 这是一种没有操作数地址部分的指令格式。这种指令有两种可能: (1)无需任何操作数。如停机指令。 (2)所需的操作数是默认的:堆栈。,操作码OC,指令操作码与地址码,A、堆栈的概念(a)是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。(b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。(c)堆栈中的数据采用“先进后出”或“后进先出”的存取工作方式。 B、 堆栈结构在计算机中的作用(a)具有堆栈结构的机器使用零地址指令,这使得指令长度短,指令结构简单,机器硬件简化。(b)实现程序调用,子程序嵌套调用和递归调用。(c)对于“

7、中断”技术,堆栈更是不可缺少的,保存“断点”和“现场”。,指令操作码与地址码,C、堆栈的操作设数据进栈方向为从高地址向低地址发展,当向堆栈压入数据时,SP的内容先自动递减而指向一个新的空栈顶单元,再把数据写入此栈顶单元;当数据弹出堆栈时,立即读出SP所指向的栈顶单元内容,再把SP内容自动递增而指向新的栈顶位置。即PUSH X;(SP)-1SP SP表示堆栈指示器(X)(SP)POP X; (SP)X (SP)+1SP,指令操作码与地址码,2.一地址指令格式(1)指令中给出的一个地址既是操作数的地址,又是操作结果的存储地址。如加1、减1、移位等单操作数指令。 (2)在某些计算机中,指令中提供的一

8、个地址提供一个操作数,另一个操作数是由机内硬件寄存器“隐含”地自动提供的。所谓“隐含”是指此操作数在指令中不出现,而是按照事先约定由寄存器默认提供,运算结果仍送到寄存器中。因为这个寄存器在连续运算时,保存着多条指令连续操作的累计结果,故称为累加器(AC)。,指令操作码与地址码,3.二地址指令格式(1)把保存操作前原来操作数的地址称为源点地址(SS),把保存指令执行结果的地址称为终点地址或目的地址(DD)。(2)将源点与终点操作数进行操作码规定的操作后,将结果存入终点地址。通常二地址指令又称为双操作数指令。,例如:双操作数加法指令,ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以

9、后,将结果存入R1寄存器中。又如ADD (R0),R1表示将R0寄存器的内容作为地址,到内存中取出该地址所指向的单元内容作为源点操作数,和作为终点操作数的R1寄存器的内容相加以后,将结果存入R1寄存器中。,二地址指令格式,从操作数的物理位置来说,又可归结为三种类型。 存储器-存储器(SS)型指令:访问内存的指令格式。 寄存器-寄存器(RR)型指令:访问寄存器的指令格式。特点:执行速度快。 寄存器-存储器(RS)型指令:既要访问内存单元,又要访问寄存器。,指令操作码与地址码,4.三地址指令格式其操作是对AC1、AC2指出的两个操作数进行操作码所规定的操作,并将结果存入AC3中。例如:ADD X

10、Y Z 含义为(X)+(Y)Z 即X单元内容加上Y单元内容,结果送Z单元中。,4.2.3指令字长度,指令字长度:一个指令中包含二进制代码的位数。 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令:指令字长度等于机器字长度。 半字长指令 双字长指令,多字长指令目的,提供足够的地址位来解决访问内存任何单元的寻址问题。 缺点: 必须多次访问内存取一整条指令 降低CPU的运算速度 占用了更多的存储空间,4.2.4指令助记符,便于书写和阅读程序,用3-4个英文缩写字母来表示,称为指令助记符。指令助记符必须转换成与它们相对应的二进制操作码,这种转换借助汇编程序可以自动完成。,指令操作码与地址码,

11、指令格式设计准则1、指令字长要短,以得到时间和空间上的优势。2、指令字长必须有足够的长度。3、指令字长一般应是机器字符长度的整数倍以便存储系统的管理。若机器中字符码长是L位,则机器字长最好是L,2L,4L,8L等。4、指令格式的设计还与如何选定指令中操作数地址的位数有关。,例:对同一容量(如64KB)的存储器,(1)若取存储单元为一字节长,则需要16位地址码。 (2)若存储单元长度为32位,则只需14位地址码。方案(1)对字符操作方便,但地址码位数多,方案(2)地址码位数少,很有利,但字符操作困难,分辩率低。(存储器分辩率:指存储器能被区分、识别与操作的精细程度),指令字长与扩展方法,一、操作

12、码和地址码间的权衡(操作码有两种编码格式)1、固定格式:操作码长度固定,且集中放在指令字的一个字段中。2、可变格式:即操作码长度可变,且分散地放在指令字的不同字段中。 二、扩展操作码1、要点:(1)操作码位数随地址码个数变化采取可变长度的类型;(2)指令间指令码一定不重复;(3)根据需要灵活变通。,指令字长与扩展方法,2、比较假设一台计算机指令字长16位,操作码与地址码都为4位,如图所示。(1)方法一:固定格式,则最多可以设计16条三地址指令,指令字长与扩展方法,(2)方法二:扩展操作码,具体方法如下:A、4位OC中用0000-1110定义15条三地址指令,留编码1111作为扩展标志与下一个4

13、位组成一个8位操作码,引出二地址指令,则:B、(a)若将AC1全部用作2地址指令的OC,能再定义16条2地址指令;(b)8位OC中用11110000-11111110定义15条二地址指令,剩下的一个编码11111111与下一个4位组成一个12位的操作码,引出一地址指令;(c)选1111000011111101共14条2地址指令,留11111110,11111111为扩展标志,再与AC2组合,以此类推。C、若选B(c),则可定义31条1地址指令,留一个编码111111111111为扩展标志,与下一个4位组成16位操作码,引出16条零地址指令;,指令字长与扩展方法,3、扩展操作码的另一个演变是用操

14、作码中的某一位或几位来说明指令的格式与长度,或是说明操作数的特征。例如:小型机PDP-11是用操作码最左边一位(最高位15位)来指明指令操作处理的数据字长度,当第15位=0,是字指令,操作数是16位长的字;当15位=1,是字节指令,操作数是8位长的字节。,Pentium指令格式,Pentium机的指令字长度可变:从字节到12字节,还可以带前缀 非固定长度的指令格式是典型的CISC结构特征 为了与它的前身80486保持兼容 希望能给编译程序的编制以更多灵活的编程支持,例1 分析指令格式的特点,单字长二地址指令 操作码字段OP长度为7位,可指定128条指令 源寄存器和目标寄存器都是通用寄存器(可分

15、别指定16个)。两个操作数均在寄存器中,所以是寄存器寄存器型指令 这种指令结构常用于算术逻辑运算类指令,例2 分析指令格式的特点,双字长二地址指令,用于访问存储器 操作码字段OP为6位,可以指定64种操作 一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定),所以是寄存器存储器型指令,4.3 指令和数据的寻址方式,某个操作数或某条指令存放在某个存储单元时,其存储单元的编号,就是该操作数或指令在存储器中的地址地址指定方式 存储器 相连存储方式 堆栈存取方式 内存中都采用地址指定方式,4.3 指令和数据的寻址方式,寻址方式:采用地址指定方式时,形成指令或操作数的内存

16、地址的方式,称为寻址方式。 寻址方式的类别 指令寻址方式:用于形成指令在内存中的地址,比较简单。 数据(操作数)寻址方式:用于形成操作数在内存中的地址,一般也包括数据在寄存器的情况,较前者复杂。,指令的顺序寻址方式,指令的顺序寻址,取指 执行 取指 程序顺序执行的过程,我们称为指令的顺序寻址方式。 使用PC(程序计数器)来计数指令的顺序号。 该顺序号就是指令在内存中的地址。,指令的跳跃寻址方式(程序的控制转移),指令跳跃寻址方式,所谓跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。 程序跳跃后,按新的指令地址开始顺序执行。 指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳跃寻址而设置的。,指令的相对寻址方式,程序计数器PC的内容加上偏移量形成指令的目的地址,4.3.2 操作数寻址方式,指令中操作数字段的地址码,是由形式地址(偏移量)和变址、间址等组合形成 操作数的寻址:把操作数的形式地址,根据间址和变址等组合变换为操作数有效地址的过程,

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

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

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