用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。/ z+ \( L% H9 N0 N5 a: s
④“DMA请求”标志/ I2 N8 i6 C7 X, M: R
每当设备准备好一个数据字后给出一个控制信号,使“DMA”请求标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA请求”标志复位,为交换下一个字做好准备。⑤“控制/状态”逻辑
( t* d; N( |. A9 z4 a7 S 它由控制和时序电路,以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。⑥中断机构
/ Q" E6 l0 ~! g" j% J0 T 当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。这里的中断与前面介绍的I/O中断所采用的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一组数据传送结束。因此它们是I/O系统中不同的中断事件。
% P; q% j; U- ^9 D! `7 p& b 5.通道方式) q8 @1 l1 n$ G/ I
(1)通道的功能
9 P: Q, j9 W; z* Z5 q4 K DMA控制器的出现已经减轻了CPU对数据输入输出的控制,使得CPU的效率有显着的提高。而通道的出现则进一步提高了CPU的效率。这是因为通道是一个具有特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部运算与I/O设备的并行工作。$ e2 D. @' |6 o, C" T0 O" ^( p
通道的基本功能是执行通道指令、组织外部设备和内存进行数据传输,按I/O指令要求启动外部设备,向CPU报告中断等,具体有以下五项任务:4 _" }2 H; O7 I, h: I% Q* r% d
①接受CPU的I/O指令,按指令要求与指定的外部设备进行通信;% ~) J6 [& u8 M/ E# H
②从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令;③组织外部设备和内存之间进行数据传送,并根据需要提供数据中间缓存的空间,以及提供数据存入内存的地址和传送的数据量;
7 f% M4 t" o% ?$ I" f5 w, Z ④从外部设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用;* F* t5 k4 q. B% \ q. i
⑤将外部设备的中断请求和通道本身的中断请求,按次序及时报告CPU。
, e' u. g( e4 D2 B3 l/ } (2)通道类型
* j8 X0 S( z9 u. {1 I 根据通道的工作方式,通道可分为:
# ^ ^, r5 U" i ①选择通道。②数组多路通道。③字节多路通道。④通道适配器。( U& l3 t5 _4 `+ v6 N# B2 b
6.外部设备0 L( ]% G& h: O8 }1 ]- I; ?
外部设备分为输入设备、输出设备、输入输出兼用设备、外存设备、数据通信设备和过程控制设备等。
/ h8 v3 U2 y T (1)输入设备! v2 O4 r5 i/ i/ x
(2)输出设备; W) {$ _ n+ u8 v
(3)汉字设备
5 ~! b m$ t: }) f' E (4)数据通信设备
" v% }/ ^ ] B* d! m$ z8 i: ] (5)过程控制设备 |