Bootstrap

计组——输入输出系统

输入输出系统

在这里插入图片描述

一般来说,I/O 系统由 I/O 软件和 I/O 硬件两部分构成,解决的主要问题是对各种形式的信息进行输入和输出的控制

I/O 硬件

I/O 硬件包括外部设备、设备控制器和接口、I/O总线等,通过设备控制器来控制IO设备的具体动作,通过I/O接口与主机(总线)相连

  • 外部设备,包括输入输出设备(可以输入数据到计算机或接收计算机输出数据的外部设备)及通过输入输出接口才能访问的外存储设备
  • I/O 接口,又称 I/O 控制器(I/O Controller),负责协调主机与外部设备之间的数据传输,如速度的匹配、电平和格式的转换等。

在这里插入图片描述

I/O 控制器就是一块芯片,常被集成在主板上,现在的 I/O 接口(芯片)也会被集成在南桥芯片内部

外部设备

在这里插入图片描述

外部设备,也称外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置,包括输入输出设备(可以输入数据到计算机或接收计算机输出数据的外部设备)及通过输入输出接口才能访问的外存储设备

输入设备

用于向计算机系统输入命令和文本、数据等信息的部件,键盘和鼠标是最基本的输入设备。

键盘

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

在这里插入图片描述

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

  1. 查出按下的是哪个键
  2. 将该键翻译成能被主机接收的编码,如ASCII码
  3. 将编码传送给主机
鼠标

鼠标是常用的定位输入设备,它把用户的操作与计算机屏幕上的位置信息相联系,常用的鼠标有机械式和光电式两种。当鼠标在平面上移动时,其底部传感器把运动的方向和距离检测出来,从而控制光标做相应运动。

在这里插入图片描述

输出设备

用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件,显示器和打印机是最基本的输出设备。

显示器

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

按所显示内容分类:

  • 字符显示器:显示字符的方法以点阵为基础。点阵是指由m×n个点组成的阵列。点阵的多少取决于显示字符的质量和字符窗口的大小。字符窗口是指每个字符在屏幕上所占的点数,它包括字符显示点阵和字符间隔。将点阵存入由ROM构成的字符发生器中在CRT进行光栅扫描的过程中,从字符发生器中依次读出某个字符的点阵,按照点阵中0和1代码不同控制扫描电子束的开或关,从而在屏幕上显示出字符。对应于每个字符窗口,所需显示字符的ASCII代码被存放在视频存储器VRAM中,以备刷新。

在这里插入图片描述

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

在这里插入图片描述

  • 图像显示器

每个字符的字形码占m*n位,显存中存放的是Ascall码信息,Rom中存储的才是字形码信息,对于液晶和LED也是类似的

扫描方式不同可分为:

  • 光栅扫描显示器
  • 随机扫描显示器

补充:显示器参数

在这里插入图片描述

显示器属于用点阵方式运行的设备,有以下主要参数:

  • 屏幕大小:以对角线长度表示,常用的有12~29英寸等。
  • 分辨率:所能表示的像素个数,屏幕上的每一个光点就是一个像素,以宽、高的像素数的乘积表示,如 1024×768 和 1280×1024 等
  • 灰度级:灰度级是指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚逼真,典型的有8位(256级)、16位等,n 位可以表示 2n 种不同的亮度或颜色。
  • 刷新频率:光点只能保持极短的时间便会消失,为此必须在光点消失之前再重新扫描显示一遍(刷新),刷新频率是指单位时间内扫描整个屏幕内容的次数,按照人的视觉生理,刷新频率大于 30Hz 时才不会感到闪烁,通常显示器刷新频率在 60~120 Hz。
  • 显示存储器(VRAM):也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大。
    • VRAM 容量 = 分辨率 × 灰度级位数
    • VRAM 带宽 = 分辨率 × 灰度级位数 × 帧频

灰度级是帧缓冲深度,带宽是速度(单位为MB/s),刷新率60HZ,即1秒钟需要往显存中写入60帧的数据

一帧的大小即为显存的理论最小值,1440 * 900 * 3B ≈ 3.7MB,如果显示器刷新率=60Hz,则显存带宽至少要 3.7 * 60= 222 MB

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

打印机

打印机是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上,常见的打印机:

  • 针式打印机:在联机状态下,主机发出打印命令,经接口、检测和控制电路,间歇驱动纵向送纸和打印头横向移动,同时驱动打印机间歇冲击色带,在纸上打印出所需内容。针式打印机擅长多层复写打印,实现各种票据或蜡纸等的打印,工作原理简单,造价低廉,耗材(色带)便宜,但打印分辨率和打印速度不够高。

