计算机组成原理课件(第三版)第五章 指令系统_第1页
计算机组成原理课件(第三版)第五章 指令系统_第2页
计算机组成原理课件(第三版)第五章 指令系统_第3页
计算机组成原理课件(第三版)第五章 指令系统_第4页
计算机组成原理课件(第三版)第五章 指令系统_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理 主编: 石磊 教授 郑州大学信息工程学院计算机系 2 第一章 概述 第二章 计算机中的数据表示 第三章 运算方法和运算器 第四章 存储器及存储系统 第五章 指令系统 第六章 中央处理器 第七章 总线系统 第八章 输入输出系统 第九章 计算机外部设备 第十章 计算机系统及发展 目录 计算机组成原理 第五章指令系统 2015年 12月 17日 第 3页 第 5章 指令系统 计算机组成原理 清华大学出版社 教学目标 教学重点 教学过程 计算机组成原理 第五章指令系统 2015年 12月 17日 第 4页 教学目标 了解指令系统的发展与性能要求 掌握指令格式和寻址方式 计算机组成原理 第五章指令系统 2015年 12月 17日 第 5页 教学重点 指令格式 扩展操作码 寻址方式 计算机组成原理 第五章指令系统 2015年 12月 17日 第 6页 教学过程 算机的指令系统的发展与性能 令的格式 址方式 令的分类与高级语言 型指令系统 计算机组成原理 第五章指令系统 2015年 12月 17日 第 7页 指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响到系统软件设计的难易程度。 完善的计算机的指令系统应具备: 1、 完备性: 一台计算机中最基本的、必不可少的指令构成了指令系统的完备性。 2、 有效性: 指利用该指令系统所提供的指令编制的程序能够产生高效率。高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。 3、 规整性: 指令操作的对称性和匀齐性,指令格式与数据格式的一致性。 ( 1)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对简化程序设计,提高程序的可读性非常有用。 ( 2)匀齐性:是指一种操作性质的指令可以支持各种数据类型。 ( 3)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系,以方便存取和处理。 4、 兼容性: 兼容性一般是指计算机的体系结构设计基本相同,机器之间具有相同的基本结构、数据表示和共同的基本指令集合。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 8页 计算机的指令格式与机器的字长、存储器的容量及指令的功能密切相关。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 9页 ( 1/9) 两个字段:操作码字段 +操作数地址字段: 操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。 ( 1)每条指令都要求它的操作码必须是独一无二的位组合。 ( 2)指令系统中指令的个数 n,必须满足关系式: N2n ( 1)地址码:用来描述该指令的操作对象。 ( 2)指令字长 =操作码的位数 +(操作数地址个数 )*(操作数地址码位数 ) 地址码字段 作码字段 算机组成原理 第五章指令系统 2015年 12月 17日 第 10页 ( 2/9) 一、指令格式 这是一种没有操作数地址部分的指令格式。 这种指令有两种可能: ( 1)无需任何操作数。如空操作指令,停机指令等。 ( 2)所需的操作数是默认的:堆栈。 操作码 算机组成原理 第五章指令系统 2015年 12月 17日 第 11页 ( 3/9) A、堆栈的概念 ( a)是若干个存储单元 (或寄存器 )的有序集合,它顺序地存放一组元素。 ( b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。 ( c)堆栈中的数据采用“先进后出”或“后进先出”的存取工作方式。 B、 堆栈结构在计算机中的作用 ( a)具有堆栈结构的机器使用零地址指令,这不仅使指令长度短,指令结构简单,机器硬件简化。 ( b)实现程序调用,子程序嵌套调用和递归调用。 ( c)对于“中断”技术,堆栈更是不可缺少的,保存“断点”和“现场”。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 12页 ( 4/9) C、堆栈的操作 设数据进栈方向为从高地址向低地址发展,当向堆栈压入数据时, 把数据写入此栈顶单元;当数据弹出堆栈时,立即读出 把 X; (1X)( X; (X (1算机组成原理 第五章指令系统 2015年 12月 17日 第 13页 ( 5/9) ( 1)指令中给出的一个地址即是操作数的地址,又是操作结果的存储地址。如加 1、减 1、移位等单操作数指令。 ( 2)在某些计算机中,指令中提供的一个地址提供一个操作数,另一个操作数是由机内硬件寄存器“隐含”地自动提供的。所谓“隐含”是指此操作数在指令中不出现,而是按照事先约定由寄存器默认提供,运算结果仍送到寄存器中。因为这个寄存器在连续运算时,保存着多条指令连续操作的累计结果,故称为累加器 ( 作码 算机组成原理 第五章指令系统 2015年 12月 17日 第 14页 ( 6/9) ( 1)把保存操作前原来操作数的地址称为源点地址 (把保存指令执行结果的地址称为终点地址或目的地址 ( ( 2)将源点与终点操作数进行操作码规定的操作后,将结果存入终点地址。通常二地址指令又称为双操作数指令。 例如,双操作数加法指令: 0寄存器的内容和 结果存入 又如 ( 0寄存器的内容作为地址,到内存中取出该地址所指向的单元内容作为源点操作数,和作为终点操作数的 结果存入 作码 算机组成原理 第五章指令系统 2015年 12月 17日 第 15页 ( 7/9) 其操作是对 将结果存入 如: X Y Z 含义为 ( X) +( Y) Z 即 单元内容,结果送 作码 算机组成原理 第五章指令系统 2015年 12月 17日 第 16页 ( 8/9) 例如四地址指令格式。 ( 1)含义: X Y Z W A、( X) +( Y) Z B、( W) 下一条指令地址 ( 2)特点: A、直观明了; B、程序执行的流向明确; C、操作数和结果可以分散在内存各处。 D、但是指令字长度太长。 作码 算机组成原理 第五章指令系统 2015年 12月 17日 第 17页 ( 9/9) 指令格式设计准则 1、指令字长要短,以得到时间和空间上的优势。 2、指令字长必须有足够的长度。 3、指令字长一般应是机器字符长度的整数倍以便存储系统的管理。若机器中字符码长是 机器字长最好是 L, 2L, 4L,8 4、指令格式的设计还与如何选定指令中操作数地址的位数有关。 例如,对同一容量 (如 64存储器 ( 1)若取存储单元为一字节长,则需要 16位地址码, ( 2)若存储单元长度为 32位,则只需 14位地址码。 方案( 1)对字符操作方便,但地址码位数多, 方案( 2)地址码位数少,很有利,但字符操作困难,分辩率低。 (存储器分辩率:指存储器能被区分、识别与操作的精细程度) 计算机组成原理 第五章指令系统 2015年 12月 17日 第 18页 ( 1/3) 一、操作码和地址码间的权衡(操作码有两种编码格式) 1、固定格式:操作码长度固定,且集中放在指令字的一个字段中。 2、可变格式:即操作码长度可变,且分散地放在指令字的不同字段中。 二、扩展操作码 1、要点: ( 1)操作码位数随地址码个数变化采取可变长度类型; ( 2)指令间指令码一定不重复; ( 3)根据需要灵活变通。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 19页 ( 2/3) 2、比较 假设一台计算机指令字长 16位,操作码与地址码都为 4位,如图所示。 ( 1)方法一:固定格式,则最多可以设计 16条三地址指令 图 10列处理机结构 作码 算机组成原理 第五章指令系统 2015年 12月 17日 第 20页 ( 3/3) ( 2)方法二:扩展操作码,具体方法如下: A、 4位 0005条三地址指令,留编码 1111作为扩展标志与下一个 4位组成一个 8位操作码,引出二地址指令,则: B、( a)若将 地址指令的 再定义 16条 2地址指令; ( b) 8位 11100005条二地址指令,剩下的一个编码 11111111与下一个 4位组成一个 12位的操作码,引出一地址指令; ( c)选 11110000 11111101共 14条 2地址指令,留 11111110,11111111为扩展标志,再与 此类推。 C、若选 B( c),则可定义 31条 1地址指令,留一个编码 111111111111为扩展标志,与下一个 4位组成 16位操作码,引出 16条零地址指令; 3、扩展操作码的另一个演变是用操作码中的某一位或几位来说明指令的格式与长度,或是说明操作数的特征。 例如:小型机 最高位 15位 )来指明指令操作处理的数据字长度,当第 15位 =0,是字指令,操作数是 16位长的字;当 15位 =1,是字节指令,操作数是 8位长的字节。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 21页 令格式举例 8位微型机字长只有 8位。由于指令字较短,所以指令结构是一种可变字长形式。指令格式包含单字长指令、双字长指令、三字长指令等多种。指令格式如下: 单字长指令 : 操作码 计算机组成原理 第五章指令系统 2015年 12月 17日 第 22页 操作码 操作数地址 操作码 操作数地址 1 操作数地址 2 双字长指令: 三字长指令: 计算机组成原理 第五章指令系统 2015年 12月 17日 第 23页 单字长指令只有操作码 , 没有操作数地址 。 双字长或三字长指令包含操作码和地址码 。 由于内存按字节编址 , 所以单字长指令每执行一条指令后 ,指令地址加 1。 双字长指令或三字长指令每执行一条指令时 , 必须从内存连续读出两个字节或三个字节代码 , 所以 , 指令地址要加 2或加 3, 可见多字长的指令格式不利于提高机器速度 。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 24页 2. 从 1字节到 12字节 ,还可以带前缀 , 指令格式如下所示 。 这种非固定长度的指令格式是典型的 之所以如此 , 一是为了与它的前身 80486保持兼容 , 二是希望能给编译程序写作者以更多灵活的编程支持 。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 25页 例 5指令格式如下所示,其中 分析指令格式的特点。 解:( 1)单字长二地址指令。 ( 2)操作码字段可以指定 27=128条指令。 ( 3)源寄存器和目标寄存器都是通用寄存器(可分别指定 16个),所以是 个操作数均在寄存器中。 ( 4)这种指令结构常用于算术逻辑运算类指令 O P 源寄存器 目标寄存器 15 9 7 4 3 0 计算机组成原理 第五章指令系统 2015年 12月 17日 第 26页 例 5指令格式如下所示, 分析指令格式的特点。 O P 源寄存器 变址 寄存器 15 10 7 4 3 位移量( 16 位) 0 解:( 1)双字长二地址指令,用于访问存储器。 ( 2)操作码字段 位,可以指定 26=64种操作。 ( 3)一个操作数在源寄存器(共 16个),另一个操作数在存储器中(由变址寄存器和位移量决定),所以是 计算机组成原理 第五章指令系统 2015年 12月 17日 第 27页 寻址方式 ( 1/11) 一、寻址方式的设计 1、目的 (1)丰富程序设计手段,提高程序质量; (2)减少访问主存的次数,压缩程序占用的存储空间。保证指令的地址码字段尽可能缩短,而访问的存储空间尽可能地大。 2、 概念 ( 1)形式地址:指令中直接给出的地址; ( 2)有效地址:操作数所在的真实地址; ( 3)寻址方式:从形式地址生成有效地址的各种方式称为寻址方式。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 28页 寻址方式 ( 2/11) 3、寻址方式选用的依据 ( 1)要与数据的表示方式相配合,对各种结构的数据能方便地进行存取和处理; ( 2)要与指令系统相匹配,依据对机器性能要求的高低来考虑选择; ( 3)还要考虑硬件实现的可能性与复杂程度,成本高低,设备与价格增加的合理性。 4、区分寻址方式的方法 ( 1) 在指令中划出一个字段,用二进制编码来标志所采用的类型,此编码称寻址方式码; ( 2)使用隐含寻址方式,用操作码隐含寻址方式。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 29页 寻址方式 ( 3/11) 二、常用的寻址方式 1、立即寻址方式 ( 1)含义:地址字段给出的是可以立即使用的操作数实际值,称立即寻址方式。 ( 2)优缺点: A、优点:提供操作数最快 B、缺点:精度较低,可采用变字长格式解决。 例如:在 X, 05算机组成原理 第五章指令系统 2015年 12月 17日 第 30页 寻址方式 ( 4/11) 2、直接寻址方式 ( 1)含义:地址字段直接指明操作数在存储器内的位置的寻址方法。即形式地址等于有效地址, ( 2)缺点:直接寻址方式中指令字长限制了一条指令所能够访问的最大主存空间,可以使用可变字长指令格式来解决此局限性。利用扩大了的操作数地址码就能全部访问主存储器的所有的存储单元。 例如:在 X, 3000H 计算机组成原理 第五章指令系统 2015年 12月 17日 第 31页 寻址方式 ( 5/11) 3、间接寻址方式 ( 1)含义:指令字中地址码字段给出的不是操作数地址,而是操作数地址的地址。 ( 2)优缺点: A、优点:实现简便,对编程带来较大的 灵活性, 灵活性表现在: 间接寻址方式的指令可以访问大的存储空间,扩大了指令的寻址能力。 当操作数地址改变时,只需修改间接地址指示器的单元内容,而不必修改指令,原指令的功能照样实现。这给程序编制带来很大方便。 B、缺点: 多次访问内存,增加了指令的执行时间; 占用主存储器单元多。 ( 3)间接寻址可分为一级间接寻址和多级间接寻址。 例如:在 计算机组成原理 第五章指令系统 2015年 12月 17日 第 32页 寻址方式 ( 6/11) 4、变址寻址方式 ( 1)含义:把指令字中的形式地址 自动相加, 成操作数的有效地址 :+X。其中,与形式地址相加的数 为“变址值”,保存变址值的设备称为变址器。 ( 2)硬件开销: A、变址器 B、有效地址形成逻辑 例如:在 X, I 计算机组成原理 第五章指令系统 2015年 12月 17日 第 33页 寻址方式 ( 7/11) 5、基址寻址方式 ( 1)含义: +X。其中, , ( 2)与变址寻址的区别: 基址 R,用户程序无权操作和修改,由系统软件管理控制程序使用特权指令来管理的。 ( 3)基址寻址方式主要用以解决程序在存储器中的定位和扩大寻址空间等问题。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 34页 寻址方式 ( 8/11) 6、相对寻址方式 ( 1)含义:把程序计数器 令字中的形式地址码作为位移量,则有效地址A。相对寻址主要用于转移指令。 ( 2)特点: ( A)位移量可正、可负,通常用补码表示。若位移量为 向有 2向有 2序可以直接访问的实际存储空间是 2称为一页。 ( B)位移量是操作数位置与本指令之间的相对距离。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 35页 寻址方式 ( 9/11) 7、寄存器寻址方式 ( 1)含义:把指令字中的地址码用寄存器编号来代替,寄存器的作用由寻址方式码来指定。 ( 2)优点: A、有效压缩指令字长 B、加快存取速度 C、编程灵活 ( 3)寄存器寻址方式的变化: A、寄存器直接寻址方式 例如在 0, 、寄存器间接寻址方式 例如在 如在 0, 算机组成原理 第五章指令系统 2015年 12月 17日 第 36页 寻址方式 ( 10/11) 8、复合寻址方式: ( A)变址间址寻址方式 其含义是先将变址寄存器的内容 相加得到 A+X,然后再作间接寻址,得到操作数的有效地址。故操作数有效地址: A+X) ( B)间址变址寻址方式 含义是先将形式地址取间接变换( A) =N,然后把 相加,得到操作数的有效地址。故操作数的有效地址为: +X=( A) +X ( C) 086/8088中基址变址寻址方式 基址寄存器可以采用 P,变址寄存器可以用 I,有效地址是通过将基址寄存器中的值、变址寄存器中的值和位移量三这相加而求得的。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 37页 寻址方式 ( 11/11) 8、复合寻址方式: ( D)分页寻址方式 若计算机中欲采用直接寻址方式,但由于其访问的内存地址空间受指令中地址码字段长度的制约,若内存空间较大,则可采用分页寻址方式来解决。将指令中操作数地址码可以访问到的内存地址空间称为一页,则整个内存空间可以按页的大小分为多个页面。 例如设内存储器容量为 64指令中地址码长度为 9位,则每一页有 512个单元,可将内存空间划分为64K/512=128页。为访问 128页,需要 7位代码来表示页号。若预先将页号送入页号寄存器,把页号寄存器的内容与指令寄存器中形式地址两者拼接起来,就能获得一个可以访问整个内存空间的有效地址。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 38页 指令的分类与高级语言 令系统的分类 令系统与高级语言 计算机组成原理 第五章指令系统 2015年 12月 17日 第 39页 指令系统的分类 ( 1/9) 1. 数据传送类指令 寄存器至寄存器( 存储器至寄存器( 寄存器至存储器( 存储器至存储器( 计算机组成原理 第五章指令系统 2015年 12月 17日 第 40页 指令系统的分类 ( 2/9) 2. 运算类指令 加法,减法,乘法和除法等指令。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 41页 指令系统的分类 ( 3/9) 3. 逻辑运算指令 逻辑运算主要是对布尔变量的运算。 基本操作:包括逻辑与,逻辑或与逻辑非 3种基本操作; 组合逻辑操作:例如:异或。 ( 1)逻辑与指令: ( 2)逻辑或指令: ( 3)逻辑非指令: ( 4)逻辑异或指令: 算术逻辑运算指令除了给出运算结果外,往往还要给出某些状态信息。如运算结果的正、负;运算结果是否为零;是否有溢出;是否有低位向高位的进位等,供其它指令或程序分析时使用。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 42页 指令系统的分类 ( 4/9) 4. 移位指令 算术移位:左移或右移 ( 右移时符号位不变 ) 逻辑移位:左移或右移 ( 右移时符号位补 0) 循环移位:左移或右移 。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 43页 指令系统的分类 ( 5/9) 5. 程序控制类指令 ( 1)转移指令: 包括无条件转移指令和条件转移指令。 ( 2)转子与返回指令: 子程序是一组可以共享的指令序列,可被主程序调用执行。转子指令与转移指令之间最大的差别在于:转移指令无需返回,而转子指令则需要。 子程序调用指令就是用来调用子程序的。为了能够从子程序中正确返回到断点继续执行,并能支持多重嵌套和递归调用,现代计算机通常用堆栈来保存返回地址。 ( 3)程序中断指令: 中断一般是计算机系统出现异常情况或特殊请求时随机产生的。一般在计算机中,中断指令作为隐指令不提供用户使用。但在某些计算机中设置了可供用户使用的中断指令,以实现系统功能调用和程序请求。如 计算机组成原理 第五章指令系统 2015年 12月 17日 第 44页 指令系统的分类 ( 6/9) 6. 输入输出类指令 用来处理机与外部设备之间进行通信的一类指令。以处理机为基准,信息由外部设备传向处理机称为输入 (信息由处理机传给外部设备称为输出 ( 一元化总线的计算机如 需设置专门的 I/以用一般的数据传送类指令实现输入和输出; 对于主存和外设不采用统一编址技术的计算机来说,则需要有专门的 I/ 计算机组成原理 第五章指令系统 2015年 12月 17日 第 45页 指令系统的分类 ( 7/9) 7. 字符串处理指令 非数值处理能力; 字符串处理指令一般包括字符串传送、比较、查询、转换等指令。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 46页 指令系统的分类 ( 8/9) 8. 处理机控制类指令 包括停机指令、等待指令、空操作指令、开中断指令、关中断指令、设置条件码指令等。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 47页 指令系统的分类 ( 9/9) 9. 特权指令 这类指令只能用于操作系统或其它系统软件,而不提供给用户使用,称特权指令。 一般来说,在单用户、单任务的计算机中不一定需要特权指令,而在多用户、多任务的计算机系统中,特权指令却是必不可少的。它主要用于系统资源的分配和管理,包括改变系统的工作方式、检测用户的访问权限、修改虚拟存储器管理的段表、页表和完成任务的创建和切换等。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 48页 指令系统与高级语言 ( 1/2) 1、传统的冯 诺依曼计算机的机器语言和高级程序设计语言在语义上的差别的主要原因 ( 1)存储器组织方式不同 冯 诺依曼计算机的存储器是一维的线性结构,而高级程序设计语言表示的存储器则是一组变量,访问时调用变量即可,不必考虑访问方法,而且数据结构经常是多维的,如数组结构。 ( 2)高级程序设计语言中,高级语言中的每种操作对于任何数据类型都是通用的,数据类型直接属于数据本身,而冯 诺依曼计算机的数据本身没有属性标志,同一种操作要用不同的操作码来对数据类型进行区分。 这些差别间的变换工作,主要由编译程序来承担。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 49页 指令系统与高级语言 ( 2/2) 2、计算机指令结构分类 两大类: ( 1)复杂指令集计算机( 指令系统十分庞大,指令类型、寻址方式较多,机器语言和高级语言之间的语义差距正在缩小。 ( 2)精简指令集计算机( 选用使用频率最高的少数指令,尽量使所有的简单指令在一个机器周期内执行完,采用大量的寄存器、高速缓冲存储器等技术,通过优化编译程序,提高处理速度。机器语言和高级语言的差距较大,这个差距主要靠提高计算机运行速度和配置优化编译程序来弥补。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 50页 计算机组成原理 第五章指令系统 2015年 12月 17日 第 51页 1/6) 6位小型机, 个通用寄存器( 其中 它 6个寄存器 产 80是 977年推出的 6位扩充到 32位。 6个通用寄存器, P,C。 计算机组成原理 第五章指令系统 2015年 12月 17日 第 52页 2/6) 1、 单操作数指令 , 如清零 ( 、 加 1( 、 减 1( 、 求补( 、 字节交换 ( 等指令; 2、双操作数指令,如传送( 比较( 加( 减( 乘( 除( 异或( 指令; 3、转移指令,如无条件转移( 非零转移( 零转移( 正转移( 负转移( 指令; 4、跳转、子程序及自中断指令,如跳转( 转子( 子程序返回( 自中断( 指令; 5、条件码操作指令,如清进位( 置进位( 清零

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论