一、I/O设备与磁盘
-
I/O系统性能指标:
- 吞吐率(I/O带宽): 单位时间内从系统输入/输出多少数据
- 响应时间: 在多长时间内完成请求的任务
-
外设的通用模型(抽象模型)
- 通过电缆与计算机内部I/O接口进行数据、状态和控制信息的传送。电缆线中包括控制信号、状态信号和数据信号三种信号线。
- 控制逻辑根据计算机送出的控制信息控制设备的操作,并检测设备状态送往计算机。
- 缓冲器用于保存与计算机交换的数据信息。
- 变换器用于实现电信号形式(内部数据)与其他形式的设备数据之间的转换。
-
磁盘上的数据定位(地址)
- 磁道号、磁头号(每个盘面都对应地有一个读/写磁头)、扇区号
- 磁盘数据的存取以块(扇区)为单位。
- 磁盘操作包括:寻道操作、旋转等待操作(找扇区)和读写操作。
-
低密度与高密度磁盘
- 低密度磁盘:各个磁道上的扇区数相同,每个磁道存储的数据量相同,内磁道的位密度比外磁道高;
- 高密度磁盘:各个磁道上的位密度相同,各磁道存储的数据量不同,外磁道上的扇区数比内磁道多。高密度磁盘比低密度磁盘容量高很多。
-
磁盘容量:
- 未格式化容量:磁盘总容量=记录面数×柱面数×内圆周长×位密度
- 格式化容量: 磁盘数据容量=2×盘片数×磁道数/面×扇区数/磁道×512/扇区
-
硬盘的主要技术指标: 平均存取时间T
- 计算:T = 平均寻道时间 + 平均旋转等待时间 + 数据传输时间(一般忽略)
- 磁盘响应时间 = 排队延迟 + 控制器时间 + T
-
冗余磁盘阵列RAID
- 基本思想:将多个独立操作的磁盘按某种方式组织成磁盘阵列(Disk Array),以增加容量。
利用类似于主存中的多体交叉技术,将数据分散在多个磁盘上,通过这些盘并行工作来提高数据传输速度。用冗余磁盘技术来进行错误恢复以提高系统可靠性。 - 3个特性:
- RAID是一组物理磁盘驱动器,在操作系统下被视为一个高容量的单逻辑驱动器。
- 数据连续或交叉地分布在一组物理磁盘上,具有高数据传输率。
- 冗余磁盘用于存储校验信息,保证磁盘万一损坏时能恢复数据。
- RAID不同级别的含义:表示具有上述3个特性的不同设计结构。
- 基本思想:将多个独立操作的磁盘按某种方式组织成磁盘阵列(Disk Array),以增加容量。
-
固态硬盘SSD
- 采用NAND闪存芯片代替磁盘作为存储介质
- 比磁盘速度快很多
- 类似磁盘以区块写入和抹除的方式进行数据的读取和写入
- 其写操作比读操作慢很多
- 早期的SSD与主机的接口与磁盘兼容,现在的SSD采用了更快的PCI-E或M.2接口。
二、总线及系统互连、I/O接口
-
总线
-
定义:总线是指在各种层次上提供部件之间的连接和交换信息的通路
-
分类:
- 芯片内总线: 在芯片内部各元件之间提供连接
- 系统总线: 在系统主要功能部件(CPU 、MM和各种I/O控制器)之间提供连接。一般包括处理器总线、存储总线、I/O总线。
- 通信总线:在主机和I/O设备之间或计算机系统之间提供连接
-
基本概念:
-
裁决:确定哪个设备使用总线(趋势:点对点,无需裁决)
-
总线定时:定义总线事务中的每一步何时开始、何时结束。
分为同步(时钟信号),异步(握手信号)(趋势),半同步。
-
并行传输:一个方向同时传输多位数据信号,故位与位需同步,慢。
串行传输:一个方向只传输一位数据信号,无需在位之间同步,快。(趋势)
-
-
性能指标
- 总线宽度:总线中数据线的条数,决定了每次能同时传输的信息位数。
- 总线工作频率:早期的总线通常一个时钟周期传送一次数据,工作频率等于总线时钟频率。现在有些总线一个时钟周期可以传送2次或4次数据,因此,工作频率是时钟频率的2倍或4倍。
- 总线带宽:总线的最大数据传输率
对于同步总线,总线带宽计算公式: B=W×F/N
W-总线宽度;F-总线时钟频率;N-完成一次数据传送所用时钟周期数。
F/N实际上就是总线工作频率 - 总线传送方式
非突发传送:每个总线事务都传送地址,一个地址对应一次数据传送。
突发传送:即成块数据传送。突发传送总线事务中,先传送一个地址,后传送多次数据,后续数据的地址默认为前面地址自动增量。
-
处理器总线QPI,替代了FSB
-
存储器总线
-
I/O总线
-
主流: PCI-Express(串行总线)
- 两个PCI-Express设备之间以一个链路(link)相连
- 每个链路包含多条通路(lane),可以是1,2,4,8,16
- PCI-Express×n表示一个具有n条通路的PCI-Express链路
- 每条通路有独立的发送和接收数据线,可同时发送和接受。
- 每个数据字节被转换为10位信息被传输
- PCI-Express1.0下,每条通路的发送和接受速率都是2.5Gb/s,故PCI-Express×n的带宽为:2.5Gb/s×2×n/10=0.5GB/s×n。
-
I/O总线、接口、设备的关系
-
-
-
I/O接口
-
定义:I/O设备控制器及其插座(如网卡、显卡、键盘适配器、磁盘控制器)
-
5大功能
- 数据缓冲:提供数据缓冲寄存器,以达到主机和外设工作速度的匹配。
- 错误或状态检测:提供状态寄存器,以保存各种错误或状态信息供CPU查用。
- 控制和定时:提供控制和定时逻辑,以接受从系统总线来的控制定时信号。
- 数据格式转换:提供数据格式转换部件,使通过外部接口得到的数据转换为内部接口需要的格式,或在相反的方向进行数据格式转换。
- 与主机和设备通信:上述功能通过I/O接口与主机之间、I/O接口与设备之间的通信来完成
-
I/O接口的通用结构、几大寄存器的作用
-
-
I/O端口
-
定义:上图
-
两种编址方式:
-
统一编址方式(内存映射方式)
与主存空间统一编址,将主存空间分出一部分地址给I/O端口进行编号。(该方法是将I/O端口映射到某主存区域,故也称为“存储器映射方式”) 在这种方式下,系统使用访存指令就能够访问I/O端口。
-
编址方式(专门的I/O指令方式)
不和主存单元一起编号,而是单独编号,使成为一个独立的I/O地址空间。在这种方式下,系统需设置专门I/O指令来访问I/O端口,因此也称为“特殊I/O指令方式”。
-
-
三、I/O数据传送控制方式
-
程序直接控制方式、程序中断方式和DMA方式的各自工作过程、特点。
-
程序直接控制
-
中断
-
中断响应:
-
指CPU发现外部中断请求后,中止现行程序的执行,到调出中断服务程序这一过程。
-
条件:
①CPU处于开中断状态。
②至少要有一个未被屏蔽的中断请求。
③当前指令刚执行完。
-
过程:
执行一条隐指令,来完成一次中断响应过程。具体来说,处理器做三件事:
① 关中断:0 => 中断允许触发器CIEN② 保护断点和程序状态:PC=>EPC或堆栈,PSWR =>EPSWR或 堆栈
③ 识别中断源:取得中断服务程序首地址和初始PSW,分别送PC和PSWR。包括向量中断、软件查询两种方式。
- 向量中断:从总线的数据线上取得中断类型号后得到中断服务程序首址
- 软件查询:直接转中断查询程序
-
-
中断处理过程
-
多重中断和中断处理优先权的动态分配
-
多重中断:在一个中断处理(执行中断服务程序)过程中,若有新的中断请求发生,且新中断优先级高于正在执行的中断,则中止正在执行的中断服务程序,转去处理新的中断。这种情况为多重中断,也称中断嵌套。
-
中断优先级:包含中断响应优先级和中断处理优先级
-
中断响应优先级:由查询程序或硬联排队线路决定的优先权,反映多个中断同时请求时选择哪个响应。
-
中断处理优先级:当某个中断正在被处理过程中,有别的中断源的请求发生了,这时就由各中断源的中断处理优先级决定如何响应。
-
它由正在处理的中断的中断屏蔽字来设定,可以动态调整各中断源原来的中断优先级顺序(中断响应优先级),反映该中断与其它中断之间的处理顺序关系。经典例题:
-
-
-
中断响应的时点与异常处理的时点是否相同?为什么?
在一条指令执行结束后开始查询有无中断请求,有的话立即响应,所以,一般在指令执行完时响应中断;“异常”发生在指令执行过程中,所以,不能等到指令执行完才进行异常处理。
-
-
DMA
-
基本要点
-
DMA常用的三种方式:
-
CPU停止法
-
周期挪用法
-
交替分时访问法
-
-
DMA传输方式的逻辑结构
-
DMA控制器
DMA数据传送过程由DMA接口的控制逻辑完成,所以DMA接口也称DMA控制器。其功能为:
- 请求。能接收外设发来的“DMA请求”信号,并能向CPU发“总线请求”信号。
- 响应。当CPU发回“总线响应”信号后,能接管对总线的控制。
- 发主存地址并修改。能在地址线上给出主存地址,并自动修改主存地址。
- 根据传送方向发相应的读写信号。按不同的传送方向,在控制线上给出正确的I/O和主存的读写控制信号。
- 确定传送数据个数。
- 能发出DMA结束信号。引起一次DMA中断,进行数据校验等一些后处理。
-
DMA操作的三个步骤
-
DMA I/O传送方式与中断I/O传输方式的差异比较。
-