在这里插入图片描述

  • 喷墨式打印机:带电的喷墨雾点经过电极偏转后,直接在纸上形成所需字形。彩色喷墨打印机基于三基色原理,即分别喷射3种颜色墨滴,按一定的比例混合出所要求的颜色。打印噪声小,可实现高质量彩色打印,通常打印速度比针式打印机快;但防水性差,高质量打印需要专用打印纸。

在这里插入图片描述

  • 激光打印机:计算机输出的二进制信息,经过调制后的激光束扫描,在感光鼓上形成潜像,再经过显影、转印和定影,便在纸上得到所需的字符或图像。激光打印机是将激光技术和电子显像技术相结合的产物,感光鼓(也称为硒鼓) 是激光打印机的核心部件。打印质量高、速度快、噪声小、处理能力强;但耗材多、价格较贵、不能复写打印多份,且对纸张的要求高。

在这里插入图片描述

串行打印机逐字打印、速度慢,行式打印机逐行打印、速度快

打印机按照工作原理可分为击打式打印机和非击打式打印机。击打式打印机利用机械动作使印字机构与色带和纸相撞而打印字符。设备成本低、印字质量好,但噪声大、速度慢。机打发票银行回执单(防伪性好);非击打式打印机采用电、磁、光、喷墨等物理、化学方法来印刷字符。速度快、噪声小,但成本高。

打印机按照能否打印出汉字可分为点阵式打印机和活字式打印机

外存设备

外存设备是指除计算机内存及CPU缓存等以外的存储器,磁盘存储器、磁盘阵列、光盘存储器、SSD等是最基本的外存设备。

  • 磁表面存储器:所谓磁表面存储是指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁表面存储器。
  • 固态硬盘(SSD):微小型高档笔记本电脑采用高性能 Flash 存储器作为硬盘来记录数据,即固态硬盘(SSD)。固态硬盘除需要Flash存储器外,还需要其他硬件和软件的支持。
  • 光盘存储器:光盘存储器是利用光学原理读/写信息的存储装置,它采用聚焦激光束对盘式介质以非接触方式记录信息。完整的光盘存储系统由光盘片、光盘驱动器、光盘控制器等组成。
I/O 接口

在这里插入图片描述

重点:I/O 端口

I/O 接口(I/O 控制器)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换,解决主机和外设在信息形式和工作速度上的差异。

在这里插入图片描述

其中:

  • 内部接口:主机侧,内部接口与系统总线相连,实质上是与内存、CPU相连。数据的传输方式只能是并行传输。
  • 外部接口:设备侧,外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此 I/O 接口需具有串/并转换功能。

有的 I/O 接口可以连接多个设备,每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备

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

I/O 接口的主要功能如下:

  • 进行地址译码和设备选择。CPU送来地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。
  • 实现主机和外设的通信控制。解决主机与外设时序配合问题,协调不同工作速度的外设和主机之间交换信息,以保证整个计算机系统能统一、协调地工作。
  • 数据缓冲:CPU与外设之间的速度往往不匹配,为消除速度差异,接口必须设置数据缓冲寄存器(DBR),暂存数据,避免数据丢失
  • 信号格式转换。外设与主机两者的电平、数据格式都可能存在差异,接口应提供计算机与外设的信号格式的转换功能,如电平转换、并/串或串/并转换、模/数或数/模转换等。
  • 传送控制命令和状态信息。CPU 要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;外设准备就绪时,则将准备好状态信息送回接口中的状态寄存器,并反馈给CPU。外设向CPU提出中断谴求时,CPU也应有相应的响应信号反馈给外设。

I/O 接口分类:

  • 数据传送方式可分为:并行接口(一个字节或一个字所有位同时传送)、串行接口(一位一位地传送)

  • 主机访问I/O设备的控制方式可分为:程序查询接口、中断接口、DMA接口

  • 功能选择的灵活性可分为:可编程接口、不可编程接口

I/O 端口

I/O 端口是指接口电路中可被 CPU 直接访问的寄存器,主要有数据端口、状态端口和控制端口,若干端口加上相应的控制逻辑电路组成接口。通常,CPU 能对数据端口执行读写操作,但对状态端口只能执行读操作,对控制端口只能执行写操作。

编址方式

I/O 端口要想能被CPU访问,就必须要对各个端口进行编号,每个端口对应一个端口地址,常见的编址方式有统一编址和独立编址两种。

1、统一编址

又称存储器映射方式,把 I/O 端口当做存储器的单元进行地址分配,用统一的访存指令访问 I/O 端口。靠不同的地址码区分内存和 I/O 设备, I/O 地址要求相对固定在地址的某部分,访存类的指令都可以访问 I/O 端口,常用于 RISC 机器(LOAD / STORE)。

在这里插入图片描述

优点:不需要专门的输入/输出指令,所有访存指令都可直接访问端口,程序设计灵活性高,端口有较大的编址空间,读写控制逻辑电路简单

