收藏 分享(赏)

4.4机器语言的一般特征.ppt

上传人:buyk185 文档编号:6545410 上传时间:2019-04-16 格式:PPT 页数:39 大小:284KB
下载 相关 举报
4.4机器语言的一般特征.ppt_第1页
第1页 / 共39页
4.4机器语言的一般特征.ppt_第2页
第2页 / 共39页
4.4机器语言的一般特征.ppt_第3页
第3页 / 共39页
4.4机器语言的一般特征.ppt_第4页
第4页 / 共39页
4.4机器语言的一般特征.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、44 机器语言的一般特征,了解机器语言的基本概念;掌握指令格式、寻址方式、指令字长及指 令类型对指令系统设计的影响;会根据指令格式、指令字长及寻址方式要求设计指令的编码。,44 机器语言的一般特征,一、基本概念,1、机器指令,由0、1代码表示,计算机硬件能够识别 并直接执行的操作命令。,2、指令系统,一台计算机所有机器指令的集合,它反 映了该计算机具有的基本功能。它是软件和 硬件的主要界面。,3、指令的执行过程,取指令 分析指令 执行指令,地址码,二、指令格式,指明指令所完成的操作,其位数反映了 机器的操作种类即机器指令的条数。,1、操作码,2、地址码,指明与操作数有关的信息,操作数、操 作数

2、地址或运算结果地址。,操作码位数 n 与机器指令条数 m 的关系,2 n m 或 nlog 2 m,操作码,例:某计算机有78条指令,采用等长操作码 编码需要多少位?,三、地址码格式,指令地址码格式中要指明一条指令操作 数地址的个数及操作数地址采用什么方式给出。,1、三地址指令,功能:(A1)OP(A2)A3,特点:,(1)两个操作数均保持不变,可再次使用;,(2)适用于字长较长的大、中型机。,三、地址码格式,2、二地址指令,功能:(A1)OP(A2)A1,特点:,(1)操作数A1被运算结果替代;,(2)适用于字长较短的小型机和微型机。,三、地址码格式,3、一地址指令,功能:OP(A)A,特点

3、:,(1)操作数A被运算结果替代;,(2)在许多微型机中,双操作数指令也采 用一地址指令格式,在指令中源操作数由地 址码A给出,另一操作数隐含在累加器AX中。 (AX)OP(A) AX,(3)适用于字长较短的小型机和微型机。,三、地址码格式,4、零地址指令,OP,特点:,(1)无需任何操作数;,(2)所需操作数是隐含指定的。,四、操作码格式,1、定长的操作码,操作码的位数与位置固定,占据指令最前 面的几位。IBM370、VAX-11、Intel8086/8088,特点:,(1)简化操作码译码器的设计,缩短指令译码时间;,(2)指令扩展性差 ;,(3)广泛用于大、中、小型机及RISC中。,例:一

4、台模型机有7条指令,采用定长操作码, 操作码位数为几位?应采用什么样的译码器?,四、操作码格式,2、扩展操作码,操作码的位数不固定,占据指令前面若干位。 如 PDP-11 机。,特点:,(1)常用指令用较短的操码,不常用的指令 用较长的操作码,可缩短指令操作码平均长度;,(2)指令扩展性强,便于增加新指令;,(3)指令译码电路复杂;,(4)任何短码不能为长码的前缀,确保编码 的唯一性。,例:某台计算机的指令系统中共有50条指令,试问: (1)若采用定长编码方式,其操作码的编码长度需要多少位? (2)设该指令系统中有10条指令的使用概率为90%,其余为10%,若采用不等长编码方式,其操作码的平均

5、长度为多少? (3)若原指令系统采有固定长度编码,后继产品中需增加50条指令,试设计其指令操作码,并计算其平均长度。,五、指令字长,1、定字长指令,2、变字长指令,指令字长一定,地址码较多用较短操作码, 地址码较少用较长操作码。如PDP-11机,指令字长不同,一般使用频率高的指令用 较短操作码;使用频率低的指令用较长的较长 的操作码。Pentium机采用可变长指令格式,最短的1 个字节,最长的有12个字节。属于CISC结构。 8086的指令字长为16个字节,80486的指令字 长为111位。,五、指令字长,3、特点:,(1)指令字长为字节的整数倍;,(2)指令字长越长,指令功能丰富,占用 存储

