欢迎来到天天文库
浏览记录
ID:36912248
大小:1.15 MB
页数:58页
时间:2019-05-10
《计算机组成原理第7章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章指令系统7.1机器指令7.2操作数类型和操作类型7.3寻址方式7.4指令格式举例7.5RISC技术指令系统CPU的主要工作是执行指令,指令是指挥计算机执行某些操作的命令,一台计算机所有指令的集合构成该计算机的指令系统。一、机器指令的格式一条指令就是机器语言的一个语句,由一组二进制代码来表示。一条指令由两部分构成:OPAddr操作码:指明指令的操作性质及功能。地址码:指明操作数的地址。一条指令必须有一个操作码,可能包含几个地址码。1、操作码指令系统中的每一条指令都有一个唯一确定的操作码,反应不同的操作功能。指令操作码的编码
2、可以分为定长编码和变长编码。(1)定长编码这是一种最简单的编码方式,操作码的位数和位置固定,指令长度不固定。操作码不同涉及的操作数的个数不同,所以指令的长度随操作码而变化。例如,IBM370机就是采用这种定长操作码格式。IBM370机(字长32位)的指令可分为三种不同的长度,不论指令的长度有多少位,其中的操作码字段一律都是8位。IBM370机的指令格式(2)变长编码这是一种操作码长度不固定,而指令长度固定的设计方法。PDP-11机(字长16位)的指令分为单字长、两字长、三字长三种,操作码字段占4~16位不等,可遍及整个指令长度
3、。显然,操作码字段位数的不固定将增加指令译码的难度,使控制器的设计复杂化。但是,它有效地利用每个二进制位。PDP-11机的指令格式(3)扩展操作码技术操作码的位数随地址数的减少而增加OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…00000001
4、1110…4位操作码8位操作码12位操作码16位操作码15条三地址指令15条二地址指令15条一地址指令16条零地址指令7.12.地址码(1)四地址(2)三地址OPA1A2A3A486666A1第一操作数地址A2第二操作数地址A3结果的地址A4下一条指令地址若PC代替A4(A1)OP(A2)A38888OPA1A2A3(A1)OP(A2)A34次访存4次访存寻址范围26=64寻址范围28=256若A3用A1或A2代替7.1设指令字长为32位操作码固定为8位(3)二地址OPA1A281212(A1)OP(A2)A1(A1)OP(A
5、2)A2或4次访存若ACC代替A1(或A2)若结果存于ACC(4)一地址(5)零地址OPA1824无地址码(ACC)OP(A1)ACC2次访存寻址范围212=4K寻址范围224=16M3次访存7.1二、指令字长指令字长决定于操作码的长度指令字长=存储字长2.指令字长可变操作数地址的长度操作数地址的个数1.指令字长固定按字节的倍数变化7.1小结当用一些硬件资源代替指令字中的地址码字段后当指令的地址字段为寄存器时可扩大指令的寻址范围可缩短指令字长可减少访存次数三地址OPR1,R2,R3二地址OPR1,R2一地址OPR1指令执行阶段
6、不访存可缩短指令字长7.17.2操作数类型和操作种类一、操作数类型地址数字字符逻辑数无符号整数定点数、浮点数、十进制数ASCII逻辑运算二、数据在存储器中的存放方式字地址为低字节地址字地址为高字节地址37621540字地址04低字节04512673字地址04低字节存储器中的数据存放(存储字长为32位)地址(十进制)04812162024283236双字双字(地址32)双字双字(地址24)半字(地址20)半字(地址22)半字(地址16)半字(地址18)字节(地址8)字节(地址9)字节(地址10)字节(地址11)字(地址4)字(地
7、址0)字节(地址14)字节(地址15)字节(地址13)字节(地址12)边界对准地址(十进制)048字节(地址7)字节(地址6)字(地址2)半字(地址10)半字(地址8)半字(地址0)字(地址4)边界未对准▲▲7.2三、操作类型1.数据传送源目的寄存器寄存器寄存器寄存器存储器存储器存储器存储器置“1”,清“0”2.算术逻辑操作加、减、乘、除、增1、减1、求补、浮点运算、十进制运算与、或、非、异或、位操作、位测试、位清除、位求反如8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVE7.2ADDSUBMULD
8、IVINCDECCMPNEGAAAAASAAMAADANDORNOTXORTEST3.移位操作算术移位4.转移(1)无条件转移JMP(2)条件转移结果为零转(Z=1)JZ结果溢出转(O=1)JO结果有进位转(C=1)JC跳过一条指令SKP循环移位(带进位和不带进位)如300…
此文档下载收益归作者所有