计算机组成原理第7章-输入/输出系统

写在前面:本文参考王道论坛主编的 计算机组成原理单科教材。

在这里插入图片描述

7.1I/O系统基本概念

在这里插入图片描述

在这里插入图片描述

7.2 外部设备

在这里插入图片描述

7.3 I/O接口

I/O接口(I/O控制器)是主机和外设之间的交接界面,通过接口实现主机和外设之间的信息交换

I/O端口是指接口电路中可被CPU直接访问的寄存器,主要有数据端口、状态端口和控制端口,若干端口加上响应的控制逻辑电路组成接口。

I/O端口要想能够被CPU访问,就必须对各个端口进行编号,每个端口对应一个端口地址。而对I/O端口的编址方式有与存储器统一编址和独立编址两种。

对数据缓冲寄存器、状态/控制寄存器的访问操作是通过相应的指令完成的,通常称这些指令为I/O指令,I/O指令只能在操作系统内核的底层I/O软件中使用,它们是一种特权指令。

在这里插入图片描述
在这里插入图片描述

答:三个全对。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.4 I/O方式

输入/输出系统实现主机与I/O设备之间的数据传送,可以采用不同的控制方式,各种方式在代价、性能、解决问题的着重点等各方面各不相同,常用的I/O方式有程序查询、程序中断、DMA和通道等,其中前两种更依赖于CPU中程序指令的执行。

7.4.1 程序查询方式

信息交换的控制完全由主机执行程序实现,程序查询方式接口中设置一个数据缓冲寄存器(数据端口)和一个设备状态寄存器(状态端口)。主机进行I/O操作时,先发出寻访信号,读取设备的状态并根据状态决定下一步操作究竟是进行数据传送还是等待。

CPU不断查询I/O设备状态,直到外设准备就绪。

程序查询方式的特点:
CPU有“踏步”等待现象,CPU与I/O串行工作。

在这里插入图片描述

7.4.2 程序中断方式

中断是现代计算机有效合理发挥效能和提高效率的一个十分重要的功能。 CPU中通常设有处理中断的机构–中断系统,以解决各种中断的共性问题。

1. 中断的基本概念

程序中断是指在计算机执行现场程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊情况进行处理,在处理完毕后CPU又自动回到现行程序的断点处,继续执行原程序。

程序中断的作用如下:

1实现 CPU和I/O设备的并行工作。
2 处理硬件故障和软件错误。
3 实现人机交互,用于干预机器需要用到中断。
4 实现多道程序、分时操作,多道程序的切换需要借助于中断系统。
5 实时处理需要借助中断系统来实现快速响应。
6实现应用程序和操作系统(管态程序)的切换,称为“软中断”。
7 多处理器系统中各处理器之间的信息交流和任务切换。

在这里插入图片描述

程序中断方式的思想: CPU在程序中安排好在某个时刻启动某台外设,然后CPU继续执行原来的程序,不需要像查询方式那样一直在等待外设准备就绪。一旦外设完成数据传送的准备工作,就主动向CPU发出中断请求,请求CPU为自己服务。 在可以响应中断的条件下,CPU暂时中止正在执行的程序,转去执行中断服务程序为外设服务,在中断服务程序中完成主机与外设的数据传送,传送完成后,CPU返回原来的程序。

在这里插入图片描述

2 程序中断工作流程

1)中断请求

中断请求是指中断源向CPU发送中断请求信号。

中断源是请求CPU中断的设备或事件,一台计算机允许有多个中断源。

1内中断和外中断

外中断是指来自处理器和内存以外的部件引起的中断,包括I/O设备发出的I/O中断、外部信号中断(如用于按Esc键),以及各种定时器引起的时钟中断等。 外部中断在狭义上称为中断。

内中断主要是指在处理器和内存内部产生的中断,主要分为三类

在这里插入图片描述

2 硬件中断和软件中断
硬件中断:通过外部的硬件产生的中断。硬件中断属于外中断。
软件中断:通过某条指令产生的中断,这种中断可以通过编程实现软件中断是内中断

3 非屏蔽中断和可屏蔽中断

非屏蔽中断:是一种硬件中断,此种中断通过不可屏蔽中断请求NMI 控制,不受中断标志位IF的影响,即使在关中断(IF=0)的情况下也会被响应。

可屏蔽中断:也是一种硬件中断,此种中断通过中断请求标记触发器INTR控制,且受中断标志位IF的影响,在关中断的情况下不接受中断请求。

2) CPU响应中断的条件
三个条件:1)中断源有中断请求;2)CPU允许中断及开中断;3)一条指令执行完毕,且没有更紧迫的任务。

3)中断隐指令

