计算机组成原理.pptx

上传人:莉*** 文档编号:77746254 上传时间:2023-03-16 格式:PPTX 页数:130 大小:1.98MB
返回 下载 相关 举报
计算机组成原理.pptx_第1页
第1页 / 共130页
计算机组成原理.pptx_第2页
第2页 / 共130页
点击查看更多>>
资源描述

《计算机组成原理.pptx》由会员分享,可在线阅读,更多相关《计算机组成原理.pptx(130页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1n 教材王爱英,计算机组成与结构王爱英,计算机组成与结构第五版,清华大学出版社,第五版,清华大学出版社,20132013n 参考书白中英,计算机组成原理白中英,计算机组成原理第四版第四版立体化教材,科学立体化教材,科学出版社,出版社,20082008陈志勇,计算机组成原理,西安电子科技大学出版社,陈志勇,计算机组成原理,西安电子科技大学出版社,20092009钱晓捷,微型计算机原理及应用,清华大学出版社,钱晓捷,微型计算机原理及应用,清华大学出版社,20062006第1页/共130页目录目录2 第一章第一章 计算机系统概论计算机系统概论 第二章第二章 指令系统指令系统 第三章第三章 中央处理

2、部件中央处理部件CPUCPU 第四章第四章 存储系统存储系统 第五章第五章 输入输出(输入输出(I/OI/O)系统)系统第2页/共130页1.1 1.1 计算机的基本概念计算机的基本概念3第一章第一章 计算机系统概论计算机系统概论如何正确理解如何正确理解“计算机计算机”这个术语呢?这个术语呢?凡是能完成以下三类工作的机器就是计算机:凡是能完成以下三类工作的机器就是计算机:能接受程序和数据的输入,并存储起来;能接受程序和数据的输入,并存储起来;能能按按照照存存储储的的程程序序对对输输入入的的数数据据进进行行自自动动处处理理并得出结果;并得出结果;能把结果输出。能把结果输出。第3页/共130页1.

3、2 1.2 计算机的发展史计算机的发展史4第一代电子管时代第一代电子管时代(1946-1958)(1946-1958):耗电高,体积耗电高,体积大,定点计算,机器语言,汇编语言大,定点计算,机器语言,汇编语言第二代晶体管时代第二代晶体管时代(1958-1965)(1958-1965):变集中处理为:变集中处理为分级处理,浮点运算、高级语言分级处理,浮点运算、高级语言第三代中小规模集成电路时代第三代中小规模集成电路时代(1965-1970)(1965-1970):存:存储容量大,运算速度快,几十至几百万次储容量大,运算速度快,几十至几百万次/秒秒第四代大规模集成电路时代第四代大规模集成电路时代(

4、1971(1971至今至今):向大型:向大型机和微型机两个方向发展机和微型机两个方向发展现代计算机发展方向:巨型化,微型化,网络化,现代计算机发展方向:巨型化,微型化,网络化,智能化,多媒体化,多核,云计算。智能化,多媒体化,多核,云计算。第4页/共130页第一台通用电子计算机第一台通用电子计算机5l 1946年2月14日,第一台通用电子计算机,设计用于计算火炮的弹道l重30吨,占地170平方米,18800个电子管,耗电150KWl 运算速度:5000次加法/秒l 使用十进制数l 20个寄存器,每个存放10位的十进制数l 通过设置6000个开关和其它众多的插头和插座来编程第5页/共130页计算

5、机里有什么?计算机里有什么?6第6页/共130页1.3 1.3 计算机系统的组成计算机系统的组成7 计算机系统:由计算机硬件系统和软件系统组成。第7页/共130页8第二章第二章 指令系统指令系统 指令、指令系统是计算机中一个最基本的概念。指令、指令系统是计算机中一个最基本的概念。指令系统是计算机的主要属性,位于硬件和软件的指令系统是计算机的主要属性,位于硬件和软件的交界面上。交界面上。第8页/共130页9指令:指令:要计算机执行某种操作的命令要计算机执行某种操作的命令 指令系统:指令系统:一台计算机中所有机器指令的集合一台计算机中所有机器指令的集合 它是表征一台计算机性能的重要因它是表征一台计

6、算机性能的重要因素,其格式与功能不仅直接影响到素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。统软件,影响到机器的适用范围。2.1 2.1 基本概念基本概念第9页/共130页程序:是为实现特定目标或解决特定问题而用计算机语言(汇编 语言、高级语言)编写的命令序列的集合。“(机器)指令(机器)指令”和和“程序程序”的区别的区别机器指令:计算机硬件可以执行的表示一种基本操作的二进 制代码。程序程序机器指令机器指令编译程序编译程序第10页/共130页112.2 2.2 指令格式指令格式 指令格式:用二进制代码表示指令的结构形式,

7、指令格式:用二进制代码表示指令的结构形式,通常分成通常分成操作码操作码和和地址码地址码两部分。两部分。操作码操作码地址码地址码操作码用来表明本条指令要操作码用来表明本条指令要求计算机完成的操作,如加求计算机完成的操作,如加法,减法,取数等,法,减法,取数等,CPUCPU中有中有专门的译码电路来识别解释专门的译码电路来识别解释各操作码各操作码地址码用来给出参加本次运算的操作数和地址码用来给出参加本次运算的操作数和运算结果所在的地址,根据地址码个数,运算结果所在的地址,根据地址码个数,指令格式分为零地址、一地址指令格式分为零地址、一地址 、二地址、二地址、三地址、四地址三地址、四地址 100101

8、01 10100001第11页/共130页12(1)(1)零地址指令零地址指令格式:OPOP:操作码如:空操作指令,停机指令(2)(2)一地址指令一地址指令OP A3 次访存(A为存储器地址时)寻址范围 224=16 M 格式:OP:操作码A:操作数地址,同时也是操作结果的存储地址设指令字长为 32 位操作码固定为 8 位备注:A既可以是存储器地址也可以是寄存器地址如:加1,减1和移位指令第12页/共130页13(3)(3)二地址指令二地址指令OP A1 A2(A1)OP(A2)A1(A1)OP(A2)A2或4 次访存(A1和A2均为存储器地址时)寻址范围 212=4 K格式:OP:操作码A1

9、:第一操作数地址A2:第二操作数地址备注:A1,A2既可以是存储器地址也可以是寄存器地址设指令字长为 32 位操作码固定为 8 位A1和A2进行操作后结果既可以存于A1中也可以存于A2中,编程时需要参考所用机器的说明书第13页/共130页14OP A1 A2 A3(A1)OP(A2)A34 次访存(A1和A2均为存储器地址时)寻址范围 28=256(4 4)三地址指令)三地址指令OP:操作码A1:第一操作数地址A2:第二操作数地址A3:结果的地址设指令字长为 32 位操作码固定为 8 位备注:A1,A2,A3既可以是存储器地址也可以是寄存器地址格式:第14页/共130页(5)四地址指令OP A

10、1 A2 A3 A4A1:第一操作数地址A2:第二操作数地址A3:结果的地址A4:下一条指令地址(A1)OP(A2)A34 次访存寻址范围 26=64OP:操作码备注:A1,A2,A3,A4既可以是存储器地址也可以是寄存器地址格式:设指令字长为 32 位操作码固定为 8 位第15页/共130页162.3 2.3 操作码扩展技术操作码扩展技术 指令操作码通常有两种编码格式:指令操作码通常有两种编码格式:操作码长度固定:操作码长度固定:操作码集中在指令字的一个字段操作码集中在指令字的一个字段内内 特点:控制简单,译码时间短,编码浪费,特点:控制简单,译码时间短,编码浪费,n n位操作码能表示位操作

11、码能表示2 2n n条指令条指令 操作码长度不固定:操作码长度不固定:操作码分散在指令字的不同字操作码分散在指令字的不同字段内段内 特点:能有效压缩操作码的平均长度,控制复杂,指令译码、分析较难特点:能有效压缩操作码的平均长度,控制复杂,指令译码、分析较难第16页/共130页17 现代计算机中多采用现代计算机中多采用不等长操作码不等长操作码不同类的不同类的指令,其操作码的长度不同。指令,其操作码的长度不同。对于一部分不需要操作数的指令可以将指令操作对于一部分不需要操作数的指令可以将指令操作码扩展到操作数字段,操作码的长度随地址码的减少码扩展到操作数字段,操作码的长度随地址码的减少而增加。而增加

12、。在不增加指令长度的情况下,能充分利用指令的在不增加指令长度的情况下,能充分利用指令的各个字段扩展操作码的长度,使它可以表示更多的指各个字段扩展操作码的长度,使它可以表示更多的指令。令。实现不等长操作码可以通过实现不等长操作码可以通过扩展操作码法扩展操作码法实现。实现。第17页/共130页18每次扩展的操作码的位数相同。例如:每次扩展的操作码的位数相同。例如:4-8-124-8-12扩展法、扩展法、3-6-93-6-9扩展法、扩展法、4-6-84-6-8扩展法扩展法两种扩展方式很难证明哪一种肯定优于另外一种实际中采用哪种方式,有一个重要的原则:使用频度高的指令应分配短的操作码;使用频度低的指令

13、相应地分配较长的操作码(有利于CPU缩短对指令的译码时间,提高指令的执行速度)。等长扩展等长扩展指每次扩展的操作码的位数不相同。例如:指每次扩展的操作码的位数不相同。例如:4-6-104-6-10扩展扩展法、法、3-6-103-6-10扩展法扩展法不等长扩展不等长扩展操作码扩展实现方式操作码扩展实现方式第18页/共130页19等长扩展操作码等长扩展操作码1616条使用频度最低的指令操作码条使用频度最低的指令操作码0 0 0 00 0 0 00 0 0 10 0 0 1 1 1 1 01 1 1 01 1 1 1 1 1 1 1 0 0 0 00 0 0 01 1 1 1 1 1 1 1 0 0

14、 0 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 01 1 1 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 00 0 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 11515条使用频度最高的指令操作码条使用频度最高的指令操作码1515条使用频度稍低的指令操作码条使用频度稍低的指令操作码该系统的指令总数不能超过该系统的指令总数不能超过4646条条采用采用4-8-124-8-12等长扩展法确定三种使用频度

15、的操作码的等长扩展法确定三种使用频度的操作码的编码方案编码方案第19页/共130页20等长扩展操作码等长扩展操作码1515条使用频度稍低的指令操作码条使用频度稍低的指令操作码0 0 00 0 00 0 10 0 1 1 1 01 1 01 1 1 1 1 1 0 0 0 00 0 0 01 1 1 1 1 1 0 0 0 10 0 0 1 1 1 1 1 1 1 1 1 1 01 1 1 01 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 00 0 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 10 0 0 1 1 1 1 1 1 1 1 1 1

16、1 1 1 1 1 1 1 1 11 1 1 17 7条使用频度最高的指令操作码条使用频度最高的指令操作码1616条使用频度稍低的指令操作码条使用频度稍低的指令操作码采用采用3-7-113-7-11等长扩展法确定三种使用频度的操作码的等长扩展法确定三种使用频度的操作码的编码方案编码方案该系统的指令总数不能超过该系统的指令总数不能超过3838第20页/共130页21不等长扩展操作码不等长扩展操作码 同样的要求还可采用同样的要求还可采用4-5-94-5-9不等长扩展不等长扩展0 0 0 00 0 0 00 0 0 10 0 0 1 0 1 1 10 1 1 11 0 0 0 1 0 0 0 0 0

17、 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 01 1 1 1 1 1 1 1 1 1 0 0 0 00 0 0 01 1 1 1 1 1 1 1 1 1 0 0 0 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 17 7条使用频度最高的指令操作码条使用频度最高的指令操作码1515条使用频度稍低的指令操作码条使用频度稍低的指令操作码1616条使用频度稍低的指令操作码条使用频度稍低的指令操作码不允许短码不允许短码 是长码的前缀,各条指令的操作码一定不能重复是长码的前缀,各条指令的操作码一定不能重复保证解码的唯一性和实时性保证解

18、码的唯一性和实时性第21页/共130页例题例题22指令长度16位,设计一个具有15条三地址指令、15条双地址指令、15条单地址指令和16条零地址指令的指令系统。第22页/共130页23作业作业某计算机指令长度为某计算机指令长度为3232位,有位,有3 3种指令:双操作数指令、种指令:双操作数指令、单操作数指令、无操作数指令。今采用扩展操作码方单操作数指令、无操作数指令。今采用扩展操作码方式来设计指令,假设操作数地址为式来设计指令,假设操作数地址为1 12 2位,已知有双操位,已知有双操作数指令作数指令K K条,单操作数指令条,单操作数指令L L条,问无操作数指令有条,问无操作数指令有多少条?多

19、少条?第23页/共130页24说明说明0 0 0 00 0 0 00 0 0 10 0 0 10 0 1 00 0 1 00 0 1 10 0 1 10 1 0 00 1 0 00 1 0 10 1 0 10 1 1 00 1 1 00 1 1 10 1 1 11 0 0 01 0 0 01 0 0 11 0 0 11 0 1 01 0 1 01 0 1 11 0 1 11 1 0 01 1 0 01 1 0 11 1 0 11 1 1 01 1 1 01 1 1 11 1 1 1设指令字长度设指令字长度4 4位,地址码长度位,地址码长度1 1位,位,只有双地址和单地址指令,双地址指只有双地址

20、和单地址指令,双地址指令有令有3 3条,单地址指令有多少?条,单地址指令有多少?(16-316-3 2 22 2)/2=2/2=2第24页/共130页25由于采用扩展操作码方式设计指令,所以对一部分由于采用扩展操作码方式设计指令,所以对一部分不需要操作数的指令可以将指令操作码扩展到操作不需要操作数的指令可以将指令操作码扩展到操作数字段。在不增加指令长度的情况下,能充分利用数字段。在不增加指令长度的情况下,能充分利用指令的各个字段扩展操作码的长度,使它可以表示指令的各个字段扩展操作码的长度,使它可以表示更多的指令。更多的指令。本题中,由于指令总长度为本题中,由于指令总长度为3232位,操作数地址

21、为位,操作数地址为1212位,则:位,则:对于双操作数指令,操作码长度为(对于双操作数指令,操作码长度为(32-1232-12 2 2)=8=8位位对于单操作数指令,操作码长度为(对于单操作数指令,操作码长度为(32-1232-12)=20=20位位对于无操作数指令,操作码长度为对于无操作数指令,操作码长度为3232位位第25页/共130页26由于双操作数指令有由于双操作数指令有K K条,单操作数指令有条,单操作数指令有L L条,则条,则它们可设计成如下形式:它们可设计成如下形式:双操作数指令操作码范围为:双操作数指令操作码范围为:00000(K-1)0(K-1)二进制数表二进制数表示示单操作

22、数指令操作码范围为:单操作数指令操作码范围为:(K)(K)二进制数表示二进制数表示 00000(K)0(K)二进制数表示二进制数表示 (L-1)(L-1)二进制数表示二进制数表示无操作数指令操作码范围为:无操作数指令操作码范围为:(K)(K)二进制数表示二进制数表示 (L)(L)二进二进制数表示制数表示 00000(K)0(K)二进制数表示二进制数表示 (L)(L)二进制数表示二进制数表示 11111 1设无操作数指令个数为设无操作数指令个数为NN,则,则N=2N=23232-K-K 2 22424-L-L 2 21212=(2(28 8-K)-K)2 21212-L-L 2 21212第26

23、页/共130页272.4 2.4 指令字长指令字长指令字长:指令字长:一条指令中包含的二进制代码的位数一条指令中包含的二进制代码的位数指令字长取决于操作码的长度、地址码的个数以及指令字长取决于操作码的长度、地址码的个数以及每个地址的长度每个地址的长度指令字长固定,地址码与操作码的长度互相制约指令字长固定,地址码与操作码的长度互相制约L L为指令字长度,为指令字长度,NN为机器字长度为机器字长度 指令字长与机指令字长与机器字的关系器字的关系第27页/共130页282.5 2.5 数据表示数据表示(1 1)地址)地址 :无符号整数:无符号整数(2 2)数字:定点数、浮点数、十进制数)数字:定点数、

24、浮点数、十进制数(3 3)字符:文本、字符串)字符:文本、字符串(4 4)逻辑数据)逻辑数据操作数类型操作数类型第28页/共130页29 目前计算机所用数据字长一般为3232位。存储器的地址一般按字节表示。地址空间的规则如下:(1 1)位于地址A A的字:包含的字节位于地址A,A+1,A+2A,A+1,A+2和A+3A+3;(2 2)位于地址A A的半字:包含的字节位于地址A A和A+1A+1;(3 3)位于地址A+2A+2的半字:包含的字节位于地址A+2A+2和A+3A+3;(4 4)位于地址A A的字:包含的半字位于地址A A和A+2A+2;存储器格式存储器格式A A可被整除可被整除 第2

