ImageVerifierCode 换一换
格式:PDF , 页数:8 ,大小:187.67KB ,
资源ID:3176712      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3176712.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理第8章习题指导.pdf)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理第8章习题指导.pdf

1、计算机组成原理第 8 章习题 1第 8 章 CPU 的结构和功能 例例 8.1 假设指令流水线分取指(IF)、译码(ID)、执行(EX)、回写(WR)四个过程段,共有 10条指令连续输入此流水线。(1)画出指令周期流程。(2)画出非流水线时空图。(3)画出流水线时空图。(4)假设时钟周期为 100ns,求流水线的实际吞吐率。(5)求该流水处理器的加速比。解:(1)根据指令周期包括 IF、ID、EX、WR 四个子过程,图 8.1(a)为指令周期流程图。(2)非流水线时空图如图 8.1(b)所示。假设一个时间单位为一个时钟周期,则每隔 4 个时钟周期才有一个输出结果。(3)流水线时空图如图 8.1

2、(c)所示。由图可见,第一条指令出结果需要 4 个时钟周期。当流水线满载时,以后每一个时钟周期可以出一个结果,即执行完一条指令。(a)指令周期流程 (b)非流水线时空图 (c)标准流水线时空图 图 8.1 例 8.1 答图(4)由图 8.1(c)所示的 10 条指令进入流水线的时空图可见,在 13 个时钟周期结束时,CPU入 IF ID EXWRI6 I7 I8 I9 I10I3 I2 910 11 12 13I5I1 空间 S 时间 T 876 5 4 3 21 IFID EX WR I4I2 I1 空间 S时间 T 876543 2 1 IFID EX WR 计算机组成原理第 8 章习题

3、2执行完 10 条指令,故实际吞吐率为:10/(100ns 13)0.77107条指令/秒(5)在流水处理器中,当任务饱满时,指令不断输入流水线,不论是几级流水线,每隔一个时钟周期都输出一个结果。对于本题四级流水线而言,处理 10 条指令所需的时钟周期数为 T4=4+(10 1)=13。而非流水线处理 10 条指令需 410=40 个时钟周期。故该流水处理器的加速比为 40 13 3.08 例例 8.2 设某机有四个中断源 1、2、3、4,其硬件排队优先次序按 12 34 降序排列,各中断源的服务程序中所对应的屏蔽字如表 8.1 所示。表 8.1 例 8.2 各中断源对应的屏蔽字 中断源 屏蔽

4、字 1 2 3 4 1 1 1 0 1 2 0 1 0 0 3 1 1 1 1 4 0 1 0 1(1)给出上述四个中断源的中断处理次序。(2)若四个中断源同时有中断请求,画出 CPU 执行程序的轨迹。解:(1)根据表 8.1,四个中断源的处理次序是 3142。(2)当四个中断源同时有中断请求时,由于硬件排队的优先次序是 1234,故 CPU 先响应 1 的请求,执行 1 的服务程序。由于在该服务程序中设置了屏蔽字 1101,故开中断指令后转去执行 3 服务程序,且 3 服务程序执行结束后又回到 1 服务程序。1 服务程序结束后,CPU 还有 2、4 两个中断源请求未响应。由于 2 的响应优先

5、级高于 4,故 CPU 先响应 2 的请求,执行 2 服务程序。在 2 服务程序中由于设置了屏蔽字 0100,意味着 1、3、4 可中断 2 服务程序。而 1,3 的请求已处理结束,因此在开中断指令之后转去执行 4 服务程序,4 服务程序执行结束后又回到 2 服务程序的断点处,继续执行 2 服务程序,直至该程序执行结束。图 8.2 示意了 CPU 执行程序的轨迹。图 8.2 例 8.2CPU 执行程序的轨迹 例例 8.3 假设主机框图如图 8.3 所示,各部分之间的连线表示数据通路,箭头表示信息传送方向。(1)标明图中 X、Y、Z、W 四个寄存器的名称。(2)简述取指令的数据通路。(3)简述取

