【王道笔记-计算机组成原理(完结)】第七章 输入输出系统

it2026-01-24  5

文章目录

一、外部存储器1.显示器的主要参数2.磁盘与RAID3.磁盘的性能指标 二、I/O接口1.接口的基本结构2.I/O端口编址 三、I/O控制方式1.程序查询方式(CPU与外设串行)2.程序中断方式(CPU与外设并行)3.DMA方式(纯硬件,CPU与外设并行)

一、外部存储器

  程序员通过逻辑地址访问设备。

1.显示器的主要参数

2.磁盘与RAID

  RAID(廉价冗余磁盘阵列)是指将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。

  RAID分级如下所示:

RAID0∶ 无冗余和无校验的磁盘阵列。RAID1∶ 镜像磁盘阵列。RAID2∶采用纠错的海明码的磁盘阵列。RAID3∶ 位交叉奇偶校验的磁盘阵列。RAID4∶块交叉奇偶校验的磁盘阵列。RAID5∶无独立校验的奇偶校验磁盘阵列。

  RAID0 把连续多个数据块交替地存放在不同物理磁盘的扇区中,几个磁盘交叉并行读写,不仅扩大了存储容量,而且提高了磁盘数据存取速度,但 RAID0 没有容错能力。   RAID1是为了提高可靠性,使两个磁盘同时进行读写,互为备份,如果一个磁盘出现故障,可从另一磁盘中读出数据。两个磁盘当一个磁盘使用,意味着容量减少一半。   总之,RAID 通过同时使用多个磁盘,提高了传输率;通过在多个磁盘上并行存取来大幅提高吞吐量;通过镜像功能,提高了安全可靠性;通过数据校验,提供容错能力。

3.磁盘的性能指标

平均存取时间。 平均存取时间由寻道时间(磁头移动到目的磁道的时间)、旋转延迟时间(磁头定位到要读写扇区的时间,取旋转一周时间的一半)和传输时间(传输数据所花费的时间)三部分构成。由于寻道和找扇区的距离远近不一,因此前两部分通常取平均值。数据传输率。 磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。假设磁盘转数为r转/秒,每条磁道容量为 N 字节,则数据传输率=r*N。

二、I/O接口

1.接口的基本结构

  在主机和接口一侧,数据总是并行传送的;而在接口和外设一侧,数据根据接口类型的不同可并行传输、串行传输。

2.I/O端口编址

  通常,CPU能对数据端口执行读写操作,但对状态端口只能执行读操作,对控制端口只能执行写操作。

三、I/O控制方式

1.程序查询方式(CPU与外设串行)

  CPU 一旦启动 I/O,必须停止现行程序的运行,并用测试指令不断检测设备状态,直到设备已做好准备,CPU 才能执行 I/O 指令进行数据传送,这就是程序查询方式。程序查询方式中 CPU 与 I/O 串行工作。

2.程序中断方式(CPU与外设并行)

(1)中断的分类

  根据中断源,分为外中断、内中断:

  注意,运算下溢可以当做机器零处理,不会引起中断。   软件中断属于内中断,硬件中断属于外中断。   非屏蔽中断、可屏蔽中断都是外中断。

中断判优:

  中断判优既可以用硬件实现,又可用软件实现。   一般来说,硬件故障中断属于最高级,其次是软件中断,非屏蔽中断优于可屏蔽中断,DMA 请求优于I/O设备传送的中断请求,高速设备优于低速设备,输入设备优于输出设备,实时设备优于普通设备等。硬件故障>访管>程序性>重启。

(2)中断处理过程

  CPU响应中断的时间是在每条指令执行阶段的结束时刻。这里说的中断仅指外中断,内中断不属于此类情况。

(3)多重中断

  若CPU在执行中断服务程序的过程中,又出现了新的更高优先级的中断请求,而CPU对新的中断请求不予响应,则这种中断称为单重中断。若CPU暂停现行的中断服务程序,转去处理新的中断请求,则这种中断称为多重中断,又称中断嵌套。

CPU要具备多重中断的功能,必须满足下列条件∶

  ①在中断服务程序中提前设置开中断指令。   ②优先级别高的中断源有权中断优先级别低的中断源。

(4)中断向量

  不同的设备有不同的中断服务程序,每个中断服务程序都有一个入口地址,CPU必须找到这个入口地址,即中断向量,把系统中的全部中断向量集中存放到存储器的某个区域内,这个存放中断向量的存储区就称为中断向量表,即中断服务程序入口地址表。这是为了提高中断源的识别速度。   注意∶中断向量是中断服务程序的入口地址,中断向量地址是指中断服务程序的入口地址的地址。

3.DMA方式(纯硬件,CPU与外设并行)

DMA方式在外设与内存之间开辟一条"直接数据通道",信息传送不再经过CPU,降低了CPU在传送数据时的开销,因此称为直接存储器存取方式。由于数据传送不经过CPU,也就不需要保护、恢复CPU现场等烦琐操作。总之,能产生DMA请求的一定是具有DMA接口的部件。一个完整的DMA过程也会有CPU介入,但比较少。这种方式适用于磁盘机、磁带机等高速设备大批量数据的传送,它的硬件开销比较大。在DMA 方式中,也会用到中断,但中断的作用仅限于故障和正常传送结束时的处理。

  DMA方式具有下列特点∶

①DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。②DMA请求由外部设备发出,传送期间总线控制权由DMA控制器掌握。③在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用;当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。由此可见,DMA控制器必须具有控制系统总线的能力。

(1)DMA的传送方式

停止CPU访问主存:CPU放弃控制线、地址线、数据线的使用权,把控制权交给DMA控制器。DMA与CPU交替访存:这种方式适用于CPU的工作周期比主存存取周期长的情况,把CPU工作周期分一部分给DMA控制器。周期挪用:DMA请求权限时,若CPU正在访存,等待CPU访存完;若CPU不在访存,DMA获得权限;若I/O和CPU同时发起请求,CPU暂时放弃权限,由DMA挪用一个或几个存取周期。

(2)DMA的传送过程

预处理:由CPU完成一些必要的准备工作。数据传送:可以以字节/字/数据块为基本单位。后处理:DMA控制器向CPU发送中断请求,CPU执行中断服务程序做DMA 结束处理。数据从内存传送到外设经过的路径是:内存——>数据总线——>DMAC(DMA控制中)——>外设

(3)DMA方式和中断方式的区别

①中断方式是程序的切换,需要保护和恢复现场;而DMA方式除了预处理和后处理,其他时候不占用CPU的任何资源。②对中断请求的响应只能发生在每条指令执行完毕时(即指令的执行周期后);而对 DMA请求的响应可以发生在每个存储周期结束时(在取指周期、间址周期、执行周期后均可),只要CPU不占用总线就可被响应。③中断传送过程需要CPU的干预;而DMA传送过程(但并不是整个DMA过程)不需要CPU的干预,因此数据传输率非常高,适合于高速外设的成组数据传送。④DMA请求的优先级高于中断请求。⑤中断方式具有对异常事件的处理能力,而DMA方式仅局限于传送数据块的I/O操作。⑥从数据传送来看,中断方式靠程序/软件传送,DMA方式靠硬件传送。⑦中断方式的特点是:CPU与外设并行工作,传送与主程序串行工作。DMA的特点是:CPU与外设、传送与主程序都并行工作。
最新回复(0)