计算机原理第五章指令系统_第1页
计算机原理第五章指令系统_第2页
计算机原理第五章指令系统_第3页
计算机原理第五章指令系统_第4页
计算机原理第五章指令系统_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理任课教师:石磊 教授郑州大学信息工程学院计算机系Email: http:/ 概述概述第二章第二章 计算机中的数据表示计算机中的数据表示第三章第三章 运算方法和运算器运算方法和运算器第四章第四章 存储器及存储系统存储器及存储系统第五章第五章 指令系统指令系统 第六章第六章 中央处理器中央处理器 第七章第七章 系统总线系统总线第八章第八章 输入输出系统输入输出系统第九章第九章 计算机外部设备计算机外部设备 第十章第十章 计算机系统结构计算机系统结构目录计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第3页第第5章章 指令系统指令系统计算机组成原理计算机组

2、成原理 清华大学出版社清华大学出版社教学目标教学重点教学过程计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第4页教学目标教学目标l了解指令系统的发展与性能要求了解指令系统的发展与性能要求l掌握指令格式和寻址方式掌握指令格式和寻址方式计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第5页教学重点教学重点l指令格式指令格式l扩展操作码扩展操作码l寻址方式寻址方式计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第6页教学过程教学过程l5.1 计算机的指令系统的发展与性能计算机的指令系统的发展与性能l5.2 指

3、令的格式指令的格式l5.3 寻址方式寻址方式l5.4 指令的分类与高级语言指令的分类与高级语言l5.5 典型指令系统典型指令系统计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第7页5.1计算机的指令系统的发展与性能计算机的指令系统的发展与性能l指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响到系统软件设计的难易程度。到系统软件设计的难易程度。l完善的计算机的指令系统

4、应具备:完善的计算机的指令系统应具备:1 1、完备性:完备性:一台计算机中最基本的、必不可少的指令构成了指令系统的完一台计算机中最基本的、必不可少的指令构成了指令系统的完备性。备性。2 2、有效性:有效性:指利用该指令系统所提供的指令编制的程序能够产生高效率。指利用该指令系统所提供的指令编制的程序能够产生高效率。高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。3 3、规整性:规整性:指令操作的对称性和匀齐性,指令格式与数据格式的一致性。指令操作的对称性和匀齐性,指令格式与数据格式的一致性。(1 1)对称性:在指令系统中

5、,所有寄存器和存储单元都可同等对待,这对)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对简化程序设计,提高程序的可读性非常有用。简化程序设计,提高程序的可读性非常有用。(2 2)匀齐性:是指一种操作性质的指令可以支持各种数据类型。)匀齐性:是指一种操作性质的指令可以支持各种数据类型。(3 3)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系,)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系,以方便存取和处理。以方便存取和处理。4 4、兼容性:兼容性:兼容性一般是指计算机的体系结构设计基本相同,机器之间具兼容性一般是指计算机的体系结构设计基本相同,机器之间具有

6、相同的基本结构、数据表示和共同的基本指令集合。有相同的基本结构、数据表示和共同的基本指令集合。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第8页5.2指令的格式指令的格式l计算机的指令格式与机器的字长、存储器的容量计算机的指令格式与机器的字长、存储器的容量及指令的功能密切相关。及指令的功能密切相关。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第9页5.2.1指令操作码与地址码指令操作码与地址码 (1/9)l两个字段:操作码字段两个字段:操作码字段+操作数地址字段:操作数地址字段:1.操作码操作码操作码是指明指令操作性质的命令码

7、。它提供指令的操作控制信息。操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。(1)每条指令都要求它的操作码必须是独一无二的位组合。)每条指令都要求它的操作码必须是独一无二的位组合。(2)指令系统中指令的个数)指令系统中指令的个数N与操作码的位数与操作码的位数n,必须满足关系式:,必须满足关系式: N2n2.操作数地址码操作数地址码(1)地址码:用来描述该指令的操作对象。)地址码:用来描述该指令的操作对象。(2)指令字长)指令字长=操作码的位数操作码的位数+(操作数地址个数操作数地址个数)*(操作数地址码位数操作数地址码位数) 地址码字段AC操作码字段OC计算机组成原理计算机组成原理

8、 第五章指令系统第五章指令系统2022年4月21日第10页5.2.1指令操作码与地址码指令操作码与地址码 (2/9)一、指令格式一、指令格式1.零地址指令格式零地址指令格式这是一种没有操作数地址部分的指令格式。这是一种没有操作数地址部分的指令格式。这种指令有两种可能:这种指令有两种可能:(1)无需任何操作数。如空操作指令,停机指令)无需任何操作数。如空操作指令,停机指令等。等。(2)所需的操作数是默认的:堆栈。)所需的操作数是默认的:堆栈。操作码OC计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第11页5.2.1指令操作码与地址码指令操作码与地址码 (3/9)A