6、空间多读取指令时间长;,练习:某计算机的指令长度为16位,需设置 二地址、一地址和零地址指令三种,每个操 作数的地址码占6位,采用操作码扩展技术, 每种指令最多可安排几条?设计出这三种指 令的格式。,练习:某指令系统指令字长12位,地址码3位,试提出一种方案,使该指令系统有4条三地址指令,8条二地址指令,150条一地址指令,并写出它们的格式。,练习:设指令字长为16位,每个地址码6位,采用扩展操作码技术,设计12条二地址指令,96条一地址指令,50条零地址指令。列出操作码的扩展形式,并计算操作码的平均长度。,设指令字长为16位,每个地址码6位,采用扩展操作码技术,设计12条二地址指令100条一

7、地址指令,100条零地址指令。列出操作码的扩展形式,并计算操作码的平均长度。,44 机器语言的一般特征,了解机器语言的基本概念;掌握指令格式、指令字长、寻址方式及指 令类型对指令系统设计的影响;会根据指令格式、指令字长及寻址方式要求设计指令的编码。,六、寻址方式,在程序的运行过程中,形成指令地址或 操作地址的方式。,(一)指令的寻址方式,1、顺序寻址方式:程序按其执行的先后次 序存放 在内存中,由PC提供要执行的指令 地址。,2、跳跃寻址方式:由程序控制类指令的执 行而改变原来程序的执行顺序。,(二)操作数的寻址方式,指令中提供操作数地址(或操作数)的方法。,1、立即寻址:操作数在指令中。Da

8、ta = D,2、直接寻址:操作数地址在指令中。EA = D,OP,MOD,D,操作数,D,特点:速度快,寻址范围受D位数的限制,寻址空间为2D,特点:速度快,适用于操作数固定的场合。,3、存储器间接寻址操作地址在内存中,在数在指令中给出 的是操作数地址的地址。EA=(D),例:设指令字长和存储字长均为16位,D=8, 问直接和间接寻址时的寻址范围各为多大?,4、寄存器寻址操作数在寄存器中,在指令中给出寄 存器号。EA=R,5、寄存器间接寻址操作数地址在寄存器中,在指令中给出 寄存器号。,寄存器组,6、隐含寻址在指令中不指出操作数的地址,操作数的地址 隐含在操作码中,此时操作数一般隐含于堆栈或

9、累 加器中。,特点:可缩短指令字长。,7、基址寻址操作数的有效地址EA等于指令中的形式地址D 与基址寄存器BR中内容相加。,特点:可扩大指令对主存的寻址范围,可实现全空间寻 址。主要用于为程序和数据分配存储空间,基址寄存器 中的内容通常由操作系统或管理程序确定。,7、变址寻址操作数的有效地址EA等于指令字中的形式地 址D与变址寄存器IX中内容相加。,OP,MOD,D,IX,ALU,操作数,EA,内存,特点:主要用于处理数组问题。,8、相对寻址操作数的有效地址EA等于指令字中的形式 地址D与程序计数器PC中内容相加。EA= PC + D,特点:主要用于转移类指令。,指令系统中采用不同寻址方式的目

10、的 主要是缩短指令长度,扩大寻址空间,提高 编程的灵活性。,例:一种二地址R-S型(寄存器/存储器)指令的结构如下 所示:,其中I为间接寻址标志位,X为寻址模式字段,D为偏移量 字段。通过I、X、D的组合,可构成下表所示的寻址方 式,请写出表中6种寻址方式的名称。,(三)Pentium机的寻址方式,寻址方式名称,有效地址E算法,说明,立即,寄存器,直接,基址,基址+偏移量,比例变址+偏移量,基址+变址+偏移量,基址+比例变址+偏移量,相对,E,E,E,E,E,E,E,操作数,在指令中,操作数,在寄存器中,=D,D为偏移量,= (B),=(B)+D,B为基址寄存器,=(I)S+D,I为变址寄存器

