计算机组成与系统结构.PPT

上传人:国*** 文档编号:392649 上传时间:2018-09-30 格式:PPT 页数:67 大小:184.50KB
下载 相关 举报
计算机组成与系统结构.PPT_第1页
第1页 / 共67页
计算机组成与系统结构.PPT_第2页
第2页 / 共67页
计算机组成与系统结构.PPT_第3页
第3页 / 共67页
计算机组成与系统结构.PPT_第4页
第4页 / 共67页
计算机组成与系统结构.PPT_第5页
第5页 / 共67页
点击查看更多>>
资源描述

1、计算机组成与系统结构,上海交通大学 网络教育学院陈泽宇 博士、副教授,2,前言第1章 计算机系统概论第2章 运算方法和运算器第3章 存储系统第4章 指令系统第5章 中央处理器第6章 总线系统第7章 外围设备第8章 输入输出系统第9章 并行组织,3,第4章 指令系统,4.1 指令系统的发展与性能要求4.2 指令格式4.3 指令和数据的寻址方式 4.4 堆栈寻址方式4.5 典型指令,4,4.1 指令系统的发展与性能要求,4.1.1 指令系统的发展4.1.2 对指令系统性能的要求4.1.3 低级语言与硬件结构的关系,5,4.1.1 指令系统的发展,计算机的程序是由一系列的指令组成的指令就是要计算机执

2、行某种操作的命令从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分微指令:微程序级的命令,属于硬件;宏指令:由若干条机器指令组成的软件指令,属于软件;机器指令(通常简称为指令):介于微指令与宏指令之间,每一条指令可完成一个独立的算术运算或逻辑运算操作,6,指令系统一台计算机中所有机器指令的集合,称为这台计算机的指令系统系列计算机基本指令系统相同、基本体系结构相同的一系列计算机系列机解决了各机种的软件兼容问题,其必要条件是同一系列的各机种有共同的指令集,而且新推出的机种指令系统一定包含所有旧机种的全部指令复杂指令系统计算机(CISC)与精简指令系统计算机(RISC),7,4.

3、1.2 对指令系统性能的要求,指令系统的性能决定了计算机的基本功能,因而指令系统的设计是计算机系统设计中的一个核心问题一个完善的指令系统应满足如下四方面的要求:完备性有效性规整性兼容性,8,完备性,用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现完备性要求指令系统丰富、功能齐全、使用方便,9,有效性,利用该指令系统所编写的程序能够高效率地运行高效率主要表现在程序占据存储空间小、执行速度快,10,规整性,包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性对称性在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式匀齐性一种操作性质的指令

4、可以支持各种数据类型指令格式和数据格式的一致性指令长度和数据长度有一定的关系,以方便处理和存取,11,兼容性,系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行,12,4.1.3 低级语言与硬件结构的关系,计算机的程序,就是人们把需要用计算机解决的问题变换成计算机能够识别的一串指令或语句编写程序的过程,称为程序设计,而程序设计所使用的工具则是计算机语言,13,计算机语言具有高级语言和低级语言之分高级语言:其语句和用法与具体机器的指令系统无关低级语言分

5、机器语言(二进制语言)和汇编语言(符号语言)是面向机器的语言,和具体机器的指令系统密切相关机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序,14,高级语言与低级语言的性能比较P132表4.1 表4.1高级语言与低级语言的性能比较,15,计算机能够直接识别和执行的唯一语言是二进制语言必须借助汇编程序或编译程序,把符号语言或高级语言翻译成二进制码组成的机器语言汇编语言依赖于计算机的硬件结构和指令系统高级语言与计算机的硬件结构及指令系统无关但是高级语言程序“看不见”机器的硬件结构,因而不能用它来编写直接访问机器硬件资源的系统软件或设备控制软件,16,4.2 指令格式,4.2.1 操作码4