9、、堆栈的概念、堆栈的概念 (a)是若干个存储单元)是若干个存储单元(或寄存器或寄存器)的有序集合,它顺序地存放的有序集合,它顺序地存放一组元素。一组元素。 (b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个栈都只能经过栈顶单元这个“出入口出入口”。 (c)堆栈中的数据采用)堆栈中的数据采用“先进后出先进后出”或或“后进先出后进先出”的存取工的存取工作方式。作方式。B、 堆栈结构在计算机中的作用堆栈结构在计算机中的作用 (a)具有堆栈结构的机器使用零地址指令,这不仅使指令长度)具有堆栈结构的机器使用零地址指令,这不

10、仅使指令长度短,指令结构简单,机器硬件简化。短,指令结构简单,机器硬件简化。 (b)实现程序调用,子程序嵌套调用和递归调用。)实现程序调用,子程序嵌套调用和递归调用。 (c)对于)对于“中断中断”技术,堆栈更是不可缺少的,保存技术,堆栈更是不可缺少的,保存“断点断点”和和“现场现场”。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第12页5.2.1指令操作码与地址码指令操作码与地址码 (4/9)C、堆栈的操作、堆栈的操作设数据进栈方向为从高地址向低地址发展,当向堆栈设数据进栈方向为从高地址向低地址发展,当向堆栈压入数据时,压入数据时,SP的内容先自动递减而指向一

11、个新的空栈的内容先自动递减而指向一个新的空栈顶单元,再把数据写入此栈顶单元;当数据弹出堆栈时,顶单元,再把数据写入此栈顶单元;当数据弹出堆栈时,立即读出立即读出SP所指向的栈顶单元内容,再把所指向的栈顶单元内容,再把SP内容自动递内容自动递增而指向新的栈顶位置。即增而指向新的栈顶位置。即 PUSH X;(SP)-1SP (X)(SP) POP X; (SP)X (SP)+1SP计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第13页5.2.1指令操作码与地址码指令操作码与地址码 (5/9)2.一地址指令格式一地址指令格式(1)指令中给出的一个地址即是操作数的地址,

12、又是操作)指令中给出的一个地址即是操作数的地址,又是操作结果的存储地址。如加结果的存储地址。如加1、减、减1、移位等单操作数指令。、移位等单操作数指令。(2)在某些计算机中,指令中提供的一个地址提供一个操)在某些计算机中,指令中提供的一个地址提供一个操作数,另一个操作数是由机内硬件寄存器作数,另一个操作数是由机内硬件寄存器“隐含隐含”地自动地自动提供的。所谓提供的。所谓“隐含隐含”是指此操作数在指令中不出现,而是指此操作数在指令中不出现,而是按照事先约定由寄存器默认提供,运算结果仍送到寄存是按照事先约定由寄存器默认提供,运算结果仍送到寄存器中。因为这个寄存器在连续运算时,保存着多条指令连器中。

13、因为这个寄存器在连续运算时,保存着多条指令连续操作的累计结果,故称为累加器续操作的累计结果,故称为累加器(AC)。AC1操作码OC计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第14页5.2.1指令操作码与地址码指令操作码与地址码 (6/9)3.二地址指令格式二地址指令格式 (1)把保存操作前原来操作数的地址称为源点地址)把保存操作前原来操作数的地址称为源点地址(SS),把保存指令,把保存指令执行结果的地址称为终点地址或目的地址执行结果的地址称为终点地址或目的地址(DD)。 (2)将源点与终点操作数进行操作码规定的操作后,将结果存入终点)将源点与终点操作数进行操

14、作码规定的操作后,将结果存入终点地址。通常二地址指令又称为双操作数指令。地址。通常二地址指令又称为双操作数指令。例如,双操作数加法指令:例如,双操作数加法指令:ADD R0,R1表示将表示将R0寄存器的内容和寄存器的内容和R1寄存器的内容相加以后,将寄存器的内容相加以后,将结果存入结果存入R1寄存器中。寄存器中。又如又如ADD (R0),R1表示将表示将R0寄存器的内容作为地址,到内存中取出寄存器的内容作为地址,到内存中取出该地址所指向的单元内容作为源点操作数,和作为终点操作数的该地址所指向的单元内容作为源点操作数,和作为终点操作数的R1寄寄存器的内容相加以后,将结果存入存器的内容相加以后,将

15、结果存入R1寄存器中。寄存器中。AC1操作码OCAC2计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第15页5.2.1指令操作码与地址码指令操作码与地址码 (7/9)4.三地址指令格式三地址指令格式其操作是对其操作是对AC1、AC2指出的两个操作数进指出的两个操作数进行操作码所规定的操作,并将结果存入行操作码所规定的操作,并将结果存入AC3中。中。例如:例如: ADD X Y Z 含义为含义为 (X)+(Y)Z 即即X单元内容加上单元内容加上Y单元内容,单元内容,结果送结果送Z单元中。单元中。 AC1操作码OCAC3AC2计算机组成原理计算机组成原理 第五章指令

