07-输入输出系统

2023-05-16

IO系统基本概念(大纲已删)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

I/O控制方式简介

在这里插入图片描述

I/O控制器多种多样,也会制定相应的标准,如:用于控制uSB设备的I/O接口、用于控制SATA 3.0硬盘的I/O接口等

(I/O控制器就是一块芯片)常被集成在主板上

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

1)程序查询方式:CPU不断轮询检查l/o控制器中的“状态寄存器”,检测到状态为“已完成”之后,再从数据寄存器取出输入数据

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

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

在这里插入图片描述

在这里插入图片描述

注:DMA接口,即DMA控制器,也是一种特殊的I/O控制器

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

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

在这里插入图片描述

DMA控制器与主存每次传送1个字。当传送完一整块数据后才向CPU发出中断请求
在这里插入图片描述

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

输入设备

键盘
键盘是最常用的输入设备,通过它可发出命令或输入数据。每个键相当于一个开关,当按下键时,电信号连通;

当松开键时,弹簧把键弹起,电信号断开。

键盘输入信息可分为3个步骤:

①查出按下的是哪个键;

②将该键翻译成能被主机接收的编码,如ASCIl码;

③将编码传送给主机。

鼠标

鼠标是常用的定位输入设备,它把用户的操作与计算机屏幕上的位置信息相联系。常用的鼠标有机械式和光电式两种。

工作原理:

当鼠标在平面上移动时,其底部传感器把运动的方向和距离检测出来,从而控制光标做相应运动。

输出设备

显示器

按显示设备所用的显示器件分类:

☆阴极射线管(CRT)