6、.2.2 地址码4.2.3 指令字长度4.2.4 指令助记符 4.2.5 指令格式举例,17,指令字机器指令是用机器字来表示的表示一条指令的机器字称为指令字(简称指令)指令格式指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成操作码字段表征指令的操作特性与功能地址码字段通常指定参与操作的操作数的地址,18,4.2.1 操作码,设计计算机时,对指令系统的每一条指令都要规定一个操作码指令的操作码表示该指令应进行什么性质的操作组成操作码字段的位数一般取决于计算机指令系统的规模对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通常是固定的,19,4.2.2 地址码,根据一条指

7、令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令一般的操作数有被操作数、操作数及操作结果这三种数,因而就形成了三地址指令格式在三地址指令格式的基础上,后来又发展成二地址格式、一地址格式和零地址格式,20,各种不同操作数的指令格式零地址指令只有操作码,没有地址码如停机指令,21,一地址指令(单操作数指令)(AC)OP(A)AC通常,这种指令是以运算器中累加寄存器AC中的数据为被操作数,指令字的地址码字段所指明的数为操作数,操作结果又放回累加寄存器AC中注意:地址码字段A指明的是操作数的地址,而不是操作数本身二地址指令(双操作数指令)(A1)OP(A2)A1三地址指令(A1)OP(A2

8、)A3,22,在二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型存储器-存储器(SS)型指令访问内存参与操作的数都放在内存里寄存器-寄存器(RR)型指令访问寄存器从寄存器中取操作数,把操作结果放到另一寄存器机器执行寄存器-寄存器型指令的速度很快寄存器-存储器(RS)型指令既要访问内存单元,又要访问寄存器,23,4.2.3 指令字长度,指令字长度一个指令字中包含二进制代码的位数机器字长计算机能直接处理的二进制数据的位数机器字长通常与主存单元的位数一致,24,单/半/双字长指令单字长指令指令字长度等于机器字长度的指令半字长指令指令字长度等于半个机器字长度的指令双字长指令指令字长度等于两

9、个机器字长度的指令使用多字长指令的优缺点使用多字长指令的目的提供足够的地址位来解决访问内存任何单元的寻址问题使用多字长指令的主要缺点必须两次或多次访问内存以取出一整条指令,这就降低了CPU的运算速度,同时又占用了更多的存储空间,25,等长指令字结构与变长指令字结构等长指令字结构各种指令字长度是相等的结构简单变长指令字结构各种指令字长度随指令功能而异结构灵活,26,4.2.4 指令助记符,指令助记符为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示,称为指令助记符由于指令助记符提示了每条指令的意义,因此比较容易记忆,书写起来比较方便,阅读程序容易理解注意:在不同的计算机中,指令助

10、记符的规定是不一样的指令助记符的转换指令助记符必须转换成与它们相对应的二进制码这种转换借助汇编程序可以自动完成,汇编程序的作用相当于一个“翻译”,27,4.3 指令和数据的寻址方式,4.3.1 指令的寻址方式4.3.2 操作数寻址方式4.3.3 寻址方式举例,28,寻址方式几乎所有的计算机,在内存中都采用地址指定方式当采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式寻址方式分为两类,即指令寻址方式和数据寻址方式,29,4.3.1 指令的寻址方式,指令的寻址方式有两种顺序寻址方式跳跃寻址方式P138图4.1CAI演示,30,1顺序寻址方式,由于指令地址在内存中按顺序安排,当执行一段程