CPU响应中断后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的,我们称它为中断隐指令。 中断隐指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断隐指令是一种不允许也不可能为用户使用的特殊指令。

下面中断隐指令很重要!!!常考,烂熟于心。

中断隐指令完成的工作:
1)关中断。
2)保存断点。
3)引出中断服务程序。

4)中断向量

不同的设备有不同的中断服务程序,每个中断服务程序都有一个入口地址,CPU必须找到这个中断程序入口地址, 即中断向量,把系统中的全部中断向量集中起来存放到存储器的某个区域内,这个存放中断向量的存储区就称为中断向量表,即中断服务程序入口地址表

CPU响应中断后,终端硬件会自动将中断向量地址传送到CPU,由CPU实现程序的切换,这种方法称为中断向量法,采用中断向量法的中断称为向量中断。

注意:
中断向量是中断服务程序的入口地址;中断向量地址是中断服务程序的入口地址的地址

5)中断处理过程

在这里插入图片描述

(多重中断)中断服务程序的工作:

1)保护现场和屏蔽字。 现场信息一般是指程序状态字中断屏蔽寄存器CPU中某些寄存器的内容。

2)开中断。 允许更高级别中断请求得到响应,实现中断嵌套。

3)执行中断服务程序。

4)关中断。 保证在恢复现场和屏蔽字时不被中断。

5)恢复现场和屏蔽字。 将现场和屏蔽字恢复到原来的状态。

6)开中断、中断返回。 中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到源程序的断点处。

单级中断,中断服务程序执行顺序

在这里插入图片描述

在这里插入图片描述

2016年408统考真题中断的大题(有点难!!!)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7.4.3 DMA方式

DMA方式是一种完全由硬件进行成组信息传送的控制方式,它具有程序中断方式的特点,即在数据准备阶段,CPU与外设并行工作。DMA方式在外设和主存之间开辟了一条“直接数据通道”,信息传送不再经过CPU,降低了CPU在传送数据时的开销,因此称为直接存储器存储方式(DMA).由于数据传送不经过CPU,也就不需要保护、恢复CPU现场等繁琐的操作。

这种方式适合磁盘机、磁带机等高速设备大批量数据的传送,它的硬件开销比较大。 在DMA方式中,中断的作用仅仅局限于故障和正常传送结束时的处理。

1 DMA方式的特点

在这里插入图片描述

2 DMA控制器的组成
在DMA方式中,对数据传送进行控制的硬件称为DMA控制器(CMA接口),当I/O设备需要进行数据交换时,通过DMA控制器向CPU提出DMA传送请求,CPU响应后将让出系统总线,由DMA控制器接管总线进行数据传送。

在这里插入图片描述

在这里插入图片描述

主存地址计数器(AR):保存要交换数据的主存地址;
传送长度计数器(WC):记录传送数据的长度,计数溢出时,即传送数据完毕,自动发中断请求信号;

数据缓冲寄存器:暂存每次传送的数据;

DMA请求触发器: 当当I/O设备准备好数据后,给出一个控制信号,使DMA请求触发器置位;

“控制/状态”逻辑:由控制和时序电路及状态标志组成,由于指定传送方向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步。

中断机构:当一个数据块传送完毕后触发中断机构,向CPU提出中断请求。

3DMA的传送方式

主存和DMA控制器之间有一条数据通路,因此主存和I/O设备之间交换信息时,不通过CPU。但当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效使用主存,DMA控制器和CPU通常采用以下三种方式使用主存:

1)停止CPU访问主存

2) DMA与 CPU交替访存

3) 周期挪用(周期窃取)。这种方式是以上两种方式的折中。当I/O设备没有DMA请求时,CPU按程序的要求访问主存,一旦I/O设备有了DMA请求, 就会遇到3种情况。

第一种是此时CPU不在访存,因此I/O设备的访存请求与CPU未发生冲突;
第二种是CPU正在访存,此时必须待存储周期结束后,CPU再将总线占有权让出;
第三种是I/O设备和CPU同时请求访存,出现访存冲突,此时CPU要暂时放弃总线占有权,由I/O设备挪用一个或几个存取周期(即 I/O访存优先)。

4 DMA的传送过程

在这里插入图片描述

5.DMA方式和中断方式的区别

中断DMA
数据传送程序控制
程序的切换→保护和恢复现场
硬件控制
CPU只需要进行预处理和后处理
中断请求传送数据后处理
响应指令执行周期结束后响应中断每个机器周期结束均可,总线空闲时即可响应DMA请求
场景CPU控制,低速设备DMA控制器控制,高速设备
优先级优先级低于DMA优先级高于中断
异常处理能处理异常事件仅传送数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值