16、系统第五章指令系统2022年4月21日第16页5.2.1指令操作码与地址码指令操作码与地址码 (8/9)5.多地址指令格式多地址指令格式例如四地址指令格式。例如四地址指令格式。(1)含义:)含义: ADD X Y Z WA、(、(X)+(Y)ZB、(、(W)下一条指令地址下一条指令地址(2)特点:)特点: A、直观明了;、直观明了; B、程序执行的流向明确;、程序执行的流向明确; C、操作数和结果可以分散在内存各处。、操作数和结果可以分散在内存各处。 D、但是指令字长度太长。、但是指令字长度太长。AC1操作码OCAC4AC3AC2计算机组成原理计算机组成原理 第五章指令系统第五章指令系统202

17、2年4月21日第17页5.2.1指令操作码与地址码指令操作码与地址码 (9/9)l指令格式设计准则指令格式设计准则 1、指令字长要短,以得到时间和空间上的优势。、指令字长要短,以得到时间和空间上的优势。 2、指令字长必须有足够的长度。、指令字长必须有足够的长度。 3、指令字长一般应是机器字符长度的整数倍以便存储系统的管理。、指令字长一般应是机器字符长度的整数倍以便存储系统的管理。若机器中字符码长是若机器中字符码长是L位,则机器字长最好是位,则机器字长最好是L,2L,4L,8L等。等。 4、指令格式的设计还与如何选定指令中操作数地址的位数有关。、指令格式的设计还与如何选定指令中操作数地址的位数有

18、关。l例如,对同一容量例如,对同一容量(如如64KB)的存储器的存储器 (1)若取存储单元为一字节长,则需要)若取存储单元为一字节长,则需要16位地址码,位地址码, (2)若存储单元长度为)若存储单元长度为32位,则只需位,则只需14位地址码。位地址码。方案(方案(1)对字符操作方便,但地址码位数多,)对字符操作方便,但地址码位数多,方案(方案(2)地址码位数少,很有利,但字符操作困难,分辩率低。)地址码位数少,很有利,但字符操作困难,分辩率低。(存储器分辩率:指存储器能被区分、识别与操作的精细程度)(存储器分辩率:指存储器能被区分、识别与操作的精细程度)计算机组成原理计算机组成原理 第五章指

19、令系统第五章指令系统2022年4月21日第18页5.2.2指令字长与扩展方法指令字长与扩展方法 (1/3)一、操作码和地址码间的权衡(操作码有两种编码格式)一、操作码和地址码间的权衡(操作码有两种编码格式) 1、固定格式:操作码长度固定,且集中放在指令字的一个、固定格式:操作码长度固定,且集中放在指令字的一个字段中。字段中。 2、可变格式:即操作码长度可变,且分散地放在指令字的、可变格式:即操作码长度可变,且分散地放在指令字的不同字段中。不同字段中。二、扩展操作码二、扩展操作码 1、要点:、要点: (1)操作码位数随地址码个数变化采取可变长度类型;)操作码位数随地址码个数变化采取可变长度类型;

20、 (2)指令间指令码一定不重复;)指令间指令码一定不重复; (3)根据需要灵活变通。)根据需要灵活变通。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第19页5.2.2指令字长与扩展方法指令字长与扩展方法 (2/3)2、比较、比较假设一台计算机指令字长假设一台计算机指令字长16位,操作码位,操作码与地址码都为与地址码都为4位,如图所示。位,如图所示。 (1)方法一:固定格式,则最多可以设计)方法一:固定格式,则最多可以设计16条三地址指令条三地址指令图10-3 阵列处理机结构AC1操作码OCAC3AC2计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2

21、022年4月21日第20页5.2.2指令字长与扩展方法指令字长与扩展方法 (3/3)(2)方法二:扩展操作码,具体方法如下:)方法二:扩展操作码,具体方法如下: A、4位位OC中用中用0000-1110定义定义15条三地址指令,留编码条三地址指令,留编码1111作为扩展标志作为扩展标志与下一个与下一个4位组成一个位组成一个8位操作码,引出二地址指令,则:位操作码,引出二地址指令,则: B、(、(a)若将)若将AC1全部用作全部用作2地址指令的地址指令的OC,能再定义,能再定义16条条2地址指令;地址指令; (b)8位位OC中用中用11110000-11111110定义定义15条二地址指令,剩下

22、的一条二地址指令,剩下的一个编码个编码11111111与下一个与下一个4位组成一个位组成一个12位的操作码,引出一地址指令;位的操作码,引出一地址指令; (c)选)选1111000011111101共共14条条2地址指令,留地址指令,留11111110,11111111为扩展标志,再与为扩展标志,再与AC2组合,以此类推。组合,以此类推。 C、若选、若选B(c),则可定义),则可定义31条条1地址指令,留一个编码地址指令,留一个编码111111111111为扩为扩展标志,与下一个展标志,与下一个4位组成位组成16位操作码,引出位操作码,引出16条零地址指令;条零地址指令;3、扩展操作码的另一个

