早期
*程序查询方式:*由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。
接口和DMA阶段
CPU和I/O并行工作,总线并行工作,总线连接
*中断方式:*只在I/O设备准备就绪并向CPU发出中断请求时才予以响应。
*DMA:*主存和I/O设备之间有一条直接数据通路,当主存和I/O设备交换信息时,无需调用中断服务程序。
I/O通道结构阶段
在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行I/O命令时,只需启动有关通道,通道将执行通道程序,从而完成I/O操作。
具有I/O处理机阶段
一般来说,I/O系统由I/O软件和I/O硬件两部分构成
包括驱动程序,用户程序,管理程序,升级补丁等。
通常采用I/O指令和通道指令实现CPU和I/O设备信息的交换。
I/O指令 CPU指令的一部分
操作码:识别I/O指令
命令码:做什么操作
设备码:对哪个设备进行操作
通道指令 通道自身的指令
指出数据的首地址,传输字数,操作命令
通道指令放在主存中
由CPU执行启动I/O设备的指令,由通道代替CPU对I/O设备进行管理
包括外部设备、设备控制器和接口、I/O总线等。
可以看做是两个部件之间交接的部分。
不断解放CPU
主要由程序控制,用于速度较低的外设
IO与CPU串行,CPU有’"踏步等待"现象
IO准备数据时CPU继续工作,在指令执行结束时响应中断
需要数据传送时CPU需要中断程序。
主要由硬件控制,用于速度较高的外设
主存与IO交换信息时由DMA控制器控制,在存取周期结束时响应DMA请求。
CPU暂停访存,主存由DMA控制,CPU无需暂停现行程序
通过IO指令启动通道,通道程序存放于主存中。
外围设备,是除了主机之外的、能直接或间接与计算机交换信息的装置。
用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。
用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。
屏幕大小:以对角线长度表示,常用的有12-29英寸等。
分辨率:所能表示的像素个数,屏幕上的每一个光点就是一个像素,以宽、高的像素的乘积表示,例如800*600等。
灰度级:指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次就是越清楚逼真,典型的有8位(256级),16位等。
刷新:光点只能保持极短的时间就会消失,为此必须在光点消失之前再重新扫描显示一遍,这个过程称为刷新。
刷新频率:单位时间内扫描整个屏幕内容的次数,按照人的视觉生理,刷新率大于30Hz时才不会感到闪烁,通常显示器刷新频率在60-120Hz。
*显示存储器VRAM:*也称为刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储容量越大。
VRAM容量=分辨率X灰度级位数
VRAM带宽=容量X帧频
是指除计算机内存以及CPU缓存等以外的存储器。硬磁盘、光盘等是最基本的外存设备。
串行传输
将某些磁性材料薄薄地涂在金属铝或塑料表面上作为磁体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁表面存储器。
特点
磁盘设备的组成
存储区域
一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区(也称块)是磁盘读写的最小单位,也就是说磁盘按块存储。通常为512字节
硬盘存储器
由磁盘驱动器、磁盘控制器和盘片组成
磁盘驱动器:核心部件时刺头部件和盘片组件,温彻斯特盘片是一种可移动头固定盘片的硬盘存储器。
粗盘控制器:是硬盘存储器和主机接口,主要标准有IDE、SCSI、SATA
磁盘容量:
一个磁盘所能存储的字节总数为磁盘容量。磁盘容量有格式化和非格式化容量之分。
非格式化容量是指磁记录面可以利用的磁化单元总数
格式化容量是指按照某种特定的记录格式所能存储信息的总量
容量 = 位密度X磁道长度X磁道数X盘面数
记录密度:
记录密度是指盘片单位面积上记录的二进制的信息量,通常以道密度,面密度和位密度表示。
道密度:沿磁盘半径方向单位长度上的磁道数
位密度:磁道单位长度上能记录的二进制代码位数
面密度:道密度和位密度的乘积
磁盘所有磁道记录的信息量一定是相等的,并不是圆越大信息越多,故每个磁道的位密度是不同的
平均存取时间
平均存取时间 = 寻道时间(磁头移动到目的磁道) + 旋转延迟时间(磁头定位到所在扇区)+传输时间(传输数据所花费的时间)
数据传输率:
磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。
假设磁盘转数为 r (转/s),每条磁道容量为N个字节,则数据传输率为Dr = rN*
主机向磁盘控制器发送寻址信息,磁盘的地址一般如图所示:
硬盘的主要操作是寻址、读盘、写盘。每个操作都对应一个控制字,硬盘工作时,第一步是取控制字,第二步是执行控制字。
硬盘属于机械式部件,其读写操作是串行的,不可能在同一时刻既读又写,也不可能在同一时刻读或写两组数据。
RAID(廉价冗余磁盘阵列)是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉,并行访问,具有更好的存储性能,可靠性和安全性。
RAID的分级如下所示。在RAID1-RAID5的几种方案中,无论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏。
RAID0:无冗余和校验的磁盘阵列
将连续多个数据块交替地存放在不同物理磁盘的扇区中,几个磁盘交叉并行读写,不仅扩大了存储容量,而且提高了磁盘数据存取速度,但无纠错能力
RAID1:镜像磁盘阵列
提高可靠性,使两个磁盘同时进行读写,互为备份,如果一个磁盘出现故障,可从另一磁盘中读出数据。两个磁盘当一个磁盘使用,意味着容量减少一半。
RAID2:采用纠错的海明码的磁盘阵列
RAID3:位交叉奇偶校验的磁盘阵列
RAID4:块交叉奇偶校验的磁盘阵列
RAID5:无独立校验的就校验磁盘阵列
利用光学原理读/写信息的存储装置,采用聚焦激光束对盘式介质以非接触的方式记录信息。
CD-ROM:只读型光盘,只能读出其中内容,不能写入或修改
CD-R:只可写入一次信息,之后不可修改。
CD-RW:可读可写光盘,可以重复读写。
DVD-ROM:高容量的CD-ROM,DVD表示通用数字化多功能光盘。
需要Flash Menory之外,还需要其他硬件和软件的支持。
本质为只读存储器
接口可以看做是两个部件的交接部分
是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换
需要解决的问题
选址,时序,数据缓冲,控制
具体功能:
端口Port:是指接口电路中可以被CPU直接访问的寄存器
访问I/O端口方法:需要端口地址,每个端口对应一个端口地址。
将I/O端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问I/O端口,又称为存储器映射方式。
靠不同的地址码区分内存和I/O设备,I/O地址要求相对固定在地址的某部分。
I/O地址码可以放在主存任何单元
I/O地址月存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口,又称为I/O映射方式。
靠不同的指令区分内存和I/O设备。
*并行接口:*一个字节或一个字所有位同时传送。
*串行接口:*一位一位地传送。
这里数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,数据总是并行传送的。接口要完成数据格式转换。
程序查询接口
中断接口
DMA接口
可编程接口
不可编程接口
CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序。
是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
工作流程:
IF:Interrupt Flag,存在PSW中
每个中断源向CPU发出中断请求的时间是随机的。
为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR
当其状态为"1"时,表示中断源有请求。
这些触发器可组成中断请求标记寄存器。该寄存器可集中在CPU中,也可分散在各个中断源中。
对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取I/O的中断请求,也就是说,CPU响应中断时间为每条指令执行阶段结束时刻
对于执行时间很长的指令,可在执行的过程中设置若干个"查询断点"
不可屏蔽中断 > 可屏蔽中断
CPU响应中断的3个条件:
可用硬件也可用软件实现
硬件通过硬件排队器实现,可以设置于CPU中,也可分散在各个中断源中;
软件实现是通过查询程序实现。
线数目越少优先级越高
软件无法完成保存PC的任务,应由硬件实现:中断隐指令
主要目的是:安全,不易出错
任务:
关中断
在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕后能接着正确的执行下去。
保存断点
为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器PC的内容)保存起来。可以存入堆栈,也可以存入指定单元。
引出中断服务程序
引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器PC。
软件查询法
硬件向量法
由硬件产生向量地址再由向量地址找到入口地址
主要任务:
保护现场
保存程序断点(PC),由中断隐指令完成
保存通用寄存器和状态寄存器内容,由中断服务程序完成。
可使用堆栈或特定存储单元
中断服务
主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中。
恢复现场
通过出栈指令或取数指令把之前保存的信息送回寄存器中。
中断返回
通过中断返回指令回到原程序断点处。
单重中断:执行中断服务程序时不响应新的中断请求。
多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求。
中断屏蔽技术主要用于多重中断,CPU要具备多重中断功能,须满足下列条件。
每个中断源都有一个屏蔽触发器,1表示该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。
屏蔽字设置的规律:
响应次序由硬件排队器决定
完成顺序由中断屏蔽决定
例题
程序中断方式中,每准备好一个数据都要中断CPU,由CPU运行中断服务程序来完成一次传送磁盘机、磁带机等高速设备需要大批量的数据传送->CPU大量时间用于中断服务
DMA方式中,当I/O设备需要进行数据传送时,通过DMA控制器(DMA接口)向DMA传送请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。
主要功能:
传送前
传送时
传送后
DMA中的中断是为了告知主存I/O操作已完成
在DMA传送过程中,DMA控制器将接管CPU的地址总线,数据总线和控制总线;CPU的主存控制信号将被禁止使用。而当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。
CPU完成
预处理
主存起始地址
DMA控制器
CPU完成
CPU响应最后中断,执行中断服务程序。
后处理
总体流程
DMA控制器数据传输细化
整理过程
主存和DMA控制器间有一条数据通路,因此主存和I/O设备间交换信息时,不通过CPU。但当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下三种方式使用主存。
特点
一个CPU分为,C1和C2两个周期。
C1供DMA访存,C2供CPU访存。
特点
存取周期
DMA访存的3种可能:
主存与DMA接口之间有一条直接数据通路
由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序。I/O与主机并行工作,程序和传送并行工作。