计算机组成原理第8章课后题作业答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU的结构和功能
第 八 章
作业题: 2,7,8,11,12,17,18, 23,24,25,26,27
2. 什么是指令周期?指令周期是否有 一个固定值?为什么? 解:指令周期是指一条指令从开始取 指令直到指令执行完这段时间。 由于计算机中各种指令执行所需的时 间差异很大,因此为了提高CPU运行效率, 即使在同步控制的机器中,不同指令的指 令周期长度都是不一致的,也就是说指令 周期对于不同的指令来说不是一个固定值。 讨论:指令周期长度不一致的根本原 因在于设计者,为了提高CPU运行效率而 这样安排的,与指令功能不同及指令实际 执行时间不同没有什么必然关系。
程序 L4服务 L3服务 L2服务 L1服务 L0服务 现行程序 L0 、 L1 、 L2 、 L3 、 L4 同时请求
t
26. 设某机配有A、B、C三台设备, 其优先级按A→B→C降序排列,为改 变中断处理次序,它们的中断屏蔽字 设置如下:
设备 A B C 屏蔽字 111 010 011
请按下图所示时间轴给出的设备 请求中断的时刻,画出CPU执行程序 的轨迹。设A、B、C中断服务程序的 执行时间均为20s。
解: CPU执行程序的轨迹图如下:
A服务 B服务 C服务
现行程序 0 10 A请求
20
B请求 C请求
30
40
50
60
70
80
90
t(µ s)
这是一个多重中断的程序运行轨迹,图中忽略了 中断响应时间。
主要注意问题:1)轨迹的连续性;2)程序的转出、 返回轨迹及时刻; 3)现行程序在坐标系中的位置。
INT标记目前是否正在运行中断程序; (INT标记在运行中断程序时已不存在) INT表示处于中断状态中; (INT并不是在整个中断过程中都存在) INT判断中断过程中是否接受其它中 断请求,INT=0时,开中断,允许中断嵌 套; (INT标记与中断嵌套技术没有任何关系。 它不能表示出中断过程中是否接受其它 中断请求,INT=0也不表示开中断) EINT判断CPU是否响应中断请求; (CPU根据EINT状态决定是否响应中断请 求)
当CPU响应中断时,EINT置1; (当EINT=1时,允许CPU响应中断) EINT确保CPU响应中断后,不受新 的中断干扰; (CPU响应中断在先,进入中断周期后 才使EINT=0,仅在单重中断时,整个中 断过程保持EINT=0,不接受新的中断请 求) EINT表示中断隐指令,INT起关中 断作用; (把EINT和INT的作用搞反了) INTR=1,判断哪个中断源有请求; (INTR对中断源的请求进行登记,当 INTR=1时,表示有请求)
7. 答案见课本第346页 系统的并行性。 粗粒度并行和细粒度并行的区 别。
8.答案见课本第346-347页 指令流水,二级流水示意图见 课本图8.14。
11.解: (1) 流水线的时钟周期应取完 成各步操作的时间中最大的即 90ns (2) 若相邻的指令发生数据相 关,则第2条指令的ID应在第1 条指令的WR之后,即应该推 迟两个时钟周期:90ns*2=180ns (3) 可采取定向技术,又称为 旁路技术。(P351)
17. 在中断系统中,INTR、INT、 EINT这三个触发器各有何作用? 解:INTR——中断请求触发器,用 来登记中断源发出的随机性中断请求信号, 以便为CPU查询中断及中断排队判优线路 提供稳定的中断请求信号; EINT——中断允许触发器,CPU中 的中断总开关。当EINT=1时,表示允许 中断(开中断),当EINT=0时,表示禁 止中断(关中断)。其状态可由开、关中 断等指令设置; INT——中断标记触发器,控制器时 序系统中周期状态分配电路的一部分,表 示中断周期标记。当INT=1时,进入中断 周期,执行中断隐指令的操作。
解: CPU执行程序的轨迹图见下页:
CPU执行程序的轨迹图
程序
1服务 2服务 3服务 现行程序
0
τ ①②
2τ
③
3τ
②①
4τ
5τ
6τ百度文库
t
屏
中
断
L0 L1 L2 L3 L4
源
0
1 1 1 0 1
1
0 1 0 0 0
蔽 2 0 1 1 0 1
字 3 1 1 1 1 1
4
0 1 0 0 1
表中:设屏蔽位=1表示屏蔽,屏蔽 位=0表示中断开放。 为了使所有中断都能得到及时响应, 现行程序的中断屏蔽字一般设为全开放 (全0)状态。 讨论:按照修改过的优先次序,当 五个中断请求信号同时到来时,CPU中 断处理过程如下图: 图中括号内为各程序的屏蔽码。 注意:中断屏蔽码的判优作用体现 在对低级中断请求的屏蔽上,对于多个 同时到来的高级中断请求信号之间则只 有开放作用,没有判优作用。此时还需 依赖硬件排队线路完成进一步的判优。
A服务 B服务 C服务 D服务 现行程序
B与C请求
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 t(µ s)
D请求 B请求 A请求
这是一个多重中断的程序运行轨迹,图中忽略 了中断响应时间。
25. 设某机有五个中断源L0、L1、L2、 L3、L4, 按中断响应的优先次序由高向低排序为L0L1 L2 L3 L4,现要求中断处理次序改为L1L4 L2 L0 L3,根据下面的格式,写出各中断源的屏蔽字。 解:各中断源屏蔽状态见下表:
讨论: 回答时首先应给出该触发器的中文名 称,然后说明其主要作用。 当进入中断周期时,INT=1; (INT=1时,进入中断周期) INT与EINT配合使用以实现关中断功 能,即INT=1,反相后使EINT=0; (关中断并不是INT的主要功能,进入中 断周期后要执行中断隐指令的全部三个功 能) INT表示自愿中断,完成系统调用; (尽管INT触发器的英文缩写与INT指令 助记符完全相同,但它们一个是硬件设置, 一个是软中断指令,其作用完全不同)
讨论:当从B中断转到C中断时,不返回现行程序, 下述程序运行轨迹是错误的:
A服务
B服务 C服务 现行程序 0 10 A请求
20 30
B请求 C请求
40 50
60 70 80 90 t(µ s)
注意现行程序的运行轨迹在横坐标上,即此程序 运行轨迹是相对于现行程序而言的。
27. 设某机有3个中断源,其优先级 按1→2→3降序排列。假设中断处理时 间均为τ,在下图所示的时间内共发生5 次中断请求,图中①表示1级中断源发 出中断请求信号,其余类推,画出CPU 执行程序的轨迹。
12.解:由题意可知,时钟周期应取 10ns,即∆t=10ns, 指令条数n=12,指令 流水段数m=5,于是得,采用流水线需 时间 T=m*∆t+(n-1) ∆t=(m+n-1) ∆t =(5+12-1) *10ns=160ns 等效的非流水线需时间 T' =12*(10+8+10+10+7)ns=540ns 故加速比为 SP = T' /T=540ns/160ns=3.375 实际吞吐率为 TP =n/T=12/160ns=7.5*107 条指令/秒
现行程序(00000)
五级中断请求同时到来。 L0中断服务(10010)
保存现场 开中断 L1中断服务(11111)
L3中断服务 (00010)
执行一 条指令
中断返回
执行一条指令
L2中断服务(10110)
L4中断服务 (10111)
中断返回 关中断 恢复现场 中断返回 中断返回 中断返回
中断处理过程示意图(画法二:时空图表示)
18.答案见于课本第363页 中断隐指令及其功能
23. 答案见于课本第364页 保护现场的任务及其实现
24. 现有A、B、C、D四个中断源,其优先级由高 向低按A→B→C→D顺序排列。若中断服务程序的执 行时间为20µ s,请根据下图所示时间轴给出的中断源 请求中断的时刻,画出CPU执行程序的轨迹。 解: CPU执行程序的轨迹图如下:
第 八 章
作业题: 2,7,8,11,12,17,18, 23,24,25,26,27
2. 什么是指令周期?指令周期是否有 一个固定值?为什么? 解:指令周期是指一条指令从开始取 指令直到指令执行完这段时间。 由于计算机中各种指令执行所需的时 间差异很大,因此为了提高CPU运行效率, 即使在同步控制的机器中,不同指令的指 令周期长度都是不一致的,也就是说指令 周期对于不同的指令来说不是一个固定值。 讨论:指令周期长度不一致的根本原 因在于设计者,为了提高CPU运行效率而 这样安排的,与指令功能不同及指令实际 执行时间不同没有什么必然关系。
程序 L4服务 L3服务 L2服务 L1服务 L0服务 现行程序 L0 、 L1 、 L2 、 L3 、 L4 同时请求
t
26. 设某机配有A、B、C三台设备, 其优先级按A→B→C降序排列,为改 变中断处理次序,它们的中断屏蔽字 设置如下:
设备 A B C 屏蔽字 111 010 011
请按下图所示时间轴给出的设备 请求中断的时刻,画出CPU执行程序 的轨迹。设A、B、C中断服务程序的 执行时间均为20s。
解: CPU执行程序的轨迹图如下:
A服务 B服务 C服务
现行程序 0 10 A请求
20
B请求 C请求
30
40
50
60
70
80
90
t(µ s)
这是一个多重中断的程序运行轨迹,图中忽略了 中断响应时间。
主要注意问题:1)轨迹的连续性;2)程序的转出、 返回轨迹及时刻; 3)现行程序在坐标系中的位置。
INT标记目前是否正在运行中断程序; (INT标记在运行中断程序时已不存在) INT表示处于中断状态中; (INT并不是在整个中断过程中都存在) INT判断中断过程中是否接受其它中 断请求,INT=0时,开中断,允许中断嵌 套; (INT标记与中断嵌套技术没有任何关系。 它不能表示出中断过程中是否接受其它 中断请求,INT=0也不表示开中断) EINT判断CPU是否响应中断请求; (CPU根据EINT状态决定是否响应中断请 求)
当CPU响应中断时,EINT置1; (当EINT=1时,允许CPU响应中断) EINT确保CPU响应中断后,不受新 的中断干扰; (CPU响应中断在先,进入中断周期后 才使EINT=0,仅在单重中断时,整个中 断过程保持EINT=0,不接受新的中断请 求) EINT表示中断隐指令,INT起关中 断作用; (把EINT和INT的作用搞反了) INTR=1,判断哪个中断源有请求; (INTR对中断源的请求进行登记,当 INTR=1时,表示有请求)
7. 答案见课本第346页 系统的并行性。 粗粒度并行和细粒度并行的区 别。
8.答案见课本第346-347页 指令流水,二级流水示意图见 课本图8.14。
11.解: (1) 流水线的时钟周期应取完 成各步操作的时间中最大的即 90ns (2) 若相邻的指令发生数据相 关,则第2条指令的ID应在第1 条指令的WR之后,即应该推 迟两个时钟周期:90ns*2=180ns (3) 可采取定向技术,又称为 旁路技术。(P351)
17. 在中断系统中,INTR、INT、 EINT这三个触发器各有何作用? 解:INTR——中断请求触发器,用 来登记中断源发出的随机性中断请求信号, 以便为CPU查询中断及中断排队判优线路 提供稳定的中断请求信号; EINT——中断允许触发器,CPU中 的中断总开关。当EINT=1时,表示允许 中断(开中断),当EINT=0时,表示禁 止中断(关中断)。其状态可由开、关中 断等指令设置; INT——中断标记触发器,控制器时 序系统中周期状态分配电路的一部分,表 示中断周期标记。当INT=1时,进入中断 周期,执行中断隐指令的操作。
解: CPU执行程序的轨迹图见下页:
CPU执行程序的轨迹图
程序
1服务 2服务 3服务 现行程序
0
τ ①②
2τ
③
3τ
②①
4τ
5τ
6τ百度文库
t
屏
中
断
L0 L1 L2 L3 L4
源
0
1 1 1 0 1
1
0 1 0 0 0
蔽 2 0 1 1 0 1
字 3 1 1 1 1 1
4
0 1 0 0 1
表中:设屏蔽位=1表示屏蔽,屏蔽 位=0表示中断开放。 为了使所有中断都能得到及时响应, 现行程序的中断屏蔽字一般设为全开放 (全0)状态。 讨论:按照修改过的优先次序,当 五个中断请求信号同时到来时,CPU中 断处理过程如下图: 图中括号内为各程序的屏蔽码。 注意:中断屏蔽码的判优作用体现 在对低级中断请求的屏蔽上,对于多个 同时到来的高级中断请求信号之间则只 有开放作用,没有判优作用。此时还需 依赖硬件排队线路完成进一步的判优。
A服务 B服务 C服务 D服务 现行程序
B与C请求
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 t(µ s)
D请求 B请求 A请求
这是一个多重中断的程序运行轨迹,图中忽略 了中断响应时间。
25. 设某机有五个中断源L0、L1、L2、 L3、L4, 按中断响应的优先次序由高向低排序为L0L1 L2 L3 L4,现要求中断处理次序改为L1L4 L2 L0 L3,根据下面的格式,写出各中断源的屏蔽字。 解:各中断源屏蔽状态见下表:
讨论: 回答时首先应给出该触发器的中文名 称,然后说明其主要作用。 当进入中断周期时,INT=1; (INT=1时,进入中断周期) INT与EINT配合使用以实现关中断功 能,即INT=1,反相后使EINT=0; (关中断并不是INT的主要功能,进入中 断周期后要执行中断隐指令的全部三个功 能) INT表示自愿中断,完成系统调用; (尽管INT触发器的英文缩写与INT指令 助记符完全相同,但它们一个是硬件设置, 一个是软中断指令,其作用完全不同)
讨论:当从B中断转到C中断时,不返回现行程序, 下述程序运行轨迹是错误的:
A服务
B服务 C服务 现行程序 0 10 A请求
20 30
B请求 C请求
40 50
60 70 80 90 t(µ s)
注意现行程序的运行轨迹在横坐标上,即此程序 运行轨迹是相对于现行程序而言的。
27. 设某机有3个中断源,其优先级 按1→2→3降序排列。假设中断处理时 间均为τ,在下图所示的时间内共发生5 次中断请求,图中①表示1级中断源发 出中断请求信号,其余类推,画出CPU 执行程序的轨迹。
12.解:由题意可知,时钟周期应取 10ns,即∆t=10ns, 指令条数n=12,指令 流水段数m=5,于是得,采用流水线需 时间 T=m*∆t+(n-1) ∆t=(m+n-1) ∆t =(5+12-1) *10ns=160ns 等效的非流水线需时间 T' =12*(10+8+10+10+7)ns=540ns 故加速比为 SP = T' /T=540ns/160ns=3.375 实际吞吐率为 TP =n/T=12/160ns=7.5*107 条指令/秒
现行程序(00000)
五级中断请求同时到来。 L0中断服务(10010)
保存现场 开中断 L1中断服务(11111)
L3中断服务 (00010)
执行一 条指令
中断返回
执行一条指令
L2中断服务(10110)
L4中断服务 (10111)
中断返回 关中断 恢复现场 中断返回 中断返回 中断返回
中断处理过程示意图(画法二:时空图表示)
18.答案见于课本第363页 中断隐指令及其功能
23. 答案见于课本第364页 保护现场的任务及其实现
24. 现有A、B、C、D四个中断源,其优先级由高 向低按A→B→C→D顺序排列。若中断服务程序的执 行时间为20µ s,请根据下图所示时间轴给出的中断源 请求中断的时刻,画出CPU执行程序的轨迹。 解: CPU执行程序的轨迹图如下: