指令系统和控制器部.ppt
《指令系统和控制器部.ppt》由会员分享,可在线阅读,更多相关《指令系统和控制器部.ppt(109页珍藏版)》请在三一办公上搜索。
1、第4章 指令系统和控制器部件,4.1 指令系统,4.2 控制器部件,指令:,是指示计算机执行基本操作的命令。指令也是用户使用计算机的最小功能单位。,从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。,微指令:是微程序级的命令,它属于硬件;宏指令:是由苦干条机器指令组成的软件指令,它属于软件;机器指令:则介于微指令与宏指令之间,通常简称为指令。每一条指令可完成一个独立的算术运算或逻辑运算操作。本章所讨论的指令是机器指令。,指令系统:,一台计算机支持(或称使用)的全部指令的集合构成该计算机的指令系统。,由于指令与计算机的性能以及硬件结构密切相关,所以不同系列、不同型号的计算机
2、其指令系统是不一样的。,4.1 指令系统,指令的基本格式指令格式的优化寻址方式指令系统举例 Th-union汇编语言程序设计,一、指令的格式,任何一条机器指令由一组有意义的二进制代码构成,称为一个指令字。,1、机器指令,00000000000100100000000100010010,用机器指令编写的程序是计算机惟一能够直接识别并执行的程序,称为机器语言程序。机器语言程序被称为目标程序(目标代码)。,机器直接执行,速度快。缺点:与机器硬件直接相关,通用性差;编程不直观、难以记忆、使用很不方便。,机器语言的特点,为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用符号代替操作数的存放地
3、址等,这样就形成了汇编指令。例:机器指令:汇编指令:MVRR R2,R1 用汇编指令编写的程序称为汇编源程序。,一条机器指令对应一条汇编指令。用汇编指令编写程序就直观方便得多。,用汇编语言编写程序及执行的过程,程序员,高级语言,汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。,(1)用语言实现:Main()int a,b,sum;a=123;b=456;sum=a+b,例如:编程实现 123 加 456 求和,(2)用8086汇编语言实现:a dw 123 b dw 456 sum
4、 dw?Code segment assume CS:Code,DS:Data Main:mov ax,data mov ds,ax mov ax,a,add ax,bmov sum,axmov ax,4c00hint 21hMain endpCode endsend main,(3)用机器语言实现:键入代码:-e cs:100 A1 0F 01 03 06 11 01 A3 13 01 B8 00 4C CD 21 为数据分配空间:-e ds:10F 7B 00 C8 01 00 00,三种语言编写程序占用字节数,任何一条机器指令由一组有意义的二进制代码构成,称为一个指令字。,其基本格式可划
5、分成二个部分:,2.指令的基本格式,表明操作数存放的位置,以便找到操作数完成指令的功能。,规定指令完成何种功能。,Th-union的机器指令 汇编指令,例如:,0000000000010010 ADD R1,R20000000100010010 SUB R1,R20000100100110000 INC R31000100000010000 MVRD R1,00550000000001010101,指令的操作码字段,指令的操 作数字段,0 0 5 5,1)操作码,定长操作码,变长操作码,在指令系统中,每一条指令都有唯一确定的操作码。分二种形式:,a.定长操作码形式,在指令字中,操作码字段的位数
6、和位置是固定的。,早期的计算机一般采用定长操作码的设计,控制简单,且对操作码的译码实现容易。,IBM 360/370 操作码是八位的:0000000011111111 该指令系统最多可有多少条指令?,Th-union操作码是八位的:0000000011111111 该指令系统最多可有256条指令。,例如:,256,RR型,OPC R1 R2,8 4 4,RS型,OPC Rn Rm B D,8 4 4 4 12,RX型,OPC R1 X2 B2 D2,8 4 4 4 12,SI型,OPC I2 B1 D2,8 4 4 12,SS型,OPC L B1 D1 B2 D2,8 8 4 12 4 12,
7、IBM 360/370 计算机的指令格式,Ri:通用寄存器Xi:变址寄存器Bi:基址寄存器Di:位移量I:立即数L:数据的长度,定长操作码的特点,优点:有利于简化硬件设计,提高指令译码的速度和指令执行的速度。缺点:限制了指令系统的扩充、不利于缩短指令的长度,存在有很大程度的信息冗余。,b.变长操作码形式,指令系统中,各指令的操作码字段位数不等长。,例:PDP-11小型机的指令系统,其指令长度为16位,操作码字段的长度有、10、13、16等不同的情况。,OP(16),为增加操作码长度,采用 操作码逐段扩展技术,变长操作码的特点,优点:可方便扩充指令系统有利于缩短指令操作码的平均长度。缺点:指令译
8、码的控制复杂,硬件电路复杂。,2)地址码的设计和安排,按照指令中地址码字段给出的地址的个数的不同,,无地址指令(零地址指令),一地址指令(单地址指令),双地址指令,多地址指令,有四种情况:,Th-union的机器指令 汇编指令0000000000010010 ADD R1,R20000000110001001 SUB R8,R90000100100110000 INC R31000100000010000 MOV R1,0055H0000000001010101,a.无地址指令(零地址指令),有二种情况:,指令不需要任何操作数。例:NOP、HALT,操作数为隐含的,或操作数地址是默认的。例:P
9、USHF、POPF,格式:,b.一地址指令(单地址指令),操作码,地 址 码,只有一个地址码,用于单操作数指令。例:INC、SHL、JMP、CALL,或者双操作数指令,但其中一个操作数的地址为默认值。例:MUL、DIV,格式:,c.双地址指令,地址码既是源操作数的地址,也是目的操作数的地址。双操作数在运算类、传送类指令中使用较多。ADD DR,SR,格式:,d.多地址指令,特点:操作完成后源操作数的内容不被破坏,用户编程方便。严重的缺点是指令字较长。,格式:,格式:,3)指令字长度,机器指令的二进制序列的位数。,定长指令变长操作码,变长指令定长操作码,例:某机指令系统,指令字为16位固定长,要
10、求有地址指令、地址指令、地址指令和地址指令,每个地址码位。应如何设计?,a.定长指令变长操作码,该种形式是将操作码的设计与地址码的设计作为一个整体考虑,以形成高效合理的指令编码。,设计方案为:,三地址指令采用位操作码 0000 1110 双地址指令采用位操作码 11110000 11111110 一地址指令采用12位操作码 111111110000 111111111110 无地址指令采用16位操作码 1111111111110000 1111111111111111,练习:设某机为定长指令字结构,指令长度12位,每个地址码占位,试提出一种方案,使该系统包含条三地址指令,条二地址指令,180
11、条单地址指令。另:能否构成三地址指令条,单地址指令 255条,零地址指令64条呢?,指令字的长度与机器字长没有固定的关系。,b.变长指令定长操作码,例:IBM360/370 指令的操作码是位的,指令字为16位、32位、48位。TH-union 指令的操作码是8位的,指令字为16位.,Th-union的指令格式,单字指令仅用一个指令字。双字指令要用两个指令字,此时第二个指令字的内容可能是立即数、一个绝对地址或一个变址位移量。,I/O 端口地址,条件转移指令的偏移量,直接数/内存地址/指令中变址偏移量,操 作 码,目的寄存器,源寄存器,8位 4位 4位,Th-union的机器指令 汇编指令,000
12、0000000010010 ADD R1,R20000000100010010 SUB R1,R20000100100110000 INC R31000100000010000 MVRD R1,00550000000001010101,二、指令格式的优化,定义:缩短指令字的长度方法:地址码优化 操作码优化(这是本节主要讨论的)优化目标:节省程序的存储空间 指令格式规整,易于译码 保持指令的执行速度,Huffman 编码法码长理论值:,其中,Pi表示第i种操作码在程序中出现的概率(使用频度),n为操作码的种数。,若采用位固定长度操作码,信息冗余量:,R=(3-1.95)/3 35%,其中:1.9
13、5 为哈夫曼编码法的理论值,模型机的指令操作码哈夫曼编码法,指令Pi Huffman编码 码长 I10.4501 I20.30102 I30.151103 I40.0511104 I50.03111105 I60.011111106 I70.011111116,L=0.45 X 1+0.30 X 2+0.15 X 3+0.05 X 4+0.03 X 5+0.01 X 6+0.01 X 6=1.97(位),所以,平均码长接近理论值!,信息冗余量:,例:某计算机有10条指令,它们的使用频率分别为:0.30,0.20,0.16,0.09,0.08,0.07,0.04,0.03,0.02,0.01。用
14、Huffman编码对它们的操作码进行编码,并计算平均代码长度。,Huffman编码通过采用huffman树进行,如下所示:,Huffman 树结构,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,Huffman编码的结果以及各编码的长度如下所示:0.30 0.20 0.16 0.09 0.08 0.07 0.04 0.03 0.02 0.01 11 01 101 001 1001 1000 0001 00001 000001 000000 2 2 3 3 4 4 4 5 6 6,平均代码长度为(0.30+0.20)2 1.00+(0.16+0.09)3 0.75+(0.
15、08+0.07+0.04)4 0.76+0.035 0.15+(0.02+0.01)6 0.18=1+0.75+0.76+0.15+0.18=2.84,哈夫曼编码的优点:平均长度最短信息冗余量最小 哈夫曼编码的缺点:操作码种类多,译码复杂。,模型机的指令操作码扩展编码法,指令Pi 1-2-3-52-4 I10.45 000 I20.301001 I30.1511010 I40.05111001100 I50.03111011101 I60.01111101110 I70.01111111111,例子中1-2-3-5编码法码长平均值,L=0.45 1+0.30 2+0.15 3+0.05 5+0
16、.03 5+0.01 5+0.01 5=2.00与哈夫曼编码法相比,信息冗余量:R=(2-1.95)/2.00=2.5%,例子中2-4编码法码长平均值,L=0.45 2+0.3 2+0.15 2+0.05 4+0.03 4+0.01 4+0.01 4=2.20与哈夫曼编码法相比,信息冗余量:R=(2.2-1.95)/2.2=11.4%,设某机型需设计 100条指令。试确定以下两种操作码设计方案的操作码长度。1)采用定长操作码格式。2)采用扩展操作码法。(设10的指令使用频度为90),思考:,三、寻址方式,寻址方式:指的是确定本条指令的数据地址及下一条要执行的指令地址的方法。,不同的计算机系统,
17、使用数目和功能不同的寻址方式,其实现的复杂程度和运行性能也各不相同。,1、指令寻址,顺序,跳跃,由转移指令指出,2、数据寻址,约定,指令字长=存储字长=机器字长,通常需要在指令中为每一个操作数专设一个地址字段,用来表示数据的来源或去向的地址。在指令中给出的操作数的地址被称为形式地址,使用形式地址信息并按一定的规则计算出来的一个数值才是数据(或指令)的实际地址。,运算器中寄存器的编号或专用寄存器名称(编号)输入/输出指令中I/O 设备的输入输出端口地址 内存储器的一个存储单元(或一I/O设备)的地址,在指令的操作数地址字段,可能要指出:,在计算机的指令系统中,会有多种基本寻址方式和某些复合寻址方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 控制器

链接地址:https://www.31ppt.com/p-5736188.html