IO概念
一.发展过程:
1.早期阶段:CPU和IO设备串行工作,分散连接,I/O设备与主存交换信息必须经过CPU.
程序查询方式:由CPU通过程序不断查询IO设备是否己做好准备,从而控制IO设备与主机交换信息。
2..接口模块和DMA阶段:CPU和IO并行工作,总线连接,IO设备通过接口模块连接总线上与CPU交流
中断方式:只在设备准备就绪并向CPU发出中断请求时才予以响应。
DMA(直接存储器存取)方式:主存和IO设备之间有一条直接数据通路,当主存和设备交换信息时,无需调用中断服务程序,CPU工作不受影响
3.具有IO通道结构的阶段:
通道:负责管理IO设备以及实现主存与I/O设备之间交换信息的部件(具有特殊功能的处理器);应用于大中型计算机系统;每个通道挂接若干外设
通道指令:独立执行用通道指令编写的输入输出程序,是从属于CPU的专用处理器,依据CPU的I/O指令进行启动、停止或改变工作状态。依赖通道管理的IO设备在与主机交换信息时,CPU不直接参与管理,故提高了CPU的资源利用率。
4.具有IO通道结构的阶段:基本独立于主机工作,既可完成I/O通道要完成的I/O控制,又可完成码制变换、格式处理、数据块检错、纠错等操作。具有处理机的输人输出系统与CPU工作的并行性更高,IO系统更独立性。
二.IO系统的组成:由IO软件和IO硬件两部分构成
1.I/O软件:驱动程序、用户萨序、管理程序、升级补丁等。
通常采用IO指令和通道指令实现CPU和I/O设备的信息交换。
IO指令:是CPU指令的一部分。包括操作码(识别IO指令),命令码(具体操作),设备码(操作对象)
指令通道:通道自身的指令,指出数据的首地址,传送字数,操作命令。
通道指令放在主存中;由CPU执行启动IO设备的指令,由通道代替CPU对IO设备进行管理
2.IO硬件:外部设备、设备控制器和接口、I/O总线等。
三.IO设备与主机交换信息的控制方式:
1.程序查询方式:CPU启动IO程序后,在IO准备及传送数据期间不能执行原程序,只能不断查询IO的准备状态。CPU和IO处于串行工作状态,效率低。CPU一旦启动IO,必须停止现行程序的运行,并在现行程序中插入一段程序。特点:CPU有“踏步”等待现象,CPU与串行工作。优点:接口设计简单、设备量少
缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。
2.程序中断方式:CPU在启动IO设备后,不查询设备是否己准备就绪,继续执行自身程序,只有当IO设备准备就绪并向CPU发出中断请求后才予以响应,CPU中断了现行程序,转至中断服务程序,待处理完后又返回到原程序断点处,继续往下执行。CPU工作效率提高
3.DMA方式:主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无须调用中断服务程序。若出现DMA和CPU同时访问主存,CPU总是将总线占有权让给DMA,通常把DMA的这种占有称为窃取或挪用。窃取的时间一般为一个存取周期。在DMA窃取存取周期时,CPU尚能继续作内部操作(如乘法运算)。
IO接口
一.概念:IO接口:是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。IO端口是指接口电路中可以被CPU直接访问的寄存器。
二.接口的功能(要解决的问题)
1.实现主机和外设的通信联络控制
2,进行地址译码和设备选择
3.实现数据缓冲
4.信号格式的转换
5.传送控制命令和状态信息
三.组成:设备选择电路、命令寄存器和命令译码器、数据缓冲寄存器DBR,设备状态标记,控制逻辑电路
四.设备状态:完成触发器D;工作触发器B;中断请求触发器INTR;屏蔽触发器MASK
CPU同外设之间的信息传送实质是对接口中的某些寄存器(端口)进行读写
内部接口:与系统总线相连,实质上是与内存、CPU相连。数据的传输方式只能是并行传输
外部接口:通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此IO接口需具有串/并转换功能。
五.编址方式:I/O端口要想能够被CPU访问,必须要有端口地址,每一个端口都对应着一个端口地址。
1.统一编址:
把IO端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问IO端口,又称存储器映射方式。靠不同的地址码区分内存和IO设备,IO地址要求相对
固定在地址的某部分。
优点:不需要专门的输入/输出指令,可仗CPU访问IO的操作更灵活、更方便,还可使端口有较大的编址空间。
缺点:端口占用了存储器地址,使内存容量变小,而且,利用存储器编址的IO设备进行数据输入/输出操作,执行速度较慢。
2.独立编址:
I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口,又称IO映射方式。靠不同的指令区分内存和设备。
优点:输入/输出指令与存储器指令有明显区别,程序编制清晰,便于理解。
缺点:输入/输出指令少,一般只能对端口进行传送操作,尤其需要CPU提供存储器读/写、IO设备读/写两组控制信号,增加了控制的复杂性。
六.接口的类型:
1.按数据传送方式可分为
并行接口:一个字节或一个字所有位同时传送。
串行接口:一位一位地传送。
注:这里所说的数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,数据总是并行传送的。接口要完成数据格式转换。
2.按主机访问设备的控制方式可分为
程序查询接口
中断接口
DMA接口
3.按功能选择的灵活性可分为
可编程接口
不可编程接口
程序中断方式
一.概念:程序中断:在计算机执行现行程序的过程中,出现某些急需理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
二.工作流程:
1.中断请求:中断源向CPU发送中断请求信号
2.中断响应:响应中断的条件;中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源。
3.中断处理:中断隐指令。中断服务程序。
陷阱:有意而为之的异常,如系统调用
故障:由错误条件引起的,可能被故障处理程序修复,如缺页
终止:不可恢复的致命错误造成的结果,终止处理程序不再将控制返回给引发终止的应用程序,如整数除0
非屏蔽中断:关中断(中断标志位IF=0)时也会被响应
可屏蔽中断:关中断时不会被响应
三.中断请求标记:每个中断源向CPU发出中断请求的时间是随机的。为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR。当其状态为“1”时,表示中断源有请求。这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号(对于执行时间很长的指令,可在执行过程中设置若干个“查询断点”),以获取的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻。
四.CPU响应中断必的条件:
1.中断源有中断请求。2.CPU允许中断即开中断。3.一条指令执行完毕,且没有更紧迫的任务。
五.中断判优:既可以用硬件实现,也可用软件实现(硬件实现是通过硬件排队器实现的,它既可以设置在CPU中,也可以分散在各个中断源中;软件实现是通过查询程序实现的)
优先级:1.硬件故障中断属于最高级,其次是软件中断;2.非屏蔽中断优于可屏蔽中断;3.DMA请求优于设备传送的中断请求;4.高速设备优于低速设备;5.输入设备优于输出设备;6.实时设备优于普通设备。
六.中断处理过程:
1.当前指令执行结束后,pc内容为K+1
2.进入中断服务程序的方法是把该程序第一条指令的地址放入pc
3.回到主程序的方法是把K+1放入pc
4.软件无法完成保存pc的任务,应由硬件实现:中断隐指令
七.中断隐指令的主要任务:
1.关中断。在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。
2.保存断点。为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(pc)的内容)保存起来。可以存入堆栈,也可以存入指定单元。
3.引出中断服务程序。实质就是取出中断服务程序的入口地址并传送给程序计数器(pc)。软件查询法;硬件向量法(由硬件产生向量地址再由向量地址找到入口地址)
八.中断服务程序的主要任务:
1.保护现场:一是保存程序断点(PC),己由中断隐指令完成;二是保存通用寄存器和状态寄存器的内容,由中
断服务程序完成。可以使用堆,也可以使用特定存储单元。
2.中断服务(设备服务):主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中。
3.恢复现场:通过出栈指令或取数指令把之前保存的信息送回寄存器中。
4.中断返回:通过中断返回指令回到原程序断点处。
单重中断:执行中断服务程序时不响应新的中断请求。
多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求。
九.中断屏蔽技术:主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件。
1.在中断服务程序中提前设置开中断指令。
2.优先级别高的中断源有权中断优先级别低的中断源。
每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。
十.屏蔽触发器与屏蔽字
对应每个中断请求触发器就有一个屏蔽触发器,将所有屏蔽触发器组合构成一个屏蔽寄存器,屏蔽寄存器的内容称为屏蔽字。屏蔽字与中断源的优先级别是一一对应的,在中断服务程序中设置适当的屏蔽字,能对优先级别不同的中断源的进行屏蔽例如:1级中断源的请求已被CPU响应,若在其中断服务程序中(通常在开中断指令前)设置一个全“I"的屏蔽字,便可保证在执行1级中断服务程序过程中,CPU不再响应任何一个中断源(包括本级在内)的中断请求,即此刻不能实现多重中断。如果在4级中断源的服务程序中设置一个屏蔽字0001111111,由于第1-3位为0,意味着第1-3级的中断源未被屏蔽,因此在开中断指令后,比第4级中断源级别更高的1、2、3级中断源可以中断4级中断源的中断服务程序,实现多重中断。采用了屏蔽技术后,可以改变CPU处理各中断源的优先等级,从而改变CPU执行程序的轨迹。
DMA方式
一.概念:DMA方式:设备需要进行数据传送时,通过DMA控制器(DMA接口)向CPU提出DMA传送请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。
主存和DMA接口之间有一条数据通露,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场,因此工作速度比程序屮断方式的工作速度高。这一特点特别适合于高速I/O或辅存与主存之间的信息交换。因为高速IO设备若每次申请与主机交换信息时,都要等待CPU做出中断响应后再进行,很可能因此使数据丢失。值得注意的是,若出现高速IO设备(通过DMA接口)和CPU同时访问主存,CPU必须将总线(如地址线、数据线)占有权让给DMA接口使用,即DMA采用周期窃取的方式占用一个存取周期。
二.主要功能:
传送前:
1.接受外设发出的DMA请求,并向CPU发出总线请求。
2.CPU响应此总线请求,发出总线响应信号,接管总制权,进入DMA操作周期。
传送时:
3.确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数。
4.规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作。
传送后:
5.向CPU报告DMA操作的结束。
三.组成:
1.主存地址计数器AR:存放要交换数据的主存地址
2.传送长度计数器WC:记录传送数据的长度,计数溢出时,数据即传送完毕,自动发中断请求信号。
3.数据缓冲寄存器:暂存每次传送的数据
4.DMA请求触发器:每当设备准备好数据后给出一个控制信号,使DMA请求触发器置位。
5.控制/状态逻辑:由控制和时序电路及状态标志组成,用于指定传送万向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步
6.中断机构:当一个数据块传送完毕后触发中断机构,向CPU提出中断请求。
注:在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用。而当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。
四.工作流程
DMA方式中CPU的工作:
1.预处理:
主存起始地址→AR
I/O设备地址→DAR
传送数据个数→WC
启动I/O设备
2.数据传送:
继续执行主程序同时完成一批数据的传送
3.后处理:
中断服务程序做DMA结束处理
DMA的数据传送阶段:
1.预处理:DMA请求
2.数据传送:主存起始地址送总线;数据送I/O设备(或主存);修改主存地址;修改字计数器
3.后处理:向CPU申请程序中断
以数据输人为例,具体操作如下。
1.当设备准备好一个字时,发出选通信号,将该字读到DMA的数据缓冲寄存器(BR)中,表示数据缓冲寄存器“满"
2.与此同时设备向DMA接囗发请求(DREQ)。
3.DMA接囗向CPU申请总线控制权(HRQ)。
4.CPU发回HLDA信号,表示允许将总线控制权交给DMA接囗。
5.将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器写。
6.通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备。
7.将DMA数据缓冲寄存器的内容送数据总线。
8.主存将数据总线上的信息写至地址总线指定的存储单元中。
9.修改主存地址和字计数值。
10.判断数据块是否传送结束,若未结,则继续传送;若已结,(字计数器溢出),则向CPU申请程序中断,标志数据块传送结束。
若为输出数据,则应完成以下操作:
1.当DMA数据缓冲寄存器已将输出数据送至IO设备后,表示数据缓冲寄存器已“空"
2.设备向DMA接冂发请求(DREQ)。
3.DMA接口向CPU申请总线控制权(HRQ)。
4.CPU发回HLDA信号表示允许将总线控制权交给DMA接口使用。
5.将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器读。
6.通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备。
7.主存将相应地址单元的内容过数据总线读入到DMA的数据缓冲寄存器中。
8.将DMA数据缓冲寄存器的内容送到输出设备
9.修改主存地址和字数值。
10.判断数据块是否已传送完毕,若未完毕,继续传送;若已传送完毕,则向CPU申请程序中断。
五.DMA的传送方式:
主存和DMA控制器之间有一条数据通路,因此主存和设备之间交换信息时,不通过CPU。但当设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下3种方法使用主存。
1.停止CPU访问主存:控制简单,CPU处于不工作状态或保持状态,未充分发挥CPU对主存的利用率
2.DMA与CPU交替访存:一个CPU周期分为两个周期,分别共二者使用,不需要总线使用权的申请、建立和归还过程,硬件逻辑更为复杂
3.周期窃取(存储周期):DMA访问主存有三种可能:
CPU此时不访存(不冲突)
CPU正在访存(存取周期结束让出总线)
CPU与DMA同时请求访存(I/0访存优先)
六.DMA特点:
主存和DMA接口之间有一条直接数据通路。由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,IO与主机并行工作,程序和传送并行工作。
DMA方式具有下列特点:
1.它使主存与CPU的固定联系脱钩,主存既可被CPU问,又可被外设访问。
2.在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
3.主存中要开辟专用缓冲区,及时供给和接收外设的数据。
4.DMA传送速度快,CPU和外设并行工作,提高了系统效率。
5.DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。
外部设备
外部设备:也称外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置。
输入设备:用于向计算机统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。
输出设备:用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。
外存设备:是指除计算机内存及CPU缓存等以外的存储器。硬磁盘、光盘等是最基本的外存设备。
屏幕大小:以对角线长度表示,常用的有12、29英寸等。
分辨率:所能表示的像素个数,屏幕上的每一个光点就是一个像素,以宽、高的像素的乘积表示,例如,800×600、1024×768和1280×1024等。
灰度级:指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚逼真,典型的有8位(256级)、16位等。n位可以表示2“种不同的亮度或颜色。
刷新:光点只能保持极短的时间便会消失,为此必须在光点消失之前再重新扫描显示一遍,这个过程称为刷新。
刷新频率:单位时间内扫描整个屏幕内容的次数,按照人的视觉生理,刷新频率大于30Hz时才不会感到闪烁,通常显示器刷新频率在60、120Hz。
显示存储器(VRAM)也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大。
VRAM容量=分辨率×灰度级位数
VRAM带宽=分辨率×灰度级位数×帧频
外存储器:称为辅助存储器,目前主要使用磁表面存储器。
磁表面存储:指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁表面存储器。
磁表面存储器的优点:
1.存储容量大,位价格低2.记录介质可以重复使用3.记录信息可以长期保存而不丢失,甚至可以脱机存档4.非破坏性读出,读出时不需要再生
磁表面存储器的缺点:
1.存取速度慢2.机械结构复杂3.对工作环境要求较
原理:当磁头和磁性记录介质有相对运动时,通过电磁转换完成读/写操作。
编码方法:按某种方案(规律),把一连串的二进制信息变换成存储介质磁层中一个磁化翻转状态的序列,并使读/写控制电路容易、可靠地实现转换。
磁记录方式:通常采用调频制(FM)和改进型调频制(MFM)的记录方式。
外存储器既可以作为输入设备,也可以作为输出设备。(既可以存数据,也可以读数据)
磁盘设备的组成
1.存储区域:一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划
分为若干个扇区,扇区(也称块)是磁盘读写的最小单位,也就是说磁盘按块存取。
磁头数:即记录面数,表示硬盘总共有多少个磁头,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头。
柱面数:表示硬盘每一面盘片上有多少条磁道。在一个盘组中,不同记录面的相同編号(位置)的诸磁道构成一个圆柱面。
扇区数:表示每一条磁道上有多少个扇区。
2.硬盘存储器:由磁盘驱动器、磁盘控制器和盘片组成。
磁盘驱动器:核心部件是磁头组件和盘片组件,温彻斯特盘是一种可移动头固定盘片的硬盘存储器。
磁盘控制器:是硬盘存储器和主机的接口,主流的标准有旧E、SCSI、SATA等。
磁盘的性能指标:
1.磁盘的容量:一个磁盘所能存储的字节总数称为磁盘容量。磁盘容量有非格式化容量和格式化容量之分。非格式化容量是指磁记录表面可以利用的磁化单元总数。格式化容量是指按照某种特定的记录格式所能存储信息的总量。
2.记录密度:指盘片单位面积上记录的二进制的信息量,通常以道密度、位密度和面密度表示。
道密度:沿磁盘半径方向单位长度上的磁道数
位密度:磁道单位长度上能记录的二进制代码位数
面密度:位密度和道密度的乘积。
注意:磁盘所有磁道记录的信息量一定相等的,并不是圆越大信息越多,故每个磁道的位密度都不同。
3.平均存取时间:
平均存取时间=寻道时间(磁头移动到目的磁道)+旋转延迟时间(磁头定位到所在扇区)+传输时间(传输数据所花费的时间)
4.数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。
磁盘地址:驱动器号|柱面(磁道)号|盘面号|扇区号
硬盘的工作过程:
硬盘的主要操作是寻址、读盘、写盘。每个操作都对应一个控制字,硬盘工作时,第一步是取控制字,第二步是执行控制字。硬盘属于机械式部件,其读写操作是串行的,不可能在同一时刻既读又写,也不可能在同一时刻读两组数据或写两组数据。
磁盘阵列:
RAID(廉价冗余磁盘阵列)是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。通过同时使用多个磁盘,提高了传输率;通过在多个磁盘上并行存取来大幅提高存储系统的数据吞吐量;通过镜像功能,可以提高安全可靠性;通过数据校验,可以提供容错能力。
分级:在RAID1-5的几种方案中,无论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏。
RAID0无冗余和无校验的磁盘阵列(把连续多个数据块交替地存放在不同物理磁盘的扇区中,几个磁盘交叉并行读写,不仅扩大了存储容量,而且提高了磁盘数据存取速度,但没有容错能力)
RAID1镜像磁盘阵列(为了提高可靠性,使两个磁盘同时进行读写,互为备份,如果一个磁盘出现故障,可从另一磁盘中读出数据。两个磁盘当一个磁盘使用,意味着容量减少一半。
RAID2采用纠错的海明码的磁盘阵列
RAID3位交叉奇偶校验的磁盘阵列
RAID4块交叉奇偶校验的磁盘阵列
RAID5无独立校验的奇偶校验磁盘阵列
光盘存储器:
光盘存储器:利用光学原理读/写信息的存储装置,它采用聚焦激光束对盘式介质以非接触的方式记录信息。
组成:光盘片(透明的聚合物基片,铝合金反射层,漆膜保护层的固盘),光盘驱动器,光盘控制器,盘驱动软件
分类:
CD-ROM:只读型光盘,只能读出其中内容,不能写入或修改。
CD-R:只可写入一次信息,之后不可修改。
CD-RW:.确卖可写光盘,可以重复读写。
DVD-ROM:高容量的CD·ROM,DVD表示通用数字化多功能光盘。
特点:存储密度高,携带方便,成本低,容量大,存储期限长,容易保存
固态硬盘:
采用高性能FlashMemory作为硬盘来记录数据,这种“硬盘”
称固态硬盘。固态硬盘除了需要FlashMemory外,还需要其他硬件和软件的支持。
注:闪存是在E2PROM的基础上发展起来的,本质上是只读存储器。