11、,S为比例因子,=(B)+(I)+D,=(B)+ (I)S+D,=(PC)+D,PC为程序计数器,例:某计算机字长16位,运算器16位,有16 个通用寄存器,8种寻址方式,主存容量为 64K字,指令中地址码由寻址方式字段和寄存 器字段组成。 (1)单、双操作数指令最各有多少条? (2)直接寻址范围有多大?(双字长) (3)间接寻址范围有多大? (单字长) (4)变址寻址(双字长)的范围有多大?,练习:某机存储字长为32位,共有机器指令100条,指令单字长,等长操作码,CPU内部有通用寄存器32个,可做变址寄存器用。存储器按字节编址,指令拟用直接寻址、间接寻址、变址寻址和相对寻址4种方式。 (1

12、)分别画出采用4种不同寻址方式的单地址指令的指令格式。 (2)采用直接寻址和间接寻址方式时,可寻址的存储器空间各是多少? (3)写出4种方式下,有效地址E的表达式。,七、指令类型,1、数据传送类指令,2、算术/逻辑运算指令,3、程序控制类指令,4、输入/输出指令,5、其他指令,八、RISC指令系统和CISC指令系统的特点 1、RSIC精简指令系统计算机的特点 (1)指令数目较少,选使用频度高的简单指令。 (2)指令长度固定、指令格式、寻址方式种类少。 (3)只有存/取数指令访存,其余指令均在寄存器之间进行。 (4)大部分指令在一个机器周期内完成,采用流水线技 术。每条指令的平均执行时间小于一个

13、是时钟周期。 (5)CPU中通用寄存器数量相当多。 (6)控制器采用组合逻辑控制,不用微程序控制。 (7)采用优化的编译程序。 (8)指令功能简单使得程序代码较长,占用较多的存储空间。 如:SPARC机只有75条指令,3种指令格式,4种寻址方 式120136个寄存器。MIPS R4000 94/1/32,2、CISC复杂指令系统计算机的特点 (1)指令系统复杂庞大。(200300条) (2)寻址方式、指令格式多。 (3)指令字长不固定。 (4)可访存指令多。 (5)指令使用频率、执行时间相差大。 (6)采用微程序控制器。Intel80486计算机有235条指令,11种寻址方式;Pentuim有

14、191条指令,9种寻址方式。,一、填空 1、指令的编码将指令分成( )、( )等字段。 2、通常指令编码的第一个字段是( )。 3、操作数直接出现在地址码位置的寻址方式称为( )寻址。 4、寄存器寻址方式中,指令的地址码位置部分给出的是( ),而操作数在( )。 、直接寻址方式指令中,直接给出( ),只需( )一次就可获得操作数。 、寄存器间接寻址方式指令中给出的是( )所在的寄存器号。 、存储器间接寻址方式指令中给出的是( )所在的存储器的地址,需要访问内存( )次才能获得操作数。 8、变址寻址方式中操作数的地址由( )与( )的和产生。 9、相对寻址方式中操作数的地址由( )与( )之和产

15、生。 10、只有操作码而没有地址码的指令称为( )指令。,二、判断题 1、执行指令时,指令在内存中地址存放在指令寄存器中。 2、没有设置乘、除法指令的计算机系统中,就不能实现乘、除法运算。 3、程序计数器PC用来指令从内存中取指令。 4、内存地址寄存器用来指示从内存中取数据。 5、计算机指令是指挥CPU进行操作的命令,指令通常由操作码和操作数地址码组成。 6、浮点运算指令对用于科学计算的计算机是很必要的,可以提高机器的运算速度。 7、不设置浮点运算指令的计算机,就不能用于科学计算。 8、扩展操作码是种优化技术,它使操作码的长度随地址码的减少而增加,不同地址的指令可以具有不同长度的操作码。 9、