6、数指令和存数指令执行阶段的数据通路。程序 4 程序 3 程序 2 程序 1 t 1、2、3、4 同时请求中断 服务程序 计算机组成原理第 8 章习题 3 图 8.3 例 8.3 主机框图 解:(1)图中 X 为存储器数据寄存器 MDR,Y 为存储器地址寄存器 MAR,Z 为指令寄存器 IR,W 为程序计数器 PC。(2)取指令的数据通路是:W Y M X Z。(3)取数指令是将指令地址码字段指出的存储单元的内容读到 AC 中。由于图中 X(MDR)与 AC 无直接通路,要经过 ALU 实现数据传送,故执行阶段的数据通路是:X(或 Z)Y M X ALU AC。存数指令是将 AC 的内容存入指令

7、地址码字段指出的存储单元中,其执行阶段的数据通路是先置地址 X(或 Z)Y M,然后 AC X M。例例 8.4 设 CPU 内有下列部件:PC、IR、SP、AC、MAR、MDR 和 CU,要求:(1)写出完成间接寻址的取数指令 LDA X(将主存某单元的内容取至 AC 中)的信息流。(2)画出中断周期的信息流,并简要说明。解:(1)完成间接寻址的取数指令包括取指、间址和执行三个阶段。取指阶段的信息流 PC MAR 地址线 CU 发出读存储器命令 M 数据线 MDR IR 至此指令读至 IR OP(IR)CU 指令操作码送 CU 分析(PC)+1 PC 形成下一条指令地址 间址阶段的信息流 M

8、DR(或 IR)的地址码字段 MAR 地址线 CU 发出读存储器命令 CPU+1主存储器 M X Y Z W 状态寄存器 ALU AC CU+1计算机组成原理第 8 章习题 4M 数据线 MDR 至此有效地址读至 MDR 执行阶段的信息流 MDR MAR 地址线 CU 发出读存储器命令 M 数据线 MDR AC 至此数据读至 AC 中(2)中断周期的信息流 在中断周期内需将程序断点(在 PC 中)保存起来,通常把断点存入堆栈。假设进栈操作是先修改堆栈指针,后存入数据,则中断周期的信息流如图 8.4 所示。具体可描述为:CU 控制 (SP)1 SP MAR 地址线 CU 发出写存储器命令 PC

9、MDR 数据线 存储器 CU 将向量地址(硬件向量法)或中断识别程序入口地址(软件查询法)PC MDR CU MAR CPU PC 存储器 数据总线控制总线地址总线 图8.4 例8.4中断周期信息流 例例 8.5 流水线中有三类数据相关冲突:写后读相关(Read After Write,RAW),读后写相关(Write After Read,WAR),写后写相关(Write After Write,WAW)。判断下面三组指令各存在哪种类型的数据相关。(1)I1 SUB R1,R2,R3 ;(R2)(R3)R1 I2 ADD R4,R5,R1 ;(R5)+(R1)R4(2)I3 STA M,R2

10、 ;(R2)M,M 为存储单元 I4 ADD R2,R4,R5 ;(R4)+(R5)R2(3)I5 MUL R3,R2,R1 ;(R2)(R1)R3 I6 SUB R3,R4,R5 ;(R4)(R5)R3 解:在第(1)组指令中,I1指令运算结果应先写入 R1,然后在 I2指令中读出 R1内容。由于 I2指令进入流水线,使得 I2指令在 I1指令写入 R1前就读出 R1的内容,发生 RAW 相关。在第(2)组指令中,I3指令应先读出 R2内容并存入存储器单元 M 中,然后 I4指令中将运算结果计算机组成原理第 8 章习题 5写入 R2中。但由于 I4指令进入流水线,使得 I4指令在 I3指令读

11、出 R2之前就写入 R2,发生 WAR 相关。在第(3)组指令中,如果 I6指令减法运算完成时间早于 I5指令的乘法运算时间,使得 I6指令在I5指令写入 R3之前就写入 R3,导致 R3内容错误,发生 WAW 相关。例例 8.6 假设指令流水线分取指令(IF),指令译码/读寄存器(ID),执行/有效地址计算(EX),存储器访问(MEM),结果寄存器写回(WB)五个过程段。现有下列指令序列进入该流水线。ADD R1,R2,R3 ;(R2)+(R3)R1 SUB R4,R1,R5 ;(R1)(R5)R4 AND R6,R1,R7 ;(R1)AND(R7)R6 OR R8,R1,R9 ;(R1)O