缺点:端口占用主存地址空间,使主存地址空间变小,而且利用存储器编址的I/O设备进行数据输入/输出操作的执行速度较慢(外设寻址时间长,地址位数多,地址译码速度慢)

对于统一编址,系统总线中地址线共10根,则可以访问的存储单元个数为210= 1024个,假设要给10个I/0端口编址:

  • 0~9 表示 I/O 地址, 10~1023 为主存单元地址
  • 0~1013 表示主存单元地址, 1014~1023 为 I/O 地址
  • 10~19 表示 I/O 地址, 0~9、20~1023 为主存单元地址

2、独立编址

又称 I/O 映射方式,I/O 端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口。**靠不同的指令区分内存和 I/O 设备,**只能用专门的 I/O 指令访问 I/O 端口,Intel处理器常用,IN、OUT 是 I/O 指令

在这里插入图片描述

优点:使用专用 I/O 指令,程序编制清晰,I/O 端口地址位数少,地址译码速度快, I/O 端口的地址不占用主存地址空间

缺点: I/O 指令类型少,一般只能对端口进行传送操作,程序设计灵活性差。需要CPU提供存储器读/写、I/O 设备读/写两组控制信号,增加了控制逻辑电路的复杂性

I/O 软件

I/O 软件包括驱动程序、用户程序、管理程序、升级补丁等,通常采用 I/O 指令和通道指令实现主机和 I/O 设备的信息交换

  • I/O 指令:CPU指令的一部分, I/O 指令与普通指令格式略有不同

在这里插入图片描述

  • 管道指令:通道能识别的指令,在含有通道的计算机中,CPU执行I/O指令对通道发出命令,由通道执行一系列通道指令,代替CPU对I/O设备进行管理,通道程序提前编制好放在主存中。

I/O 方式

在输入/输出系统中,传输过程中有各种不同的 I/O 控制方式(CPU如何控制输入输出设备),基本的控制方式主要有以下4种:

  • 程序查询方式:由CPU通过程序不断查询 I/O 设备是否已做好准备,从而控制 I/O 设备与主机交换信息
  • 程序中断方式:只在 I/O 设备准备就绪并向CPU 发出中请求时才予以响应
  • DMA方式:主存和 I/O 设备之间有一条直接数据通路,当主存和 I/O 设备交换信息时,无须调用中断服务程序
  • 通道方式:在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行 I/O 命令时,只需启动有关通道,通道将执行通道程序,从而完成 I/O 操作

程序查询方式和程序中断方式主要用于数据传输率较低的外部设备,DMA方式和通道方式主要用于数据传输率较高的设备

在这里插入图片描述

中断方式靠程序传送,DMA方式靠硬件传送

程序查询方式

程序查询方式:CPU不断轮询检查I/O控制器中的设备状态寄存器,检测到状态为已完成之后,再从数据缓冲寄存器取出输入数据

在这里插入图片描述

CPU 有踏步等待现象,CPU 与 I/O 串行工作,即CPU一旦启动 I/O,必须停止现行程序的运行,并在现行程序中插入一段程序。接口设计简单、设备量少,但CPU在信息传送过程中要花费很多时间用于查询和等待,而且如果采用独占查询,则在一段时间内只能和一台外设交换信息,效率大大降低。

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

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

工作流程:

在这里插入图片描述

其中:

  • 预置传送参数:CPU执行初始化程序,并预置传送参数:设置计数器、设置数据首地址
  • 启动外设:向 I/O 接口发送命令字,启动 I/O 设备
  • 取外设状态:CPU从接口读取设备状态信息
  • 外设准备就绪:CPU不断查询 I/O 设备状态,直到外设准备就绪
  • 传送一次数据:一般为一个字
  • 修改传送参数:修改地址和计数器参数
  • 传送完成:判断传送是否结束(一般计数器为0时结束)

例题:

在这里插入图片描述

定时查询,不是独占查询(100%)

程序中断方式

程序中断方式:等待外设I/O时,CPU可以先去执行其他程序,一旦外设完成数据传送的准备工作,控制器向CPU发出中断请求。在可以响应中断的条件下,CPU暂时中止正在执行的程序,转去执行中断服务程序为外设服务,数据传送完成后,CPU 返回原来的程序

在这里插入图片描述

对于快速I/O设备,如磁盘,每准备好一个字就给CPU发送一次中断请求,会导致CPU花费大量的时间来处理中断服务程序,CPU利用率严重下降。

过程:

在这里插入图片描述

例题:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

DMA 控制方式

DMA(Direct Memory Access,直接内存访问)控制方式:I/O 设备需要进行数据传送时,通过 DMA 控制器向CPU 提出 DMA 传送请求,CPU 响应之后将让出系统总线,由 DMA 控制器接管总线进行数据传送,并在传输结束后向CPU报告。

在这里插入图片描述

DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和数据传送并行工作。