23、演变是用操作码中的某一位或几位来说明指令的格式、扩展操作码的另一个演变是用操作码中的某一位或几位来说明指令的格式与长度,或是说明操作数的特征。与长度,或是说明操作数的特征。例如:小型机例如:小型机PDP-11是用操作码最左边一位是用操作码最左边一位(最高位最高位15位位)来指明指令操作来指明指令操作处理的数据字长度,当第处理的数据字长度,当第15位位=0,是字指令,操作数是,是字指令,操作数是16位长的字;当位长的字;当15位位=1,是字节指令,操作数是,是字节指令,操作数是8位长的字节。位长的字节。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第21页5.3

24、寻址方式寻址方式 (1/11)一、寻址方式的设计一、寻址方式的设计1、目的、目的 (1)丰富程序设计手段,提高程序质量;丰富程序设计手段,提高程序质量; (2)减少访问主存的次数,压缩程序占用的存储空间。保证减少访问主存的次数,压缩程序占用的存储空间。保证指令的地址码字段尽可能缩短,而访问的存储空间尽可能指令的地址码字段尽可能缩短,而访问的存储空间尽可能地大。地大。2、 概念概念(1)形式地址:指令中直接给出的地址;)形式地址:指令中直接给出的地址;(2)有效地址:操作数所在的真实地址;)有效地址:操作数所在的真实地址;(3)寻址方式:从形式地址生成有效地址的各种方式称为)寻址方式:从形式地址

25、生成有效地址的各种方式称为寻址方式。寻址方式。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第22页5.3 寻址方式寻址方式 (2/11)3、寻址方式选用的依据、寻址方式选用的依据(1)要与数据的表示方式相配合,对各种结构的数据能方)要与数据的表示方式相配合,对各种结构的数据能方便地进行存取和处理;便地进行存取和处理;(2)要与指令系统相匹配,依据对机器性能要求的高低来)要与指令系统相匹配,依据对机器性能要求的高低来考虑选择;考虑选择;(3)还要考虑硬件实现的可能性与复杂程度,成本高低,)还要考虑硬件实现的可能性与复杂程度,成本高低,设备与价格增加的合理性。设备

26、与价格增加的合理性。4、区分寻址方式的方法、区分寻址方式的方法(1) 在指令中划出一个字段,用二进制编码来标志所采用在指令中划出一个字段,用二进制编码来标志所采用的类型,此编码称寻址方式码;的类型,此编码称寻址方式码;(2)使用隐含寻址方式,用操作码隐含寻址方式。)使用隐含寻址方式,用操作码隐含寻址方式。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第23页5.3 寻址方式寻址方式 (3/11)二、常用的寻址方式二、常用的寻址方式 1、立即寻址方式、立即寻址方式(1)含义:地址字段给出的是可以立即使用的操作数实际)含义:地址字段给出的是可以立即使用的操作数实际值

27、,称立即寻址方式。值,称立即寻址方式。(2)优缺点:)优缺点: A、优点:提供操作数最快、优点:提供操作数最快 B、缺点:精度较低,可采用变字长格式解决。、缺点:精度较低,可采用变字长格式解决。 例如:在例如:在IBM-PC指令系统中指令系统中 MOVAX,05FFH计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第24页5.3 寻址方式寻址方式 (4/11)2、直接寻址方式、直接寻址方式 (1)含义:地址字段直接指明操作数在存储器内)含义:地址字段直接指明操作数在存储器内的位置的寻址方法。即形式地址等于有效地址,的位置的寻址方法。即形式地址等于有效地址, (2)

28、缺点:直接寻址方式中指令字长限制了一条)缺点:直接寻址方式中指令字长限制了一条指令所能够访问的最大主存空间,可以使用可变指令所能够访问的最大主存空间,可以使用可变字长指令格式来解决此局限性。利用扩大了的操字长指令格式来解决此局限性。利用扩大了的操作数地址码就能全部访问主存储器的所有的存储作数地址码就能全部访问主存储器的所有的存储单元。单元。 例如:在例如:在IBM-PC指令系统中指令系统中MOV AX,3000H计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第25页5.3 寻址方式寻址方式 (5/11)3、间接寻址方式、间接寻址方式(1)含义:指令字中地址码字段

29、给出的不是操作数地址,而是操作数地址)含义:指令字中地址码字段给出的不是操作数地址,而是操作数地址的地址。的地址。(2)优缺点:)优缺点: A、优点:实现简便,对编程带来较大的、优点:实现简便,对编程带来较大的灵活性,灵活性,灵活性表现在:灵活性表现在: 间接寻址方式的指令可以访问大的存储空间,扩大了指令的寻址间接寻址方式的指令可以访问大的存储空间,扩大了指令的寻址能力。能力。 当操作数地址改变时,只需修改间接地址指示器的单元内容,而当操作数地址改变时,只需修改间接地址指示器的单元内容,而不必修改指令,原指令的功能照样实现。这给程序编制带来很大不必修改指令,原指令的功能照样实现。这给程序编制带