12、R(R9)R8 XOR R10,R1,R11 ;(R1)XOR(R11)R10 试问:(1)如果处理器不对指令之间的数据相关进行特殊处理,而允许这些指令进入流水线,试问上述指令中哪些指令将从未准备好数据的 R1寄存器中取到错误的操作数?(2)假如采用将相关指令延迟到所需操作数被写回到寄存器后再执行的方式,以解决数据相关的问题,那么处理器执行该指令序列需占多少个时钟周期?解:(1)由上述指令序列可见,ADD 指令后的所有指令都用到 ADD 指令的计算结果。表 8.2(a)列出了未采用特殊处理的流水线示意,表中ADD指令在WB段才将计算结果写入寄存器R1中,但SUB指令在其 ID 段就要从寄存器

13、R1中读取该计算结果。同样 AND 指令、OR 指令也将受到这种相关关系的影响。ADD 指令只有到第五个时钟周期末尾才能结束对寄存器 R1的写操作,使 XOR 指令可以正常操作,因为它在第六个时钟周期才读寄存器 R1的内容。表8.2(a)未对数据相关进行特殊处理的流水线 时钟周期 1 2 3 4 5 6 7 8 9 ADD IF ID EX MEMWB SUB IF ID EX MEMWB AND IF ID EX MEMWB OR IF ID EX MEMWB XOR IF ID EX MEM WB(2)表 8.2(b)列出了对这些指令之间数据相关进行特殊处理的流水示意。由此表可见,从第一条

14、指令进入流水线到最后一条指令出结果,共需 12 个时钟周期。计算机组成原理第 8 章习题 6表8.2(b)对数据相关进行特殊处理的流水线 时钟 周期 1 2 3 4 5 67 8 9 10 11 12 ADD IF ID EX MEM WB SUB IF IDEXMEMWB AND IF IDEX MEMWB OR IF ID EX MEMWB XOR IF ID EX MEM WB 例例 8.7 回答下列问题:(1)一个完整的指令周期包括哪些 CPU 工作周期?(2)中断周期前和中断周期后各是 CPU 的什么工作周期?(3)DMA 周期前和 DMA 周期后各是 CPU 的什么工作周期?解:(

15、1)一个完整的指令周期包括取指周期、间址周期、执行周期和中断周期。其中取指和执行周期是每条指令都有的。间址周期只有间接寻址(存储器间接寻址)的指令才有。中断周期只有在条件满足时才有。(2)中断周期前是执行周期,中断周期后是取指周期。(3)DMA 周期前可以是取指周期、执行(取数和存数)周期或中断周期,DMA 周期后也可以是取指周期、执行(取数或存数)周期或中断周期。总之,DMA 周期前后都是存取周期。例例 8.8 判断下列叙述是否正确,并对有错的句子加以修改。(1)一个更高级的中断请求一定可以中断另一个正在执行的中断处理程序。(2)所谓关中断就是屏蔽所有的中断源。(3)一旦有中断请求出现,CP

16、U 立即停止当前指令的执行,转去执行中断服务程序。(4)为了保证中断服务程序执行后能正确返回到被中断的程序断点处继续执行程序,必须进行现场保护。(5)中断级别最高的是不可屏蔽中断。(6)CPU 响应中断后,由用户通过关中断指令置“0”允许中断触发器。(7)在多重中断系统中,CPU 响应中断后可以立即响应更高优先级的中断请求。(8)CPU 响应中断时暂停当前程序的运行,自动转去执行中断服务程序。解:上述句子中,(4)、(8)正确,其余有错,修改如下:(1)如果 CPU 处于关中断状态(允许中断触发器 EINT=0),或者更高级的中断源被屏蔽,则优先级高的中断源就不能中断另一个正在执行的中断处理程序。(2)关中断是指允许中断触发器 EINT=0,CPU 不允许响应任何中断,这和屏蔽中断源是两个概念。(3)一旦有中断请求出现,CPU 必须执行完当前指令后才能转去受理中断请求(如果允许中断触发器为“1”)。(5)级别最高的中断不一定是不可屏蔽中断,这与机器的设计有关。例如 8086/8088 中,内部中计算机组成原理第 8 章习题 7断的优先级比不可屏蔽中断的级别更高。(6)CPU 响应中断后

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1