计算机组成原理(第四章复习)

上传人:宝路 文档编号:48376796 上传时间:2018-07-14 格式:PPT 页数:86 大小:1.07MB
返回 下载 相关 举报
计算机组成原理(第四章复习)_第1页
第1页 / 共86页
计算机组成原理(第四章复习)_第2页
第2页 / 共86页
计算机组成原理(第四章复习)_第3页
第3页 / 共86页
计算机组成原理(第四章复习)_第4页
第4页 / 共86页
计算机组成原理(第四章复习)_第5页
第5页 / 共86页
点击查看更多>>
资源描述

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

1、计算机组成原理 第四章 指令系统 本章复习要点:1. 理解指令的基本格式、定长与扩展操作码格式 2. 掌握指令寻址方式的基本概念、常见寻址方式及其有效地址的计算3. 了解CISC和RISC的基本概念4.1 指令系统的几个名词 指令系统指令系统的几个基本名词: 程序: 是计算机中若干指令的有序组合。指令: 就是要计算机执行某项运算或处理功能的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令:微程序级的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):介于微指令与宏指令之间,每条指令可 完成一个独立的算术运算或逻辑运算或处理

2、功能。 指令系统:一台计算机中所有机器指令的集合,它是表征一台计算机性能的重要因素。指令的格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。指令字:(简称指令)表示一条指令的机器字。4.2 指令格式 指令系统指令格式:用二进制代码表示的“指令字”结构形式,通常由操作码字段和地址码字段组成:操作码码字段 地址码码字段操作码字段: 表征指令的操作特性与功能;地址码字段: 又称为操作数字段,通常指定参与操作的操作数、或操作数的地址。1 操作码 指令系统操作码码字段 地址码码字段不同的操作码字段编码可用来表示不同的指 令。操作码字段的位数,一般取决于计算机指令 系统的

3、规模。显然:n位操作码,可表示2n条不同的指令。例如,对于定长操作码字段: 若指令系统共有8条指令,则用3位操作码就够;如果有30条指令,则至少需要5位操作码。当然,操作码字段的长度也可以是变长的,视指令系统的需要而定。指令系统操作码码字段 地址码码字段当指令字长度不够时,可以利用操作码字段和地址码字段长度的调整,划分出不同类型的指令。以便用较短的指令字长来表示尽可能多的操作种类,或在更大的存储空间中寻址。(在微型计算机中常用,见后面例题) (扩展)2 地址码 (又称操作数)根据一条指令中有几个操作数,可将该指令称为几操作数指令或几地址指令。一般的操作数包括:被操作数、操作数及操作结果这三种数

4、,因而就形成了三地址指令格式。在此基础上,后来又发展成二地址格式、单地址格式和零地址格式,如下图所示:指令系统操作码码A1A2A3操作码码A1A2操作码码A操作码码三地址指令 二地址指令 单地址指令 零地址指令 指令主要归结为如下三种类型:(1)存储器-存储器(SS)型指令:(A1、A2都是内存地址)特点:参与操作的数都放在内存里,从内存某单元中取操作数,操作结果也存放至内存单元中。机器执行这类指令需要多次访问内存,因此执行速度较慢。操作码码A1A2以二地址指令为例:(2)寄存器-寄存器(RR)型指令:(A1、A2都是寄存器号)特点:参与操作的数都在寄存器中,从寄存器中取操作数,把操作结果放到

5、另一寄存器。因为执行这类 指令,不需要访问内存,在CPU中就可以完成,因此这类指令的执行速度很快。(3)寄存器-存储器(RS)型指令:特点:一个操作数在寄存器中,另一操作数在存储器中。 因此,执行此类指令时,机器既要访问内存单元,又要访问寄存器。 3 指令字结构 指令字长度:一条指令所用的二进制数码的位数。机器字长:计算机能直接处理的二进制数码的位数,它决定了计算机的运算精度。(如: 16位机、32位机、64位机等)指令字的设计包括: 单字长指令:指令长度= 机器字长度;半字长指令:指令长度= 半个机器字长度的指令;双字长指令:指令长度= 两个机器字长度的指令;多字长指令:指令长度= 多个机器

6、字长度的指令。指令系统使用多字长指令目的:主要为了扩充地址码长度,解决访问内存空间的 地址问题。如:三字长指令格式 多字长指令的主要缺点:需要多次访问内存以取出一条完整的指令,降低了CPU的运行速度,又占用了较多的存储空间。(当然,若采用指令流水线、多体交叉存储等技术,可以解决此问题) 操作码 操作数地址1 操作数地址2 等长指令字结构: 各种指令字长度是相等的。这种指令字结构简单,编译方便。变长指令字结构: 指令字的长度随指令功能而变化。这种指令字结构灵活,能充分利用指令长度, 但指令的译码及控制要复杂一些。 指令系统指令字结构:5 指令格式举例 (1)八位微型计算机的指令格式 8位机的字长

7、只有8位,指令结构常采用可变字长形式,包含单字长、双字长、三字长指令等多种。指令系统操作码码 操作码码 (单字长指令 ) (双字长指令 ) (三字长指令) 若内存按字节编址,则对于8位机来说,单字长指令每执行 一条指令后,指令地址加;双字长指令或三字长指令每执行 一条指令后,指令地址要加2或加3。可见,多字长的指令格式 并不利于提高机器速度。操作数地址 操作码 操作数地址1 操作数地址2 (2)定长指令格式 例如PDP/11系列机为16位机,采用定长指令格式,其指令字长16位,其指令格式如下表所示。表4.3 PDP/11系列机指令格式 指令系统从表中看出,在PDP/11中,各类指令的操作码字段