显示器液晶显示器((LCD)

LED显示器
在这里插入图片描述

注:现代计算机中,显存除了作为当前显示帧的缓存,还会用于保存即将渲染的图像数据。
集成显卡计算机中,通常分配一片内存作为显存

阴极射线管(CRT)显示器

CRT显示器主要由电子枪、偏转线圈、荫罩、高压石墨电极和荧光粉涂层及玻璃外壳5部分组成。具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等目前LCD难以超过的优点。

液晶显示器(LCD)

原理:利用液晶的电光效应,由图像信号电压直接控制薄膜晶体管,再间接控制液晶分子的光学特性来实现图像的显示。特点:体积小、重量轻、省电、无辐射、绿色环保、画面柔不伤眼等。

·

LED (发光二极管)显示器

原理:通过控制半导体发光二极管进行显示,用来显示文字、图形、图像等各种信息。

LCD与LED是两种不同的显示技术,LCD是由液态晶体组成的显示屏,而LED则是由发光二极管组成的显示屏。与LCD相比,LED显示器在亮度、功耗、可视角度和刷新速率等方面都更具优势。

显示器-阴极射线管(CRT)显示器

按显示信息内容不同可分为

字符显示器

显示字符的方法以点阵为基础。点阵是指由m×n个点组成的阵列。点阵的多少取决于显示字符的质量和字符窗口的大小。字符窗口是指每个字符在屏幕上所占的点数,它包括字符显示点阵和字符间隔。

将点阵存入由ROM构成的字符发生器中,在CRT进行光栅扫描的过程中,从字符发生器中依次读出某个字符的点阵,按照点阵中0和1代码不同控制扫描电子束的开或关,从而在屏幕上显示出字符。对应于每个字符窗口,所需显示字符的ASCII代码被存放在视频存储器VRAM中,以备刷新。

在这里插入图片描述

图形显示器

将所显示图形的一组坐标点和绘图命令组成显示文件存放在缓冲存储器中,缓存中的显示文件传送给矢量(线段)产生器,产生相应的模拟电压,直接控制电子束在屏幕上的移动。为了在屏幕上保留持久稳定的图像,需要按一定的频率对屏幕进行反复刷新。
这种显示器的优点是分辨率高且显示的曲线平滑。目前高质量的图形显示器采用这种随机扫描方式。缺点是当显示复杂图形时,会有闪烁感。

图像显示器

打印机

打印机是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上。按印字原理不同可分为

击打式打印机:利用机械动作使印字机构与色带和纸相撞而打印字符

优:设备成本低印字质量好

缺:噪声大速度慢

非击打式打印机:采用电、磁、光、喷墨等物理、化学方法来印刷字符

优:速度快

噪声小缺:成本高

按打印机工作方式不同可分为

串行打印机:逐字打印

速度慢

行式打印机:逐行打印

速度快

按工作方式可分为

(1针式打印机

原理:在联机状态下,主机发出打印命令,经接口、检测和控制电路,间歇驱动纵向送纸和打印头横向移动,同时驱动打印机间歇冲击色带,o在纸上打印出所需内容。

特点:针式打印机擅长“多层复写打印”,实现各种票据或蜡纸等的打印。它工作原理简单,造价低廉,耗材(色带)便宜,但打印分辨率和打印速度不够高

(2喷墨式打印机

原理:带电的喷墨雾点经过电极偏转后,直接在纸上形成所需字形。彩色喷墨打印机基于三基色原理,即分别喷射3种颜色墨滴,按一定的比例混合出所要求的颜色。

特点:打印噪声小,可实现高质量彩色打印,通常打印速度比针式打印机快;但防水性差,高质量打印需要专用打印纸。

(3激光打印机

原理:计算机输出的二进制信息,经过调制后的激光束扫描,在感光鼓上形成潜像,再经过显影、转印和定影,便在纸上得到所需的字符或图像。

特点:打印质量高、速度快、噪声小、处理能力强;但耗材多、价格较贵、不能复写打印多份,且对纸张的要求高。激光打印机是将激光技术和电子显像技术相结合的产物。感光鼓(也称为硒鼓)是激光打印机的核心部件。

I/O接口

在这里插入图片描述

I/O接口的作用

在这里插入图片描述

数据缓冲:通过数据缓冲寄存器(DBR)达到主机和外设工作速度的匹配

错误或状态监测:通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用

控制和定时:接收从控制总线发来的控制信号、时钟信号

数据格式转换:串-并、并-串等格式转换

在这里插入图片描述

①发命令:发送命令字到I/O控制寄存器,向设备发送命令(需要驱动程序的协助)

②读状态:从状态寄存器读取状态字,获得设备或I/O控制器的状态信息

③读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换

控制寄存器、状态寄存器在使用时间上是错开的,因此有的I/O接口中可将二者合二为一

外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/o接口需具有串/并转换功能。

内部接口:内部接口与系统总线相连,实质上是与内存、CPU相连。数据的传输方式只能是并行传输。

如何确定要操作的设备?
每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备

I/O端口

在这里插入图片描述

统一编址vs独立编址

在这里插入图片描述
在这里插入图片描述

分类

(1 按数据传送方式可分为

并行接口:一个字节或一个字所有位同时传送。

串行接口:一位一位地传送。

注:这里所说的数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,数据总是并行传送的。接口要完成数据格式转换。

(2 按主机访问I/O设备的控制方式可分为

程序查询接口

中断接口DMA接口

(3 按功能选择的灵活性可分为

可编程接口

不可编程接口

程序查询方式

x86中的IO指令实例

IN Rd, Rs:把IO端口Rs的数据输入到CPU寄存器Rd

OUT Rd,Rs:把CPU寄存器Rs的数据输出到IO端口Rd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序。

主要特点:CPU有“踏步”等待现象,CPU与I/O串行工作。

优点:接口设计简单、设备量少。

缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且如果采用独占查询,则在一段时间内只能和一台外设交换信息,效率大大降低。

独占查询: CPU 100%的时间都在查询I/O状态,完全串行

定时查询:在保证数据不丢失的情况下,每隔一段时间CPU就查询一次I/O状态。查询的间隔内CPU可以执行其他程序

中断的作用和原理

在这里插入图片描述

单重中断:执行中断服务程序时不响应新的中断请求。

中断的基本概念

程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。

在这里插入图片描述

在这里插入图片描述

中断请求标记

每个中断源向CPU发出中断请求的时间是随机的。

为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,当其状态为“1"时,表示中断源有请求。

这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。

对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取I/O的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻。

CPU响应中断必须满足以下3个条件:

①中断源有中断请求。

②CPU允许中断即开中断。

一条指令执行完毕,且没有更紧迫的任务。
在这里插入图片描述

中断判优

中断判优既可以用硬件实现,也可用软件实现:

硬件实现是通过硬件排队器实现的,它既可以设置在CPU中,也可以分散在各个中断源中;

软件实现是通过查询程序实现的。

在这里插入图片描述

1.硬件故障中断属于最高级,其次是软件中断;

2.非屏蔽中断优于可屏蔽中断;

3.DMA请求优于I/O设备传送的中断请求

4.高速设备优于低速设备;

5.输入设备优于输出设备;

6.实时设备优于普通设备。

中断处理过程

硬件向量法

中断隐指令的主要任务:

①关中断。在中断服务程序中,为了保护中断现场((即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。

②保存断点。为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。可以存入堆栈,也可以存入指定单元。

③引出中断服务程序。引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC) 。

在这里插入图片描述

中断服务程序

在这里插入图片描述

中断服务程序的主要任务:

①保护现场

保存通用寄存器和状态寄存器的内容(eg:保存ACC寄存器的值),以便返回原程序后可以恢复CPU环境。可使用堆栈,也可以使用特定存储单元。

②中断服务(设备服务)

主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中(eg:中断服务的过程中有可能修改Acc寄存器的值)

③恢复现场

通过出栈指令或取数指令把之前保存的信息送回寄存器中(eg:把原程序算到一般的Acc值恢复原样)

④中断返回

通过中断返回指令回到原程序断点处。

多重中断

单重中断与多重中断

在这里插入图片描述
在这里插入图片描述

中断屏蔽技术

中断屏蔽技术主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件。

①在中断服务程序中提前设置开中断指令。

②优先级别高的中断源有权中断优先级别低的中断源。

每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。

在这里插入图片描述

屏蔽字设置的规律:
1.一般用’1’表示屏蔽,'O’表示正常申请。

2.每个中断源对应一个屏蔽字(在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字)。

3.屏蔽字中’1’越多,优先级越高。每个屏蔽字中至少有一个’1’(至少要能屏蔽自身的中断)。

例题

在这里插入图片描述

在这里插入图片描述

中断小结

在这里插入图片描述

程序中断方式

在这里插入图片描述
在这里插入图片描述

例题

在这里插入图片描述

DMA方式

在这里插入图片描述

DMA控制器

在这里插入图片描述

在这里插入图片描述

DMA传送方式

在这里插入图片描述

主存和DMA控制器之间有一条数据通路,因此主存和/O设备之间交换信息时,不通过CPU。但当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下3种方法使用主存。

在这里插入图片描述

DMA方式的特点

主存和DMA接口之间有一条直接数据通路。
由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行工作。
DMA方式具有下列特点:
①它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。
②在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
③主存中要开辟专用缓冲区,及时供给和接收外设的数据。
④DMA传送速度快,CPU和外设并行工作,提高了系统效率。
⑤DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。

在这里插入图片描述

DMA方式与中断

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UxDEy9yx-1659277357919)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220731213937170.png)]

DMA方式的特点

主存和DMA接口之间有一条直接数据通路。
由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行工作。
DMA方式具有下列特点:
①它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。
②在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
③主存中要开辟专用缓冲区,及时供给和接收外设的数据。
④DMA传送速度快,CPU和外设并行工作,提高了系统效率。
⑤DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。

[外链图片转存中…(img-p58NDJBU-1659277357918)]

DMA方式与中断

[外链图片转存中…(img-UxDEy9yx-1659277357919)]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

07-输入输出系统 的相关文章

  • MapReduce排序过程

    排序是MapReduce框架中最重要的操作之一 MapTask和ReduceTask均会对数据按照key 进行排序 该操作属于Hadoop 的默认行为 xff0c 任何应用程序中的数据均会被排序 xff0c 而不管逻辑上是否需要 默认排序是
  • 温湿度传感器实验-传感器原理及应用实验

    目录 一 实验实训主要内容二 实验实训方法 过程步骤三 实验实训结果与分析四 讨论小结 一 实验实训主要内容 学习温湿度传感器的使用方法 xff0c 了解温湿度传感器的基本实验原理和实际应用 xff0c 熟练掌握温湿度传感器的基本步骤 xf
  • 烟雾检测传感器实验-传感器原理及应用实验

    目录 一 实验实训主要内容二 实验实训方法 过程步骤三 实验实训结果与分析四 讨论小结 一 实验实训主要内容 学习烟雾检测传感器的原理及检测方式 xff0c 了解烟雾检测传感器的实验原理和技术指标 xff0c 熟练掌握烟雾检测传感器的工作步
  • 4:Servlet-Java Web

    目录 4 1 Servlet简介4 2 HTTP协议4 3 Servlet与JSP4 4 Servlet处理的基本流程4 5 Servlet 容器4 6 Servlet程序实现 4 1 Servlet简介 Servlet是用Java语言编写
  • 5:Servlet程序-Java Web

    目录 5 1 Servlet要求5 2 创建Servlet5 3 第一个Servlet5 4 Servlet编译5 5 Servlet配置 5 1 Servlet要求 如果要开发一个可以处理HTTP请求的Servlet程序 xff0c 首先
  • 6:部署Servlet-Java Web

    目录 6 1 部署Servlet6 2 请求Servlet6 3 找不到servlet包6 4 Servlet映射的细节 6 1 部署Servlet 部署就是把Servlet的字节码文件放在适当的地方 为了在浏览器上访问Servlet xf
  • 7:Servlet表单-Java Web

    目录 7 1 Servlet响应7 2 Servlet获取客户端参数7 3 Servlet接受表单数据 7 1 Servlet响应 通过response对象对用户进行响应 创建输出流对象 PrintWriter out 61 respons
  • 8:Servlet生命周期-Java Web

    目录 8 1 Servlet生命周期8 2 Servlet生命周期对应的方法8 3 Servlet的多线程机制 8 1 Servlet生命周期 Servlet程序是运行在服务器端的一段Java程序 xff0c 其生命周期将受到Web容器的控
  • 9:中文乱码处理-Java Web

    目录 9 1 常见字符集9 2 乱码原因9 3 解决乱码 9 1 常见字符集 ASCII 最原始的一套编码 xff0c 所有编码都是由一个字节的二进制数对应 xff0c 尽管包含8位 xff0c 但是第一位始终是0 xff0c 也就是128
  • 华为云平台零代码搭建物联网可视化大屏体验:疫情防控数据大屏

    目录 一 介绍二 准备三 搭建1 创建疫情防控大屏应用2 组件放置3 组件配置4 应用打包 一 介绍 零代码搭建物联网可视化大屏 xff1a 自定义物联网场景 xff0c 根据个人理解实现基于华为云IoT以及可视化大屏DLV搭建物联网大屏
  • 华为开源自研AI框架昇思MindSpore入门体验:手写数字识别

    目录 一 环境安装1 进入MindSpore官网2 选择安装版本3 确保为Windows系统4 安装MindSpore5 验证安装6 安装依赖 二 模型训练1 下载并处理数据集2 创建模型 本教程是在CPU Ubuntu上安装MindSpo
  • 转型“系统集成商+大数据运营和服务商”,航天信息看好你哟

    毫无疑问 xff0c 人工智能今天已经是一个 风口 抓住这一契机 xff0c 迎风起舞 xff0c 可能是所有厂商的想法 但是每一个新的趋势出现时 xff0c 一定是机遇与挑战并存 对于厂商来说 xff0c 是处变不惊 xff0c 还是急速
  • 华为开源自研AI框架昇思MindSpore应用实践:DCGAN生成漫画头像

    目录 一 原理说明1 GAN基础原理2 DCGAN原理 二 环境准备1 进入ModelArts官网2 使用CodeLab体验Notebook实例 三 数据准备与处理1 数据处理 四 创建网络1 生成器2 判别器3 损失和优化器4 优化器 五
  • 我的创作纪念日-从写作到阿里云专家博主的故事

    目录 在创作之路上追寻自我首先是我为什么会埋下创作的种子种子的萌发通过这些经历 xff0c 此时创作的种子正在长成一棵小树创作的小树茁壮成长大树终将结出丰硕的果实 在创作之路上追寻自我 在创作之路上追寻自我 xff0c 与大家分享我从写作到
  • 华为开源自研AI框架昇思MindSpore应用实践:RNN实现情感分类

    目录 一 环境准备1 进入ModelArts官网2 使用CodeLab体验Notebook实例 二 数据准备1 数据下载模块2 加载IMDB数据集2 加载预训练词向量 三 数据集预处理四 模型构建1 Embedding2 RNN 循环神经网
  • 华为开源自研AI框架昇思MindSpore数据处理:性能优化

    目录 一 环境准备1 进入ModelArts官网2 使用CodeLab体验Notebook实例 二 下载数据集三 数据加载性能优化四 shuffle性能优化五 数据增强性能优化六 操作系统性能优化七 自动数据加速八 数据异构加速 数据是整个
  • Spring-boot启动失败 Unregistering JMX-exposed beans on shutdown 异常处理

    目录 一 异常错误二 原因三 解决方法 一 异常错误 Spring boot启动Run时 xff0c 出现 o s j e a AnnotationMBeanExporter Unregistering JMX exposed beans
  • 华为开源自研AI框架昇思MindSpore应用实践:FGSM网络对抗攻击

    目录 一 环境准备1 进入ModelArts官网2 使用CodeLab体验Notebook实例 二 对抗样本定义三 攻击方法快速梯度符号攻击 xff08 FGSM xff09 四 数据处理五 训练LeNet网络六 实现FGSM七 运行攻击

随机推荐