免费智能真题库 > 历年试卷 > 软件设计师 > 2017年上半年 软件设计师 上午试卷 综合知识
  第3题      
  知识点:   输入输出技术   CPU   DM   DMA方式   无条件传送   指令   中断
  关键词:   CPU   DMA   计算机系统   数据   指令   中断        章/节:   计算机硬件基础知识       

 
计算机系统中常用的输入/输出控制方式有无条件传送中断、程序查询和 DMA方式等。当采用()方式时,不需要CPU 执行程序指令来传送数据。
 
 
  A.  中断
 
  B.  程序查询
 
  C.  无条件传送
 
  D.  DMA
 
 
 

 
  第4题    2013年上半年  
   43%
DMA工作方式下,在(4)之间建立了直接的数据通路。
  第2题    2011年下半年  
   55%
若某计算机系统的I/O接口与主存采用统一编址,则输入输出操作是通过(2)指令来完成的。
  第2题    2019年上半年  
   41%
DMA控制方式是在( )之间直接建立数据通路进行数据的交换处理。
   知识点讲解    
   · 输入输出技术    · CPU    · DM    · DMA方式    · 无条件传送    · 指令    · 中断
 
       输入输出技术
               常见的内存与接口的编址方式
               1)内存与接口地址独立的编址方法
               内存地址与接口地址完全独立且相互隔离,在使用中内存用于存放程序和数据,而接口就用于寻址外设。在编程序和读程序时很容易使用和辨认。缺点就是用于接口的指令太少,功能太弱。
               2)内存与接口地址统一编址的方法
               内存地址与接口地址统一在一个公共的地址空间,在这些地址空间里拿一些地址分配给接口使用而剩下的就可以归内存使用。优点是原则上用于内存的指令全部都可以用于接口;缺点就在于整个地址空间被分成两部分,一部分分配给接口使用,另一部分分配给内存使用,这经常会导致内存地址不连续。再就是用于内存的指令和用于接口的指令是完全一样的,这在读程序时就要根据参数定义表仔细加以辨认。
               CPU与外设之间的数据传送方式
               CPU与外设之间的数据传送方式有以下几种。
               (1)直接程序控制。这种方式是指在完成数据的输入输出中,整个数据输出过程是在CPU执行程序的控制下完成的。这种方式还可以分为以下几种。
               ①无条件传送方式。无条件地与CPU交换数据。
               ②程序查询方式。先通过CPU查询外设状态,准备好之后再与CPU交换数据。程序查询方式有两大缺点。降低了CPU的效率;对外部的突发事件无法作出实时响应。优点在于这种思想很容易理解,同时实现这种方式工作也很容易。
               (2)中断控制。这种方式利用中断机制,当I/O系统外设交换数据时,CPU无须等待,也不必查询I/O状态即可以抽身出来处理其他任务,因此提高了系统效率。
               中断处理方法有多中断信号线法、中断软件查询法、菊花链法、总线仲裁法及中断向量表法。
               (3)中断优先级控制。这种方式分两种情况。当不同优先级的多个中断源同时提出中断请求时,CPU应优先响应优先级最高的中断源。当CPU正在对某一个中断源服务时,又有比它优先级更高的中断源提出中断请求,CPU应能暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,服务结束后再回到原先被中断的优先级较低的中断服务程序继续执行。这种情况称为中断嵌套,即一个中断服务程序中嵌套着另一个中断服务程序。
               (4)直接存取方式。这种方式是在存储器与I/O设备间直接传送数据,即在内存与I/O设备之间传送一个数据块的过程中,不需要CPU的任何干涉,是一种完全由DMA硬件完成I/O操作的方式。
               输入输出处理机
               输入输出处理机(IOP)是一个专用处理机,用于完成主机的输入输出操作。IOP根据主机的I/O命令,完成对外设数据的输入和输出。它的数据传送方法有3种,即字节多路方式、选择传送方式和数组多路方式。
 
       CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
       DM
        DM(Delta Modulation)即增量调制,又称ΔM调制,是最简单的有损预测编码方法,早期在数字电话中被采用,是一种最简单的差值脉冲编码。实际的采样信号与预测的采样信号的差的极性若为正,则用1表示,反之则用0表示。由于DM编码只用1位对声音信号进行编码,所以DM系统又称1位系统。
 
       DMA方式
        在计算机与外设交换数据的过程中,无论是无条件传送、利用查询方式传送还是利用中断方式传送,都需要由CPU通过执行程序来实现,这就限制了数据的传送速度。
        直接内存存取(Direct Memory Access,DMA)是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情。
        DMA传送的一般过程如下图所示。
        
        DMA过程示意图
        (1)外设向DMA控制器(DMAC)提出DMA传送的请求。
        (2)DMA控制器向CPU提出请求,其请求信号通常加到CPU的保持请求输入端HOLD上。
        (3)CPU在完成当前的总线周期后立即对此请求作出响应,CPU的响应包括两个方面的内容:一方面,CPU将有效的保持响应信号HLDA输出加到DMAC上,告诉DMAC它的请求已得到响应;另一方面,CPU将其输出的总线信号置为高阻,这就意味着CPU放弃了对总线的控制权。
        (4)此时,DMAC获得了对系统总线的控制权,开始实施对系统总线的控制。同时向提出请求的外设送出DMAC的响应信号,告诉外设其请求已得到响应,现在准备开始进行数据的传送。
        (5)DMAC送出地址信号和控制信号,实现数据的高速传送。
        (6)当DMAC将规定的字节数传送完时,它就将HOLD信号变为无效并加到CPU上,撤销对CPU的请求。CPU检测到无效的HOLD就知道DMAC已传送结束,CPU就送出无效的HLDA响应信号,同时重新获得系统总线的控制权,接着DMA前的总线周期继续执行下面的总线周期。
        在此再强调说明,在DMA传送过程中无须CPU的干预,整个系统总线完全交给了DMAC,由它控制系统总线完成数据传送。在DMA传送数据时要占用系统总线,根据占用总线方法的不同,DMA可以分为中央处理器停止法、总线周期分时法和总线周期挪用法等。无论采用哪种方法,在DMA传送数据期间,CPU不能使用总线。
 
       无条件传送
        在此情况下,外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供需要输入的数据。
 
       指令
        指令是指挥计算机完成各种操作的基本命令。
        (1)指令格式。计算机的指令由操作码字段和操作数字段两部分组成。
        (2)指令长度。指令长度有固定长度的和可变长度的两种。有些RISC的指令是固定长度的,但目前多数计算机系统的指令是可变长度的。指令长度通常取8的倍数。
        (3)指令种类。指令有数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令等类型。
 
       中断
        中断是异步发生的,是来自处理器外部的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查询各个中断标志位的时候,会依照优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高查询优先级的中断标志位,但并不代表高查询优先级的中断可以打断已经并且正在执行的低查询优先级的中断服务。
               由于可屏蔽的中断源很多,故需要对其进行管理,如区分是哪个中断源发出的中断信号?哪个中断源最优先及怎样处理多级中断嵌套等。为此,可使用中断控制器对多个可屏蔽中断源进行管理。
               中断控制器能够对中断进行排队管理,避免中断信号的丢失,同时支持对不同中断进行优先级的配置,使高优先级中断能够中断低优先级中断,满足系统中具有更高时间约束特性功能的需要。
               中断嵌套
               当处理器正在处理一个中断时,有比该中断优先级高的中断源发出中断请求时,如果处理器正在执行中断处理程序,那么处理器会对高优先级的中断进行立即处理,处理完之后再返回到低优先级的中断服务程序继续执行。这样就形成了中断服务程序中套用中断服务程序的情况,即中断嵌套。可嵌套中断的处理流程和中断服务框图如下图所示。
               
               可嵌套中断处理流程
   题号导航      2017年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第3题    在手机中做本题