赞
踩
I/O 设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备
I/O接口:又称I/O控制器、设备控制器,负责协调主机与外部设备之间的数据传输
现在的I/O接口(芯片)也会被集成在南桥芯片内部
后面有详细讲解
CPU不断轮询检查I/O控制器中的“状态寄存器”,检测到状态为“已完成”之后,再从数据寄存器取出输入数据
等待键盘I/O时CPU可以先去执行其他程序,键盘I/O完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据
DMA控制方式:主存与高速I/O设备之间有一条直接数据通路(DMA总线)。CPU向DMA接口发出“读/写”命令,并指明主存地址、磁盘地址、读写数据量等参数。
DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写(如1KB为一整块) ,才向CPU发出一次中断请求。
通道:可以理解为是 “弱鸡版的CPU”。通道可以识别并执行一系列通道指令,通道指令种类、功能通常比较单一
包括外部设备、I/O接口 、I/O总线等
主机 <> I/O接口 <> I/O设备
包括驱动程序、用户程序、管理程序、升级补丁等。通常采用I/O指令和通道指令实现主机和I/O设备的信息交换。
I/O 指令:操作码 命令码 设备码
通道指令:通道能识别的指令
通道程序提前编制好放在主存中在含有通道的计算机中,CPU执行I/O指令对通道发出命令,由通道执行一系 列通道指令,代替CPU对I/O设备进行管理
输入设备:用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。
输出设备:用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。
外存设备:指除计算机内存及CPU缓存等以外的存储器。硬磁盘、光盘等是最基本的外存设备。
显示存储器(VRAM)也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大。
VRAM容量 = 分辨率 × 灰度级位数
VRAM带宽 = 分辨率 × 灰度级位数 × 帧频
现代计算机中,显存除了作为当前显示帧的缓存,还会用于保存即将渲染的图像数据。
集成显卡计算机中,通常分配一片内存作为显存
将点阵存入由ROM构成的字符发生器中,在CRT进行光栅扫描的过程中,从字符发生器中依次读出某个字符的点阵,按照点阵中0和1代码不同控制扫描电子束的开或关,从而在屏幕上显示出字符。
对应于每个字符窗口,所需显示字符的ASCII代码被存放在视频存储器VRAM中,以备刷新。
磁表面存储器:把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息
原理:当磁头和磁性记录介质有相对运动时,通过电磁转换完成读/写操作
优点:
缺点:
存储区域:一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区(也称块)是磁盘读写的最小单位,也就是说磁盘按块存取。
硬盘存储器:硬盘存储器由磁盘驱动器(核心部件是磁头组件和盘片组件)、磁盘控制器和盘片组成
一个磁盘所能存储的字节总数称为磁盘容量。磁盘容量有非格式化容量和格式化容量之分
道密度是沿磁盘半径方向单位长度上的磁道数
位密度是磁道单位长度上能记录的二进制代码位数
面密度是位密度和道密度的乘积
磁盘所有磁道记录的信息量一定是相等的,并不是圆越大信息越多,故每个磁道的位密度都不同。
平均存取时间 = 寻道时间(磁头移动到目的磁道)+ 旋转延迟时间(磁头定位到所在扇区)+ 传输时间(传输数据所花费的时间)
假设磁盘转数为r(转/秒),每条磁道容量为N个字节,则数据传输率为Dr = rN
磁盘地址 = 驱动器号 + 柱面(磁道)号 + 盘面号 + 扇区号
硬盘的主要操作是寻址、读盘、写盘。每个操作都对应一个控制字,硬盘工作时,第一步是取控制字,第二步是执行控制字。
硬盘属于机械式部件,其读写操作是串行的,不可能在同一时刻既读又写,也不可能在同一时刻读两组数据或写两组数据。
RAID廉价冗余磁盘阵列:是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性
RAID通过同时使用多个磁盘,提高了传输率;通过在多个磁盘上并行存取来大幅提高存储系统的数据吞 吐量;通过镜像功能,可以提高安全可靠性;通过数据校验,可以提供容错能力。
数据缓冲:通过数据缓冲寄存器(DBR)达到主机和外设工作速度的匹配
错误或状态监测:通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用
控制和定时:接收从控制总线发来的控制信号、时钟信号
数据格式转换:串-并、并-串 等格式转换
与主机和设备通信:实现 主机—I/O接口—I/O设备 之间的通信
内部接口:内部接口与系统总线相连,实质上是与内存、CPU相连。
外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并转换功能。
控制寄存器、状态寄存器在使用时间上是错开的,因此有的I/O接口中可将二者合二为一
I/O控制器中的各种寄存器称为I/O端口
1、发命令:发送命令字到I/O控制寄存器,向设备发送命令(需要驱动程序的协助)
2、读状态:从状态寄存器读取状态字,获得设备或I/O控制器的状态信息
3、读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换
I/O端口是指接口电路中可以被CPU直接访问的寄存器,每一个端口都对应着一个端口地址。
统一编制:靠不同的地址码区分内存和I/O设备,访存类的指令都可以访问I/O端口。
把I/O端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问I/O端口,又称存储器映射方式。 靠不同的地址码区分内存和I/O设备,I/O地址要求相对固定在地址的某部分。
优点:
缺点:
独立编制:靠不同的指令区分内存和I/O设备。只能用专门的I/O指令访问I/O端口
I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口,又称I/O映射方式。
Intel 处理器常用,IN、OUT就是I/O指令
优点:
缺点:
x86中的I/O指令实例
IN Rd, Rs:把I/O端口 Rs 的数据输入到CPU寄存器 Rd
OUT Rd, Rs:把CPU寄存器 Rs 的数据输出到I/O端口 Rd
**主要特点:**CPU有“踏步”等待现象,CPU与I/O串行工作。
**优点:**接口设计简单、设备量少。
**缺点:**CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。
**独占查询:**CPU100%的时间都在查询I/O状态,完全串行
**定时查询:**在保证数据不丢失的情况下,每隔一段时间CPU就查询一次I/O状态。查询的间隔内CPU可以执行其他程序
**程序中断:**指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
工作流程:
**关中断的作用:**实现原子操作
IF:Interrupt Flag,存在PSW中,8086芯片的PSW如下
IF=1表示开中断(允许中断)
IF=0表示关中断(不允许中断)
**非屏蔽中断:**关中断时也会被响应(如:掉电)
**可屏蔽中断:**关中断时不会被响应
每个中断源向CPU发出中断请求的时间是随机的。为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR, 当其状态为“1”时,表示中断源有请求。
这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。
对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号, 以获取I/O的中断请求,CPU响应中断的时间是在每条指令执行阶段的结束时刻
CPU响应中断必须满足以下3个条件:
中断判优既可以用硬件实现,也可用软件实现:硬件排队器、查询程序
优先级:
中断隐指令:保存原程序的PC值,并让PC指向中断服务程序的第一条指令
进入中断服务程序:把该程序第一条指令的地址放入PC
回到主程序:把K+1放入PC
在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。
为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。可以存入堆栈,也可以存入指定单元。
引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC)。
**单重中断:**执行中断服务程序时不响应新的中断请求。
**多重中断:**又称中断嵌套,执行中断服务程序时可响应新的中断请求。
每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。
实现多重中断条件:
屏蔽字设置的规律:
1
表示屏蔽,0
表示正常申请。1
(至少要能屏蔽自身的中断)。CPU向DMA控制器指明:要输入还是输出,要传送多少个数据,数据在主存、外设中的地址。
在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用。而当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。
主存和DMA控制器之间有一条数据通路,因此主存和I/O设备之间交换信息时,不通过CPU。
但当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下3种方法使用主存:
主存和DMA接口之间有一条直接数据通路。 由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。