30、来很大方便。方便。 B、缺点:、缺点: 多次访问内存,增加了指令的执行时间;多次访问内存,增加了指令的执行时间; 占用主存储器单元多。占用主存储器单元多。(3)间接寻址可分为一级间接寻址和多级间接寻址。)间接寻址可分为一级间接寻址和多级间接寻址。 例如:在例如:在IBM-PC指令系统中指令系统中 MOV AX,BX计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第26页5.3 寻址方式寻址方式 (6/11)4、变址寻址方式、变址寻址方式 (1)含义:把指令字中的形式地址)含义:把指令字中的形式地址A与地址修改量与地址修改量X自动自动相加,相加,X可正可负,形成操作

31、数的有效地址可正可负,形成操作数的有效地址EA。即:。即:EA=A+X。其中,与形式地址相加的数。其中,与形式地址相加的数X是一个地址修改是一个地址修改量,称为量,称为“变址值变址值”,保存变址值的设备称为变址器。,保存变址值的设备称为变址器。 (2)硬件开销:)硬件开销: A、变址器、变址器 B、有效地址形成逻辑、有效地址形成逻辑 例如:在例如:在IBM-PC指令系统中指令系统中MOV AX,COUNTSI计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第27页5.3 寻址方式寻址方式 (7/11)5、基址寻址方式、基址寻址方式(1)含义:)含义:EA=A+X。

32、其中,。其中,X是基址是基址R,A是偏移量。是偏移量。(2)与变址寻址的区别:)与变址寻址的区别:基址基址R,用户程序无权操作和修改,由系统,用户程序无权操作和修改,由系统软件管理控制程序使用特权指令来管理的。软件管理控制程序使用特权指令来管理的。(3)基址寻址方式主要用以解决程序在存储)基址寻址方式主要用以解决程序在存储器中的定位和扩大寻址空间等问题。器中的定位和扩大寻址空间等问题。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第28页5.3 寻址方式寻址方式 (8/11)6、相对寻址方式、相对寻址方式 (1)含义:把程序计数器)含义:把程序计数器PC作为基本

33、地址寄存器,作为基本地址寄存器,指令字中的形式地址码作为位移量,则有效地址指令字中的形式地址码作为位移量,则有效地址EA=(PC)+A。相对寻址主要用于转移指令。相对寻址主要用于转移指令。 (2)特点:)特点:(A)位移量可正、可负,通常用补码表示。若位移)位移量可正、可负,通常用补码表示。若位移量为量为n位,正向有位,正向有2n-1-1个位置,负向有个位置,负向有2n-1个位置,个位置,程序可以直接访问的实际存储空间是程序可以直接访问的实际存储空间是2n个位置的小个位置的小块,或称为一页。块,或称为一页。(B)位移量是操作数位置与本指令之间的相对距离。)位移量是操作数位置与本指令之间的相对距

34、离。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第29页5.3 寻址方式寻址方式 (9/11)7、寄存器寻址方式、寄存器寻址方式 (1)含义:把指令字中的地址码用寄存器编号来代替,寄存器的作)含义:把指令字中的地址码用寄存器编号来代替,寄存器的作用由寻址方式码来指定。用由寻址方式码来指定。 (2)优点:)优点: A、有效压缩指令字长、有效压缩指令字长 B、加快存取速度、加快存取速度 C、编程灵活、编程灵活(3)寄存器寻址方式的变化:)寄存器寻址方式的变化: A、寄存器直接寻址方式、寄存器直接寻址方式 例如在例如在PDP-11机中:机中:ADD R0,R1 B、

35、寄存器间接寻址方式、寄存器间接寻址方式 例如在例如在PDP-11机中:机中:ADD R0,R1 又如在又如在PDP-11机中:机中:ADD R0,R1计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第30页5.3 寻址方式寻址方式 (10/11)8、复合寻址方式:、复合寻址方式: (A)变址间址寻址方式)变址间址寻址方式其含义是先将变址寄存器的内容其含义是先将变址寄存器的内容X和形式地址和形式地址A相加得到相加得到A+X,然后再作间接寻址,得到操作数的有效地址。故操作数有效地址:然后再作间接寻址,得到操作数的有效地址。故操作数有效地址:EA=(A+X) (B)间址