8、长度是 不同的。这样做可以应用操作码扩展的方法,设计出较多的指令。但是操作码字段不固定,对控制器的设计来说必将复杂化。举例: 例1 指令格式如下所示,其中OP为操作码,试分析该指令格式的特点。 指令系统15 97 43 0OP -源寄存器 目标标寄存器解: (1)单字长、二地址指令。 (2)操作码字段OP长度为7位,可以指定27= 128条指令。(3) 源寄存器和目标寄存器都是通用寄存器(各4位代码, 可分别指定16个寄存器)。(4) 两个操作数均在寄存器中,所以属于RR型指令,其执 行速度快。这种指令结构常用于算术逻辑运算类指令。 例2 指令格式如下所示,其中OP为操作码,试分析指令格式的特

9、点。(教材) 15 97 43 0OP -源寄存器 变址寄存器位移量(16位) 解: (1)双字长、二地址指令; (2)操作码字段OP为7位,可以指定27= 128种指令。(3)一个操作数在源寄存器中(可以从24=16个寄存器中选择一个),另一个操作数在存储器中(由变址寄存器和位移量决定该数的内存地址),属于RS型指令。例3 :某16位机的二地址指令格式如下:15 109 54 0OP A1 A2若允许采用操作码扩展法来分别构造单地址指令和零地址 指令,试分析:该机器可以分别有二地址指令、单地址指令和 零地址指令各多少条?解:已知指令操作码OP有6位: 二地址指令:OP= 0000001111

10、10 (共26-1=63条);取:OP=111111时,为单地址指令标志: (A1、A2都是5位) 单地址指令OP为:111111 00000111111 11110 (25-1=31条)取:OP=111111 11111 时,为零地址指令标志:零地址指令OP为:111111 11111 00000111111 11111 11111(25=32条)A2也扩充为操作码A1可扩充为操作码; A2作为单地址可见: 采用固定长度操作码(6位),最多只能产生26=64条指令; 采用操作码扩展法,则产生了(63+31+32)=126条指令。所以:虽然指令字长未变,但是产生的指令条数却大大增加了。 操作码

11、扩展法的特点。15 109 54 0OP A1 A2例4:已知指令字长为12位,每个地址3位。试采用扩展操作 码的方式,设计4条三地址指令、16条二地址指令、64条单地 址指令和16条零地址指令。(1)画出操作码扩展图;(2)画出指令译码逻辑;(3)计算操作码平均长度。解:(1)操作码扩展图:000 : : 011 100 000 : : 101 111 110 000 000 : 110 111 111 111 000 000 000: 111 000 001 1114条三地 址指令16条二地 址指令64条单地 址指令16条零地 址指令Y0 .Y3(2)指令译码逻辑图:3:8译码器4:16译

12、码器6:64译码器4:16译码器(操作码)(地址码)(4条)(16条 )(64条 )(16条)译码 启动Y7Y6Y15Y63Y0Y15Y0Y0(3)操作码平均长度L:使用操作码扩展方法的基本原则:(1)使用频率高的指令, 应分配短的操作码;使用频率低的指令则可相应地分配较长的操作码。(2)应尽量减少操作码的平均码长,有效地缩短操作码在程序中的长度,既节省存储空间、又可缩短指令的平均译码时间,提高程序的运行速度,减小控制器的复杂性。例5:某计算机的指令系统指令字长16位,操作数地址需4位,采用操作码扩展法增加指令条数。已知该系统已有三地址 指令M条、二地址指令N条、没有零地址指令,问:最多还有多

13、少条单地址指令?解:已知指令字长16位,操作数地址需4位,则:对于三地址指令:操作码长度为(16-43)=4 位;(可有24条指令) 对于二地址指令:操作码可扩展4 位; 对于单地址指令:操作码又可扩展4 位。 已知三地址指令M条,剩下的组合(24-M) 可扩展为二地址指令的条数为:(24-M) 24;又已知二地址指令N条, 剩下的组合(24-M)24-N可扩展为单地址指令; 没有零地址指令, 单地址指令的条数为: (24-M)24-N 24例6:某指令系统字长16位,每个地址码位长为6位,若已知有 二地址指令M条;零地址指令N条,问:系统可有单地址指令 多少条?解:设:有单地址指令X条指令字

14、长16位,地址码6位, 二地址指令可有:24条已知有二地址指令M条,可用于扩展: (24-M)单地址指令可有: (24-M)26已设:有单地址指令X条,可用于扩展: (24-M)26-X零地址指令N条为: (24-M)26-X26 =N可解得: 4.3 指令和数据的寻址方式 指令系统有效地址的概念:操作数或指令实际存放在某个存储单元时,该存储单元的编号,就是该操作数或指令在存储器中的有效(物理)地址。指令中的地址码常常为形式地址,需要应用设定的规则,由形式地址计算出有效地址。寻址方式:形成指令或操作数的存储单元有效地址的方式,称为寻址方式。寻址方式的类别: (1)指令寻址方式:用于形成指令的地

15、址。(2)数据寻址方式:用于形成操作数的地址。 包括两种: (1) 顺序寻址方式 (2) 跳跃寻址方式。(1) 顺序寻址方式 指令地址在内存中按顺序安排,当执行一段程序时,通常是按照指令的顺序依次执行。这种指令顺序被取出执行的过程,称为指令的顺序寻址方式。实现方法:通常使用程序计数器(又称指令指针寄存器)PC来计数指令的顺序号,依次给出指令在内存中的地址。指令系统1 指令的寻址方式 (2) 跳跃寻址方式 所谓跳跃: 是指下条指令的地址码不是由程序计数器PC顺序地给出,而是由本条指令直接给出。实现方法:通过直接修改程序计数器PC的内容来实现。PC将及时跟踪新的指令地址。采用指令的跳跃寻址方式,可以实现程序转

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

当前位置:首页 > 高等教育 > 大学课件

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