免费智能真题库 > 历年试卷 > 系统分析师 > 2013年上半年 系统分析师 上午试卷 综合知识
  第17题      
  知识点:   输入输出方式   CPU   输入输出控制
  关键词:   CPU   计算机系统        章/节:   计算机组成与体系结构       

 
计算机系统中主机与外设间的输入输出控制方式有多种,其中占用主机CPU时间最多的是(17)方式。
 
 
  A.  通道方式
 
  B.  DMA
 
  C.  中断
 
  D.  程序查询
 
 
 

 
  第18题    2016年上半年  
   50%
计算机系统中有多种实现数据输入和输出的控制方式,其中占用CPU时间最多的是(18)。
  第14题    2021年上半年  
   22%
在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交万连接的电路或总线。常用的板上通信接口包括I2C、SPI、UA..
  第16题    2011年上半年  
   64%
以下关于在I/O设备与主机间交换数据的叙述中,错误的是(16)。
   知识点讲解    
   · 输入输出方式    · CPU    · 输入输出控制
 
       输入输出方式
        在计算机中,I/O系统可以有5种不同的工作方式,分别是程序控制方式、程序中断方式、DMA(Direct Memory Access,直接内存存取)工作方式、通道方式、输入/输出处理机。
        (1)程序控制方式。CPU直接利用I/O指令编程,实现数据的输入输出。CPU发出I/O命令,命令中包含了外设的地址信息和所要执行的操作,相应的I/O系统执行该命令并设置状态寄存器;CPU不停地(定期地)查询I/O系统以确定该操作是否完成。由程序主动查询外设,完成主机与外设间的数据传送,方法简单,硬件开销小。
        (2)程序中断方式。CPU利用中断方式完成数据的输入/输出,当I/O系统与外设交换数据时,CPU无需等待也不必去查询I/O的状态,当I/O系统完成了数据传输后则以中断信号通知CPU。然后CPU保存正在执行程序的现场,转入I/O中断服务程序完成与I/O系统的数据交换并返回原主程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。在系统中具有多个中断源的情况下,常用的处理方法有:多中断信号线法、中断软件查询法、雏菊链法、总线仲裁法和中断向量表法。
        (3)DMA工作方式。使用DMA控制器(Direct Memory Access Controler, DMAC)来控制和管理数据传输。DMAC和CPU共享系统总线,并且具有独立访问存储器的能力。在进行DMA时,CPU放弃对系统总线的控制而由DMAC控制总线;由DMAC提供存储器地址及必需的读写控制信号,实现外设与存储器之间的数据交换。DMAC获取总线的3种方式:暂停方式、周期窃取方式和共享方式。
        (4)通道方式。通道是一种通过执行通道程序管理I/O操作的控制器,它使主机与I/O操作之间达到更高的并行程度。在具有通道处理机的系统中,当用户进程请求启动外设时,由操作系统根据I/O要求构造通道程序和通道状态字,将通道程序保存在内存中,并将通道程序的首地址放到通道地址字中,然后启动I/O指令。按照所采取的传送方式,可将通道分为字节多路通道、选择通道和数组多路通道3种。
        (5)输入输出处理机。输入输出处理机也称为外围处理机,它是一个专用处理机,也可以是一个通用的处理机,具有丰富的指令系统和完善的中断系统。专用于大型、高效的计算机系统处理外围设备的输入输出,并利用共享存储器或其他共享手段与主机交换信息。从而使大型、高效的计算机系统更加高效地工作。与通道相比,输入输出处理机具有比较丰富的指令系统,结构接近于一般的处理机,有自己的局部存储器。
 
       CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
       输入输出控制
        从硬件角度看,输入/输出(I/O)设备是电子芯片、导线、电源、电子控制设备、电机等组成的物理设备,从软件角度只关注输入/输出设备的编程接口。
               I/O设备概述
               I/O设备可分为块设备和字符设备两类。块设备把信息存放在固定大小的块中,每个块都有自己的地址,独立于其他块,可寻址。例如磁盘、USB闪存、CD-ROM等。字符设备以字符为单位接收或发送一个字符流,字符设备不可以寻址。例如打印机、网卡、鼠标键盘等。
               I/O设备一般都包含设备控制器,一般以芯片的形式出现,如南桥芯片。不同的控制器可以控制不同的设备。南桥芯片中包含了多种设备的控制器,如硬盘控制器、USB控制器、网卡、声卡控制器等。I/O设备通过总线以及卡槽与计算机其他部件进行连接,如PCI、PCI-E、SATA、USB等。
               不同设备控制器的操作控制通过专门的软件即驱动程序进行控制。每个控制器都有几个寄存器与CPU进行通信。通过写入这些寄存器,可以命令设备发送或接收数据,开启或关闭。通过读这些寄存器就能知道设备的状态。由于寄存器数量和大小是有限的,所以设备一般会有一个RAM性质的缓冲区,来存放一些数据。比如硬盘的读写缓存、显卡的显存等。一方面提供数据存放,另一方面是提高I/O操作的速度。
               CPU与I/O设备控制器中的寄存器或数据缓冲区如何进行通信?存在以下两个可选方案:
               (1)为每个控制器分配一个I/O端口号,所有的控制器可以形成一个I/O端口空间,这些信息存放在内存中,一般程序不能访问,操作系统则通过特殊的指令和端口号来从设备读取或是写入数据。早期计算机基本都是这种方式,通常使用汇编语言进行操作。
               (2)将所有控制器的寄存器映射到内存空间,于是每个设备的寄存器都有一个唯一的地址。这种称为内存映射I/O。由于不需要特殊的指令控制,对待I/O设备和其他普通数据访问方式是相同的,因此可以使用C语言来编程。
               也可以将上述两种方式相结合,例如,寄存器拥有I/O端口,而数据缓冲区则映射到内存空间。
               CPU无论是从内存还是I/O设备读取数据,都需要把地址放到地址总线上,然后向控制总线传递一个读信号,还要用一条信号线来表示是从内存还是I/O读取数据。
               程序控制方式
               程序控制I/O是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。这种方式分为无条件传送和程序查询方式两种情况。
                      无条件传送
                      在此情况下,外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供需要输入的数据。
                      程序查询方式
                      通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。根据这种状态,CPU有针对性地为外设的输入/输出服务。
                      通常,一个计算机系统中可以存在着多种不同的外设,如果这些外设是用查询方式工作,则CPU应对这些外设逐一进行查询,发现哪个外设准备就绪就对该外设服务。这种工作方式有两大缺点:一是降低了CPU的效率,二是对外部的突发事件无法做出及时响应。
                      计算机系统中的CPU是稀缺资源,应尽量提高其利用率,减少等待I/O操作的时间。
               中断方式
               在中断方式下,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应能暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,服务结束后再回到原先被中断的优先级较低的中断服务程序继续执行。这种情况称为中断嵌套,即一个中断服务程序的执行中嵌套着另一个中断服务程序的执行过程。
               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不能使用总线。
               输入输出处理器(IOP)
               DMA方式的出现减少了CPU对I/O操作的控制,使得CPU的效率显著提高,而通道的出现则进一步提高了CPU的效率。
               通道是一个具有特殊功能的处理器,又称为输入输出处理器(Input/Output Processor,IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。
               通道方式大大提高了CPU的工作效率,然而这种效率的提高是以增加更多的硬件为代价的。
               外围处理机(Peripheral Processor Unit,PPU)方式是通道方式的进一步发展。PPU是专用处理机,它根据主机的I/O命令,完成对外设数据的输入输出。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务。从某种意义上说,这种系统已变成分布式的多机系统。
   题号导航      2013年上半年 系统分析师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第17题    在手机中做本题