11、序时,通常是一条指令接一条指令的顺序执行这种程序顺序执行的过程,称为指令的顺序寻址方式为此,必须使用程序计数器(又称指令指针寄存器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址,31,2跳跃寻址方式,当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式所谓跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出程序跳跃后,按新的指令地址开始顺序执行因此,指令计数器的内容也必须相应改变,以便及时跟踪新的指令地址采用指令跳跃寻址方式,可以实现程序转移或构成循环程序指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳跃寻址而设置的,32,4.3.2 操作数寻址方式,操作

12、数的寻址方式形成操作数的有效地址的方法,称为操作数的寻址方式操作数字段的地址码是由形式地址和寻址方式特征位等组合形成一般来说,指令中所给出的地址码,并不是操作数的有效地址形式地址,是指令字结构中给定的地址量寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程,33,比较典型而常用的寻址方式1隐含寻址2立即寻址3直接寻址4间接寻址5寄存器寻址和寄存器间接寻址6相对寻址7基址寻址8变址寻址9块寻址10段寻址,34,1隐含寻址,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址累加寄存器AC对单地址指令格式来说是隐含地址,35,2立即寻址,指令的地址字段指出的不是操作数的地址,而是操

13、作数本身特点是指令执行时间很短,36,3直接寻址,在指令格式的地址字段中直接指出操作数在内存的有效地址P140图4.2aCAI演示,37,4间接寻址,指令地址字段中的形式地址不是操作数的真正地址,而是操作数地址的指示器,或者说形式地址所指单元的内容才是操作数的有效地址P140图4.2bCAI演示,38,5寄存器寻址和寄存器间接寻址,寄存器寻址当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式此时指令中给出的操作数地址是通用寄存器的编号指令结构中的RR型指令,就是采用寄存器寻址方式的例子寄存器间接寻址指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在

14、内存中,39,6相对寻址,相对寻址是把程序计数器PC的内容加上指令格式中的形式地址而形成操作数的有效地址程序计数器的内容就是当前指令的地址,“相对”寻址是相对于当前的指令地址而言采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,因而所编程序可以放在内存任何地方此时形式地址通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动P141图4.3a,CAI演示,40,7基址寻址,将CPU中基址寄存器的内容,加上指令格式中的形式地址而形成操作数的有效地址优点是可以扩大寻址能力P141图4.3bCAI演示,41,8变址寻址,把CPU中某个变址寄存器的内容与偏移量相加来形成操作数有效地址使用变址寻

15、址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化,42,9块寻址,在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)经常用于数据块传送(复制和移动),43,10段寻址,由一个基地址(CPU中的段寄存器)再加上某些寄存器提供的偏移量来形成实际的物理地址微型机中采用了段寻址方式P142图4.4CAI演示,44,4.3.3 寻址方式举例, 1PDP/11系列机寻址方式2Pentium机的寻址方式例题,45,2Pentium机的寻址方式,在实地址模式下,逻辑地址形式为段寻址方式:将段名所指定的段寄存器内容(16位)左移4位,低4位补全0,得到20位段基地址,再加上段内偏移

16、,即得20位物理地址在保护模式下,32位段基地址加上段内偏移得到32位线性地址,由存储管理部件将其转换成32位的物理地址,46,Pentium机的9种寻址方式P143表4.4立即数:8位、16位、32位通用寄存器:8位、16位、32位偏移量长度:8位、16位、32位,47,例题,P143例3P144例4,48,P143例3,例3 一种二地址RS型指令的结构如下所示:其中I为间接寻址标志位,X为寻址模式字段,D为偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。请写出6种寻址方式的名称。解:直接寻址相对寻址 变址寻址寄存器间接寻址 间接寻址基址寻址,49,P144例4,例4 某16位机

17、器所使用的指令格式和寻址方式如下所示。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。MOV是传送指令,STA为写数指令,LDA为读数指令。要求: 分析三种指令的指令格式与寻址方式特点。 CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?,50,解: 第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双字长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。 处理机完成第一种指令所花时间最短,因为是R

18、R型指令,不需要访问存储器。第二种指令所花时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。,51,4.4 堆栈寻址方式,4.4.1 串联堆栈4.4.2 存储器堆栈,52,堆栈是一组能存储和取出数据的暂时存储单元堆栈是一种特殊的数据寻址方式,采用“先进后出(FILO)”原理,53,4.4.1 串联堆栈,串联堆栈(寄存器堆栈)计算机的CPU中有一组专门的寄存器,称为串联堆栈,其中每一个寄存器能保存一个字的数据因为这些寄存器直接位于CPU中,

