免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2015年上半年 数据库系统工程师 上午试卷 综合知识
  第4题      
  知识点:   中断方式   CPU   响应时间   中断
  关键词:   CPU   响应时间   中断        章/节:   硬件基础知识       

 
计算机中CPU中断响应时间指的是( )的时间。
 
 
  A.  从发出中断请求到中断处理结束
 
  B.  从中断处理开始到中断处理结束
 
  C.  CPU分析判断中断请求
 
  D.  从发出中断请求到开始进入中断处理程序
 
 
 

 
  第3题    2013年上半年  
   65%
为了便于实现多级中断嵌套,使用(3)来保护断点和现场最有效。
  第1题    2018年上半年  
   31%
计算机运行过程中,遇到突发事件,要求CPU暂时停止正在运行的程序,转去为突发事件服务,服务完毕,再自动返回原程序继续执行,这..
  第3题    2022年上半年  
   53%
计算机系统中,I/O接口的功能有( )。
①数据传输及缓存;②设备状态检测和反馈;③I/O操作的控制与定时
   知识点讲解    
   · 中断方式    · CPU    · 响应时间    · 中断
 
       中断方式
        在中断方式下,I/O设备工作时CPU不再等待,而是进行其他的操作,当I/O设备完成后,通过一个硬件中断信号通知CPU,CPU再来处理接下来的工作。
        利用中断方式完成数据的输入/输出过程为:当系统与外设交换数据时,CPU无须等待也不必去查询I/O设备的状态,而是处理其他任务。当I/O设备准备好以后,就发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无须等待而提高了效率。
        在系统中具有多个中断源的情况下,常用的处理方法有多中断信号线法(multiple interrupt lines)、中断软件查询法(software poll)、菊花链法(daisy chain)、总线仲裁法和中断向量表法。
        (1)多中断信号线法。每个中断源都有属于自己的一根中断请求信号线向CPU提出中断请求。
        (2)中断软件查询法。当CPU检测到一个中断请求信号以后,即转入到中断服务程序去轮询每个中断源以确定是谁发出了中断请求信号。对各个设备的响应优先级由软件设定。
        (3)菊花链法。软件查询的缺陷在于花费的时间太多。菊花链法实际上是一种硬件查询法。所有的I/O模块共享一根共同的中断请求线,而中断确认信号则以链式在各模块间相连。当CPU检测到中断请求信号时,则发出中断确认信号。中断确认信号依次在I/O模块间传递,直到发出请求的模块,该模块则把它的ID送往数据线由CPU读取。
        (4)总线仲裁法。一个I/O设备在发出中断请求之前,必须先获得总线控制权,所以可由总线仲裁机制来裁定谁可以发出中断请求信号。当CPU发出中断响应信号后,该设备即把自己的ID发往数据线。
        (5)中断向量表法。中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU,如下图所示。中断源的优先级由INTC来控制。
        
        中断向量表法
        在具有多个中断源的计算机系统中,各中断源对服务的要求紧迫程度可能不同。在这样的计算机系统中,就需要按中断源的轻重缓急来安排对它们的服务。
        在中断优先级控制系统中,给最紧迫的中断源分配高的优先级,而给那些要求相对不紧迫的中断源分配低一些的优先级。在进行优先级控制时解决以下两种情况:
        (1)当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源。
        (2)当CPU正在对某一个中断源服务时,又有比它优先级更高的中断源提出中断请求,CPU应能暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,服务结束后再回到原先被中断的优先级较低的中断服务程序继续执行。这种情况称为中断嵌套,即一个中断服务程序的执行中嵌套着另一个中断服务程序的执行过程。
 
       CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
       响应时间
        系统响应时间是指用户发出完整请求到系统完成任务给出响应的时间间隔。处于系统中不同的角色的人,对响应时间的关注点是不一样的。从系统管理员的角度来看,系统响应时间指的是服务器收到请求的时刻开始计时,到服务器完成执行请求,并将请求的信息返回给用户这一段时间的间隔。这个“服务器”包含的范围是给用户提供服务的接口服务器,中间的一些业务处理的服务器和排在最后面的数据库服务器。这里并不包含请求和响应在网络上的通信时间。
        从用户的角度来看,响应时间是用户发出请求开始计时,(如按下“确认”或Enter键的时刻),到用户的请求的相应结果展现在用户机器的屏幕的时候的这一段时间的间隔。这个时间称为“客户端的响应时间”,它等于客户端的请求队列加上服务器的响应时间和网络的响应时间的总和。可以看出,从用户角色感受的“响应时间”是所有响应时间中最长的,很多影响因素不在应用系统的范围内,如数据包在网络上的传输时间、域名解析时间等。
        响应时间超出预期太多的应用系统会导致用户的反感,因为系统在让他们等待,这样会降低他们的工作效率,延长他们的工作时间。位于互联网上的Web网站也存在同样的问题,有调查表明,如果一个Web网页不能在8秒钟内下载到访问的用户端,访问者就会失去耐性,他们有的尝试其他同类型的网站,有的可能访问竞争者的网站,并且可能影响他们圈子里面的人访问这个网站的兴趣和取向。对于一个指望这些访问者变为客户的网站站点而言,响应时间带来的后果等同于销售额的损失。
        系统的响应时间对每个用户来说都是不一样的,以下因素会影响系统的平均响应时间:
        (1)和业务相关,处理不同的业务会有不同的响应时间。
        (2)和业务组合有关,业务之间可能存在依赖关系或其他,也会相互影响。
        (3)和用户的数量有关,大并发量会严重影响应时间。
        有多种方法可以用来测试响应时间,常用的有两种方法,分别是首字节响应时间和末字节响应时间。首字节响应时间是指向服务器发送请求与接收到响应的第一个字节之间的时间,末字节响应时间是指向服务器发送请求与接收到响应的最后一个字节之间的时间。通过测量响应时间,可以知道所有客户端用户完成一笔业务所用的时间以及平均时间、最大时间。
        米勒曾经给出了3个经典的有关响应时间的建议,至今仍有参加价值:
        (1)0.1秒:用户感觉不到任何延迟。
        (2)1秒:用户愿意接受的系统立即响应的时间极限。即当执行一项任务的有效反馈时间在0.1~1秒之内时,用户是愿意接受的。超过此数据值,则意味着用户会感觉到有延迟,但只要不超过10秒,用户还是可以接受的。
        (3)10秒:用户保持注意力执行本次任务的极限,如果超过此数值时仍然得不到有效的反馈,用户会在等待计算机完成当前操作时转向其他的任务。
 
       中断
        中断是异步发生的,是来自处理器外部的I/O设备的信号的结果。硬件中断不是由任何一条专门的指令造成的,从这个意义上来说它是异步的。硬件中断的异常处理程序常常被称为中断处理程序(interrupt handler)。
               硬中断与软中断
               硬中断是由硬件产生的,例如磁盘、网卡、键盘、时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上。
               软中断是一组静态定义的下半部分接口,可以在所有的处理器上同时执行,即使两个类型相同也可以。但是一个软中断不会抢占另外的一个软中断,唯一可以抢占软中断的是硬中断。
               可屏蔽中断与不可屏蔽中断
               可屏蔽中断和不可屏蔽中断都属于外部中断,是由外部中断源引起的。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。
               CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(Non Maskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Interrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。IF位可以由用户控制,指令STI或Turbo C的Enable()函数,将IF位置1(开中断),指令CLI或Turbo_c的Disable()函数,将IF位清0(关中断)。
               中断优先级
               当多个中断源同时请求中断时,而CPU一次只能响应其中的一个中断,同时为了能响应所有中断,就引入中断优先级来处理。系统会根据引起中断事件的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。中断优先级有两种:查询优先级和执行优先级。
               查询优先级是不可以更改和设置的,在该方式下当多个中断源同时产生中断信号时,中断仲裁器会选择中断源优先处理的顺序,此过程与是否发生中断服务程序的嵌套毫不相干。当CPU查询各个中断标志位的时候,会依照优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高查询优先级的中断标志位,但并不代表高查询优先级的中断可以打断已经并且正在执行的低查询优先级的中断服务。
               由于可屏蔽的中断源很多,故需要对其进行管理,如区分是哪个中断源发出的中断信号?哪个中断源最优先及怎样处理多级中断嵌套等。为此,可使用中断控制器对多个可屏蔽中断源进行管理。
               中断控制器能够对中断进行排队管理,避免中断信号的丢失,同时支持对不同中断进行优先级的配置,使高优先级中断能够中断低优先级中断,满足系统中具有更高时间约束特性功能的需要。
               中断嵌套
               当处理器正在处理一个中断时,有比该中断优先级高的中断源发出中断请求时,如果处理器正在执行中断处理程序,那么处理器会对高优先级的中断进行立即处理,处理完之后再返回到低优先级的中断服务程序继续执行。这样就形成了中断服务程序中套用中断服务程序的情况,即中断嵌套。可嵌套中断的处理流程和中断服务框图如下图所示。
               
               可嵌套中断处理流程
   题号导航      2015年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第4题    在手机中做本题