1.外围设备
(1)外围设备的速度分级:
速度 | 特点 | 例子 |
速度极慢或简单的外围设备 | (1)CPU直接接收或发送数据 | (1)机械开关 (2)发光二极管 |
慢速或中速的外围速度 | (1)采用异步定时方式,或称为应答式数据交换 (2)CPU与外设之间通过两个相互的联络信号来决定开始数据传输的时间 | (1)键盘 (2)显示器 |
高速的外围设备 | (1)采用同步定时方式 (2)CPU以等间隔的速率执行输入/输出指令 | (1)主存 (2)辅存 |
(2)外设信息交换方式:
方式 | 内容 | 工作过程 | 硬件要求 | 特点 | 适用场合 |
程序查询方式 | 早期计算机使用的一种方式,效率低 | CPU传送数据之前先检查外设的状态,若没有准备好,则继续查询等待,直到外设就绪即进行数据传送 | 只需要接口电路的状态、数据口,不需要增加其他控制电路 | (1)CPU主动查询,程序控制数据传送过程,简单易行。 (2)每次查询之后只能传送一个字或一个字节的数据,数据传输率不高,CPU时间浪费较多 | CPU不太忙而且对传送速度要求不高的系统 |
程序中断方式 | 适用于随机出现的服务 | CPU有传送要求时,启动外设后可处理其他事件,当外设准备就绪后,通过中断的方式和CPU完成数据传送工作 | 需要附加的中断控制电路 | (1)一定程度上实现了CPU和外设的并行工作 (2)中断操作过程增加了软硬件的开销,且每次数据传送只能传送一个字或一个字节的数据,数据传输效率低 | CPU与慢速外设之间的数据传送 |
直接内存访问方式 | 适用于内存和高速外围设备之间大批数据交换的场合 | CPU分配总线使用权后,在硬件DMA控制器的控制下完成存储器与高速外设之间的大量数据的传送 | 需要相应DMA控制器以及数据通路,电路结构复杂,硬件开销大 | (1)数据传送不需要经过CPU,直接由硬件控制 (2)外设与存储器之间的数据传送量大 | 包含有高速外设的系统中 |
通道方式 | 增加一个具有特殊功能的处理器,通道,将CPU的输入输出权力下放 | CPU将IO控制的权利下放给通道,由通道统一管理所有的输入输出操作 | (1)需要IO通道 (2)通道是一个具有特殊功能的处理器 | (1)硬件代价较高 (2)IO传送的效率高,并且减轻了CPU的工作负担 | 高性能要求的系统中 |
(3)程序查询方式:
1)设备编址:
分类 | 内容 | 特点 |
统一编址方式 | 将I/O系统与主存系统作为一个整体进行编址 | (1)访问I/O端口可使用访存指令,操作类型多样,使用灵活 (2)I/O端口有较大的编址空间 (3)占用主存空间,使实际主存空间减少 (4)I/O访问的指令字长较长,执行速度慢 |
独立编址方式 | 将I/O系统与主存系统分别编址 | (1)I/O端口地址不占用主存空间 (2)使用专用的I/O指令,指令字长短,执行速度快 (3)与主存空间区分容易 |
2)输入输出指令:
输入指令:从指定端口读入一个字节/字数据到累加器
输出指令:将累加器中的一个字节/字数据送到指定端口输出
IO指令功能:
1.对I/O接口的控制触发器置1或0,控制其进行某些操作
2.测试设备的某些状态
3.输入或输出数据
3)程序查询方式的接口:
1.CPU通过地址信号选中某设备接口
2.CPU通过向该接口发送命令字方式,启动外设
3.外设开始工作后,设置当前“忙”状态
4.CPU与外设通过接口内部的数据缓冲器传送数据;
4)程序查询输入/输出方式:
1.CPU请求数据传送
2.CPU从I/O接口读入状态字
3.检查状态字中的标志
4.未就绪,则重复2、3步,直到设备就绪为止
5.CPU输入或输出数据,同时复位接口中的状态标志
6. 可通过改变查询顺序修改设备优先权,CPU工作效率低
(4)程序中断方式:
1)中断定义:中断是指CPU正常运行程序时,由系统内/外部非预期事件或程序中预先安排好的指令性事件引起的,CPU暂停当前程序的执行,转去为该事件服务的程序中执行,服务完毕后,再返回原程序继续执行的过程。
2)使用中断的原因:
1.解决速度问题,使CPU和I/O并行工作;
2.对意外情况(如磁盘损坏、运算溢出等)能够及时处理。
3.在实时控制领域中,及时响应外来信号的请求。
3)中断处理流程:
1.中断请求:CPU结束一个指令周期后,检测中断请求信号。
2.中断响应:关中断,保护断点现场,判断中断源获得中断向量,根据中断向量转入中断服务程序并执行
3.中断服务:保护CPU现场,执行中断服务程序,开中断,恢复CPU现场
4.中断返回:恢复断点现场,返回主程序继续执行。
4)中断向量:中断服务程序的入口地址,包括段地址和段内偏移地址,共4个字节的内容。
中断向量表:集中存放系统中所有中断向量的存储区。
5)中断处理策略:
内容 | 特点 | |
单极中断系统 | 所有中断源都属于同一级别,不允许有中断嵌套 | (1)通过串行排队链法识别中断源 |
多级中断系统 | 中断源分为不同的级别,可发生中断嵌套,高优先级的中断源请求可以打断低优先权的中断服务 | (1)通过独立请求方式的中断优先级排队与中断向量产生逻辑 |
6)中断比较:
内容 | 性质 | 中断类型号的来源 | CPU是否应答 | 可屏蔽性 | 例子 | |
不可屏蔽中断NMI中断 | (1)由CPU的NMI引脚引入该中断请求 (2)CPU得到该中断请求立即响应,不需要CPU发响应信号 | 随机性、突发性 | 系统固定为2 | 不需要 | 不可屏蔽 | (1)系统RAM奇偶校验错、 (2)I/O通道校验错、 (3)协处理器出错 |
可屏蔽中断INTR中断 | (1)由CPU的INTR引脚引入该中断请求 (2)该中断请求只在CPU的中断允许标志位IF=1时,CPU才会通过发回响应信号方式响应 (3)CPU对INTR中断的响应控制可由STI、CLI两条指令完成 | 随机性,突发性 | 由中断源提供 | 需要 | 可屏蔽 | (1)外部设备的中断请求 |
指令中断 | (1)由CPU执行在程序中预先安排好的中断指令引起的
| 可预期 | 由指令提供 | 不需要 | 不可屏蔽 | (1)BIOS中断 (2)DOS中断 |
内部中断 | (1)由CPU内部的突发事件引起的中断,是不可屏蔽中断 | 随机性、突发性 | 系统固定为0、1、3、4 | 不需要 | 不可屏蔽 |
(5)直接内存访问(DMA)方式:
1)DMA方式:
1.完全由硬件控制执行I/O交换的工作方式
2.DMAC完全接管系统总线的控制权,利用总线控制数据在主存和外设之间的直接传送,所交换的数据不经过CPU
3.速度快、但硬件复杂度高。
2)DMA传送方式:
常用DMA传送方式 | 工作过程 | 适用 | 特点 |
停止CPU访问方式 | (1)DMA传送期间,由DMAC长期占用总线,CPU不能访存。 (2)只有DMAC传送结束时才将总线归还给CPU使用
| (1)适用于高速外设的数据成组传送 (2)早期使用的一种方式 | (1)控制简单 (2)内存使用率不高 |
周期挪用方式 | (1)每次DMA传送,都是通过外设挪用一个或几个主存周期,分别完成数据的成块传送 | (1)适用于外设读写周期大于主存的存取周期的系统中 | (1)主存使用效率较高 (2)CPU和外设访问冲突时,外设优先访问 |
DMA与CPU交替访问方式 | (1)将CPU的工作周期一分为二,分别用于DMA和CPU访存
| (1)适用于CPU周期大于主存存取周期系统中 | (1)对主存的访问时间不会发生冲突,也不需要总线控制权的申请建立和归还过程 |
3)DMA数据传送过程:
1.DMA请求:DMAC向CPU请求总线使用权
2.DMA响应:CPU给DMAC分配总线使用权
3.DMA传送:DMAC寻址外设和存储器,DMAC控制外设和主存之间的数据传送,并检测是否传送结束。
4.DMA结束:DMAC归还总线使用权
4)DMA和中断控制方式的比较:
数据传送实现方式 | CPU响应请求的时间 | 请求的目的 | 是否需要保护现场 | 优先权高低 | |
中断 | 程序传送 | 一个指令周期结束 | CPU的服务 | 需要 | 低 |
DMA | 硬件实现 | 一个总线周期结束 | 总线的使用权 | 不需要 | 高 |
(6)通道方式:
1)通道功能:
1.执行通道指令、组织外围设备和内存进行数据传输。
2.按照I/O指令要求启动外围设备,向CPU报告中断
2)CPU对通道的管理:
1.CPU通过执行I/O指令控制通道的数据传送
2.CPU处理来自通道的中断,实现对通道的管理
3)通道对设备控制器的管理:
1.通道使用通道指令控制I/O模块进行数据传送操作
2.通道接收通道状态字了解外设的状态
4)通道类型:
选择通道 | (1)物理上可以连接多个设备,但这些设备不能同时工作 (2)某一段时间内通道只能选择一个设备进行工作 |
数组多路通道 | (1)同一时间能处理多个I/O设备的数据传输,连接高速设备 (2)利用设备寻址的空隙为其他设备服务 |
字节多路通道 | (1)同一时间能处理多个I/O设备的数据传输,连接低速设备 (2)利用设备数据传送中字节之间的空隙为其它设备服务 |