一、基本概念
端口是指电路中可以读写的寄存器,若干个接口与响应的控制逻辑组合为接口
接口是指外设和主机进行数据传输时的逻辑部件
1.I/O接口功能
(1)译码和设备选择
(2)通信
(3)数据缓冲,解决CPU与外设的速度不匹配
(4)传送控制命令和状态信息
(5)电平和格式转换,如串/并转换
2.I/0控制方式
(1)程序查询方式
CPU多次轮询,性能极差
(2)中断方式
程序每次准备好后向CPU发起请求,传输时占用CPU,性能差(例如每打一个字就请求一次)
特点:
a.只能在机器周期末尾响应中断请求
b.由程序控制完成
中断隐指令:由硬件控制完成的一系列自动操作
中断过程:
①关中断
②保存断点(PC和PSW的内容)到指定的栈或寄存器中(异常的断点为当前指令地址,中断的断点为下一条指令的地址)
③中断服务寻址(一般有软件查询法和中断向量表查询,向量地址储存了中断服务程序的入口地址)
④保护现场和屏蔽字(现场信息 指用户可见的寄存器内容——软件实现/断点硬件实现)
⑤执行中断服务程序
⑥恢复现场和屏蔽字
⑦开中断
⑧中断返回、
中断优先级:响应优先级固定,处理优先级动态可调
(3)DMA
通过DMA通道直接传输数据(每次可连续传输),仅在开始和结束时发起请求
特点:
a.仅在预处理及后处理时需要CPU帮忙,其余时刻全由硬件控制完成
b.可在任一机器周期响应DMA请求
响应过程:
①外设发出DMA请求
②DMA向CPU发出总线请求
③传输数据
④DMA向CPU发出中断请求(CPU执行中断程序进行校验)
问题:DMA和CPU主存访问冲突怎么办?
①CPU正在访问主存——直接抢夺。DMA优先级更高
②同时访问——DMA获得总线控制权。
③交替存取——用于CPU访问周期大于主存存取周期的情况,此时不再由CPU分配总线,由时间片直接分配
(4)I/O通道
不需要向CPU发起请求,可达成与CPU并行运行,效率高
3.I/O接口编址
(1)统一编址(存储器映射编址)
顾名思义,将I/O接口地址映射为存储器地址
优点:指令简单,使用系统的访存指令即可调用I/O数据传输,编址空间大
缺点:内存空间减小,执行速度慢
(2)独立编址
I/O接口地址可与存储器地址一致
优点:指令有明显区别
缺点:指令复杂