36、变址寻址方式)间址变址寻址方式含义是先将形式地址取间接变换(含义是先将形式地址取间接变换(A)=N,然后把,然后把N和变址寄和变址寄存器的内容存器的内容X相加,得到操作数的有效地址。故操作数的有效地址为:相加,得到操作数的有效地址。故操作数的有效地址为:EA=N+X=(A)+X (C)Intel 8086/8088中基址变址寻址方式中基址变址寻址方式基址寄存器可以采用基址寄存器可以采用BX或或BP,变址寄存器可以用,变址寄存器可以用SI或或DI,有,有效地址是通过将基址寄存器中的值、变址寄存器中的值和位移量三效地址是通过将基址寄存器中的值、变址寄存器中的值和位移量三这相加而求得的。这相加而求得

37、的。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第31页5.3 寻址方式寻址方式 (11/11)8、复合寻址方式:、复合寻址方式:(D)分页寻址方式)分页寻址方式若计算机中欲采用直接寻址方式,但由于其访问的内存地若计算机中欲采用直接寻址方式,但由于其访问的内存地址空间受指令中地址码字段长度的制约,若内存空间较大,则址空间受指令中地址码字段长度的制约,若内存空间较大,则可采用分页寻址方式来解决。将指令中操作数地址码可以访问可采用分页寻址方式来解决。将指令中操作数地址码可以访问到的内存地址空间称为一页,则整个内存空间可以按页的大小到的内存地址空间称为一页,则整个内

38、存空间可以按页的大小分为多个页面。分为多个页面。例如设内存储器容量为例如设内存储器容量为64K个单元,而指令中地址码长度个单元,而指令中地址码长度为为9位,则每一页有位,则每一页有512个单元,可将内存空间划分为个单元,可将内存空间划分为64K/512=128页。为访问页。为访问128页,需要页,需要7位代码来表示页号。若位代码来表示页号。若预先将页号送入页号寄存器,把页号寄存器的内容与指令寄存预先将页号送入页号寄存器,把页号寄存器的内容与指令寄存器中形式地址两者拼接起来,就能获得一个可以访问整个内存器中形式地址两者拼接起来,就能获得一个可以访问整个内存空间的有效地址。空间的有效地址。计算机组

39、成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第32页5.4 指令的分类与高级语言指令的分类与高级语言l5.4.1 指令系统的分类指令系统的分类l5.4.2 指令系统与高级语言指令系统与高级语言计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第33页5.4.1 指令系统的分类指令系统的分类 (1/9)1. 数据传送类指令数据传送类指令寄存器至寄存器(寄存器至寄存器(R-R:Register-Register)存储器至寄存器(存储器至寄存器(S-R:Storage-Register)寄存器至存储器(寄存器至存储器(R-S::Register-

40、Storage)存储器至存储器(存储器至存储器(S-S:Storage-Storage)计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第34页5.4.1 指令系统的分类指令系统的分类 (2/9)2. 运算类指令运算类指令 加法,减法,乘法和除法等指令。加法,减法,乘法和除法等指令。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第35页5.4.1 指令系统的分类指令系统的分类 (3/9)3. 逻辑运算指令逻辑运算指令 逻辑运算主要是对布尔变量的运算。逻辑运算主要是对布尔变量的运算。 基本操作:包括逻辑与,逻辑或与逻辑非基本操作:包括

41、逻辑与,逻辑或与逻辑非3种基本操作;种基本操作; 组合逻辑操作:例如:异或。组合逻辑操作:例如:异或。(1)逻辑与指令:)逻辑与指令:(2)逻辑或指令:)逻辑或指令:(3)逻辑非指令:)逻辑非指令:(4)逻辑异或指令:)逻辑异或指令: 算术逻辑运算指令除了给出运算结果外,往往还要给出算术逻辑运算指令除了给出运算结果外,往往还要给出某些状态信息。如运算结果的正、负;运算结果是否为零;某些状态信息。如运算结果的正、负;运算结果是否为零;是否有溢出;是否有低位向高位的进位等,供其它指令或程是否有溢出;是否有低位向高位的进位等,供其它指令或程序分析时使用。序分析时使用。计算机组成原理计算机组成原理 第

42、五章指令系统第五章指令系统2022年4月21日第36页5.4.1 指令系统的分类指令系统的分类 (4/9)4. 移位指令移位指令l算术移位:左移或右移(右移时符号位不变)算术移位:左移或右移(右移时符号位不变)l逻辑移位:左移或右移(右移时符号位补逻辑移位:左移或右移(右移时符号位补0)l循环移位:左移或右移。循环移位:左移或右移。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第37页5.4.1 指令系统的分类指令系统的分类 (5/9)5. 程序控制类指令程序控制类指令 (1)转移指令:)转移指令:包括无条件转移指令和条件转移指令。包括无条件转移指令和条件转移指

43、令。(2)转子与返回指令:)转子与返回指令:子程序是一组可以共享的指令序列,可被主程序调用执行。转子程序是一组可以共享的指令序列,可被主程序调用执行。转子指令与转移指令之间最大的差别在于:转移指令无需返回,而转子子指令与转移指令之间最大的差别在于:转移指令无需返回,而转子指令则需要。指令则需要。子程序调用指令就是用来调用子程序的。为了能够从子程序中子程序调用指令就是用来调用子程序的。为了能够从子程序中正确返回到断点继续执行,并能支持多重嵌套和递归调用,现代计算正确返回到断点继续执行,并能支持多重嵌套和递归调用,现代计算机通常用堆栈来保存返回地址。机通常用堆栈来保存返回地址。(3)程序中断指令:

