IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> I/O设备管理 -> 正文阅读

[嵌入式]I/O设备管理

I/O层次结构

图片1.png

  1. 用户层I/O软件: 实现与用户的交互,用户可以直接调用此层提供的接口、函数等;
  2. 设备独立性软件: 用于实现用户程序和设备驱动器的统一接口、设备命名、设备保护以及设备分配和释放等,同时为数据的传输提供必要的空间
  3. 设备驱动程序: 与硬件直接相关,用于具体实现系统施加给硬件设备的指令
  4. 中断处理程序: 保护被中断的CPU环境,转入中断处理程序,处理,返回恢复现场

中断和陷入

中断

指CPU对I/O设备发来的中断信号的一种响应。CPU保护暂停当前进程,转而去处理引发中断的进程。执行完后,再返回到原进程,继续执行。I/O设备可以是字符设备(键盘),块设备(磁盘)或通信设备(网络)等。由于中断是外部造成的,所以又叫外中断。

陷入

陷入是由CPU进程内部事件引发的中断,因此叫陷入或内中断。其产生的原因往往是由于进程本身出现运行时异常。

中断向量表和中断优先级

图片2.png

中断向量表

  • 用于记录相应中断处理程序入口地址的映射表。
  • 表中有为中断类型分配的中断号和相对应的中断处理程序的入口地址。
  • 当中断来临时,由中断控制器确定中断号,再到表中寻找程序。

中断优先级

  • 对于并发的中断请求,必须要给出合理的中断顺序,比如键盘中断和磁盘中断谁更重要等,要给出解决中断的优先级。

中断处理程序(Interrupt Handlers)

操作系统需完成如下复杂的任务:

  1. 保存没有被中断硬件保存的所有寄存器(PSW)
  2. 为中断服务过程设置上下文
  3. 为中断服务过程设置堆栈
  4. 应答中断控制器
  5. 将寄存器从被保存的地方复制到进程表
  6. 运行中断服务过程
  7. 选择下一次运行哪个进程
  8. 为下个进程设置MMU上下文
  9. 装入新进程的寄存器
  10. 运行新进程

对I/O设备的控制方式

  • 程序控制 I/O
  • 中断驱动I/O
  • 直接存储器访问(DMA)
  • I/O通道控制方式
    前两种是以字节为单位进行数据传递,后两种是以数据块为单位进行数据传递。

程序控制I/O

让CPU做所有工作
打印一个字符串的步骤

图片3.png

中断驱动I/O

图片4.png

使用中断驱动I/O 将一个字符串写到打印机.
(a) 当打印系统调用发出时所执行的代码. (b) 打印机的中断服务过程.

使用DMA的I/O

图片5.png

使用DMA中打印字符串.
(a) 当打印系统调用发出时所执行的代码. (b) 中断服务过程.

I/O通道方式

  • I/O通道方式是DMA方式的发展,可进一步减少CPU的干预。
    • 把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备三者的并行操作。
  • 通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。
  • 通道分为选择通道、字节多路通道和数组多路通道三种类型

假脱机操作 SPOOLing(Simultaneaus Periphernal Operating On Line)

  • 为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。

    • 该技术是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。
    • 事实上,当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。
  • 在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On Line),或称为假脱机操作。

SPOOLing系统的组成

图片5.png

SPOOLing系统的特点

  • 提高了I/O的速度。
  • 将独占设备改造为共享设备。
  • 实现了虚拟设备功能。
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:21:45  更:2021-12-26 22:22:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 15:32:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码