版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 CPU子系统SCS-SWPU第3章 CPU子系统概概 述述3.1指令系统指令系统3.2运算部件运算部件3.3组合逻辑控制方式组合逻辑控制方式3.4微程序控制方式微程序控制方式3.53.6CPU的基本模型重点难点3.43.7CPU性能的提升技术计算机组成原理计算机组成原理 2009 SCS-SWPU3计算机处理的对象计算机处理的对象计算机中的计算机中的信息信息控制信息控制信息数据数据数值型数据数值型数据非数值型数据非数值型数据指令信息指令信息 计算机中的信息表示计算机组成原理计算机组成原理 2009 SCS-SWPU4 指令:让计算机完成某种操作的命令指令:让计算机完成某种操作的命令 指
2、令系统:一台计算机所能执行的全部指令指令系统:一台计算机所能执行的全部指令 不同系列的计算机有不同的指令系统;不同系列的计算机有不同的指令系统; 指令越丰富功能越强,计算机结构越复杂指令越丰富功能越强,计算机结构越复杂 ; 是用户编制程序的依据,设计一台计算机的基本出发点。是用户编制程序的依据,设计一台计算机的基本出发点。 3.2 指令系统计算机组成原理计算机组成原理 2009 SCS-SWPU51指令的格式2指令的寻址方式3指令的功能和类型3.2 指令系统计算机组成原理计算机组成原理 2009 SCS-SWPU63.2.1 指令格式1、指令中的基本信息 机器指令的基本格式 操作码:告诉计算机
3、做什么或执行什么操作操作码:告诉计算机做什么或执行什么操作 (1 1)操作数或操作数地址)操作数或操作数地址 地址码地址码 (2 2)存放运算结果的地址)存放运算结果的地址 (3 3)后继指令地址(常以隐含方式给出)后继指令地址(常以隐含方式给出)显地址显地址 和和隐地址隐地址地址码结构地址码结构操作码结构操作码结构提高计算机提高计算机性能为目的性能为目的计算机组成原理计算机组成原理 2009 SCS-SWPU7(0) 四地址指令其中其中: Ai表示地址表示地址,可以是寄存器号,也可以是可以是寄存器号,也可以是 主存单元的地址码;主存单元的地址码; (Ai)表示存放于该地址的内容表示存放于该地
4、址的内容; A4明确表示下条将要执行指令的地址明确表示下条将要执行指令的地址; A4常隐含给出,四地址指令很少采用常隐含给出,四地址指令很少采用. .(A4)PC2.3.1 指令格式2、指令中的地址结构计算机组成原理计算机组成原理 2009 SCS-SWPU8(1) 三地址指令 特点: 若若A1A1、A2A2、A3A3为内存地址为内存地址 则执行该指令需要访问则执行该指令需要访问次次主存。主存。 根据根据PCPC的内容,取指令;的内容,取指令; 根据指令中的根据指令中的A1A1取操作数;取操作数; 根据指令中的根据指令中的A2A2取操作数;取操作数; ALUALU运算结果,然后将结果保存到运算
5、结果,然后将结果保存到A3A3。2.3.1 指令格式2、指令中的地址结构计算机组成原理计算机组成原理 2009 SCS-SWPU9(2) 二地址指令 其中其中: : A1A1为目的为目的操作数地址操作数地址,A2A2为为源操作数地址源操作数地址。 二地址指令执行之后,二地址指令执行之后,A1A1原存的内容被破坏了原存的内容被破坏了。2.3.1 指令格式2、指令中的地址结构 OP A1 A2指令的功能:(指令的功能:(A1A1)OP(A2) = A1OP(A2) = A1 (PC)+n = PC (PC)+n = PC计算机组成原理计算机组成原理 2009 SCS-SWPU10(3) 一地址指令
6、2.3.1 指令格式2、指令中的地址结构 OP A双操作数指令双操作数指令指令的功能:(指令的功能:(ACCACC)OP(A) = ACCOP(A) = ACC (PC)+n = PC (PC)+n = PC其中其中: Acc: Acc是累加寄存器是累加寄存器( ( 隐地址隐地址 ) )单操作数指令单操作数指令指令的功能:指令的功能:OP(A) = AOP(A) = A (PC)+n = PC (PC)+n = PC计算机组成原理计算机组成原理 2009 SCS-SWPU11(4) 零地址指令1 1、显地址数多,指令长,所需、显地址数多,指令长,所需 存储空间大,读取时间长存储空间大,读取时间
7、长2 2、显地址数少,地址选择受限制、显地址数少,地址选择受限制2.3.1 指令格式2、指令中的地址结构 OP单操作数的指令单操作数的指令指令的功能:指令的功能: OP(ACC) = ACCOP(ACC) = ACC不需要操作数的指令不需要操作数的指令如:如:HLTHLT、NOPNOP堆栈中的操作数(堆栈中的操作数(“先进后出先进后出” ” 存储区)存储区)操作操作: PUSH : PUSH 、POPPOPSPSP(堆栈指针)(堆栈指针): : 给出栈顶单元地址给出栈顶单元地址 计算机组成原理计算机组成原理 2009 SCS-SWPU12指令的操作码结构操作码的位数决定指令种类的多少操作码的位
8、数决定指令种类的多少操作码的编码操作码的编码固定长度操作码固定长度操作码可变长度操作码可变长度操作码3.2.1 指令格式3、操作码结构计算机组成原理计算机组成原理 2009 SCS-SWPU13v(1) 固定长度操作码 操作码操作码位数和位置是位数和位置是固定固定的的 多用于多用于指令较长指令较长或或可变字长指令格式可变字长指令格式 设字长为设字长为3232位的计算机,用第一个字节表示操作码位的计算机,用第一个字节表示操作码 该格式,能提供多少条指令?该格式,能提供多少条指令? 操作码操作码 地址码地址码一个字节一个字节3 3个字节个字节 特点特点: : 读取和识别指令简单,译码简单、迅速。读
9、取和识别指令简单,译码简单、迅速。3.2.1 指令格式3、操作码结构计算机组成原理计算机组成原理 2009 SCS-SWPU14v(2) 可变长度操作码 又称为扩展操作码又称为扩展操作码 操作码扩展技术:操作码扩展到地址码操作码扩展技术:操作码扩展到地址码地址部分位数较多时,让操作码的尾数少些地址部分位数较多时,让操作码的尾数少些地址部分位数较少时,让操作码的位数增加,以增加指令种类地址部分位数较少时,让操作码的位数增加,以增加指令种类特点:特点:操作码字段的位数和位置不固定将增加操作码字段的位数和位置不固定将增加指令译码指令译码和和分析的难度分析的难度,使控制器的设计复杂化,使控制器的设计复
10、杂化。N N位位 32-N32-N位位 操作码操作码 地址码地址码3.2.1 指令格式3、操作码结构计算机组成原理计算机组成原理 2009 SCS-SWPU15 00000000 XXXX XXXX XXXX 15 XXXX XXXX XXXX 15条三地址指令(位操作码) 11101110 XXXX XXXX XXXX XXXX XXXX XXXX 11111111 00000000 XXXX XXXX 15 XXXX XXXX 15条二个地址指令(8 8位操作码) 11111111 11101110 XXXX XXXX XXXX XXXX 11111111 1111 1111 000000
11、00 XXXX 15 XXXX 15条一地址指令(1212位操作码) 1111 11111111 1111 11101110 XXXX XXXX 1111 1111 11111111 1111 1111 00000000 16 16条零地址指令(1616位操作码) 1111 1111 11111111 1111 1111 11111111 思考题:另一种方案思考题:另一种方案1414条三地址指令,条三地址指令,3131条二地址指令,条二地址指令,1515条一地址指条一地址指令令,16,16条零地址指令条零地址指令例例3-1 3-1 设某指令系统的指令字长为设某指令系统的指令字长为1616位,最
12、多可给出三个地址段:位,最多可给出三个地址段: X X、Y Y、Z Z,每个地址字段占,每个地址字段占4 4位,位, 设计一种扩展操作码的方案:设计一种扩展操作码的方案:opXYZ3.2.1 指令格式3、操作码结构16例. 某机为定长指令字结构,指令长度为16位,每个操作数的地址码长6 位,指令分无操作数、单操作数和双操作数三类。若双操作数指令有K条,无操作数指令有L条,为单操作数最多有多少条? 解 (1)设单操作数指令有X条,分析:1)双操作数指令有K条,其最大指令数24条;留有24-K个编码可以扩展到单操作数指令2)单操作数指令有X条,其最大指令数(24-K)26条;留有(24-K)26
13、X个编码可以扩展到无操作数指令3)无操作数指令有:(24-K)26 - X)26 则 (24-K)26 - X)26 = L 即,X (24-K)26 - (L / 26 ) 单操作数指令最多: (24-K)26 - (L / 26 )条。 4 6 63.2.1 指令格式3、操作码结构计算机组成原理计算机组成原理 2009 SCS-SWPU174、 指令字长v(1 1)定字长指令格式: 如NOVANOVA机,所有指令均1616位字长 特点:结构简单,控制方便 适用于精简指令系统(RISC)RISC)v(2 2)可变字长指令格式 通常以字节为单位,有1 1字节、2 2字节、3 3字节等长度的指令
14、; 读取操作码后判断是多少字节长度的指令 适用于复杂指令系统(CISCCISC) 特点:结构灵活,控制复杂 如如 80868086微处理机采用的是微处理机采用的是1-61-6字节的可变字长指令形式字节的可变字长指令形式 3.2.1 指令格式4、指令字长计算机组成原理计算机组成原理 2009 SCS-SWPU183.2.1 指令格式举例源地址OP4 6 6 16 16目的地址存储器地址1存储器地址2OP10 6 16目的地址存储器地址目的地址4 6 6源地址OP 10 6目的地址OP CODE16OP CODE例如:PDP 11指令字长有 16 位、32 位、48 位三种零地址 (16 位)一地
15、址 (16 位)二地址 R R (16 位)二地址 R M (32 位)二地址 M M (48 位)扩展操作码技术计算机组成原理计算机组成原理 2009 SCS-SWPU3.2.1 指令格式举例例如: IBM 360 操作码字段一律都是8位OPR1R2 RR格式8 4 4OPR1XBD RX格式8 4 4 4 12OPR1R3BD RS格式8 4 4 4 12OPBDI SI格式8 8 4 12OPB1D1LB2D2 SS格式8 8 4 12 4 12二地址 R R基址加变址寻址二地址 R M三地址 R M基址寻址二地址 M M 基址寻址基址寻址立即数 M计算机组成原理计算机组成原理 2009
16、 SCS-SWPU201指令的格式2指令的寻址方式3指令的功能和类型3.2 指令信息的表示寻址方式有关概念:寻址方式有关概念: 地址:数据和指令在存贮器(或寄存器)地址:数据和指令在存贮器(或寄存器) 的存放位置的存放位置 指令地址:存放指令的地址指令地址:存放指令的地址 数据地址:存放数据的地址数据地址:存放数据的地址指令地址的形成(指令的寻址方式)指令地址的形成(指令的寻址方式) 顺序:顺序:( ( PC )+1 PC )+1 PC PC 程序执行程序执行 转移:转移地址转移:转移地址 PCPC 3.2.2 常见寻址方式2122 数据地址的形成(数据的寻址方式)数据地址的形成(数据的寻址方
17、式) 数据和程序一样,在存贮器中也是按一数据和程序一样,在存贮器中也是按一定的顺序存放的,但是在程序的执行过程中定的顺序存放的,但是在程序的执行过程中,有的存贮单元的数据可能多次使用,没有,有的存贮单元的数据可能多次使用,没有什么规律可循,不能象指令地址的形成,在什么规律可循,不能象指令地址的形成,在CPUCPU中设置一个程序计数器,这就提出操作中设置一个程序计数器,这就提出操作数地址如何形成?即通常称的寻址方式数地址如何形成?即通常称的寻址方式。 3.2.2 常见寻址方式23 操作数的存放位置操作数的存放位置 : (1 1)操作数在指令中)操作数在指令中( (指令指令) )(2 2)操作数在
18、)操作数在CPUCPU的某个寄存器中(寄存器号)的某个寄存器中(寄存器号)(3 3)操作数在主存储器中(单元地址码)操作数在主存储器中(单元地址码)(4 4)操作数在堆栈区中(堆栈指针)操作数在堆栈区中(堆栈指针SPSP)(5 5)操作数在)操作数在I/OI/O接口的寄存器中(端口地址)接口的寄存器中(端口地址) 根据操作数的存放位置的不同,指令中如何根据操作数的存放位置的不同,指令中如何提供操作数相应的寻址信息?提供操作数相应的寻址信息?3.2.2 常见寻址方式24 寻址方式:指令中如何提供操作数或操作数寻址方式:指令中如何提供操作数或操作数地址(或指令中操作数或操作数地址的表达地址(或指令
19、中操作数或操作数地址的表达方式)方式) 形式地址:形式地址: 指令中给出的地址指令中给出的地址 有效地址(有效地址(EAEA):):将形式地址进行一定将形式地址进行一定 的运算而得到的地址的运算而得到的地址 物理地址:直接访问存贮单元的地址物理地址:直接访问存贮单元的地址 寻址过程:形成操作数地址的过程寻址过程:形成操作数地址的过程3.2.2 常见寻址方式操作码操作码OPOP地址码地址码A A指令格式指令格式:25 一个指令系统采用什么寻址方式,将会直接一个指令系统采用什么寻址方式,将会直接影响到指令的长度和寻址空间,影响指令系统功影响到指令的长度和寻址空间,影响指令系统功能的强弱,以及编制程
20、序时方便灵活的程度。所能的强弱,以及编制程序时方便灵活的程度。所有,这是指令系统的关键问题之一。有,这是指令系统的关键问题之一。 每种机器都有自己的一套寻址方式,不同的每种机器都有自己的一套寻址方式,不同的计算机寻址方式的分类和名称都不统一,常用的计算机寻址方式的分类和名称都不统一,常用的寻址方式有以下几种:寻址方式有以下几种: (1 1)立即寻址)立即寻址 (2 2)直接寻址)直接寻址 (3 3)间接寻址)间接寻址 (4 4)变址寻址)变址寻址 3.2.2 常见寻址方式26形式地址A: 指令字中的地址 有效地址EA : 操作数的真实地址 指令系统可以采用多种寻址方式,指令中如何区别它们,有两
21、种方法:一种方法是由操作码决定其寻址方式,另一种方法是指令中设置寻址方式字段。1. 立即寻址 指令执行阶段不访存 A 的位数限制了立即数的范围形式地址 A操作码OP寻址特征OP # A立即寻址特征立即数 可正可负 补码形式地址 A 就是操作数3.2.2 常见寻址方式272. 直接寻址EA = A操作数主存寻址特征OPAA 执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出3.2.2 常见寻址方式283. 寄存器直接寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征 寄存器个数有限,可缩短指令字长
22、操作数R0RiRn寄存器有效地址即为寄存器编号3.2.2 常见寻址方式294. 主存间接寻址EA =(A) EA由形式地址间接提供OPA寻址特征AEA主存EAA1EA A1主存 EA10 执行指令阶段 2 次访存 可扩大寻址范围 便于编制程序OPA寻址特征A一次间址多次间址操作数操作数多次访存3.2.2 常见寻址方式30EA = ( Ri )5. 寄存器间接寻址 有效地址在寄存器中, 操作数在存储器中,执行阶段访存操作数主存OPRi寻址特征 便于编制循环程序地址EAR0RiRn寄存器有效地址在寄存器中i i 3.2.2 常见寻址方式316.变址寻址(1) 采用专用寄存器作变址寄存器EA = (
23、 RX ) + DRX为变址寄存器OPD操作数主存寻址特征ALURX 可扩大寻址范围 RX 的内容由用户给定 在程序的执行过程中 RX 内容可变,形式地址 D 不变 便于处理数组问题2.3.2 常见寻址方式32(2) 采用通用寄存器作变址寄存器操作数主存ALUOPR0DEA=( R0 )+DR0 作变址寄存器 由用户指定哪个通用寄存器作为变址寄存器通用寄存器R0Rn-1R1 变址寄存器的内容由用户确定 在程序的执行过程中 R0 内容可变,形式地址 D不变2.3.2 常见寻址方式337. 基址寻址(1) 采用专用寄存器作基址寄存器EA = (RB ) + DRB 为基址寄存器OPD操作数主存寻址
24、特征ALURB 可扩大寻址范围 便于程序搬家 RB 内容由操作系统或管理程序确定 在程序的执行过程中 RB 内容不变,形式地址 D 可变2.3.2 常见寻址方式34(2) 采用通用寄存器作基址寄存器操作数主存ALUOPR0DEA=( R0 )+DR0 作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系统确定 在程序的执行过程中 R0 内容不变,形式地址 D 可变2.3.2 常见寻址方式358. 基址加变址方式操作数主存ALUOPR0R1 dEA=(R0)+(R1)+dR0 作基址寄存器R1 作变址寄存器 由用户指定哪个通用寄存器作为基址寄存
25、器和变址寄存器通用寄存器R0Rn-1R1 基址寄存器和变址寄存器的内容由用户确定 在程序的执行过程中 R0 内容不变, R1和d内容可变ALU2.3.2 常见寻址方式369. 相对寻址 EA = ( PC ) + dd 是相对于当前指令的位移量(可正可负,补码) d 的位数决定操作数的寻址范围 程序浮动 广泛用于转移指令操作数寻址特征ALUOPd相对距离 d1000PC主存1000dOP2.3.2 常见寻址方式 与基址寻址的原理相同,基准地址为PC的当前的内容3710. 页面寻址 EA = ( PC ) H, dd 是EA的低位 用于存储器分页管理方式操作数寻址特征ALUOPd=FF1030P
26、C主存1030dOP100000FF10FF2.3.2 常见寻址方式3811. 堆栈寻址(1) 堆栈的特点堆栈硬件堆栈软件堆栈堆栈指令堆栈子程序工作方式:先进后出(一个入出口)栈顶地址: 由堆栈指针(SP) 指示进栈 (或写入) : (SP) 1 SP出栈 (或弹出) : (SP)+ 1 SP2.3.2 常见寻址方式堆栈用于程序调用(子程序的多重调用)和中断处理 00FFHSP 栈顶栈底 FFFFH主存X00FFH0000H 堆栈为”自底向上”生长方式39(2) 寻址举例15200HACCSPX栈顶200H栈底主存151FFHACCSP15栈顶200H栈底主存X1FFHPUSH A 前PUSH
27、 A 后POP A 前POP A 后Y1FFHACCSPX栈顶200H栈底主存151FFH15200HACCSP栈顶200H栈底主存X152.3.2 常见寻址方式40(3) SP 的修改与主存编址方法有关 按 字 编址进栈出栈(SP) 1 SP(SP)+ 1 SP 按 字节 编址存储字长 16 位进栈出栈(SP) 2 SP(SP)+ 2 SP存储字长 32 位进栈出栈(SP) 4 SP(SP)+ 4 SP4112. 隐含寻址操作数地址隐含在操作码中ADDA操作数主存寻址特征AACC暂存ALU另一个操作数隐含在 ACC 中如 8086MUL 指令被乘数隐含在 AX(16位)或 AL(8位)中MO
28、VS 指令源操作数的地址隐含在 SI 中目的操作数的地址隐含在 DI 中 指令字中少了一个地址字段,可缩短指令字长计算机组成原理计算机组成原理 2009 SCS-SWPU421指令的格式2指令的寻址方式3指令的功能和类型3.2 指令信息的表示43RISC 技术技术 CISC CISC(Complex Instruction Set ComputerComplex Instruction Set Computer) 复杂指令系统(或集)计算机复杂指令系统(或集)计算机 RISC RISC(Reduced Instruction Set ComputerReduced Instruction Se
29、t Computer) 精减指令系统(或集)计算机精减指令系统(或集)计算机典型程序中典型程序中 80% 的指令仅仅使用处理机中的指令仅仅使用处理机中 20% 的指令。的指令。执行频度高的简单指令,因复杂指令的存在,执执行频度高的简单指令,因复杂指令的存在,执行速度无法提高。行速度无法提高。能否用能否用 20% 的简单指令组合不常用的的简单指令组合不常用的80% 的指的指令功能?令功能?3.2.3 指令的功能和类型44CISC 的主要特征 指令系统复杂,指令数目一般为200-300条。 指令长度不固定,指令格式多,寻址方式多。 可以访存指令不受限制。 各种指令使用频度相差大。 各种指令执行时间
30、相差大,需多个时钟周期完成。 多数采用微程序控制器。 难以用优化编译生成高效的目标代码程序。 3.1.3 CPU的指令类型45RISC 的主要特征 选用使用频率较高的一些简单指令 复杂指令的功能由简单指令来组合。 指令长度固定。 只有 LOAD / STORE 指令访存。 多个通用寄存器。 组合逻辑实现控制器。 流水技术,一个时钟周期内完成一条指令。 采用优化的编译程序。 3.1.3 CPU的指令类型计算机组成原理计算机组成原理 2009 SCS-SWPU46指令的分类不同的机型,对指令的分类不同,有三种方法:不同的机型,对指令的分类不同,有三种方法:(1 1)按指令格式分类)按指令格式分类
31、单操作数、双操作数、程序转移等单操作数、双操作数、程序转移等(2 2)按操作数寻址方式分类)按操作数寻址方式分类 RRRR型、型、 RXRX型、型、 RSRS型(或型(或RMRM型)、型)、 SI SI型(或型(或MIMI型)、型)、 SSSS型(或型(或MMMM型)等型)等(3 3)按指令功能分类)按指令功能分类 传送指令、传送指令、I/OI/O指令、算术运算指令、逻辑运算指令、算术运算指令、逻辑运算指令、程序控制指令、处理机控制指令等指令、程序控制指令、处理机控制指令等3.2.3 指令的功能和类型471. 传送类指令源地址 目的地址数(1) 规定传送范围例. DJS-100系列: 80X8
32、6: IBM370:R MR M,R RR M,R R,M M设置时需考虑:3.2.3 指令的功能和类型48(2) 指明传送单位例. VAX-11(用操作码说明):80X86(用地址量说明):MOVB 8MOV AX,BX (16)MOVW 16MOVL 32MOV AL,BL (8)MOV EAX,EBX (32)(3) 设置寻址方式 在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。3.2.3 指令的功能和类型492. 访存指令(1)读存储器:LOAD(2)写存储器:STROE(3)弹出:POP(4)压入:PUSH3.2.3 指令的功能和类型50(1 1)主机对外
33、设的寻址方式)主机对外设的寻址方式( (I/OI/O设备的编址方法设备的编址方法) )寻找I/O接口中的寄存器的方式。I/O端口寻找I/O接口中的寄存器的方式。如何为I/O端口分配地址?3.2.3 指令的功能和类型控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器3.输入/输出指令511)单独编址I/O地址空间不占主存空间,可与主存空间重叠。编址到设备:每个设备有各自的设备编码;I/O指令中给出设备码,并指明访问的哪个寄存器。=1 访问存储器=0 访问I/O端口需设置标志区分访问对象,如编址到寄存器:为每个寄存器(I/O端口)分配独立的端口地
34、址;I/O指令中给出端口地址。M/IO2)统一编址3.2.3 指令的功能和类型522)统一编址I/O端口占据部分主存空间。常将存储空间的低端分配给主存单元,高端分配给I/O端口,以示区分。编址到寄存器 1)设置专用I/O指令 针对单独编址,用I/O指令访问I/O端口。 指令中说明I/O操作,并给出设备码或端口地址。 :为每个寄存器(I/O端口)分配总线地址;访问外设时,指令中给出总线地址。(2 2) I/OI/O指令设置方式指令设置方式显式I/O指令3.2.3 指令的功能和类型53例. 80X86I/O指令设置 输入:IN AL,n;端口地址(n) AL(直接端口寻址) IN AL,DX;间接
35、端口地址(DX) AL(间接端口寻址) 输出:OUT n,AL;(AL) n(直接端口寻址) OUT DX,AL;(AL) (DX)(间接端口寻址)3.2.3 指令的功能和类型54 2)用传送指令实现I/O操作 针对统一编址,用传送指令访问I/O端口。不设专用I/O指令。隐式I/O指令 3)通过I/O处理机进行I/O操作两级I/O指令CPU执行简单I/O指令 (启动、停止、查询、清除)I/O处理机执行I/O操作指令 (输入、输出)3.2.3 指令的功能和类型55设置时需考虑操作数类型、符号、进制等;运算结束后设置相应状态标志。(1) 算术运算指令4.算术逻辑运算指令(2) 逻辑运算指令实现对代
36、码位的设置、测试、清除、修改等。与或异或3.2.3 指令的功能和类型(3) 移位指令56控制程序流程。(1) 转移指令5.程序控制指令(2) 转子指令与返回指令转子:操作码 子程序入口无条件转移条件转移循环:操作码 转移地址:操作码 转移地址 转移条件:转移条件为循环计数值返回:操作码 返回地址3.2.3 指令的功能和类型57(3)软中断指令程序自陷指令表示不同的功能调用调试程序早期主要用于程序的调试。现在常常用于系统功能调用。以 INT n 的形式出现在程序中。(4)控制处理机某些功能的指令(5)面向操作系统的一些指令3.2.3 指令的功能和类型581、指令格式如下所示,其中OP为操作码,试
37、分析指令格式特点。4)这种指令结构常用于算术/逻辑类运算指令,执行速度快。1)单字长(16位)二地址指令。2)操作码字段 OP可以指定26=64种基本操作。3)源寄存器和目标寄存器都是通用寄存器(各指定16个), 所以是RR型指令,两个操作数均在通用寄存器中。 指令系统的设计与分析 源寄存器目标寄存器15 10 7 4 3 0 OP问题:操作数是否可以是RS型、SS型?指令格式特点:592、指令格式如下所示,其中OP为操作码,试分析指令格式特点。1)双字长二地址指令,用于访问存储器。2)操作码字段OP为6位,可以指定64种操作。3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由基
38、值寄存器和位移量决定),所以是RS型指令。指令系统的设计与分析 源寄存器基址寄存器15 10 7 4 3 0 OP 位移量 (16位)指令格式特点:3、某计算机字长为16位,主存地址空间大小为128 KB,按字编址。采用单字长指令格式,指令各字段定义如下: 转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如下:Ms / Md 寻址方式 助记符 含义 000B 寄存器直接 Rn 操作数=(Rn) 001B 寄存器间接 (Rn) 操作数=(Rn) 010B 寄存器间接、自增 (Rn)+ 操作数=(Rn), (Rn)+1Rn 011B 相对 D(Rn) 转移目标地址=(PC)+(Rn)注
39、:(x)表示存储器地址x或寄存器x的内容。指令系统的设计与分析 Md Rd15 12 11 源操作数 6 5 目的操作数 0 OP Ms Rs请回答下列问题:(1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位?(2)转移指令的目标地址范围是多少?(3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add (R4), (R5)+
40、”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?指令系统的设计与分析答案 (1)指令系统最多支持16条指令;支持8个通用寄存器;MAR至少为16位;MDR至少为16位。(2)转移指令的目标地址范围为0000HFFFFH。(3)汇编语句“add (R4), (R5)+”,对应的机器码为: 0010 001 100 010 101B=2315H。 add (R4), (R5)+;功能: (R4)+ (R5)=(R5), (R5)+1=R5 ; (1234H)+ (5678H)=5678H+1234H
41、=68ACH=(R5) “add (R4), (R5)+”指令执行后,R5和存储单元5678H的内容会改变。执行后,R5的内容为5679H。内存5678H单元的内容为68ACH。2.3.3 指令的功能和类型4、某计算机主存容量4Mx16位,且存储字长等于指令字长,若指令系统能完成97种操作,操作码位数固定,且有直接、间接、基址、变址、相对、立即等6种寻址方式。(1)设计一地址指令格式并指出各字段的作用;(2)指令直接寻址的最大范围;(3)一次间址和多次间址的寻址范围;(4)立即数的范围;(5)相对寻址的位移量;(6)6种寻址方式的指令,哪一种执行时间最短?哪一种最长?哪一种便于用户编制处理数组
42、问题的程序?哪一种便于程序浮动?(7)如何修改指令格式,使指令的直接寻址范围扩大到4M?指令系统的设计与分析答案 (1)指令格式: (2)直接寻址的最大范围:0 26-1 (3)一次间址的寻址范围:0 216-1 多次间址的寻址范围:0 215-1(4)立即数的范围:-2525-1(5)相对寻址的位移量:-2525-1(6)6种寻址方式的指令,立即寻址执行时间最短,间接寻址执行时间最长,变址寻址便于用户编制处理数组问题的程序,相对寻址便于程序浮动。(7)直接寻址范围扩大到4M的指令格式:222=4M指令系统的设计与分析15 9 8 6 5 0 OP M A15 9 8 6 5 0 OP M A
43、1 A2计算机组成原理计算机组成原理 SWPU65一、单选题1.1.计算机中表示地址时使用( )。 A. A.无符号数无符号数 B. B.原码原码 C.C.反码反码 D.D.补码补码2 2. . 以下四种类型指令中,执行时间最长的是( )( )。 A. RR A. RR型型 B. RSB. RS型型 C. SSC. SS型型 D. RXD. RX型型 3 3. . 设变址寄存器为X X,形式地址为D D,()表示寄存器X X的内容,寻址方式的有效地址为( )( )。 A.EA=(X)+D B.EA=(X)+(D) C.EA=(X)+D) D.EA=(X)+(D) A.EA=(X)+D B.EA
44、=(X)+(D) C.EA=(X)+D) D.EA=(X)+(D)4 4. .指令地址字段中,直接指出操作数本身的寻址,称为( )( )。 A. A.隐含寻址隐含寻址 B.B.立即寻址立即寻址 C.C.寄存器寻址寄存器寻址 D.D.直接寻址直接寻址5.5.某指令系统的指令字长为1616位,每个地址字段占6 6位,用扩展操作码技术。若指令系统具有二地址指令1515条、一地址指令4848条,则最多有( )条零地址指令。 A.64 B.256 C.1024 D.2048 A.64 B.256 C.1024 D.2048计算机组成原理计算机组成原理 SWPU666.6.为了缩短指令中某地址段的位数,有
45、效的方法是采用( )。 A. A.立即寻址立即寻址 B. B.变址寻址变址寻址 C.C.间接寻址间接寻址 D.D.寄存器寻址寄存器寻址7.7.以下几种寻址方式中,( )方式取操作数最快。 A. A.直接寻址直接寻址 B. B.变址寻址变址寻址 C.C.间接寻址间接寻址 D.D.寄存器直接寻址寄存器直接寻址8.8.先计算后再访问内存的寻址方式是( )。 A. A.立即寻址立即寻址 B. B.直接寻址直接寻址 C.C.间接寻址间接寻址 D.D.变址寻址变址寻址9.9.以下几种寻址方式中,( )方式对实现程序浮动提供支持。 A. A.基址寻址基址寻址 B. B.变址寻址变址寻址 C.C.间接寻址间接
46、寻址 D.D.相对寻址相对寻址1 10 0. .指令系统中采用不同寻址方式的目的主要是( )( )。 A. A.实现存储程序和程序控制实现存储程序和程序控制 B. B.缩短指令长度,扩大寻址空间,提高编程灵活性缩短指令长度,扩大寻址空间,提高编程灵活性 C. C.可以直接访问外存可以直接访问外存 D. D.提供扩展操作码的可能并降低指令译码难度提供扩展操作码的可能并降低指令译码难度计算机组成原理计算机组成原理 SWPU6711.11.能改变程序执行顺序的是( )指令。 A. A.数据传送数据传送 B. B.移位操作移位操作 C. C.输入输出输入输出 D. D.转移转移12.12.在堆栈中,保
47、持不变的是( )。 A. A.栈顶 B. B.栈底 C.C.堆栈指针 D.D.栈中的数据13.13.数据传送类指令不包括( )。 A.RR A.RR型型 B.RS B.RS型型 C.SSC.SS型型 D.SID.SI型型1 14 4. .目前的计算机,从原理上讲( )( )。 A. A. 指令以二进制形式存放,数据以十进制形式存放指令以二进制形式存放,数据以十进制形式存放 B. B. 指令以十进制形式存放,数据以二进制形式存放指令以十进制形式存放,数据以二进制形式存放 C. C. 指令和数据都以二进制形式存放指令和数据都以二进制形式存放 D. D. 指令和数据都以十进制形式存放指令和数据都以十
48、进制形式存放15.15.设指令字长为1616位,存储器按字节编,CPU CPU 读取一条单字长指令后,PCPC值自动加( )。 A.1 B.2 C.4 D.0 A.1 B.2 C.4 D.0计算机组成原理计算机组成原理 SWPU68一、单选题1.1.计算机中表示地址时使用( A A )。 A. A.无符号数无符号数 B. B.原码原码 C.C.反码反码 D.D.补码补码2 2. . 以下四种类型指令中,执行时间最长的是( C )( C )。 A. RR A. RR型型 B. RSB. RS型型 C. SSC. SS型型 D. RXD. RX型型 3 3. . 设变址寄存器为X X,形式地址为D D,()表示寄存器X X的内容,寻址方式的有效地址为(A )(A )。 A.EA=(X)+D B.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论