44、)程序中断指令:中断一般是计算机系统出现异常情况或特殊请求时随机产生的。中断一般是计算机系统出现异常情况或特殊请求时随机产生的。一般在计算机中,中断指令作为隐指令不提供用户使用。但在某些计一般在计算机中,中断指令作为隐指令不提供用户使用。但在某些计算机中设置了可供用户使用的中断指令,以实现系统功能调用和程序算机中设置了可供用户使用的中断指令,以实现系统功能调用和程序请求。如请求。如IBM PC的中断指令,的中断指令,PDP-11的自陷指令等。的自陷指令等。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第38页5.4.1 指令系统的分类指令系统的分类 (6/9)6

45、. 输入输出类指令输入输出类指令 用来处理机与外部设备之间进行通信的一类用来处理机与外部设备之间进行通信的一类指令。以处理机为基准,信息由外部设备传向处指令。以处理机为基准,信息由外部设备传向处理机称为输入理机称为输入(Input),信息由处理机传给外部设,信息由处理机传给外部设备称为输出备称为输出(Output)。一元化总线的计算机如一元化总线的计算机如PDP-11,不需设置专,不需设置专门的门的I/O指令,可以用一般的数据传送类指令实现指令,可以用一般的数据传送类指令实现输入和输出;输入和输出;对于主存和外设不采用统一编址技术的计算对于主存和外设不采用统一编址技术的计算机来说,则需要有专门

46、的机来说,则需要有专门的I/O指令,如指令,如IBM PC就就是一个典型的例子。是一个典型的例子。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第39页5.4.1 指令系统的分类指令系统的分类 (7/9)7. 字符串处理指令字符串处理指令 非数值处理能力;非数值处理能力;字符串处理指令一般包括字符串传送、比字符串处理指令一般包括字符串传送、比较、查询、转换等指令。较、查询、转换等指令。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第40页5.4.1 指令系统的分类指令系统的分类 (8/9)8. 处理机控制类指令处理机控制类指令 包

47、括停机指令、等待指令、空操作指令、开中包括停机指令、等待指令、空操作指令、开中断指令、关中断指令、设置条件码指令等。断指令、关中断指令、设置条件码指令等。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第41页5.4.1 指令系统的分类指令系统的分类 (9/9)9. 特权指令特权指令 这类指令只能用于操作系统或其它系统软件,而这类指令只能用于操作系统或其它系统软件,而不提供给用户使用,称特权指令。不提供给用户使用,称特权指令。一般来说,在单用户、单任务的计算机中不一般来说,在单用户、单任务的计算机中不一定需要特权指令,而在多用户、多任务的计算一定需要特权指令,而在

48、多用户、多任务的计算机系统中,特权指令却是必不可少的。它主要用机系统中,特权指令却是必不可少的。它主要用于系统资源的分配和管理,包括改变系统的工作于系统资源的分配和管理,包括改变系统的工作方式、检测用户的访问权限、修改虚拟存储器管方式、检测用户的访问权限、修改虚拟存储器管理的段表、页表和完成任务的创建和切换等。理的段表、页表和完成任务的创建和切换等。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第42页5.4.2 指令系统与高级语言指令系统与高级语言 (1/2)1、传统的冯、传统的冯 诺依曼计算机的机器语言和高级程序设计语言诺依曼计算机的机器语言和高级程序设计语

49、言在语义上的差别的主要原因在语义上的差别的主要原因(1)存储器组织方式不同)存储器组织方式不同 冯冯 诺依曼计算机的存储器是一维的线性结构,而高级程诺依曼计算机的存储器是一维的线性结构,而高级程序设计语言表示的存储器则是一组变量,访问时调用变量序设计语言表示的存储器则是一组变量,访问时调用变量即可,不必考虑访问方法,而且数据结构经常是多维的,即可,不必考虑访问方法,而且数据结构经常是多维的,如数组结构。如数组结构。(2)高级程序设计语言中,高级语言中的每种操作对于任)高级程序设计语言中,高级语言中的每种操作对于任何数据类型都是通用的,数据类型直接属于数据本身,而何数据类型都是通用的,数据类型直