16、RISC没有乘、除指令和浮点运算指令。 10、RISC的主要设计目标是减少指令数、降低软、硬件开销。,三、综合题1、 某机字长16位,直接寻址空间为128字,变址时的位 移时为-64+64,16个通用寄存器都可以作为变址寄存器。 设计一套指令系统,满足下列寻址类型的要求: (1)直接寻址的二地址指令3条。 (2)变址寻址的一地址指令6条。 (3)寄存器寻址的二地址指令8条。 (4)直接寻址的一地址指令12条。 (5)零地址指令32条。,(1)二地址指令三条,直接寻址的空间为128,所以指令中的D=7 因为二地址指令所以指令格式如下:操作码编码为00、01、10(2)变址寻址的一地址指令6条变址

17、时的位移量为-64+63需用7位表示位移量的范围,4位 表示通用寄存器寻址,操作码5位。格式如下:操作码编码为11000、1100111010、1101111100、11101 (3)寄存器寻地址的二址指令8条源操作数、目的操作数均为寄存器寻址,需用8位表示寄存器 号编码,操作码为8位。格式如下: 操作码 111 110 000 111 110 111,OP(2),D1(7),D2(7),16,OP(5),Ri(4),D(7),16,OP(8),Ri(4),Ri(4),16,(4)直接寻址的二址指令12条此时需要直接寻址的形式地址为7位,其余9位均可作操作 码编码使用。,2、设某计算机字长为1

18、6位,共有16个通用寄存器,四种寻址方式,指令字长可变,操作码位数可变,主存容量为64K16,存储器按字编址。 (1)画出单字长R-R型指令格式,并指出这类指令最多允许几条? (2)在(1)的基础上,扩展成单操作数的指令,画出指令格式并指出这类指令最多允许几条? (3)画出允许直接访问主存任一单元的R-S型的指令格式。 (4)画出变址寻址方式的指令格式。,立即数/存储器,OP,R1,R2,RR,OP,R1,X2,RX,B2,D2,OP,R1,R3,RS,B2,D2,OP,I2,SI,B1,D1,OP,L1,SS,B1,D1,B2,D2,寄/寄,寄/存(变址),寄/存(不变址),存储器/存储器,

19、8,4,4,8,4,4,4,8,4,4,4,8,8,4,12,8,8,4,12,4,12,12,12,IBM370机的指令格式(定长操作码),PDP-11机的指令格式(扩展操作码),扩展操作码编码举例,OP,4,A1,4,A2,4,A3,4,4位OP,0000 1110,A1,A2,A3,15条三地址,8位OP,1111 0000 1111 1110,A2,A3,15条二地址,12位OP,1111 1111 0000 1111 1111 1110,A3,15条一地址,16位OP,1111 1111 1111 0000 1111 1111 1111 1111,16条零地址,(1)程序执行开始,程

20、序计数器PC中保存第一条指令的地址,此地址指明当前将要执行的指令存放在存储器的哪一个单元中。 (2)指令控制器把程序计数器PC中保存的指令地址送往存储器的地址寄存器 MAR并发出读操作命令。存储器按给出的地址读出指令,经由数据寄存器 MDR送往控制器,保存在指令寄存器IR中。 (3)指令译码器ID对指令寄存器IR中的指令进行译码,并分析操作的性质,由控制部件向存储器、运算器等有关部件发出微操作 命令。 (4)控制器根据指令的地址部分,形成操作数所在的存储器单元地址,并送往 存储器MAR,然后向存储器发出读命令。 (5)存储器读出数据经MDR直接送往运算器,控制器命令运算器对数据进行指令规定的运算。 (6)指令执行完,控制器就要接着执行下一条指令,控制器把程序计数器PC中的内容加1,若遇到转移指令,控制器则把转移地址送往PC,PC中存放的是下一条指令所在存储单元的地址。 (7)控制器不断地重复上面的过程,每次执行一条指令,直到整个程序执行完。,ACC,FA,MQ,X,ID,CIR,CAR,CSG,. . . . .,运算器,存储器,控制器,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报