25、9页/共130页30数据在存储器中的存放方式数据在存储器中的存放方式多字节数据存放在存储器中满足多字节数据存放在存储器中满足“边界对准边界对准”半字地址是半字地址是2 2的整数倍,字地址是的整数倍,字地址是4 4的整数倍,双字地址是的整数倍,双字地址是8 8的整数倍,字节的整数倍,字节可以存储在任何地址,不满足要求时,填充一个至多个空白字节可以存储在任何地址,不满足要求时,填充一个至多个空白字节对齐方式对齐方式字节次序字节次序大端模式:高字节为低地址(大端模式:高字节为低地址(Motorola的PowerPC系列的CPU)大端机器处理字符串比较方便小端模式:低字节为低地址(小端模式:低字节为低

26、地址(Intel的x86系列CPU)小端机器处理数值比较方便第30页/共130页31对齐方式对齐方式字(地址字(地址0 0)字节(地址字节(地址7 7)字节(地址字节(地址6 6)字节(地址字节(地址5 5)字节(地址字节(地址4 4)半字(地址半字(地址1010)半字(地址半字(地址8 8)半字(地址半字(地址1414)半字(地址半字(地址1212)双字(地址双字(地址1616)双字双字存储器(字长存储器(字长32位)位)地址(十进制)地址(十进制)048121620地址(十进制)地址(十进制)048字(地址字(地址2 2)半字(地址半字(地址0 0)字节(地址字节(地址7 7)字节(地址字

27、节(地址6 6)字(地址字(地址4 4)半字(地址半字(地址1010)半字(地址半字(地址8 8)边界对准边界对准边界不对准边界不对准 需要访问两次存储器才能存取一个字需要访问两次存储器才能存取一个字第31页/共130页例如,16位宽的数0 x1234在小端模式CPU内存中的存放方式(假设从地址0 x4000开始存放)为:而在大端模式CPU内存中的存放方式则为:32位宽的数0 x12345678在小端模式CPU内存中的存放方式(假设从地址0 x4000开始存放)为:而在大端模式CPU内存中的存放方式则为:字节次序字节次序第32页/共130页332.6 2.6 寻址方式寻址方式 寻址方式是指确定

28、本条指令的数据地址以及下一条将要执行寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,与硬件结构密切相关,直接影响指令格式的指令地址的方法,与硬件结构密切相关,直接影响指令格式和指令功能,分为和指令功能,分为指令寻址指令寻址和和数据寻址数据寻址两类。两类。指令的寻址方式有两种,一种是指令的寻址方式有两种,一种是顺序寻址方式顺序寻址方式,另,另一种是一种是跳跃寻址方式。跳跃寻址方式。顺序寻址顺序寻址通过通过PCPC加加1 1自动形成下一条指令的地址自动形成下一条指令的地址跳跃寻址跳跃寻址通过转移指令实现,转移地址由指令给出或采通过转移指令实现,转移地址由指令给出或采用相对寻址

29、方式用相对寻址方式指令寻址指令寻址第33页/共130页34指令格式为:指令格式为:操作数真实地址称为有效地址操作数真实地址称为有效地址EAEA,由,由形式地址和寻址形式地址和寻址特征特征共同确定。共同确定。根据寻址特征字段,操作数寻址有多种方式,包括根据寻址特征字段,操作数寻址有多种方式,包括立立即寻址、直接寻址、存储器间接寻址、寄存器寻址、即寻址、直接寻址、存储器间接寻址、寄存器寻址、寄存器间接寻址、基址寻址、变址寻址、相对寻址、寄存器间接寻址、基址寻址、变址寻址、相对寻址、堆栈寻址堆栈寻址操作码操作码寻址特征寻址特征形式地址形式地址A A数据寻址数据寻址地址码地址码第34页/共130页35

30、立即寻址方式立即寻址方式加法加法 A 5 A 5 A 5 A 5目标操作数目标操作数定义为定义为隐含寻址隐含寻址源操作数源操作数定义为定义为立即寻址立即寻址立即数立即数R R0 01 6 1 61 6 1 6加法运算加法运算BBBBHBBBBH1616H1616HA5A5HA5A5H操作数本身设在指令字中操作数本身设在指令字中形式地址形式地址A A是操作数,称为是操作数,称为“立即数立即数”S=AS=A不必访问内存不必访问内存A A的位数限制了立即数的位数限制了立即数的范围的范围第35页/共130页36直接寻址方式直接寻址方式操作数在主存储器中操作数在主存储器中指令中直接给出操作数在存储器中的

31、地址指令中直接给出操作数在存储器中的地址EA=AEA=A,操作数,操作数S=S=(E E)=(A A)简单、直观、执行阶段访问一次主存简单、直观、执行阶段访问一次主存A A的位数限制了操作数的寻址范围,修改的位数限制了操作数的寻址范围,修改A A的的值才能修改操作数地址值才能修改操作数地址OPOP 3 0 5 03 0 5 0操作数操作数15 015 0主存储器主存储器形式地址形式地址A A 定义为定义为直接寻址方式直接寻址方式3 0 5 03 0 5 0第36页/共130页37存储器间接寻址方式存储器间接寻址方式形式地址形式地址A A 定义为定义为存储器间接寻址方式存储器间接寻址方式OPOP

32、 1 0 3 A 1 0 3 A24802480操作数在主存储器中操作数在主存储器中操作数的有效地址存放在主存的某个单元中操作数的有效地址存放在主存的某个单元中EA=EA=(A A),),S=S=(A A)24802480103A103A主存储器主存储器操作数操作数扩大了操作数的寻址范围扩大了操作数的寻址范围执行阶段需要多次访问主存,指令执行时间长执行阶段需要多次访问主存,指令执行时间长第37页/共130页38寄存器寻址方式寄存器寻址方式操作数在操作数在CPUCPU内部的通用寄存器中内部的通用寄存器中指令中给出寄存器号指令中给出寄存器号EA=REA=Ri i,S=S=(R Ri i)寄存器号寄

33、存器号 定义为定义为寄存器寻址方式寄存器寻址方式OPOP 0 0 1 0 00 0 1 0 0操作数操作数R R0 0R R1 1R R2 2R R3 3R R4 4R R3131指令字短,执行阶段无须访存,减少执行时间指令字短,执行阶段无须访存,减少执行时间第38页/共130页39寄存器间接寻址方式寄存器间接寻址方式操作数在主存储器中操作数在主存储器中操作数的有效地址存放在操作数的有效地址存放在CPUCPU的某个通用寄存器中的某个通用寄存器中EA=EA=(R Ri i),),S=S=(R Ri i)OPOP 0 0 1 0 00 0 1 0 0寄存器号寄存器号 定义为定义为寄存器间接寻址方式

34、寄存器间接寻址方式205B205BR R0 0R R1 1R R2 2R R3 3R R4 4R R3131操作数操作数205B205B主存储器主存储器执行阶段需要访问主存执行阶段需要访问主存第39页/共130页40基址寻址方式基址寻址方式OPOP 50H 50H形式地址形式地址A A 定义为定义为 基址寻址方式基址寻址方式2 0 0 02 0 0 0基址寄存器基址寄存器+操作数操作数20502050主存储器主存储器操作数在主存储器中操作数在主存储器中操作数的有效地址等于基址寄存器内容与形式地址相加操作数的有效地址等于基址寄存器内容与形式地址相加EA=EA=(BRBR)+A+A,S=S=(EA

35、EA)扩大了操作数的寻址范围执行阶段需要访问主存适用于多道程序用户不可修改BR内容操作系统根据主存使用情况将用户程序安置于主存某一区域(用户不考虑),将基地址送BR第40页/共130页41变址寻址方式变址寻址方式OPOP 50H 50H形式地址形式地址A A 定义为定义为 变址寻址方式变址寻址方式2 0 0 02 0 0 0变址寄存器变址寄存器+操作数操作数20502050主存储器主存储器操作数在主存储器中操作数在主存储器中操作数的有效地址等于变址寄存器内容与形式地址相加操作数的有效地址等于变址寄存器内容与形式地址相加EA=EA=(IXIX)+A+A,S=S=(EAEA)扩大了操作数的寻址范围

36、执行阶段需要访问主存适用于处理数组问题用户设定IX A为数组首地址,改变IX内容即可访问数组元素第41页/共130页42相对寻址方式相对寻址方式JMPJMP +50 +50 定义为定义为相对寻址方式相对寻址方式2 0 0 02 0 0 0PCPC+本指令本指令205120512000200020012001+1+120012001转移目转移目标地址标地址形式地址形式地址操作数在主存储器中操作数在主存储器中操作数的有效地址等于操作数的有效地址等于PCPC内容与形式地址相加内容与形式地址相加EA=EA=(PCPC)+A+A,S=S=(EAEA)用于转移类指令指令地址A称为位移量,表示目标地址与当前

37、指令的距离转移地址不固定,随PC值变化,便于编写浮动程序第42页/共130页43堆栈寻址方式堆栈寻址方式 堆栈堆栈硬堆栈:由硬堆栈:由CPUCPU内部设置的专用寄存器组构成内部设置的专用寄存器组构成软堆栈:在主存储器中划出一片区域专门用作堆栈软堆栈:在主存储器中划出一片区域专门用作堆栈R0R0R1R1R2R2R3R3R4R4R5R5R6R6R7R7栈底栈底10001000 14FC14FC14FD14FD14FE14FE14FF14FF15001500堆堆栈栈区区1000SPSP访问速度快寄存器的数目有限读出是破坏性的堆栈能够具有任意长度能建立多个堆栈可以用对存储器寻址的指令寻址堆栈中的数据第

38、43页/共130页某机指令格式如下图所示:图中I为寻址特征位(I=0,直接寻址;I=1,一次间接寻址)。假设存储器部分单元有以下内容:地址号(十六进制)内容(十六进制)0001015E029D037404A40515060407A0指出下列机器指令(十六进制表示)的有效地址。(1)D7;(2)DF;(3)DE;(4)D2。op I D例题例题 0 3 4 5 7第44页/共130页作业作业45某计算机字长16位,主存按字节编址,转换指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一字节PC自动加1。若某转移指令所在主存地址为2000H,相对位

39、移量字段的内容为06H,则该转移指令成功转移后的目标地址是?第45页/共130页462.7 2.7 指令类型指令类型不同机器操作类型不同,所有的机器的通用操作:不同机器操作类型不同,所有的机器的通用操作:(1 1)数据传送)数据传送 :寄存器寄存器寄存器,寄存器寄存器,寄存器 存储单元,存储单存储单元,存储单元元 存储单元存储单元MOV,改变不变类似“Copy”而非“Cut”传送拷 贝F盘(电影)E盘第46页/共130页47(2 2)堆栈操作:)堆栈操作:入栈和出栈入栈和出栈堆栈遵循先进后出,所以其栈底是固定不变的,而栈顶却在不断变化,为了表示栈顶的位置,有一个寄存器或存储单元用于指出栈顶的地

40、址,称为堆栈指针SP。压入指令压入指令 PUSH OPR 把OPR的内容(长度为1个字节)压人堆栈 其操作是:(SP)-1(SP)OPR(SP)弹出指令弹出指令 POP OPR 弹出一个数据(长度为1个字节)送OPR所指定的单元 其操作是:(SP)(OPR)(SP)+1(SP)其中,(SP)表示堆栈指针的内容;(SP)表示SP所指的栈顶的内容。第47页/共130页48(3 3)算术逻辑运算:)算术逻辑运算:+、增、增1 1、减、减1 1、与、或、与、或、取反、异或取反、异或 算术运算指令:算术运算指令:ADD(+),SUB(),MUL(),DIV(),INC(增1),DEC(减1)等等。通常根

41、据算术运算的结果置状态位,一般有Z(结果为0)、N(结果为负)、V(结果溢出)、C(产生进位或借位)四个状态位。逻辑运算指令:逻辑运算指令:AND(与),OR(或),NOT(取反),XOR(异或)第48页/共130页49(4 4)移位:)移位:算术移位、逻辑移位、循环移位算术移位、逻辑移位、循环移位C:进位位除了算术加法可产生进位位C外,移位操作也可产生进位位C第49页/共130页(5 5)转移:)转移:无条件转移、条件转移、过程调用与返回无条件转移、条件转移、过程调用与返回50无条件转移:无条件转移:不受任何条件约束,直接把程序转移到指令所规定的目的地,例如jump指令。条件转移:条件转移:

42、根据计算机处理结果来决定程序如何执行,例如branch指令。过程调用与返回:过程调用与返回:与转移类指令的区别是需要保留返回地址,例如call和return指令。第50页/共130页(6 6)输入输出:)输入输出:CPU与外设之间的数据交换,输入输出指令的一般格式为:OP-操作码;REG-CPU用于指定与外部设备交换数据的寄存 器;A-外部设备寄存器。输入指令IN:完成从A地址所指定的外部设备寄存器中读人一个数据到REG寄存器中;输出指令OUT:是把REG寄存器中的数据送到A地址所指定的外部设备寄存器51 OP REG A第51页/共130页第三章第三章 中央处理部件中央处理部件CPUCPU5

43、23.1 3.1 计算机硬件系统计算机硬件系统计算机硬件系统由中央处理部件计算机硬件系统由中央处理部件CPU、输入设备、输出设、输入设备、输出设备、存储器组成。其中备、存储器组成。其中CPU包含运算器和控制器。包含运算器和控制器。第52页/共130页53 CPU由运算器和控制器组成CPU硬件组成硬件组成53第53页/共130页54l数据缓冲寄存器(MDR):用来暂存由内存读出或写入内存的指令和数据,是CPU和内存、外部设备信息传送的中转站。l指令寄存器(IR):用来存放当前正在执行的一条指令。在指令执行期间,指令寄存器的内容不允许发生变化。l程序计数器(PC):用来存放将要执行的下一条指令的地

44、址。l地址寄存器(MAR):地址寄存器用来保存CPU当前所访问的内存单元的地址。只要CPU和内存交换信息,都要用到地址寄存器和数据缓冲寄存器。l累加寄存器(AC):执行算术逻辑操作时,为ALU提供操作数及存放运算结果。l状态标志寄存器(PSW):用来存放由指令执行结果所建立的状态以及机器自身的运行状态,第一类为状态标志,第二类为控制标志。CPU中的主要寄存器中的主要寄存器第54页/共130页553.3.2 2 控制器的组成及基本功能控制器的组成及基本功能 控制器由控制器由程序计数器(程序计数器(PC)、指令寄存器指令寄存器(IR)、指令译码器(指令译码器(ID)、脉冲源及启停线路脉冲源及启停线

45、路(时序部件)和时序控制信号形成部件(微操作信(时序部件)和时序控制信号形成部件(微操作信号发生器)号发生器)组成,它是发布命令的组成,它是发布命令的“决策机构决策机构”,即完成协调和指挥整个计算机系统的操作。即完成协调和指挥整个计算机系统的操作。3.3.2 2.1.1 控制器的硬件组成控制器的硬件组成第55页/共130页563.4 3.4 控制器的基本功能及组成控制器的基本功能及组成 控制器由控制器由程序计数器(程序计数器(PC)、指令寄存器指令寄存器(IR)、指令译码器指令译码器、脉冲源及启停线路(时序部脉冲源及启停线路(时序部件)和时序控制信号形成部件(微操作信号发生器)件)和时序控制信

46、号形成部件(微操作信号发生器)组成,它是发布命令的组成,它是发布命令的“决策机构决策机构”,即完成协调,即完成协调和指挥整个计算机系统的操作。和指挥整个计算机系统的操作。控制器的硬件组成控制器的硬件组成用以存放当前正在用以存放当前正在执行的指令执行的指令存存放放当当前前正正在在执执行行的的指指令令地地址址或或下下一一条条指指令地址。令地址。指指 令令 地地 址址 形形 成成:(PC)+(PC)+1 1-PCPC。或。或:转移指令修改其内容转移指令修改其内容对指令寄存器中对指令寄存器中的操作码进行分的操作码进行分析解释,产生相析解释,产生相应的控制信号。应的控制信号。操作控制信号有严格的时间要求

47、,操作控制信号有严格的时间要求,绝不能出现任何差错。时序部件的绝不能出现任何差错。时序部件的作用是对各种操作实施时间上的控作用是对各种操作实施时间上的控制。制。控制器的核心部件,其功能是根控制器的核心部件,其功能是根据指令操作码、状态信息和时序据指令操作码、状态信息和时序信号,产生各种微操作控制信号,信号,产生各种微操作控制信号,从而完成取指令和执行指令的任从而完成取指令和执行指令的任务。务。第56页/共130页n取指令取指令 发出指令地址,取出指令的内容发出指令地址,取出指令的内容n分析指令分析指令(1 1)对操作码译码产生操作相应部件的控制信号)对操作码译码产生操作相应部件的控制信号(2

48、2)根据寻址方式形成操作数地址。)根据寻址方式形成操作数地址。n执行指令执行指令(1 1)分析指令后产生控制信号)分析指令后产生控制信号(2 2)形成下条指令的地址)形成下条指令的地址3.3.2 2.2 .2 控制器的基本功能控制器的基本功能n控制程序和数据的输入、结果输出控制程序和数据的输入、结果输出在适当的时候向输入输出设备发出一些相应的命令来完成在适当的时候向输入输出设备发出一些相应的命令来完成I/O功能。功能。n对异常情况和某些请求的处理对异常情况和某些请求的处理例如算术运算的溢出、中断请求。例如算术运算的溢出、中断请求。57第57页/共130页任务二:从任务二:从PCPC中取出中取出

49、指令地址指令地址3.3.3 3 计算机整个工作过程计算机整个工作过程停电停电任务一:使计算机处于任务一:使计算机处于初始状态初始状态加电加电产生产生reset信号信号执行程序执行程序停机停机结论:结论:(1)(1)程序的执行就是在程序的执行就是在控制器控制器协调下执行指令协调下执行指令 的周而复始的过程。的周而复始的过程。(2)(2)控制器作用是控制器作用是协调并控制协调并控制计算机各部件执计算机各部件执 行程序的指令序列。行程序的指令序列。58第58页/共130页3.3.4 4 指令的执行过程指令的执行过程取指令计算操作数地址取操作数执行指令将指令取出并对操作码译码将指令取出并对操作码译码根

50、据寻址方式不同,计算操作数的物理地址根据寻址方式不同,计算操作数的物理地址取出参加执行该指令的操作数取出参加执行该指令的操作数执行该指令的功能,并回送结果执行该指令的功能,并回送结果59第59页/共130页八进制地址 八进制内容指令助记符典 型 指 令020250 000CLA清除累加器,为非法访问内存指令021030 000 ADD 30加法,为直接访问内存指令022021 031 STA I 31存数,为间接访问内存指令023140 021 JMP 21转移控制指令024000 000HLT停机 030000 006031000 040040存和数单元第60页/共130页61CPU完成三件

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

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com