目录
1.IO系统基本概念
2.输入输出设备
3.外存储器
4.I\O接口
5.程序查询方式
6.程序中断方式
7.多重中断
8.程序中断方式
9.DMA方式
"I\O" 就是 "输入\输出"
I\O设备就是可以将 数据输入到计算机,或者可以接受计算机输出数据的外部设备
主机与I/O设备进行交互
I\O接口:又称I\O控制器,设备控制器,负责协调主机与外部设备之间的数据传输
I\O控制器多种多样,也会指定相应的标准,如:用于控制USB设备的IO接口,用于控制SATA3.0硬盘的IO接口等 (I\O控制器就是一块芯片,常被集成在主板上)
I\O控制方式简介
1)程序查询方式:CPU不断轮询检查I\O控制器中的"状态寄存器",检测到状态为"已完成"之后,再从数据寄存器取出输入数据
2)程序中断方式:等待键盘I\O时,CPU可以先去执行其他程序,键盘I\O完成后I\O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据
数据流:键盘 -> IO接口的数据寄存器 -> 数据总线 -> CPU某寄存器 -> 主存
对于快速的I\O设备,比如磁盘,每准备好一个字就给CPU发送一次中断请求,CPU需要花大量时间来处理中断服务程序,CPU利用率严重下降
DMA控制方式
注:DMA接口,即DMA控制器,也是一种特殊的I\O控制器
DMA控制方式:主存与高速I\O设备之间有一条直接数据通路(DMA总线)。CPU向DMA接口发出"读/写"命令,并指明主存地址,磁盘地址,读写数据量等参数
DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写(如1KB为一整块),才向CPU发出一次请求
DMA控制器与主存每次传送1个字,当传送完一整数据后才向CPU发出中断请求
通道控制方式
通道是具有特殊功能的处理器,能对I\O设备进行统一管理
通道:可以理解为"弱化的CPU"。通道可以识别并执行一系列通道指令,通道指令种类,功能通常比较单一
I\O系统基本组成
一般来说,I\O系统由I\O软件和I\O硬件两部分组成
I\O硬件:包括外部设备,I\O接口,I\O总线等
I\O软件: 包括驱动程序,用户程序,管理程序,升级补丁等
通常采用I\O指令和通道指令实现主机和I\O设备的信息交换
1)I\O指令:CPU指令的一部分
2)通道指令:通道能识别的指令
通道程序提前编制好放在主存中
在含有通道的计算机中,CPU执行I\O指令对通道发出命令,由通道执行一系列通道指令,代替CPU对I\O设备进行管理
注:I\O指令与普通指令格式略有不同,操作码指明了CPU要对IO接口做什么,命令码指明了IO接口要对设备做什么
外部设备也称外围设备,是除了主机以外,能直接或间接与计算机交换信息的装置
输入设备:用于向计算机系统输入命令和文本,数据等信息的部件。键盘和鼠标是最基本的输入设备
输出设备:用于将计算机系统中的信息输出到计算机外部进行显示,交换等的部件。显示器和打印机是最基本的输出设备
外存设备:是指除计算机内存及CPU缓存等以外的存储器。硬磁盘,光盘等是最基本的外存设备
输入设备
键盘是最常用的输入设备,通过它可发出命令或输入数据。每个键相当于一个开关,当按下键时,电信号连通;当松开键时,弹簧把键弹起,电信号断开
键盘输入信息可分为3个步骤
1)查出按下的是哪个键
2)将该键翻译成能被主机接受的编码,如ASII码
3)将编码传送给主机
鼠标是最常用的定位输入设备,他把用户的操作与计算机屏幕上的位置信息相联系。常用的鼠标有机械式和光电式两种
工作原理:当鼠标在平面上移动时,其底部传感器把运动的方向和距离检测出来,从而控制光标做相应运动
输出设备
屏幕
按显示设备所用的显示器件分类:
阴极射线管(CRT)显示器
CRT显示器主要由电子枪,偏转线圈,荫罩,高压石墨电极和荧光粉涂层及玻璃外壳5部分组成。具有可视角大,无环点,色彩还原度高,色度均匀,可调节的多分辨率模式,相应时间极短等
液晶显示器(LCD)
原理:利用液晶的电光效应,由图像信号电压直接控制薄膜晶体管,再间接控制液晶分子的光学特性来实现图像的显示
特点:体积小,重量轻,省电,无辐射,绿色环保,画面柔和,不伤眼等
LED显示器
原理:通过控制半导体发光二极管进行显示,用来显示文字,图形,图像各种信息
LCD与LED是两种不同的显示技术,LCD是由液态晶体组成的显示屏,而LED则是由发光二极管组成的显示屏。与LCD相比,LED显示器在亮度、功耗、可视角度和刷新速率等方面都更具优势。
按所显示的信息内容分类:
字符显示器
显示字符的方法以点阵为基础。点阵是指由m×n个点组成的阵列。点阵的多少取决于显示字符的质量和字符窗口的大小。字符窗口是指每个字符在屏幕上所占的点数,它包括字符显示点阵和字符间隔。
将点阵存入由ROM构成的字符发生器中,在CRT进行光栅扫描的过程中,从字符发生器中依次读出某个字符的点阵,按照点阵中0和1代码不同控制扫描电子束的开或关,从而在屏幕上显示出字符。对应于每个字符窗口,所需显示字符的ASCII代码被存放在视频存储器VRAM中,以备刷新。
图形显示器
将所显示图形的一组坐标点和绘图命令组成显示文件存放在缓冲存储器中,缓存中的显示文件传送给矢量(线段〉产生器,产生相应的模拟电压,直接控制电子束在屏幕上的移动。为了在屏幕上保留持久稳定的图像,需要按一定的频率对屏幕进行反复刷新。
这种显示器的优点是分辨率高且显示的曲线平滑。目前高质量的图形显示器采用这种随机扫描方式。缺点是当显示复杂图形时,会有闪烁感。
图像显示器
屏幕大小:以对角线长度表示,常用的有12~29英寸等
分辨率:所能表示的像素个数,屏幕上的每一个光点就是一个像素,以宽,高的像素的乘积表示,如:800*600,1024*768,1280*1024等
灰度级:灰度级是指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚逼真,典型的有8位(256级),16位等
刷新:光点只能保持极短的时间便会消失,为此必须在光点消失之前再重新扫描显示一遍,这个过程称为刷新。刷新频率:单位时间内扫描整个屏幕内容的次数,按照人的视觉生理,刷新频率大于30Hz时才不会感到闪烁,通常显示器刷新频率在60~120Hz
显示存储器(VRAM):也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大
VRAM容量 = 分辨率 * 灰度级位数
VRAM带宽 = 分辨率 * 灰度级数 * 帧频
注:现代计算机中,显存除了作为当前显示帧的缓存,还会用于保存即将渲染的图像数据
集成显卡计算机中,通常分配一片内存作为显存
打印机
打印机是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上
按印字原理不同可分为:
击打式打印机:利用机械动作使印字机构与色带和纸相撞而打印字符
优点:设备成本低,印字质量好(防伪性好)
缺点:噪声大,速度慢
非击打式打印机:采用电,磁,光,喷墨等物理,化学方法来印刷字符
优点:速度快,噪声小
缺点:成本高
串行打印机:逐字打印,速度慢
行式打印机:逐行打印,速度快
按工作方式分:
针式打印机
原理:在联机状态下,主机发出打印命令,经接口、检测和控制电路,间歇驱动纵向送纸和打印头横向移动,同时驱动打印机间歇冲击色带,在纸上打印出所需内容。
特点: 针式打印机擅长“多层复写打印”,实现各种票据或蜡纸等的打印。它工作原理简单,造价低
廉,耗材(色带)便宜,但打印分辨率和打印速度不够高
喷墨式打印机
原理:带电的喷墨雾点经过电极偏转后,直接在纸上形成所需字形。彩色喷墨打印机基于三基色原理,即分别喷射3种颜色墨滴,按一定的比例混合出所要求的颜色。
特点:打印噪声小,可实现高质量彩色打印,通常打印速度比针式打印机快;但防水性差,高质量打印需要专用打印纸
激光打印机
原理:计算机输出的二进制信息,经过调制后的激光束扫描,在感光鼓上形成潜像,再经过显影、转印和定影,便在纸上得到所需的字符或图像。
特点:打印质量高、速度快、噪声小、处理能力强;但耗材多、价格较贵、不能复写打印多份,且对纸张的要求高。激光打印机是将激光技术和电子显像技术相结合的产物
感光鼓(也称为硒鼓)是激光打印机的核心部件
外存储器:磁盘存储器,磁盘阵列,光盘存储器,SSD等
计算机的外存储器又称辅助存储器,目前主要使用磁表面存储器,所谓"磁表面存储器",是指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。磁盘存储器,磁带存储器和磁鼓存储器均属于磁表面存储器 --- 只能一位一位的读数据 和 一位一位的写数据
磁表面存储器的优点:
1)存储容量大,位价格低
2)记录介质可以重复使用
3)记录信息可以长期保存而不丢失,甚至可以脱机存档
4)非破坏性读出,读出时不需要再生
磁表面存储器的缺点:
1)存取速度慢
2)机械结构复杂
3)对工作环境要求较高
外存储器既可以作为输入设备,又可作为输出设备(既可存数据,又可写数据)
磁盘存储器
1)磁盘设备的组成
a:存储区域
一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区(也称块)是磁盘读写的最小单位,也就是说磁盘按块存取
磁头数:即记录面数,表示磁盘总共有多少个磁头,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头
柱面数:表示硬盘每一面盘片上有多少条磁道。在一个盘组中,不同记录面的相同编号(位置)的磁道构成一个圆柱面
扇区数:表示每一条磁道上有多个扇区
b:硬盘存储器
硬盘存储器由磁盘驱动器,磁盘控制器和盘片组成
磁盘驱动器:核心部分是磁头组件和盘片组件,温彻斯特盘是一种可移动头固定盘片的硬盘存储器
磁盘控制器:是硬盘存储器和主机的接口,主流标准有IDE,SCSI,SATA等
2)磁盘的性能指标
a:磁盘的容量 一个磁盘所能存储的字节总数称为磁盘容量。磁盘容量有非格式化容量和格式化容量之分
非格式化容量是指磁记录表面可以利用的磁化单元数
格式化容量是指按照某种特定的记录格式所能存储信息的总量
b:记录密度 记录密度是指盘片单位面积上记录的二进制的信息量,通常以道密度,位密度和面密度表示
道密度是沿磁盘半径方向单位长度上的磁道数
位密度是磁道单位长度上能记录的二进制代码位数
面密度是位密度和道密度的乘积
注:磁盘所有磁道记录的信息量一定是相等的,并不是圆越大信息越多,故每个磁道的位密度都不同
c:平均存取时间
平均存取时间 = 寻道时间(磁头移动到目的磁道) + 旋转延迟时间(磁头定位到所在扇区) +
传输时间(传输数据所花费的时间)
d:数据传输率
磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率
假设磁盘转数为r (转/秒),每条磁道容量为N个字节,则数据传输率为D = rN
I\O接口:又称I\O控制器,设备控制器,负责协调主机与外部设备之间的数据传输
作用:
1)数据缓冲:通过数据缓冲寄存器(DBR)达到达到主机和外设工作速度的匹配
2)错误或状态监测:通过状态寄存器反馈设备的各种错误,状态信息,供CPU查用
3)控制和定时:接收从控制总线发来的控制信号,时钟信号
4)数据格式转换:串-并,并-串等格式转换
5)与主机和设备通信:实现主机——I\O接口——I\O设备之间的通信
控制寄存器,状态寄存器在使用时间上是错开的,因此有的I\O接口中可将二者合二为一
IO控制器中的各种寄存器称为I\O端口
a:发命令,发送命令字到I\O接口控制寄存器,向设备发送命令(需要驱动程序的协助)
b:读状态,从状态寄存器读取状态字,获得设备或I\O控制器的状态信息
c:读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换
I\/O总线包括数据总线,地址总线和控制总线
确定要操作的设备:每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备
接口与端口
接口 : 端口 + 控制逻辑
端口:数据端口 读 和 写
控制端口 写
状态端口 读
I\O端口是指接口电路中可以被CPU直接访问的寄存器
统一编制 和 独立编制
统一编址
把I\O端口当作存储器的单元进行地址分配,用统一的访存指令就可以访问I\O端口,又称存储器映射方式
靠不同的地址码区分内存和I\O设备。访存类的指令都可以访问I\O端口
优点:1)不需要专门的输入\输出指令,所有访存指令都可直接访问端口,程序设计灵活性高
2)端口有较大的编址空间
3)读写控制逻辑电路简单
缺点:
1)端口占用了主存地址空间,使主存地址空间变小
2)外设寻址时间长(地址位数多,地址译码速度慢)
独立编址
I\O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入\输出指令访问端口,又称I\O映射方式
靠不同的指令区分内存和I\O设备。只能用专门的I\O指令访问I\O端口
优点:
1)使用专用的I\O指令,程序编址清晰
2)I\O端口地址位数少,地址译码速度快
3)I\O端口的地址不占用主存地址空间
缺点:
1)I\O指令类型少,一般只能对端口进行传送操作,程序设计灵活性查
2)需要CPU提供存储器读\写,I\O设备读\写两组控制信号,增加了控制逻辑电路的复杂性
I\O接口的类型
按数据传送方式可分为:
并行接口:一个字节或一个字所有位同时传送
串行接口:一位一位地传送
按主机访问I\O设备的控制方式可分为:
程序查询接口,中断接口,DMA接口
按功能选择的灵活性可分为:
可编程接口,不可编程接口
程序查询方式流程图
优点:接口设计简单,设备量少
缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低
独占查询:CPU 100%的时间都在查询I\O状态,完全串行
定时查询:在保证数据不丢失的情况下,每隔一段时间CPU就查询一次I\O状态。查询的间隔内CPU可以自行其他程序
中断的基本概念
程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点出,继续执行原程序
工作流程:
1)中断请求
中断源向CPU发送中断请求信号
2)中断响应
响应中断的条件
中断判优:多个中断源同时提出请求时,通过中断判优逻辑响应一个中断源
3)中断处理
中断隐指令
中断服务程序
关中断
关中断的状态信息会被记录在PSW寄存器中
IF = 1表示开中断 (允许中断)
IF = 0表示关中断 (不允许被中断)
关中断的作用:实现原子操作
原子操作:要么一点不做,要么一口气全部做完
非屏蔽中断:关中断时也会被响应(掉电)
可屏蔽中断:关中断时不会被响应
中断请求标记
每个中断源向CPU发出中断请求的时间是随机的,为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,当其状态为"1"时,表示中断源有请求
这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中
对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取I\O的中断请求,CPU响应中断的时间是在每条指令执行阶段的结束时刻
CPU响应中断必须满足3个条件:
1)中断源有中断请求
2)CPU允许中断即开中断
3)一条指令执行完毕,且没有更紧迫的任务
中断判优 - 实现
中断判优既可以用硬件实现,也可用软件实现
硬件实现是通过硬件排队器是实现的,他既可以设置在CPU中,也可以分散在各个中断源中
软件实现是通过查询程序实现的
优先级设置
1)硬件故障中断属于最高级(掉电),其次是软件中断(系统调用)
2)非屏蔽中断优于可屏蔽中断
3)DMA请求优于I\O设备传送的中断请求
4)高速设备优于低速设备
5)输入设备优于输出设备
6)实时设备优于普通设备
中断处理过程
中断隐指令的主要任务:
1)关中断,在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去
2)保存断点,为了保证在中断服务程序执行完毕后能正确地返回原来地程序,必须将原来程序断点(即程序计数器(PC)的内容)保存起来,可以存入堆栈,也可以存入指定单元
3)引出中断服务程序,引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC)
硬件向量法:由硬件产生向量地址(中断类型号)再有向量地址找到入口地址
中断服务程序
中断服务程序的主要内容:
1)保护现场
保存通用寄存器和状态寄存器的内容(如:保存ACC寄存器的值),以便返回原程序后可以恢复CPU环境。可使用堆栈,也可使用特定存储单元
2)中断服务(设备服务)
主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中(如:中断服务的过程中有可能修改ACC寄存器的值)
3)恢复现场
通过出栈指令或取数指令把之前保存的信息送回寄存器中(如:把原程序的ACC值恢复原样)
4)中断返回
通过中断返回指令回到原程序断点处
单重中断:执行中断服务程序时,不响应新的中断请求
多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求
单重中断和多重中断
屏蔽字:即中断屏蔽字,即优先处理高速设备发来的中断信号,忽视低俗设备的中断请求
中断屏蔽技术
中断屏蔽技术主要用于多重中断,CPU要具有多重中断的功能,须满足下列条件:
1)在中断服务程序中提前设置开中断指令
2)优先级别高的中断源有权中断优先级别低的中断源
每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字
硬件排队器:
收到多个中断请求时,只响应其中一个固定优先级
优化:增加中断屏蔽功能
调正多重中断的优先级
屏蔽字设置的规律:
1)一般用 '1' 表示屏蔽,'0'表示正常申请
2)每个中断源对应一个屏蔽字(在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字)
3)屏蔽字中 '1' 越多,优先级越高。每个屏蔽字中至少有一个 '1' (至少要能屏蔽自身的中断)
每一次I\O设备准备好一个字的数据,CPU就要运行一次中断服务程序,把这个字的数据转存到主存中,对于那些速度很快的I\O设备来说,采用这种程序中断方式就会使得CPU执行中断服务程序的时间开销特别大,效率会很低
DMA控制器与主存每次传送1个字。当传送完一整块数据后才向CPU发出中断请求
CPU向DMA控制器指明要输入还是输出;要传送多少个数据;数据在主存和外设中的地址
传送前:
1)接受外设发出的DMA请求(外设传送一个字的请求),并向CPU发出总线请求
2)CPU响应此总线请求,发出总线响应信号,接管总线控制权,进入DMA操作周期
传送时:
1)确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数
2)规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作
传送后:向CPU报告DMA操作的结束
DMA控制器的组成
注:在DMA传送过程中,DMA控制器将接管CPU的地址总线,数据总线,和控制总线,CPU的主存控制信号被禁止使用。而当DMA传送结束后,将恢复CPU的一切权力并开始执行其操作
DMA传送过程
DMA方式的特点
主存和DMA接口之间有一条直接数据通路
由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I\O与主机并行工作,程序和传送并行工作
DMA方式具有的特点:
1)它使主存与CPU的固定联系脱钩,主存既可以被CPU访问,又可被外设访问
2)在数据块传送时,主存地址的确定,传送数据的计数等都由硬件电路直接实现
3)主存要开辟专用的缓冲区,及时供给和接受外设的数据
4)DMA传送速度快,CPU和外设并行工作,提高了系统效率
5)DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理
DMA传送方式
主存和DMA控制器之间有一条数据通路,因此主存和I\O设备之间交换信息,不通过CPU。当但I\O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用一下方式:
1)停止CPU访问主存
优点:控制简单
缺点:CPU处于不工作状态或保持状态,未充分发挥CPU对主存的利用率
2)DMA与CPU交替访存
优点:不需要总线使用权的申请,建立和归还过程
缺点:硬件逻辑更为复杂
3)周期挪用(周期窃取)
DMA访问主存的三种可能:
a:CPU此时不访存(不冲突)
b:CPU正在访存(存取周期结束让出总线)
c:CPU和DMA同时请求访存(I\O访存优先)
DMA方式和中断方式