计算机组成原理学习(输入输出系统)

2023-12-17 06:42:59

目录

输入输出系统(i/o系统)

一.现代计算机的结构

二.常见的(I/O设备或者是外部设备)

??三.主机如何与I/O设备进行交互

?四.I/O控制方式简介

五.I/O系统的基本组成


输入输出系统(i/o系统)

一.现代计算机的结构

二.常见的(I/O设备或者是外部设备)

?三.主机如何与I/O设备进行交互

I/O接口:又称I/O控制器、设备控制器,主要负责协调主机与外部设备之间的数据传输;

I/O控制器多种多样,也会指定相应的标准,如:用于控制USB设备的IO接口、用于控制SATA3.0硬盘的IO接口等(I/O控制器就是一块芯片,常被集成在主板上)?

I/O接口会进行数据的交互,信息的传输 ,需要它的中转和处理;

?四.I/O控制方式简介

在我们打程序代码时,可以看到在编译运行之后并不会直接输出,而是会等待键盘I/O完成;

cpu如何控制键盘I/O的完成呢?

?在I/O接口里面有数据寄存器(存放I/O设备输入的数据),控制寄存器(存放例如让键盘上哪个灯亮灭),状态寄存器(打印机是否就绪,或者是否没有纸了);

CPU通过控制总线发出一个读的命令,同时可以通过地址总线来指明他要控制的是哪一个设备,还可以用于指明设备读入的数据应该放在那个数据寄存器里面;

1) 程序查询方式:CPU不断轮询检I/O控制器中的“状态寄存器”后,,检测到状态为“已完成”之再从数据寄存器取出输入数据(这种方法比较笨,例如上面那个例子如果你一直没有给键盘的输入就会一直等着);

2)?程序中断方式:等待键盘/0时CPU可以先去执行其他程序,键盘I/0完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据;

数据流下所示:

键盘->I/O接口的数据寄存器->数据总线->CPU某寄存器->主存 (变量i的对应位置)

两种控制方式的比较图:

思考:对于快速I/O设备,如“磁盘”,没准备好一个字就给cpu发送一次中断请求,会导致什么问题呢?

CPU会使用大量的时间来处理中断服务程序,CPU利用率严重下降。

3)DMA控制方式:主存与高速I/O设备之间有一条直接数据通路 (DMA总线)。CPU向DMA接口发出“读/写”命令,并指明主存地址、磁盘地址、读写数据量等参数。

DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写(如1KB为一整块) ,才向CPU发出一次中断请求;

DMA控制可以看到上图中CPU和DMA接口共享主存,所以当DMA访问主存的时候CPU就不可以访问主存了;

?DMA控制器与主存每次传送一个字。当传送完一整块的数据后猜想CPU发出中断请求;

它与程序中断方式的区别就在于可以让CPU执行程序的时间更长一些,DMA只占用一个存取周期,而程序中断方式需要占用多个存取周期,每传一个字都要发送一个中断请求。

4)通道控制方式
通道:可以理解为是“弱鸡版的CPU”通道可以识别并执行一系列通道指令,通道指令种类、功能通常比较单一;

五.I/O系统的基本组成

文章来源:https://blog.csdn.net/weixin_63947322/article/details/135025805
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。