ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

I/O管理

2022-05-03 23:01:49  阅读:147  来源: 互联网

标签:控制器 管理 中断 寄存器 数据 CPU 设备


1.I/O基本概念:将数据输入计算机,或接收计算机的数据输出到外部设备
2.I/O设备的构成:机械部件(硬件),电子部件(软件)--->I/O控制器,设备控制器
3.I/O控制器:
作用:接收并识别CPU命令、向CPU报告设备状态、数据交换、地址识别

I/O控制方式:
(1)程序直接控制方式(每次读/写一个字)
过程: CPU通过控制线向I/O控制器发送指令,然后I/O控制器启动I/O设备,
将对应的状态寄存器设置为1(表示设备未准备好数据),
输入设备将数据传入I/O控制器,报告自己的状态,
然后I/O控制器将数据传入数据寄存器,修改I/O寄存器状态为0(表示设备已就绪),
其次CPU将数据寄存器的内容读取到自己的寄存器,最后再到内存。
优点:实现简单,缺点:CPU和设备是串行,每次的轮巡检查状态寄存器,可能导致“忙等”,因此CPU利用率低
(2)中断驱动方式(每次读/写一个字)
过程:CPU通过控制线向I/O控制器发送指令,
CPU将此I/O进程阻塞,将对应的状态寄存器设置为1(表示设备未准备好数据),
输入设备将数据传入I/O控制器,报告自己的状态,
然后I/O控制器将数据传入数据寄存器,修改I/O寄存器状态为0(表示设备已就绪),
I/O控制器发送一个中断命令给CPU,CPU将数据寄存器的内容读取到自己的寄存器,最后再到内存。
优点:CPU和I/O设备可以并行工作,缺点:CPU在I/O操作前后干预,但每次都是按字读,实际也存在CPU频繁干预
(3)DMA方式(传输块)
过程:CPU通过控制线向I/O控制器发送指令以及一个内存地址,I/O控制器通知设备
设备传输一个块的数据暂存到数据寄存器,修改状态寄存器
DMA控制器将数据传到之前CPU给的内存,然后发送中断命令给CPU,告诉CPU已执行前面的指令

优点:CPU和I/O设备可以并行工作缺点:多个块必须是连续的,每个I/O指令操作一个块,离散块需要频繁中断
(4)通道控制方式(一组数据块)

通道是专门负责I/O的处理机,是硬件,区别于以前的管道(缓冲区,是软件)
I/O通道直接操作内存中的通道程序,将设备传入数据直接传到内存

4.I/O软件层次结构
(1)用户层软件:实现用户交互接口,通过库函数实现系统调用
(2)设备独立性软件:与硬件底层无关的操作,对上层的封装操作,向上一层提供调用接口,设备保护,容错处理,设备分配与回收,数据缓冲区管理,逻辑设备与物理设备映射映射
(3)设备驱动程序:CPU指令相同,负责控制硬件设备,将CPU指令转成设备操作,驱动程序以独立进程的形式存在
(4)中断处理程序(I/O中断的应答):IO完成后发送中断信号,执行中断处理程序,会直接操作硬件

5.假脱机技术
解决输入和输出效率不平衡的问题:缓冲思想,缓冲区满了才放到输入井

6.I/O设备的分配和回收(在设备独立性软件层处理)

标签:控制器,管理,中断,寄存器,数据,CPU,设备
来源: https://www.cnblogs.com/ganhuasen/p/16219836.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有