【教学课件】第4章指令系统和控制器部件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《【教学课件】第4章指令系统和控制器部件.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第4章指令系统和控制器部件.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章 指令系统和控制器部件指令系统和控制器部件4.1 4.1 指令系统指令系统4.2 4.2 控制器部件控制器部件指令:指令:是指示计算机执行基本操作的命令是指示计算机执行基本操作的命令。指令也是用户使用计算机的最小功能单指令也是用户使用计算机的最小功能单位。位。从计算机组成的层次结构来说,计从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指算机的指令有微指令、机器指令和宏指令之分。令之分。微指令:微指令:是微程序级的命令,它属于硬件;是微程序级的命令,它属于硬件;宏指令:宏指令:是由苦干条机器指令组成的软件指令,是由苦干条机器指令组成的软件指令,它属于软件;它属于软件
2、;机器指令:机器指令:则介于微指令与宏指令之间,通常则介于微指令与宏指令之间,通常简称为指令。每一条指令可完成一个独立的算简称为指令。每一条指令可完成一个独立的算术运算或逻辑运算操作。术运算或逻辑运算操作。本章所讨论的指令是机器指令。本章所讨论的指令是机器指令。指令系统:指令系统:一台计算机支持一台计算机支持(或称使用或称使用)的全部指令的的全部指令的集合构成该计算机的指令系统。集合构成该计算机的指令系统。由于指令与计算机的性能以及硬件结构密由于指令与计算机的性能以及硬件结构密切相关,所以不同系列、不同型号的计算机其切相关,所以不同系列、不同型号的计算机其指令系统是不一样的。指令系统是不一样的
3、。4.1 4.1 指令系统指令系统指令的基本格式指令的基本格式指令格式的优化指令格式的优化寻址方式寻址方式指令系统举例指令系统举例 ThTh-union-union汇编语言程序设计汇编语言程序设计一、指令的格式一、指令的格式 任何一条机器指令由一组有意义的二进制任何一条机器指令由一组有意义的二进制代码构成,称为一个指令字。代码构成,称为一个指令字。1 1、机器指令、机器指令0000000000000000000100010010001000000001000000010001000100100010 用机器指令编写的程序是计算机惟一能够用机器指令编写的程序是计算机惟一能够直接识别并执行的程序,
4、称为机器语言程序。直接识别并执行的程序,称为机器语言程序。机器语言程序被称为目标程序机器语言程序被称为目标程序(目标代码)。目标代码)。机器直接执行,速度快。机器直接执行,速度快。缺点:缺点:与机器硬件直接相关,通用性差与机器硬件直接相关,通用性差;编程不直观、难以记忆、使用很不方便。编程不直观、难以记忆、使用很不方便。机器语言的特点机器语言的特点为了克服机器语言的缺点,人们采用助记为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用符号代替操作数符表示机器指令的操作码,用符号代替操作数的存放地址等,这样就形成了汇编指令。的存放地址等,这样就形成了汇编指令。例:例:机器指令:机器指令
5、:汇编指令:汇编指令:MVRR R2MVRR R2,R1R1 用汇编指令编写的程序称为汇编源程序。用汇编指令编写的程序称为汇编源程序。一条机器指令对应一条汇编指令。一条机器指令对应一条汇编指令。用汇编用汇编指令编写程序就直观方便得多。指令编写程序就直观方便得多。用汇编语言编写程序及执行的过程用汇编语言编写程序及执行的过程程序员程序员MVRRR0,R1ADDR0,R3汇编程序汇编程序1000100111011000执行执行汇编语言指令汇编语言指令机器指令代码机器指令代码(翻译)(翻译)高级语言高级语言 汇编语言虽然较机器语言直观,但仍然烦汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出
6、了高级程序设计语言。琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法高级程序设计语言接近于人类自然语言的语法习惯,与习惯,与计算机硬件无关,易被用户掌握和使计算机硬件无关,易被用户掌握和使用。用。(1)(1)用语言实现:用语言实现:Main()inta,b,sum;a=123;b=456;sum=a+b 例如:编程实现例如:编程实现 123123 加加 456456 求和求和(2)(2)用用80868086汇编语言实现:汇编语言实现:adw123bdw456sumdw?CodesegmentassumeCS:Code,DS:DataMain:movax,dat
7、amovds,axmovax,a addax,bmovsum,axmovax,4c00hint21hMainendpCodeendsendmain(3)(3)用机器语言实现:用机器语言实现:键入代码:键入代码:-ecs:100A10F0103061101A31301B8004CCD21 为数据分配空间:为数据分配空间:-eds:10F7B00C8010000三种语言编写程序占用字节数三种语言编写程序占用字节数程序设计语言程序设计语言可执行程序占用字节数可执行程序占用字节数 高级语言高级语言(C(C)CSUM.EXE 43304330 汇编语言汇编语言 ASMSUM.COM 2121 机器语言机
8、器语言MACHINE.COM 2121操作码操作码操作码操作码操作数地址码操作数地址码操作数地址码操作数地址码任何一条机器指令由一组有意义的二进制任何一条机器指令由一组有意义的二进制代码构成,称为一个代码构成,称为一个指令字指令字。其基本格式可划分成二个部分:其基本格式可划分成二个部分:2.2.指令的基本格式指令的基本格式表明操作数存放表明操作数存放的位置,以便找的位置,以便找到操作数完成指到操作数完成指令的功能。令的功能。规定指令完成规定指令完成规定指令完成规定指令完成何种功能。何种功能。何种功能。何种功能。Th-union的机器指令的机器指令 汇编指令汇编指令 例如:例如:00000000
9、000000000001000100100010 ADDADD R1 R1,R2R200000001000000010001000100100010 SUBSUB R1 R1,R2R200001001000010010011001100000000 INCINC R3 R310001000100010000001000100000000 MVRDMVRD R1 R1,0 00 05 55 500000000000000000101010101010101指令的操指令的操作码字段作码字段指令的操指令的操作数字段作数字段 0 0 5 5 1 1)操作码)操作码定长操作码定长操作码变长操作码变长操作
10、码 在指令系统中,在指令系统中,每一条指令都有唯一确定每一条指令都有唯一确定的操作码。的操作码。分二种形式:分二种形式:a.a.定长操作码形式定长操作码形式在指令字中,操作码字段的位数和在指令字中,操作码字段的位数和位置是固定的。位置是固定的。早期的计算机一般采用定长操作码早期的计算机一般采用定长操作码的设计,控制简单,且对操作码的译码的设计,控制简单,且对操作码的译码实现容易。实现容易。IBM 360/370 IBM 360/370 操作码是操作码是八位八位的:的:00000000000000001111111111111111 该指令系统最多可有多少条指令?该指令系统最多可有多少条指令?T
11、hTh-union-union操作码是操作码是八位八位的:的:00000000000000001111111111111111 该指令系统最多可有该指令系统最多可有256256条指令条指令。例如:例如:256256RRRR型型 OPCOPC R1 R2R1 R2 8 4 4 RSRS型型 OPCOPC Rn Rm B DRn Rm B D 8 4 4 4 12RXRX型型 OPCOPC R1 X2 B2 D2R1 X2 B2 D2 8 4 4 4 12SISI型型 OPCOPC I2 B1 D2I2 B1 D2 8 4 4 12SSSS型型 OPCOPC L B1 D1 B2 D2L B1 D
12、1 B2 D2 8 8 4 12 4 12IBM 360/370 IBM 360/370 计算机的指令格式计算机的指令格式RiRi:通用寄存器:通用寄存器XiXi:变址寄存器:变址寄存器BiBi:基址寄存器:基址寄存器DiDi:位移量:位移量I I:立即数立即数L L:数据的长度数据的长度定长操作码的特点定长操作码的特点 优点:有利于简化硬件设计,提高指优点:有利于简化硬件设计,提高指令译码的速度和指令执行的速度。令译码的速度和指令执行的速度。缺点:限制了指令系统的扩充、缺点:限制了指令系统的扩充、不不利于缩短指令的长度,存在有很大程度利于缩短指令的长度,存在有很大程度的信息冗余的信息冗余 。
13、b.b.变长操作码形式变长操作码形式指令系统中,各指令的操作码字段位数指令系统中,各指令的操作码字段位数不等长。不等长。例:例:PDP-11PDP-11小型机的指令系统小型机的指令系统 其指令长度为其指令长度为1616位,操作码字段的长度位,操作码字段的长度有有、1010、1313、1616等不同的情况。等不同的情况。ModModRiRi ModModRjRj OPOP 四位四位 六位六位 六位六位RiRi ModModRjRjOPOP(7 7)ModModRjRjOPOP(1010)RjRjOPOP(1313)OPOP(1616)为增加操作码长度,采用为增加操作码长度,采用 操作码逐段扩展技
14、术操作码逐段扩展技术 变长操作码的特点变长操作码的特点 优点:可方便扩充指令系统有利于缩短指令优点:可方便扩充指令系统有利于缩短指令操作码的平均长度。操作码的平均长度。缺点:指令译码的控制复杂,硬件电路复杂。缺点:指令译码的控制复杂,硬件电路复杂。2)2)地址码的设计和安排地址码的设计和安排按照指令中按照指令中地址码字段地址码字段给出的给出的地址的个地址的个数数的不同,的不同,无地址指令(零地址指令)无地址指令(零地址指令)一地址指令(单地址指令)一地址指令(单地址指令)双地址指令双地址指令多地址指令多地址指令有四种情况有四种情况:Th-unionTh-union的机器指令的机器指令 汇编指令
15、汇编指令00000000000000000001000100100010 ADD R1ADD R1,R2R200000001000000011000100010011001 SUB R8SUB R8,R9R900001001000010010011001100000000 INC R3INC R310001000100010000001000100000000 MOV R1 MOV R1,0055H0055H00000000000000000101010101010101a.a.无地址指令无地址指令(零地址指令零地址指令)有二种情况:有二种情况:指令不需要任何操作数。指令不需要任何操作数。例:
16、例:例:例:NOPNOPNOPNOP、HALTHALTHALTHALT 操作数为隐含的,或操作数操作数为隐含的,或操作数地址是默认的。地址是默认的。例:例:例:例:PUSHFPUSHFPUSHFPUSHF、POPFPOPFPOPFPOPF 操作码操作码格式格式:b.b.一地址指令一地址指令(单地址指令单地址指令)操作码操作码操作码操作码地地地地 址址址址 码码码码只有一个地址码,用于单操作数指令。只有一个地址码,用于单操作数指令。例:例:INCINC、SHLSHL、JMPJMP、CALLCALL或者双操作数指令,但其中一个操作数的或者双操作数指令,但其中一个操作数的地址为默认值。地址为默认值。
17、例:例:MULMUL、DIVDIV格式格式:c.c.双地址指令双地址指令 地址码地址码地址码地址码2 2 2 2 地址码地址码地址码地址码1 1 1 1 操作码操作码操作码操作码 地址码既是地址码既是源操作数源操作数的地址,也是的地址,也是目目的操作数的操作数的地址。的地址。双操作数在运算类、传送类指令中使用双操作数在运算类、传送类指令中使用较多。较多。ADD DR,SRADD DR,SR 格式格式:d.d.多地址指令多地址指令 地址码地址码地址码地址码3 3 3 3 地址码地址码地址码地址码2 2 2 2 地址码地址码地址码地址码1 1 1 1 操作码操作码操作码操作码 地址码地址码地址码地
18、址码4 4地址码地址码地址码地址码3 3地址码地址码地址码地址码2 2 地址码地址码地址码地址码1 1操作码操作码操作码操作码 特点:特点:操作完成后操作完成后源操作数源操作数的内容不被破坏,的内容不被破坏,用户编程方便。严重的缺点是指令字较长。用户编程方便。严重的缺点是指令字较长。格式格式:格式格式:3)3)指令字长度指令字长度 机器指令的二进制序列的位数。机器指令的二进制序列的位数。定长指令定长指令变长操作码变长操作码 变长指令变长指令定长操作码定长操作码例:例:某机指令系统,指令字为某机指令系统,指令字为1616位固定长,位固定长,要求有要求有地址指令、地址指令、地址指令、地址指令、地址
19、指地址指令和令和地址指令,每个地址码地址指令,每个地址码位。应如何位。应如何设计?设计?a.a.定长指令变长操作码定长指令变长操作码 该种形式是将操作码的设计与地址码的该种形式是将操作码的设计与地址码的设计作为一个整体考虑,以形成高效合理的设计作为一个整体考虑,以形成高效合理的指令编码。指令编码。设计方案为:设计方案为:三地址指令采用三地址指令采用位操作码位操作码 00000000 11101110 双地址指令采用双地址指令采用位操作码位操作码 1111111100000000 1111111111101110 一地址指令采用一地址指令采用1212位操作码位操作码 11111111111111
20、1100000000 111111111111111111101110 无地址指令采用无地址指令采用1616位操作码位操作码 11111111111111111111111100000000 111111111111111111111111111111110000000000000000 XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX4 4 4 4位操位操位操位操作码作码作码作码(3(3地址指令地址指令1515条条)1110111011101110 XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXX
21、XXXX8 8 8 8位操位操位操位操作码作码作码作码(2(2地址指令地址指令1515条条)1111111111111111 0000000000000000 XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX1111111111111111 1110111011101110 XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX(1(1地址指令地址指令1515条条)1111111111111111 1111 00001111 00001111 00001111 0000 XXXXXXXXXXXXXXXX1111111111111111 1111 11101111
22、11101111 11101111 1110 XXXXXXXXXXXXXXXX12121212位操位操位操位操作码作码作码作码(0(0地址指令地址指令1616条条)1111111111111111 1111 1111 00001111 1111 00001111 1111 00001111 1111 00001111111111111111 1111 1111 11111111 1111 11111111 1111 11111111 1111 111116161616位操位操位操位操作码作码作码作码练习:练习:设某机为定长指令字结构,指令长度设某机为定长指令字结构,指令长度1212位,位,每个
23、地址码占位,试提出一种方案,使该系每个地址码占位,试提出一种方案,使该系统包含条三地址指令,条二地址指令,统包含条三地址指令,条二地址指令,180 180 条单地址指令。条单地址指令。另:能否构成三地址指令条,单地址指另:能否构成三地址指令条,单地址指令令 255 255条,零地址指令条,零地址指令6464条呢?条呢?指令字的长度与机器字长没有固定的关系。指令字的长度与机器字长没有固定的关系。b.b.变长指令定长操作码变长指令定长操作码例:例:IBM360/370IBM360/370 指令的操作码是指令的操作码是位的,位的,指令字为指令字为1616位、位、3232位、位、4848位。位。TH-
24、unionTH-union 指令的操作码是指令的操作码是8 8位的,位的,指令字为指令字为1616位位.Th-unionTh-union的指令格式的指令格式 单字指令仅用一个指令字。单字指令仅用一个指令字。双字指令要用两个指令字双字指令要用两个指令字,此时第二个指此时第二个指令字的内容可能是立即数、一个绝对地址或令字的内容可能是立即数、一个绝对地址或一个变址位移量。一个变址位移量。I/OI/O端口地址端口地址端口地址端口地址 条件转移指令的偏移量条件转移指令的偏移量条件转移指令的偏移量条件转移指令的偏移量 直接数直接数直接数直接数/内存地址内存地址内存地址内存地址/指令中变址偏移量指令中变址偏
25、移量指令中变址偏移量指令中变址偏移量 操操操操 作作作作 码码码码目的寄存器目的寄存器目的寄存器目的寄存器源寄存器源寄存器源寄存器源寄存器 8 8 8 8位位位位 4 4 4 4位位位位 4 4 4 4位位位位Th-unionTh-union的机器指令的机器指令 汇编指令汇编指令00000000000000000001000100100010 ADDADD R1R1,R2R200000001000000010001000100100010 SUBSUB R1R1,R2R200001001000010010011001100000000 INCINC R3R3100010001000100000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 指令系统 控制器 部件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内