输入/输出系统

CPU与外设之间的信息交换方式

输入/输出接口与端口

I/O接口组成:数据缓冲器、设备选择电路、命令寄存器和命令译码器、设备状态标记、控制逻辑电路。

I/O接口功能:设备选择、速度匹配功能、串并转换、电平转换、传送控制命令、反映设备状态。为了与CPU交换信息的方便,在接口内部一般要设置一些可以被CPU直接访问的寄存器。这些寄存器称为端口。

接口内用于接收来自CPU等主控设备的控制命令的寄存器称为命令端口,简称命令口,接口内向CPU报告I/O设备的工作状态的寄存器称为状态端口或状态口,接口内在外设和总线间交换数据的缓冲寄存器称为数据端口和数据口。

为了方便CPU访问端口,也需要对端口安排地址。

编制方式

系统统一编制方式:输入/输出设备接口中控制寄存器、数据寄存器、状态寄存器等和内存单元一样看待,它们和内存单元联合在一起编排地址。

I/O独立编辑方式:内存地址和I/O设备地址是分开的,访问内存和访问I/O设备使用不同的指令,即访问I/O设备有专门的I/O指令组。

 

输入/输出操作的一般过程

由于接口与CPU的速度大致相当,CPU读写端口的方式与CPU读写内存单元是相似的。

输入过程步骤

CPU把一个地址值放在地址总线上,选择某一输入设备;

CPU等候输入设备的数据成为有效;

CPU从数据总线读入数据,并放在一个相应的寄存器中。

输出过程步骤

CPU把一个地址值放在地址总线上,选择一个输出设备;

CPU把数据放在数据总线上;

输出设备认为数据有效,从而把数据取走。

 

I/O接口与外设间的数据传送方式

(1)速度极慢或简单的外设备:无条件传送方式(针对同一设备)

如机械开关、发光二极管等,在任何一次数据交换之前,外设无需进行准备操作。

慢速或中速外围设备:应答方式(异步传送方式)

不同的时钟,握手信号线

高速的外围设备:同步传送方式 同一时钟

对于中等以上数据传送速率并按规则间隔工作的外部设备,接口以某一确定的时钟速率和外设交换信息。

CPU与I/O接口之间的数据传送

CPU管理外围设备的方式

1.无条件传输传送方式(简单I/O方式)

2.程序查询(轮询)方式 PIO

在数据传送之前,CPU需要通过接口对目标设备的状态进行查询:如果外设已准备传送数据则进行数据传送;如果外设未准备好传送数据,则CPU不断地查询并等待,直到外设准备好信息交互。

优点:CPU的操作和外围设备的操作能够同步,而且软硬件结构都比较简单。

缺点:外围设备通常动作很慢,程序进入查询循环时将白白消耗掉CPU很多时间。

3.程序中断方式

中断是外围设备用来“主动”通知CPU,准备送出输入数据或接收数据的一个方法。当中断发生时,CPU暂停其现行程序,当中断处理完毕后,CPU又返回到原来执行的任务,并从其停止的地方开始执行程序。

中断方式一般适用于随机出现的服务要求,并且一旦提出要求,能使服务请求立即得到响应,因而适用于计算机工作量十分饱满、而I/O处理的实时性要求又很高的系统。

4.直接内存访问(DMA)方式

用中断方式交换数据,是通过CPU执行程序来实现数据传送的。每进行一次传送,CPU必须执行一遍中断处理程序,完成一系列取指令、分析指令、执行指令的过程。

直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。这种方式既能响应随机发生的服务请求,同时又可以省去中断处理的开销。DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备传送数据之间进行,以高速传送数据。

 

通道和输入/输出处理器

通道是一个具有特殊功能的简化版处理器,它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送控制。

输入/输出控制方式,主要由程序实现:程序查询方式和程序中断方式,主要由硬件实现:DMA方式和通道/IPO方式。

程序查询方式、程序中断方式、DMA方式和通道/IPO分式,这四种分式的核心差异:数据在主CPU承担的任务不同。

程序查询方式又称为程序控制I/O方式。在这种方式中,数据在CPU和外围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的。

程序中断方式
中断的基本概念
中断方式的典型应用包括:
实现CPU与外界进行信息交换的握手联络。
故障处理。硬件故障,如掉电、校验错、运算出错等;软件故障,如溢出、地址越界、非法指令等。
实时处理。中断可以保证在事件出现的实际时间内及时地进行处理。
程序调度。中断是操作系统进行多任务调度的手段。
软中断(程序自愿中断)。