19、所以它们是极好的暂存单元寄存器堆栈的进栈出栈CPU通过“进栈”指令把数据送入堆栈,而通过“出栈”指令把数据从堆栈中取出P145图4.5,CAI演示,54,4.4.2 存储器堆栈,存储器堆栈通常由程序员设置出一部分主存储器来作为堆栈,称为存储器堆栈这种堆栈有三个优点:堆栈能够具有程序员要求的任意长度;只要程序员喜欢,愿意建立多少堆栈,就能建立多少堆栈;可以用对存储器寻址的任何一条指令来对堆栈中的数据进行寻址堆栈指示器在存储器类型的堆栈中,需要一个堆栈指示器,它是CPU中一个专用的寄存器堆栈指示器指定的存储器单元,就是堆栈的栈顶,55,存储器堆栈的进栈出栈进栈操作(A) Msp ,(SP)- 1

20、SPP146图4.6出栈操作(SP)+ 1 SP,(Msp) AP147图4.7CAI演示注意:存储器堆栈中,进栈时先存入数据,后修改堆栈指示器;出栈时,先修改堆栈指示器,然后取出数据,56,4.5 典型指令,4.5.1 指令的分类 4.5.2 基本指令系统4.5.3 精简指令系统,57,4.5.1 指令的分类,不同机器的指令系统是各不相同的从指令的操作码功能来考虑,一个较完善的指令系统,应当包括数据传送类指令、算术运算类指令、逻辑运算类指令、程序控制类指令、输入输出类指令、字符串类指令、系统控制类指令,58,1数据传送指令,主要用来实现主存和寄存器之间,或寄存器和寄存器之间的数据传送,59,

21、2算术运算指令,主要用于定点或浮点的算术运算,60,3逻辑运算指令,主要用于无符号数的位操作、代码的转换、判断及运算移位指令用来对寄存器的内容实现左移、右移或循环移位算术移位若寄存器的数看作算术数,则符号位不动,其他位移位逻辑移位若寄存器的数为逻辑数,则所有位一起移位,61,4程序控制指令,程序控制指令也称转移指令有时机器执行到某条指令时,出现了几种不同结果,这时机器必须执行一条转移指令,根据不同结果进行转移,从而改变程序原来执行的顺序,这种转移指令称为条件转移指令除各种条件转移指令外,还有无条件转移指令、转子程序指令、返回主程序指令、中断返回指令等转移指令的转移地址一般采用直接寻址和相对寻址

22、方式来确定若采用直接寻址方式,则称为绝对转移,转移地址由指令地址码部分直接给出若采用相对寻址方式,则称为相对转移,转移地址为当前指令地址(PC的值)和指令地址部分给出的偏移量相加之和,62,5输入输出指令,主要用来启动外围设备,检查测试外围设备的工作状态,并实现外部设备和CPU之间,或外围设备与外围设备之间的信息传送有的机器指令系统中没有设置输入输出指令这是因为外部设备的寄存器和存储器单元统一编址,CPU可以和访问内存一样地去访问外部设备,63,6字符串处理指令,在文字编辑中对大量字符串进行处理,64,7特权指令,特权指令是指具有特殊权限的指令,这类指令只用于操作系统或其他系统软件在多用户、多任务的计算机系统中特权指令必不可少,它主要用于系统资源的分配和管理,65,8其他指令,其他一些系统控制用的特殊指令,66,4.5.3 精简指令系统,RISC指令系统CISC(复杂指令系统计算机)的指令系统一般有多达二三百条的指令例如:奔腾机有191条指令,9种寻址方式RISC指令系统是CISC指令系统的改进RISC指令系统的最大特点选取使用频率最高的一些简单指令,指令条数少指令长度固定,指令格式种类少,寻址方式种类少只有取数存数指令访问存储器,其余指令的操作都在寄存器之间进行,67,典型RISC机指令系统的基本特征P151表4.7,

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

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。