计算机组成:I/O
- I/O概述
- I/O系统构成
- I/O接口
- I/O端口
- 两种编址区分
- I/O数据传送控制方式
- 程序查询方式
- 独占查询
- 中断控制方式
- 硬件判优法(向量中断法)
- 多重中断嵌套
- DMA控制方式
- 三种DMA方式
- DMA操作步骤
- 内部异常和中断
- 异常和中断的关系
I/O概述
I/O系统构成
一个最基础I/O系统的构成:CPU、I/O接口、硬件(鼠标)。
最主要学习:一个硬件、两个模型,硬件就是指I/O接口,两个模型,一个是中断模型:外设与CPU;另一个是DMA模型:外设与内存(磁盘与主存)。
上面的图里,一个I/O接口对应了不同的外设,这种结构也是可能有的,外设是同样的外设,例如:好多个打印机。但是408考的应该是一个外设对应一个I/O接口。
I/O接口
例如打印机和I/O接口,打印机肯定有自己的时钟,并不是受到CPU控制的,所以为异步方式。
- I/O接口组成
例子:计算机与打印机相连,计算机发送一个“开始打印”的命令给打印机,这条指令实际上是由一串二进制代码构成的,通过数据线传入到状态/控制寄存器中。随即I/O接口进行译码,将译码以后的控制信号发送给外设控制逻辑。
地址译码和I/O控制: 用于对要访问的I/O寄存器号进行译码,对于控制字译码生成控制信号。
控制线: 传输读/写的命令;并且CPU和外设是异步方式,控制线上还会传输握手信号、寄存器清0等。
问题:控制线是可以双向传输的么?答案:是的,CPU给它发命令,它给CPU发中断信号。
- 举个栗子
- 问题1:地址线上传送的是打印机的编址?
非也,408内基本上是一个外设对应一个I/O接口,那么CPU选择外设是通过传送不同的I/O接口中的端口地址来“间接选择”的。 - 命令字就是控制指令,不是指我们IR中的指令吧?
不是捏,但是有点儿像思密达。
详解“状态字”: 类似PSW内的状态信息,包含的内容有:是否已经开机啊,是否有纸张啊,是否有墨水啊。
I/O端口
I/O接口又名“设备控制器”,I/O端口就是I/O接口中的寄存器,例如:数据缓冲寄存器、控制/状态寄存器。CPU编址是对I/O接口中的寄存器进行编址。
- 统一编址
- 独立编址
独立编址下,就不能用load/store指令进行访问外设,而必须用专门的输入/输出指令访问I/O端