中断是指CPU暂时中止现行程序转去处理随机发生的紧急事件,处理完后自动返回原程序的功能和技术。
随机:随机发生的事态、有意调用随机事态、随机插入的事态。

中断与子程序的区别:
子程序是事先安排的,中断是由随机中断事件触发的;
子程序受主程序或上级程序控制的,中断服务程序和现行的程序无关;
一般不存在同时调用多个子程序,可能同时发生多个中断程序的外界发生请求。

中断处理过程:保护断点,保护现场,恢复-返回。
中断实质:程序嵌换。
当CPU执行完一条现行指令时,如果外设向CPU发出中断请求,那么CPU在满足响应条件的情况下,将发出中断响应信号,与此同时关闭中断(“中断屏蔽”触发器置“1”),表示CPU不再受理另外一个设备的中断请求。CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。它将转移到处理该中断源的中断服务程序。CPU在保存现场信息,设备服务(如交换数据)以后,将恢复现场信息。在这些动作完成以后,开放中断(“中断屏蔽”触发器清“0”),并返回到原来被中断的主程序的下一条指令。CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才不至于使当前指令的执行受到干扰。

中断源
人为设定的中断;
程序性事故;
硬件故障;
I/O设备发起的中断请求;
外部事件发起的中断请求。

中断的类型1.硬中断:由硬件触发的中断;软中断:由软件触发的中断
来自主机内外  外中断
              内中断
 来自故障或外部中断源   强迫中断:非程序安排的中断
                        自愿中断:程序安排的中断
  可屏蔽中断:有屏蔽位的中断
  非屏蔽中断:没有屏蔽位的中断
  来自于向量表  向量中断
              非向量中断

在中断周期中由硬件产实现的响应中断、关中断等操作由于在主程序和中断服务程序的代码中都看不到,因而被称为“中断处理的隐操作”。

中断服务程序入口地址的获取
中断是频繁发生的,这些引起中断的事件被称为中断源。
CPU在中断响应的过程中必须首先确认应该为哪个中断源服务。
当有多个中断源同时提出中断申请时,还需对中断源进行优先级判别和排队,以确定应该首先响应哪个中断源的服务请求。CPU需要获取应被服务的中断源的中断服务程序入口地址,并转到相应的中断服务程序执行。获取中断服务程序入口地址一般有两种方式:向量中断方式和查询中断方式。

系统中所有的中断向量都按顺序存放在内存指定位置的一张中断向量表中。
向量:中断程序入口地址
有些计算机由硬件产生的向量地址不是直接地址,而是一个“位移量”,这个位置上加上CPU某寄存器里存放的基地址,最后得到中断程序服务程序的入口地址。
计算机在中断向量表中存放的不是中断服务程序入口地址,而是一条转移到中断程序服务程序入口地址的转移指令的指令字。

查询中断 在查询中断中,硬件不直接提供中断服务程序的入口地址,而是为所有中断服务程序安排一个公共的中断服务程序。由公共的中断服务程序软件查询中断源,并跳转至相应中断服务子程序入口执行。

向量中断方式是由硬件在中断周期中自动完成的
查询中断方式是由软件实现的

CPU响应中断的条件:
程序中断状态字PSW(PSW:控制位---中断允许位为1;
状态位);
可屏蔽中断为为0

程序中断方式基本I/O接口
程序中断由外设接口的状态和CPU 两方面来控制。
准备就绪触发器(RD)
允许中断触发器(EI):通过软件来控制是否允许某设备发出中断请求。
中断请求触发器(IR):CPU内部,主动权在CPU。
中断屏蔽触发器(IM)

单级中断
单级中断的概念
在单位中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务程序。
多级中断
多级中断的概念
多级中断系统是指计算机系统中有相当多的中断源,根据各种中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。
三级中断优先权高于二级,而二级中断优先权又高于一级。

DMA方式
直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。数据交换不经过CPU,而直接在内存和I/O设备之间进行。
DMA方式的主要优点是速度快。
DMA方式的特点
实现主存与I/O设备间的快速数据传送
CPU不必等待查询
DMA方式非常适合主存和高速I/O设备间的简单数据传送。

DMA的工作过程:
预处理:CPU提供地址和命令,CPU参与
数据传送:CPU不参与
后处理:CPU参与,改变DMA状态字(后处理:检测输入数据是否正确,确保DMA正确。)
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值