第4章 输入输出与中断
I/O接口——把外围设备同微型计算机连接起来实现数据传送的控制电路称为“外设接口电路”,即I/O接口
I/O端口——I/O接口中可以由CPU进行读或写的寄存器被称为“端口”
外设接口与CPU的信息传送:
1. 外设接口通过微机总线(片总线、内总线、外总线)与CPU连接
2. CPU同外设接****换的三种信息:
(1) 数据信息,包括数字量、模拟量和开关量
(2) 状态信息,表示外设当前所处的工作状态
(3) 控制信息用于控制外设接口的工作
3. 数据信息、状态信息、控制信息都是通过数据总线来传送的
I/O端口的编址方式及其特点:
1. 独立编址(专用的I/O端口编址)——存储器和I/O端口在两个独立的地址空间中
(1) 优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计
(2) 缺点:需要有专用的I/O指令,程序设计的灵活性较差
2. 统一编址(存储器映像编址)——存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间
(1) 优点:不需要专用的I/O指令,任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,程序设计比较灵活;由于I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数量几乎不受限制
(2) 缺点:I/O端口占用了内存空间的一部分,影响了系统的内存容量;访问I/O端口也要同访问内存一样,由于内存地址较长,导致执行时间增加
微机系统中,数据传送的控制方式:
1. 程序控制方式,以CPU为中心,数据传送的控制来自CPU,通过预先编制好的程序实现数据的传送
2. DMA方式,直接存储器访问,不需要CPU干预,也不需要软件介入的高速传送方式
程序控制传送方式分为三种:
1. 无条件传送方式,又称“同步传送方式”,用于外设的定时是固定的而且是已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送
2. 查询传送方式,当CPU同外设工作不同步时,为保证数据传送的正确而提出的,CPU必须先对外设进行状态检测,若外设已“准备好”,才进行数据传送
3. 中断传送方式,解决了“无条件传送方式”和“查询传送方式”只能串行工作的缺点,为了使CPU和外设之间可以并行工作,提出中断传送方式,采用中断方式传送数据时,CPU从启动外设到外设就绪这段时间,仍在执行主程序,当“中断服务程序”执行完毕后,则重新返回主程序
DMA操作的基本方法:
1. 周期挪用,DMA乘存储器空闲时访问存储器,周期挪用不减慢CPU的操作
2. 周期扩展,CPU与DMA交替访问存储器,这种方法会使CPU处理速度减慢,一次只能传送一个字节3. CPU停机方式,CPU等待DMA的操作,这是最常用的DMA方式,由于CPU处于空闲状态,所以会降低CPU的利用率
DMAC及其传送方式:
1. 在DMA传送方式中,对数据传送过程进行控制的硬件称为DMA控制器,即:DMAC
2. DMAC的三种传送方式:
(1) 单字节传送方式
(2) 成组传送方式
(3) 请求传送方式
DMAC的基本功能:
1. 能接收外设的DMA请求信号,并能向外设发出DMA响应信号
2. 能向CPU发出总线请求信号,当CPU发出总线响应信号后,能接管对总线的控制权,进入DMA方式
3. 能发出地址信息,对存储器寻址并修改地址指针
4. 能发出读、写等控制信号,包括存储器访问信号和I/O访问信号
5. 能决定传送的字节数,并能判断DMA传送是否结束
6. 能发出DMA结束信号,释放总线,使CPU恢复正常工作