主存与高速I/O设备之间有一条直接数据通路(DMA总线),CPU向DMA接口发出读/写命令,并指明主存地址、磁盘地址、读写数据量等参数。DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写(如1KB为一整块),才向CPU发出一次中断请求

在这里插入图片描述

DMA方式具有下列特点:

  • 它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问
  • 在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现
  • 主存中要开辟专用缓冲区,及时供给和接收外设的数据
  • DMA传送速度快,CPU和外设并行工作,提高了系统效率
  • DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理
  • 数据传送不经过CPU,不需要进行保护、恢复CPU现场等繁琐操作,降低了CPU在传送数据时的开销。适用于磁盘、显卡、声卡、网卡等高速设备大批量数据的传送,硬件开销较大

DMA控制器

在DMA方式中,对数据传送过程进行控制的硬件称为 DMA 控制器(DMA接口),是一种特殊的I/O控制器。

在这里插入图片描述

其中:

  • 主存地址计数器:简称AR,存放要交换数据的主存地址
  • 传送长度计数器:简称WC,用来记录传送数据的长度,计数溢出时,数据即传送完毕,自动发中断请求信号
  • 中断机构:当一个数据块传送完毕后触发中断机构,向CPU提出中断请求
  • 控制/状态逻辑:由控制和时序电路及状态标志组成,用于指定传送方向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步
  • DMA请求触发器:每当I/O设备准备好数据后,给出一个控制信号,使DMA请求触发器置位
  • 数据缓冲寄存器:用于暂存每次传送的数据

CPU向DMA控制器指明输入或输出;要传送多少数据;数据在主存、外设中的地址。

在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用。而当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。

DMA数据传输过程

DMA的数据传送过程分为预处理、数据传送和后处理3个阶段:

  • 预处理:由CPU完成一些必要的准备工作。首先,CPU执行几条I/O指令,用以测试I/O设备状态,初始化 DMA 控制器中的有关寄存器、设置传送方向、启动该设备等。然后,CPU 继续执行原来的程序,直到 I/O 设备准备好发送的数据(输入情况)或接收的数据(输出情况)时,I/O 设备向 DMA 控制器发送 DMA 请求,再由DMA控制器向CPU发送总线请求,用以传输数据。
  • 数据传送:DMA的数据传输可以以单字节(或字)为基本单位,也可以以数据块为基本单位。对于以数据块为单位的传送(如硬盘),DMA 占用总线后的数据输入和输出操作都是通过循环来实现的,数据传送阶段完全由DMA(硬件)控制。
  • 后处理:DMA 控制器向CPU 发送中断请求,CPU 执行中断服务程序做DMA结束处理,包括校验送入主存的数据是否正确、测试传送过程中是否出错(错误则转诊断程序)及决定是否继续使用DMA传送其他数据等。

在这里插入图片描述

DMA传送方式

当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下3种方法使用主存:

1、停止CPU访存

当I/O设备有DMA请求时,由DMA控制器向CPU发送一个停止信号,使CPU脱离总线,停止访问主存,直到DMA传送一块数据结束。数据传送结束后,DMA控制器通知CPU可以使用主存,并把总线控制权交还给CPU。

在这里插入图片描述

2、周期挪用(或周期窃取)

当I/O设备有DMA请求时,会遇到三种情况:

  • CPU 不在访存,I/O 的访存请求与CPU未发生冲突
  • CPU正在访存,必须待存取周期结束后,CPU再将总线占有权让出
  • I/O 和 CPU 同时请求访存,出现访存冲突,CPU要暂时放弃总线占有权,由 I/O 设备挪用一个或几个存取周期,传送完一个数据后立即释放总线,是一种单字传送方式。

在这里插入图片描述

I/O访存优先级高于CPU访存,因为 I/O 不立即访存就可能丢失数据,此时

3、DMA与CPU交替访存

适用于CPU的工作周期比主存存取周期长的情况,将一个CPU周期分为C1和C2两个周期,其中C1专供DMA访存,C2专供CPU访存,总线使用权是通过C1和C2分时控制,不需要总线使用权的申请、建立和归还过程

在这里插入图片描述

通道方式

通道方式:在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行 I/O 命令时,只需启动有关通道,通道将执行通道程序,从而完成 I/O 操作

在这里插入图片描述

通道是具有特殊功能的处理器,可以理解为是削弱版的CPU,能对 I/O 设备进行统一管理,通道可以识别并执行一系列通道指令,通道指令种类、功能通常比较单一

流程:

  1. CPU向通道发出I/O指令,指明通道程序在内存中的位置,并指明要操作的具体I/O设备,然后CPU继续执行其他任务
  2. 通道执行内存中的通道程序,控制I/O设备完成一系列任务
  3. 通道执行完规定的任务后,向CPU发出中断请求,之后CPU对中断进行处理

附:思维导图
在这里插入图片描述

;