1、CPU结构和功效结构和功效第第 八八 章章第1页|作业题:|2,7,8,11,12,17,18,23,24,25,26,27第2页 2.2.什么是什么是什么是什么是指令周期指令周期指令周期指令周期?指令周期是否有?指令周期是否有?指令周期是否有?指令周期是否有一个一个一个一个固定值固定值固定值固定值?为何?为何?为何?为何?解:指令周期是指一条指令从解:指令周期是指一条指令从解:指令周期是指一条指令从解:指令周期是指一条指令从开始取开始取开始取开始取指令直到指令执行完指令直到指令执行完指令直到指令执行完指令直到指令执行完这段时间。这段时间。这段时间。这段时间。因为计算机中各种指令执行所需时间因
2、为计算机中各种指令执行所需时间因为计算机中各种指令执行所需时间因为计算机中各种指令执行所需时间差异很大,所以差异很大,所以差异很大,所以差异很大,所以为了提升为了提升为了提升为了提升CPUCPU运行效率运行效率运行效率运行效率,即使在即使在即使在即使在同时控制同时控制同时控制同时控制机器中,不一样指令指令机器中,不一样指令指令机器中,不一样指令指令机器中,不一样指令指令周期长度都是周期长度都是周期长度都是周期长度都是不一致不一致不一致不一致,也就是说指令周期,也就是说指令周期,也就是说指令周期,也就是说指令周期对于不一样指令来说对于不一样指令来说对于不一样指令来说对于不一样指令来说不是一个固定
3、值不是一个固定值不是一个固定值不是一个固定值。讨论:讨论:讨论:讨论:指令周期长度不一致指令周期长度不一致指令周期长度不一致指令周期长度不一致根本原因根本原因根本原因根本原因在于设计者,为了提升在于设计者,为了提升在于设计者,为了提升在于设计者,为了提升CPUCPU运行效率而这运行效率而这运行效率而这运行效率而这么安排,与么安排,与么安排,与么安排,与指令功效不一样指令功效不一样指令功效不一样指令功效不一样及及及及指令实际执指令实际执指令实际执指令实际执行时间不一样行时间不一样行时间不一样行时间不一样没有什么必定关系没有什么必定关系没有什么必定关系没有什么必定关系。第3页|7.答案见书本第34
4、6页|系统并行性。|粗粒度并行和细粒度并行区分。|8.答案见书本第346-347页|指令流水,二级流水示意图见书本图8.14。第4页|11.解:|(1)流水线时钟周期应取完成各步操作时间中最大即90ns|(2)若相邻指令发生数据相关,则第2条指令ID应在第1条指令WR之后,即应该推迟两个时钟周期:90ns*2=180ns|(3)可采取定向技术,又称为旁路技术。(P351)第5页|12.解:由题意可知,时钟周期应取10ns,即t=10ns,指令条数n=12,指令流水段数m=5,于是得,采取流水线需时间 T=m*t+(n-1)t=(m+n-1)t =(5+12-1)*10ns=160ns 等效非流
5、水线需时间 T=12*(10+8+10+10+7)ns=540ns故加速比为 SP =T/T=540ns/160ns=3.375实际吞吐率为 TP =n/T=12/160ns=7.5*107 条指令/秒第6页 17.17.在中止系统中,在中止系统中,在中止系统中,在中止系统中,INTRINTR、INTINT、EINTEINT这三个触发器各有何作用?这三个触发器各有何作用?这三个触发器各有何作用?这三个触发器各有何作用?解:解:解:解:INTRINTR中止请求触发器,中止请求触发器,中止请求触发器,中止请求触发器,用用用用来来来来登记登记登记登记中止源发出随机性中止请求信号,中止源发出随机性中止
6、请求信号,中止源发出随机性中止请求信号,中止源发出随机性中止请求信号,方便为方便为方便为方便为CPUCPU查询中止及中止排队判优线路查询中止及中止排队判优线路查询中止及中止排队判优线路查询中止及中止排队判优线路提供提供提供提供稳定稳定稳定稳定中止请求信号;中止请求信号;中止请求信号;中止请求信号;EINTEINT中止允许触发器,中止允许触发器,中止允许触发器,中止允许触发器,CPUCPU中中中中中止总开关中止总开关中止总开关中止总开关。当。当。当。当EINT=1EINT=1时,表示允许中时,表示允许中时,表示允许中时,表示允许中止(开中止),当止(开中止),当止(开中止),当止(开中止),当E
7、INT=0EINT=0时,表示禁止时,表示禁止时,表示禁止时,表示禁止中止(关中止)。其状态可由开、关中止中止(关中止)。其状态可由开、关中止中止(关中止)。其状态可由开、关中止中止(关中止)。其状态可由开、关中止等指令设置;等指令设置;等指令设置;等指令设置;INTINT中止标识触发器,中止标识触发器,中止标识触发器,中止标识触发器,控制器控制器控制器控制器时时时时序系统序系统序系统序系统中周期状态分配电路一部分,表示中周期状态分配电路一部分,表示中周期状态分配电路一部分,表示中周期状态分配电路一部分,表示中止周期标识中止周期标识中止周期标识中止周期标识。当。当。当。当INT=1INT=1时
8、,进入中止周时,进入中止周时,进入中止周时,进入中止周期,执行期,执行期,执行期,执行中止隐指令中止隐指令中止隐指令中止隐指令操作。操作。操作。操作。第7页讨论:讨论:讨论:讨论:回答时首先应给出该触发器回答时首先应给出该触发器回答时首先应给出该触发器回答时首先应给出该触发器汉字名称汉字名称汉字名称汉字名称,然后说明其然后说明其然后说明其然后说明其主要作用主要作用主要作用主要作用。当进入中止周期时,当进入中止周期时,当进入中止周期时,当进入中止周期时,INT=1INT=1;(INT=1INT=1时,进入中止周期)时,进入中止周期)时,进入中止周期)时,进入中止周期)INTINT与与与与EINT
9、EINT配合使用以实现关中止功配合使用以实现关中止功配合使用以实现关中止功配合使用以实现关中止功效,即效,即效,即效,即INT=1INT=1,反相后使,反相后使,反相后使,反相后使EINT=0EINT=0;(关中止并不是(关中止并不是(关中止并不是(关中止并不是INTINT主要功效,进入中止主要功效,进入中止主要功效,进入中止主要功效,进入中止周期后要执行周期后要执行周期后要执行周期后要执行中止隐指令全部三个功效中止隐指令全部三个功效中止隐指令全部三个功效中止隐指令全部三个功效)INTINT表示自愿中止,完成系统调用;表示自愿中止,完成系统调用;表示自愿中止,完成系统调用;表示自愿中止,完成系
10、统调用;(尽管(尽管(尽管(尽管INTINT触发器英文缩写与触发器英文缩写与触发器英文缩写与触发器英文缩写与INTINT指令助指令助指令助指令助记符完全相同,但它们一个是记符完全相同,但它们一个是记符完全相同,但它们一个是记符完全相同,但它们一个是硬件设置硬件设置硬件设置硬件设置,一个是一个是一个是一个是软中止指令软中止指令软中止指令软中止指令,其作用完全不一样),其作用完全不一样),其作用完全不一样),其作用完全不一样)第8页 INTINT标识当前是否正在运行中止程序;标识当前是否正在运行中止程序;标识当前是否正在运行中止程序;标识当前是否正在运行中止程序;(INTINT标识在运行中止程序时
11、已不存在)标识在运行中止程序时已不存在)标识在运行中止程序时已不存在)标识在运行中止程序时已不存在)INTINTINTINT表示处于中止状态中;表示处于中止状态中;表示处于中止状态中;表示处于中止状态中;(INTINTINTINT并不是在整个中止过程中都存在)并不是在整个中止过程中都存在)并不是在整个中止过程中都存在)并不是在整个中止过程中都存在)INTINTINTINT判断中止过程中是否接收其它中判断中止过程中是否接收其它中判断中止过程中是否接收其它中判断中止过程中是否接收其它中止请求,止请求,止请求,止请求,INT=0INT=0INT=0INT=0时,开中止,允许中止嵌时,开中止,允许中止
12、嵌时,开中止,允许中止嵌时,开中止,允许中止嵌套;套;套;套;(INTINTINTINT标识与中止嵌套技术没有任何关系。标识与中止嵌套技术没有任何关系。标识与中止嵌套技术没有任何关系。标识与中止嵌套技术没有任何关系。它不能表示出中止过程中是否接收其它它不能表示出中止过程中是否接收其它它不能表示出中止过程中是否接收其它它不能表示出中止过程中是否接收其它中止请求,中止请求,中止请求,中止请求,INT=0INT=0INT=0INT=0也不表示开中止)也不表示开中止)也不表示开中止)也不表示开中止)EINTEINTEINTEINT判断判断判断判断CPUCPUCPUCPU是否响应中止请求;是否响应中止请
13、求;是否响应中止请求;是否响应中止请求;(CPUCPUCPUCPU依据依据依据依据EINTEINTEINTEINT状态决定是否响应中止请状态决定是否响应中止请状态决定是否响应中止请状态决定是否响应中止请求)求)求)求)第9页 当当当当CPUCPUCPUCPU响应中止时,响应中止时,响应中止时,响应中止时,EINTEINTEINTEINT置置置置1 1 1 1;(当(当(当(当EINT=1EINT=1EINT=1EINT=1时,允许时,允许时,允许时,允许CPUCPUCPUCPU响应中止)响应中止)响应中止)响应中止)EINTEINTEINTEINT确保确保确保确保CPUCPUCPUCPU响应中
14、止后,不受新中响应中止后,不受新中响应中止后,不受新中响应中止后,不受新中止干扰;止干扰;止干扰;止干扰;(CPUCPUCPUCPU响应中止在先,进入中止周期后响应中止在先,进入中止周期后响应中止在先,进入中止周期后响应中止在先,进入中止周期后才使才使才使才使EINT=0EINT=0EINT=0EINT=0,仅在单重中止时,整个中,仅在单重中止时,整个中,仅在单重中止时,整个中,仅在单重中止时,整个中止过程保持止过程保持止过程保持止过程保持EINT=0EINT=0EINT=0EINT=0,不接收新中止请求),不接收新中止请求),不接收新中止请求),不接收新中止请求)EINTEINTEINTEI
15、NT表示中止隐指令,表示中止隐指令,表示中止隐指令,表示中止隐指令,INTINTINTINT起关中止起关中止起关中止起关中止作用;作用;作用;作用;(把(把(把(把EINTEINTEINTEINT和和和和INTINTINTINT作用搞反了)作用搞反了)作用搞反了)作用搞反了)INTR=1INTR=1INTR=1INTR=1,判断哪个中止源有请求;,判断哪个中止源有请求;,判断哪个中止源有请求;,判断哪个中止源有请求;(INTRINTRINTRINTR对中止源请求进行登记,当对中止源请求进行登记,当对中止源请求进行登记,当对中止源请求进行登记,当INTR=1INTR=1INTR=1INTR=1时
16、,表示有请求)时,表示有请求)时,表示有请求)时,表示有请求)第10页|18.答案见于书本第363页|中止隐指令及其功效|23.答案见于书本第364页|保护现场任务及其实现第11页 24.24.现有现有现有现有A A、B B、C C、D D四个中止源,其优先级由高四个中止源,其优先级由高四个中止源,其优先级由高四个中止源,其优先级由高向低按向低按向低按向低按A AB BC CD D次序排列。若中止服务程序执行次序排列。若中止服务程序执行次序排列。若中止服务程序执行次序排列。若中止服务程序执行时间为时间为时间为时间为2020ss,请依据下列图所表示时间轴给出中止源,请依据下列图所表示时间轴给出中
17、止源,请依据下列图所表示时间轴给出中止源,请依据下列图所表示时间轴给出中止源请求中止时刻,画出请求中止时刻,画出请求中止时刻,画出请求中止时刻,画出CPUCPU执行程序轨迹。执行程序轨迹。执行程序轨迹。执行程序轨迹。解:解:解:解:CPUCPU执行程序轨迹图以下:执行程序轨迹图以下:执行程序轨迹图以下:执行程序轨迹图以下:A A服务服务服务服务 B B服务服务服务服务 C C服务服务服务服务 D D服务服务服务服务现行程序现行程序现行程序现行程序 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90 100 110 120 130
18、140 150100 110 120 130 140 150 t(t(s)s)B B与与C C请求请求 D D请求请求 B B请求请求 A A请求请求 这是一个多重中止程序运行轨迹,图中忽略了中这是一个多重中止程序运行轨迹,图中忽略了中止响应时间。止响应时间。第12页 25.25.设某机有设某机有设某机有设某机有五个五个五个五个中止源中止源中止源中止源L L0 0、L L1 1、L L2 2、L L3 3、L L4 4,按中止响应优先次序按中止响应优先次序按中止响应优先次序按中止响应优先次序由高向低排序由高向低排序由高向低排序由高向低排序为为为为L L0 0L L1 1 L L2 2 L L3
19、 3 L L4 4,现要求中止处理次序改为,现要求中止处理次序改为,现要求中止处理次序改为,现要求中止处理次序改为L L1 1L L4 4 L L2 2 L L0 0 L L3 3,依据下面格式,写出各中止源,依据下面格式,写出各中止源,依据下面格式,写出各中止源,依据下面格式,写出各中止源屏蔽字屏蔽字屏蔽字屏蔽字。解:各中止源屏蔽状态见下表:解:各中止源屏蔽状态见下表:解:各中止源屏蔽状态见下表:解:各中止源屏蔽状态见下表:中中中中 断断断断 源源源源 屏屏屏屏 蔽蔽蔽蔽 字字字字 0 1 2 3 40 1 2 3 4 L L0 0 L L1 1 L L2 2 L L3 3 L L4 4 1
20、 0 0 1 0 1 0 0 1 0 1 1 1 1 11 1 1 1 1 1 0 1 1 01 0 1 1 0 0 0 0 1 00 0 0 1 0 1 0 1 1 1 1 0 1 1 1第13页 表中:设屏蔽位表中:设屏蔽位表中:设屏蔽位表中:设屏蔽位=1=1表示表示表示表示屏蔽屏蔽屏蔽屏蔽,屏蔽,屏蔽,屏蔽,屏蔽位位位位=0=0表示中止表示中止表示中止表示中止开放开放开放开放。为了使全部中止都能得到及时响应,为了使全部中止都能得到及时响应,为了使全部中止都能得到及时响应,为了使全部中止都能得到及时响应,现行程序中止屏蔽字普通设为现行程序中止屏蔽字普通设为现行程序中止屏蔽字普通设为现行程序
21、中止屏蔽字普通设为全开放全开放全开放全开放(全全全全0 0)状态。)状态。)状态。)状态。讨论:讨论:讨论:讨论:按照修改过优先次序,当按照修改过优先次序,当按照修改过优先次序,当按照修改过优先次序,当五五五五个中止请求信号同时到来个中止请求信号同时到来个中止请求信号同时到来个中止请求信号同时到来时,时,时,时,CPUCPU中止中止中止中止处理过程以下列图:处理过程以下列图:处理过程以下列图:处理过程以下列图:图中括号内为各程序屏蔽码。图中括号内为各程序屏蔽码。图中括号内为各程序屏蔽码。图中括号内为各程序屏蔽码。注意:注意:注意:注意:中止屏蔽码判优作用表达在中止屏蔽码判优作用表达在中止屏蔽码
22、判优作用表达在中止屏蔽码判优作用表达在对低级中止请求对低级中止请求对低级中止请求对低级中止请求屏蔽屏蔽屏蔽屏蔽上,对于多个同时上,对于多个同时上,对于多个同时上,对于多个同时到来高级中止请求信号之间则到来高级中止请求信号之间则到来高级中止请求信号之间则到来高级中止请求信号之间则只有开放只有开放只有开放只有开放作用,作用,作用,作用,没有判优没有判优没有判优没有判优作用。此时还需依赖作用。此时还需依赖作用。此时还需依赖作用。此时还需依赖硬硬硬硬件排队线路件排队线路件排队线路件排队线路完成深入判优。完成深入判优。完成深入判优。完成深入判优。第14页现行程序(现行程序(现行程序(现行程序(00000
23、00000)五级中止请求同时到来。五级中止请求同时到来。L L0 0中止服务(中止服务(中止服务(中止服务(1001010010)保留现场保留现场保留现场保留现场 开中止开中止开中止开中止L L1 1中止服务(中止服务(中止服务(中止服务(1111111111)执行一条指令执行一条指令执行一条指令执行一条指令中止返回中止返回中止返回中止返回L L2 2中止服务(中止服务(中止服务(中止服务(1011010110)中止返回中止返回中止返回中止返回L L4 4中止服务中止服务中止服务中止服务 (1011110111)中止返回中止返回中止返回中止返回关中止关中止关中止关中止恢复现场恢复现场恢复现场恢
24、复现场执行一执行一执行一执行一条指令条指令条指令条指令 L L3 3中止服务中止服务中止服务中止服务(0001000010)中止返回中止返回中止返回中止返回中止返回中止返回中止返回中止返回第15页中止处理过程示意图中止处理过程示意图中止处理过程示意图中止处理过程示意图(画法二:时空图表示)(画法二:时空图表示)(画法二:时空图表示)(画法二:时空图表示)L L4 4服务服务服务服务 L L3 3服务服务服务服务 L L2 2服务服务服务服务 L L1 1服务服务服务服务 L L0 0服务服务服务服务现行程序现行程序现行程序现行程序 L L0 0、L L1 1 、L L2 2 、L L3 3 、
25、L L4 4 同时同时同时同时请求请求请求请求t t程序程序程序程序第16页 26.26.设某机配有设某机配有设某机配有设某机配有A A、B B、C C三台设备,三台设备,三台设备,三台设备,其优先级按其优先级按其优先级按其优先级按A AB BC C降序排列,为改降序排列,为改降序排列,为改降序排列,为改变中止处理次序,它们中止屏蔽字设变中止处理次序,它们中止屏蔽字设变中止处理次序,它们中止屏蔽字设变中止处理次序,它们中止屏蔽字设置以下:置以下:置以下:置以下:设备设备设备设备 屏蔽字屏蔽字屏蔽字屏蔽字 A 1 1 1A 1 1 1 B 0 1 0 B 0 1 0 C 0 1 1 C 0 1
26、1 请按下列图所表示请按下列图所表示请按下列图所表示请按下列图所表示时间轴时间轴时间轴时间轴给出设给出设给出设给出设备请求中止时刻,画出备请求中止时刻,画出备请求中止时刻,画出备请求中止时刻,画出CPUCPU执行程序执行程序执行程序执行程序轨迹轨迹轨迹轨迹。设。设。设。设A A、B B、C C中止服务程序执行中止服务程序执行中止服务程序执行中止服务程序执行时间均为时间均为时间均为时间均为2020 s s。第17页解:解:解:解:CPUCPU执行程序轨迹图以下:执行程序轨迹图以下:执行程序轨迹图以下:执行程序轨迹图以下:主要主要主要主要注意注意注意注意问题:问题:问题:问题:1 1)轨迹)轨迹)
27、轨迹)轨迹连续性连续性连续性连续性;2 2)程序转出、返回)程序转出、返回)程序转出、返回)程序转出、返回轨迹及时刻;轨迹及时刻;轨迹及时刻;轨迹及时刻;3 3)现行程序在坐标系中位置。)现行程序在坐标系中位置。)现行程序在坐标系中位置。)现行程序在坐标系中位置。0 10 20 30 40 50 60 70 80 90 t(0 10 20 30 40 50 60 70 80 90 t(s)s)A A请求请求 B B请求请求 C C请求请求 这是一个多重中止程序运行轨迹,图中忽略了中这是一个多重中止程序运行轨迹,图中忽略了中止响应时间。止响应时间。A A服务服务服务服务 B B服务服务服务服务
28、C C服务服务服务服务现行程序现行程序现行程序现行程序第18页讨论:讨论:当从当从B B中止转到中止转到C C中止时,中止时,不返回不返回现行程序,下现行程序,下述程序运行轨迹是述程序运行轨迹是错误错误:A A服务服务 B B服务服务 C C服务服务现行程序现行程序 0 10 20 30 40 50 60 70 80 90 t(0 10 20 30 40 50 60 70 80 90 t(s)s)A A请求请求 B B请求请求 C C请求请求 注意注意现行程序运行轨迹在现行程序运行轨迹在横坐标横坐标上,即此程序运上,即此程序运行轨迹是相对于现行程序而言。行轨迹是相对于现行程序而言。第19页 2
29、7.27.设某机有设某机有设某机有设某机有3 3个中止源,其优先级个中止源,其优先级个中止源,其优先级个中止源,其优先级按按按按1 12323降序排列。假降序排列。假降序排列。假降序排列。假设设设设中止中止中止中止处处处处理理理理时间时间时间时间均均均均为为为为,在下列图所表示时间内共发生,在下列图所表示时间内共发生,在下列图所表示时间内共发生,在下列图所表示时间内共发生5 5次中止请求,图中次中止请求,图中次中止请求,图中次中止请求,图中表示表示表示表示1 1级中止源发出级中止源发出级中止源发出级中止源发出中止请求信号,其余类推,画出中止请求信号,其余类推,画出中止请求信号,其余类推,画出中止请求信号,其余类推,画出CPUCPU执执执执行程序轨迹。行程序轨迹。行程序轨迹。行程序轨迹。解:解:解:解:CPUCPU执行程序轨迹图见下页:执行程序轨迹图见下页:执行程序轨迹图见下页:执行程序轨迹图见下页:第20页CPUCPU执行程序轨迹图执行程序轨迹图执行程序轨迹图执行程序轨迹图 1 1服务服务服务服务 2 2服务服务服务服务 3 3服务服务服务服务现行程序现行程序现行程序现行程序 0 0 2 3 4 5 6 t t 程序程序程序程序第21页