I/O处理机方式
# j# z0 X1 u5 A T
DMA传送方式可使I/0设备和存储器之间建立直接的数据传送通道,大大减轻了CPU对输入/输出的负担,但是cPu仍然需要对DMAc进行预置,在DMA传送完成后要作一些处理。对于程序直接控制传送方式和中断传送方式,CPU花费在输入/输出上的时间就更多了。为了彻底减轻cPu对输入/输出的负担,提出了I/O处理机(器)方式(IOP)。图4.15所示为采用I/0处理机(器)的微机结构,其中IOP(Input/Output Processor)为I/0处理机(器)。
2 j( d8 ~7 ~0 o; p& P
+ k7 V% J- [- O- W( o2 f
% C1 V$ W- D. O9 E* p' O+ Z X
- Y* x) }2 O+ ?2 Y% S5 b% N
# R0 C. O6 p! _" t IOP几乎把控制输入/输出操作及其信息传送的所有功能都从CPU那里独立出去,并接管过来。I/0处理器有自己的指令系统,也能独立地执行程序。它能对外部设备进行控制,对输入/输出过程进行管理,还能完成码制转换、数据的装配和拆卸、整个数据块的错误检测 和纠错、格式变换等运算和操作。此外,它还可以向cPu报告设备和设备控制器的状态,对状态进行分析,并能对输入/输出系统出现的各种问题进行处理。所有这些操作都是与CPU程序并行执行的。
. f9 H$ l( Q j8 M7 b
4 o ~" f" V$ N( e( S: i% S
" {4 W5 T8 i( `& T6 zIOP与CPU通过系统存储区(公共信箱)来交换信息,包括命令、数据、状态以及cPu要IOP执行的程序的首地址。图4.16所示为二者的联络框图:当cPu将各种参数放入公共信箱后,用“通道注意”信号cA(Channel Attention)通知IOP。IOP从信箱中获取参数,
0 {/ i0 L: M! g, A+ Q' \6 I
并进行有关操作。一旦操作完成,IOP可在公共信箱中设立状态标志,等待cPu来查询;也可向CPU发中断请求信号,通知它采取下一步行动。
2 F' c0 F0 U+ J7 g L
IOP也早已集成化,例如,Intel 8089是专门配合8086/8088使用的IOP芯片。