计算机组成原理第7章_2指令系统.ppt
(41页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
19.90 积分
7.3 寻 址 方 式寻址方式 确定 本条指令 的 操作数地址下一条 欲执行 指令 的 指令地址指令寻址数据寻址寻址方式7.3 寻 址 方 式一、指令寻址顺序( PC ) + 1 PC跳跃由转移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100...0123456789PC+1指令地址寻址方式指令地址指令顺序寻址1顺序寻址2顺序寻址3跳跃寻址7顺序寻址8二、数据寻址 形式地址 指令字中的地址 有效地址 操作数的真实地址 约定 指令字长 = 存储字长 = 机器字长1. 立即寻址 指令执行阶段不访存 A 的位数限制了立即数的范围形式地址 A操作码寻址特征OP # A立即寻址特征立即数 可正可负 补码形式地址 A 就是操作数教学计算机指令格式 8位 4位 4位IO端口地址 / 相对偏移量SRDR立即数 / 直接内存地址 / 变址偏移量操作码MVRD R3,1234 R3←立即数1234 D表示立即数寻址 实验系统:2. 直接寻址EA = A操作数主存寻址特征LDAAAACC 执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围有效地址由形式地址直接给出STRA [2000], R2 把R2的内容写入到地址为2000的内存单元之中,A表示直接地址寻址。 实验系统:3. 隐含寻址操作数地址隐含在操作码中ADDA操作数主存寻址特征AACC暂存ALU另一个操作数隐含在 ACC 中如 8086MUL 指令被乘数隐含在 AX(16位)或 AL(8位)中 指令字中少了一个地址字段,可缩短指令字长实验系统:IN I/O PORTR0←[I/O PORT]PUSH SRSR入栈4. 间接寻址EA =(A)有效地址由形式地址间接提供OPA寻址特征AEA主存EAA1EA A1主存 EA10 执行指令阶段 2 次访存 可扩大寻址范围OPA寻址特征A一次间址多次间址操作数操作数多次访存 … …子程序主程序…8081201202调用子程序调用子程序间接寻址编程举例……@ 间址特征JMP @ 302… … … … 3025. 寄存器寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征 寄存器个数有限,可缩短指令字长操作数…………R0RiRn寄存器有效地址即为寄存器编号ADD R0,R1表示 R0←R0+R1R代表寄存器寻址 MVRR R0,R1把寄存器R1的内容传送到寄存器R0; 实验系统:EA = ( Ri )6. 寄存器间接寻址操作数主存OPRi寻址特征地址…………R0RiRn寄存器有效地址在寄存器中STRR [R8],R9 把R9的内容传送到以寄存器R8的内容为地址的内存单元之中;R字母两侧加上方括号,代表寄存器间接寻址,实验系统:7. 基址寻址(1) 采用专用寄存器作基址寄存器EA = ( BR ) + ABR 为基址寄存器OPA操作数主存寻址特征ALUBR 可扩大寻址范围 有利于多道程序 BR 内容由操作系统或管理程序确定 在程序的执行过程中 BR 内容不变,形式地址 A 可变(2) 采用通用寄存器作基址寄存器操作数主存寻址特征ALUOPR0AR0 作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器通用寄存器R0Rn-1R1… 基址寄存器的内容由操作系统确定 在程序的执行过程中 R0 内容不变,形式地址 A 可变8. 变址寻址EA = ( IX ) +AOPA操作数主存寻址特征ALUIX 可扩大寻址范围 便于处理数组问题 IX 的内容由用户给定 IX 为变址寄存器(专用) 在程序的执行过程中 IX 内容可变,形式地址 A 不变通用寄存器也可以作为变址寄存器LDRX R1,12[R2]用X表示变址寻址, 把变址寄存器R2的内容与变址偏移量12相加作为内存地址,进行读操作,读出的数据传送的寄存器R1;P316变址寻址的例子实验系统:例 设数据块首地址为 D,求 N 个数的平均值直接寻址变址寻址LDA DADD D + 1ADD D + 2…ADD D + ( N -1 )DIV # NSTA ANSLDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANS共 N + 2 条指令共 8 条指令ADD X, DMX 为变址寄存器D 为形式地址(X) 和 #N 比较(X) +1 X结果不为零则转[D] ACC9. 相对寻址 EA = ( PC ) + AA 是相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围 程序浮动 广泛用于转移指令操作数寻址特征ALUOPA相对距离 A1000PC …主存1000AOP (1) 相对寻址举例M 随程序所在存储空间的位置不同而不同EA = ( M+3 ) – 3 = M– 3*LDA # 0LDX # 0ADD X, DINXCPX # NBNE MDIV # NSTA ANSMM+1M+2M+3而指令 BNE 与 指令 ADD X, D 相对位移量不变– 3* 指令 BNE操作数的有效地址为– 3* 相对寻址特征*(2) 按字节寻址的相对寻址举例OP位移量2000 H2008 H8JMP * + ?OP06 H2000 H2008 H8设 当前指令地址 PC = 2000H转移后的目的地址为 2008H因为 取出 JMP * + ? 后 PC = 2002H二字节指令故 JMP * + ? 指令 的第二字节为 2008H - 2002H = 06HP318例7.210. 堆栈寻址(1) 堆栈的特点堆栈硬堆栈软堆栈多个寄存器指定的存储空间先进后出(一个入出口)栈顶地址 由 SP 指出– 11FFFH2000 H进栈 (SP)– 1 SP (SP)+ 1 SP栈底SP2000 H……1FFFH栈顶栈底进栈出栈栈顶栈顶AX=30AX (SP) 出栈(SP) AX(2) 堆栈寻址举例15200HACCSPX栈顶200H栈底主存151FFHACCSP15栈顶200H栈底主存X1FFHPUSH A 前PUSH A 后POP A 前POP A 后Y1FFHACCSPX栈顶200H栈底主存151FFH15200HACCSP栈顶200H栈底主存X15(3) SP 的修改与主存。省略部分。数、寻址方式类型操作码位数、是否采用扩展操作码技术,确定哪些数据类型可参与操作指令寻址、操作数寻址寄存器的多少直接影响指令的执行时间二、指令格式举例1. PDP – 8指令字长固定 12 位 操作码 间 页 地址码访存类指令0235411寄存器类指令 1 1 1 辅助操作码02311I/O 类指令 1 1 0 设备 操作码0231198采用扩展操作码技术2. PDP – 11源地址OP4 6 6 16 16目的地址存储器地址1存储器地址2OP10 6 16目的地址存储器地址目的地址4 6 6源地址OP 10 6目的地址OP-CODE16OP-CODE指令字长有 16 位、32 位、48 位三种零地址 (16 位)一地址 (16 位)二地址 R – R (16 位)二地址 R – M (32 位)二地址 M – M (48 位)扩展操作码技术16位机器3. IBM 360OPR1R2 RR格式8 4 4OPR1XBD RX格式8 4 4 4 12OPR1R3BD RS格式8 4 4 4 12OPBDI SI格式8 8 4 12二地址 R – R基址加变址寻址二地址 R – M三地址 R – M基址寻址二地址 M – M基址寻址基址寻址立即数 – MOPB1D1LB2D2 SS格式8841241232位机器4. Intel 8086(1) 指令字长(2) 地址格式1 ~ 6 个字节MOV WORD PTR[0204], 0138H 6 字节INC AX 1 字节一地址NOP 1 字节CALL段内调用 3 字节零地址 5 字节段间调用寄存器 – 寄存器寄存器 – 立即数寄存器 – 存储器ADD AX,BX 2 字节ADD AX,[3048H] 4 字节ADD AX,3048H 3 字节二地址CALL16位7.5 RISC 技 术 一、RISC 的产生和发展 80 — 20 规律 典型程序中 80% 的语句仅仅使用处理机中 20% 的指令 执行频度高的简单指令,因复杂指令的存在,执行速度无法提高RISC(Reduced Instruction Set Computer)CISC(Complex Instruction Set Computer) 能否用 20% 的简单指令组合不常用的80% 的指令功能?二、RISC 的主要特征 选用使用频度较高的一些 简单指令, 复杂指令的功能由简单指令来组合 指令 长度固定、指令格式种类少、寻址方式少 只有 LOAD / STORE 指令访存 采用 流水技术 一个时钟周期 内完成一条指令 采用 组合逻辑 实现控制器 CPU 中有多个 通用 寄存器 采用 优化 的 编译 程序 三、CISC 的主要特征 系统指令 复杂庞大,各种指令使用频度相差大 指令 长度不固定、指令格式种类多、寻址方式多 访存 指令 不受限制 大多数指令需要 多个时钟周期 执行完毕 采用 微程序 控制器 CPU 中设有 专用寄存器 难以 用 优化编译 生成高效的目的代码 四、RISC和CISC 的比较 1. RISC更能 充分利用 VLSI 芯片的面积2. RISC 更能 提高计算机运算速度指令数、指令格式、寻址方式少,通用 寄存器多,采用 组合逻辑 ,便于实现 指令流水3. RISC 便于设计,可 降低成本,提高 可靠性4. RISC 有利于编译程序代码优化 5. RISC 不易 实现 指令系统兼容 例 指令系统共有74种指令,前4种使用频率平均为0.12,中间15种使用频率平均为0.02,最后55种使用频率平均为0.004。如何编码?平均码长为多少?平均码长的定义: i:表示指令Fi:指令的频率(度)Bi:编码所用的位数 000 001 010 011 100-0000 100-1110 100-1111- 000000 100-1111- 110110平均码长:0.12×4×3 + 0.02×15×7 + 0.004×55×13 =1.44+2.1+2.86=6.4解:频率4 0.12 指令数15 0.02 55 0.004例7.4某机器字长16位,存储器直接寻址空间为128字,变址的位移量为-64~+63,16个通用寄存器均可作为变址寄存器,设计一套指令格式,满足下列要求:⑴ 直接寻址的二地址指令3条⑵ 变址寻址的一地址指令6条⑶ 寄存器寻址的二地址指令8条⑷ 直接寻址的一地址指令12条⑸零地址指令32条试问还有多少种代码未用?若安排寄存器寻址的一地址指令,还能容纳多少条?⑴ 直接寻址的二地址指令3条00011011⑵ 变址寻址的一地址指令6条7 4(Rx)511000001010011100101110111⑶ 寄存器寻址的二地址指令8条11 11011 111000001010011100101110111⑷ 直接寻址的一地址指令12条128字11 1110000000100100011010001010110011110001001101010111100110111101111⑸零地址指令32条OP(16位)11 11111001101111011119位000000000000010000010….0011111试问还有多少种代码未用? 4*27 -32=480若安排寄存器寻址的一地址指令,还能容纳多少条? 411 11111001101111011119位000000000000010000010….00111111232010011100101110111寄存器寻址的一地址指令3*23 +6作业:P3357.147.16 关 键 词: 组成 指令系统 原理 计算机
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。