50、接属于数据本身,而冯冯 诺依曼计算机的数据本身没有属性标志,同一种操作诺依曼计算机的数据本身没有属性标志,同一种操作要用不同的操作码来对数据类型进行区分。要用不同的操作码来对数据类型进行区分。这些差别间的变换工作,主要由编译程序来承担。这些差别间的变换工作,主要由编译程序来承担。 计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第43页5.4.2 指令系统与高级语言指令系统与高级语言 (2/2)2、计算机指令结构分类、计算机指令结构分类两大类:两大类:(1)复杂指令集计算机()复杂指令集计算机( CISC: Complex Instruction Set Comp

51、uter) 指令系统十分庞大,指令类型、寻址方式较多,机器语言指令系统十分庞大,指令类型、寻址方式较多,机器语言和高级语言之间的语义差距正在缩小。和高级语言之间的语义差距正在缩小。(2)精简指令集计算机()精简指令集计算机( RISC:Reduced Instruction Set Computer)。)。选用使用频率最高的少数指令,尽量使所有的简单指令在选用使用频率最高的少数指令,尽量使所有的简单指令在一个机器周期内执行完,采用大量的寄存器、高速缓冲存一个机器周期内执行完,采用大量的寄存器、高速缓冲存储器等技术,通过优化编译程序,提高处理速度。机器语储器等技术,通过优化编译程序,提高处理速度

52、。机器语言和高级语言的差距较大,这个差距主要靠提高计算机运言和高级语言的差距较大,这个差距主要靠提高计算机运行速度和配置优化编译程序来弥补。行速度和配置优化编译程序来弥补。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第44页5.5典型指令系统典型指令系统l5.5.1 PDP-11和和VAX-11指令系统指令系统l5.5.2 TEC-2指令系统指令系统计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第45页5.5.1 PDP-11和和VAX-11指令系统指令系统(1/6) PDP-11是是16位小型机,位小型机,CPU中有中有8个通

53、用寄存器个通用寄存器(R0-R7),其中),其中R6作为堆栈指示器作为堆栈指示器SP使用;使用;R7作为程序计数器作为程序计数器PC使用;其它使用;其它6个寄存器个寄存器R0-R5作作为通用数据寄存器。国产为通用数据寄存器。国产DJS-1800系列计算机的系列计算机的指令系统与指令系统与PDP-11系列机是兼容的。系列机是兼容的。 VAX-11/780是是DEC公司于是公司于是1977年推出的年推出的VAX系列机的第一个产品,将系列机的第一个产品,将PDP-11结构从结构从16位扩充位扩充到到32位。位。VAX-11有有16个通用寄存器,个通用寄存器,R14是是SP,R15相当于相当于PC。计

54、算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第46页5.5.1 PDP-11和和VAX-11指令系统指令系统(2/6)lPDP-11机指令机指令1、单操作数指令,如清零(、单操作数指令,如清零(CLR)、加)、加1(INC)、减)、减1(DEC)、求补)、求补(NEG)、字节交换()、字节交换(SWAB)等指令;)等指令; 2、双操作数指令,如传送(、双操作数指令,如传送(MOV)、比较()、比较(CMP)、加()、加(ADD)、减)、减(SUB)、乘()、乘(MUL)、除()、除(DIV)、异或()、异或(XOR)等指令;)等指令; 3、转移指令,如无条件转移

55、(、转移指令,如无条件转移(BR)、非零转移()、非零转移(BEN)、零转移)、零转移(BEQ)、正转移()、正转移(BPL)、负转移()、负转移(BMI)等指令;)等指令; 4、跳转、子程序及自中断指令,如跳转(、跳转、子程序及自中断指令,如跳转(JMP)、转子()、转子(JSR)、子程)、子程序返回(序返回(RTS)、自中断()、自中断(TRAP)等指令;)等指令; 5、条件码操作指令,如清进位(、条件码操作指令,如清进位(CLC)、置进位()、置进位(SEC)、清零位)、清零位(CLZ)、置零位()、置零位(SEZ)、清条件码()、清条件码(CCC)、置条件码()、置条件码(SCC)等指

56、令;)等指令; 6、其它指令,如停机(、其它指令,如停机(HALT)、等待()、等待(WAIT)、复位()、复位(RESET)、空)、空操作(操作(NOP)等指令。)等指令。计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第47页5.5.1 PDP-11和和VAX-11指令系统指令系统(3/6)lPDP-11机指令机指令现以典型的单操作数、双操作数指令和转移指令为例说明指现以典型的单操作数、双操作数指令和转移指令为例说明指令格式:令格式:(1)单操作数指令)单操作数指令指令格式:指令格式:其中第其中第6-15位表示操作码;第位表示操作码;第0-5位组成一个位组成一个6位的字段,既位的字段,既是源地址字段又是目的地址字段。第是源地址字段又是目的地址字段。第0-2位表示所用的寄存位表示所用的寄存器号,第器号,第3-5位表示寻址方式码。位表示寻址方式码。方式位(5-3位)OC(15-6位)R(2-0位)计算机组成原理计算机组成原理 第五章指令系统第五章指令系统2022年4月21日第48页5.5.1 PDP-11和和VAX-11指令系统指令系统(4/6)lPDP-11机指令机指令(2)双操作数指令)双操作数指令 指令格式:指令格式:其中第其中第12-15位表示操作码;第位表示操作码;第6-11位组成一个位组

温馨提示

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

最新文档

评论

0/150

提交评论