常州湖塘明都摩托城:09输入输出系统

来源:百度文库 编辑:中财网 时间:2024/05/09 03:37:20
 输入输出系统

输入输出系统式计算机的重要组成部分,是沟通计算机与外部世界的桥梁。本章主要讲授各种各样的外部设备如何同主机交换信息,即信息交换的方式。信息交换不可避免地要涉及到信息交换的通路,系统总线,和必要的硬件支持-接口

6.1总线概述

1.总线是能为系统中多个部分分时共享的一组信息传输线及相关逻辑。共享是指总线所连接的各部件都通过该它传递信息。分时是指在某一时刻只允许有一个部件将信息送上总线。分时共享是总线的主要特征。

总线不仅是一组传输线,而且还包括相应的总线接口和总线控制器。由于总线是分时共享的,总线所连得各个部件都应有三态门器件,这是最基本的总线接口逻辑,有的部件也为解决速度匹配问题,还设有缓冲寄存器作为总线接口寄存器。为了实现分时共享必须制定一套相应的规则,称为总线协议,连到总线上和各个部件必须遵守这些协议,才能有序地分时共享总线。总线控制器便是总线协议的维护者,当多个部件争用总线时,由总线控制器进行裁决,决定由谁首先使用总线。

2.总线的分类

1.按总线连接的部件,可将总线分:

(1)芯片内总线。连接芯片内总线的总线,例如CPU内部总线。芯片内总线结构简单,传输距离很短,传输速度很高。

系统总线。系统总线指在一个计算机系统内连接CPU、主存、I\O接口等部件的总线。系统总线包括地址、数据和控制信号三类传输线,以及电源线。系统总线的连接距离较短,传输较快。

外总线。外总线则是多台计算机之间,或计算机与一些智能设备之间的连接总线。一般仅有数据线及简单的控制信号线,数据线的数据通路宽度较窄。外总线的传输距离一般较远,速度较低。

(2)按传送方向,可将总线分为:

单向总线。数据只能延一个方向传送,只能一个设备发送另一个设备接收。

双向总线。数据可以向两个方向传送,一个设备既可从总线上接收信息,也可向总线上发送信息。

(3)按照数据传送格式,可将总线分为:

并行总线。并行总线中的数据线有多根,可同时传送多个二进制位,通常将数据总线上可同时传送的二进制位数称为数据通路宽度。系统总线一般是并行总线,其数据通路宽度多与CPU一致,并为字节(8位)的整数倍。

串行总线。串行总线中的数据线只有一根,只能串行地逐位传送数据或有两根数据线,分别实现两个方向的数据传输。外总线较多采用串行总线,以节省通信线路的成本、实现远距离传输,显然串行总线传输速度低于并行总线。

(4)按时序控制方式,可将总线分为:

同步总线,同步总线设置有统一的时钟信号,进行数据传送时,手法双方严格遵循这个时钟信号。同步总线应用于总线上各部件间工作表达方式差异较小的场合,其控制较简单,但时间利用率可能不高。

异步总线。异步总线在数据传送时,没有统一的时信号,采用应答方式工作。当各部件共走速度差异较大时多采用异步总线,传输时间可以根据需要能短则短,需长则长,因而时间利用率很高,但相应的控制较复杂。

准同步总线。这种总线实际上采用同步异步相结合的方法,在计算机系统中,总线周期包含若干时钟周期,但时钟周期数可根据需要,基本总线周期含有时钟的周期数最少(通常根据CPU方向内存的需要而定),当外部电路能在基本周期内完成总线传时。它实际上是按标准的同步方式工作。当某个部件印速度较低,而不能再基本周期内完成数据传送时,就发出一个“等待”信号,总线周期则按时钟周期为单位地延长,直至“等待”信号撤销,总线周期才告结束。这样,总线传送仍以时钟周期为同步定时信号,但每次包含的时钟数可以不同,它既有同步总线控制简单的优点,又具有异步总线时间利用率高的优点。

3.总线标准化

早期计算机生产厂家生产的计算机系统中,其总线只供自己和少数配套厂家使用,相互间缺乏互换性,阻碍了计算机的推广。随着微型计算机技术的发展和普及,对标准化的需求日益增强,许多厂家都采用了开放式策略,明确定义并公开总线标准,使其他厂家也能按此标准生产各种插件与配套产品。

下面介绍一些常用的总线标准

S-100,总线(IEEE696),适用于8080、Z80等微机(已经不用)

Multibus总线(IEEE796),这是由Intel公司开发的、适于多种CPU,可组成多机系统。现已发展为32位总线Multibus-2(IEEE1296)(已经不用)

Future bus(IEEE896.1),一种高速的32位总线。

VME总线(IEEE1000),由Motorola公司开发,在许多超级微机和工作站中采用。(也不再用)

STD总线(IEEE961),由Prolog公司开发,广泛应用于工业控制领域。还有一种STE总线,与STD非常相似,被称为STD总线的欧洲版。

现在使用较多的是AT总线(16位,常称为工业标准AT总线,简称ISA)PCI总线等。

1. 系统总线的结构

a 单总线结构(存储器和I/O统一编址,直接用MOV传送,但是在磁盘与存储器传输时,CPU只能等待,降低了CPU的使用率)

b带存储总线的双总线结构(解决单总线的问题)

c带DMA的三总线结构(存储器与高速外设有DMA接口,)

d带IOP的双总线结构 (IOP是IO处理机)

e带Cache总线和桥接器的总线结构

f带高速总线的系统总线结构

2. 系统总线的组成

系统总线包括:数据总路线、地址总路线、控制总路线、和电源线

传输方式:无条件传送,查询传送,中断传送,DMA传送,通道传送。

1. 无条件传送 控制端是开关、信号灯、继电器。

2. 查询方式 (CPU在ns级,I/O在ms级。在接口设缓冲寄存器,而且工作时要查询I/O)

I/O设备有闲止、工作、结束三个状态。 要设两个触发器。CB、CD 00、10、01

输入查询程序如下:

LOOP-IN:IN AL,STATUS-PORT;读入RDY

AND AL,80H ;检查RDY

JZ LOOP-IN ;RDY=0等待

IN AL,DATA-PORT ;读入数据

输出查询程序如下:

LOOP-IN:IN AL,STATUS-PORT;读入BUSY

AND AL, 80H ;检测BUSY?=0

JNZ LOOP-IN;BUSY=1忙等待

MOV AL, BUFFER ;BUSY=0不忙

OUT DATA-PORT ,AL ;输出数据

6.4中断系统

6.4.1中断的基本概念

1.中断的提出

程序查询方式虽然简单,但却存在着下列明显的缺点:

(1) 在查询过程中,CPU长期处于踏步等待状态,是系统效率大大降低;

(2) CPU在一段时间内只能和一台外设交换信息,其他设备部能同时工作;

(3) 不能发现和处理预先无法估计的错误和异常情况。

为了提高输入/输出能力和CPU的效率,20世纪50年代中期,程序中断方式被引进计算机系统。程序中断方式的思想是:

3. 中断的基本类型

(1) 自愿中断和强迫中断

自愿中断又称程序自中断,它不是随机产生的中断,而是在程序中安排的有关指令,这些指令可以使机器进入中断处理的过程,如:指令系统中的软中断指令 INT n 例如:MOVAH,4CH

INT 21H

强迫中断就是随机产生的中断,不是程序中事先安排好的。当这种中断产生后,由中断系统强迫计算机中止现行程序并转入中断服务程序。

(2) 程序中断和简单中断

程序中断就是我们前面提到的中断,主机在响应中断请求后,通过执行一段中断服务程序来处理更紧迫的任务。

简单中断就是外设与主存间进行信息交换的方法,即DMA方式。这种中断不去执行中断服务程序,故不破坏现行程序的状态。

向量中断和非向量中断

向量中断是指那些中断服务程序的入口地址是由中断事件自己提供的中断。中断事件在提出中断请求的同时,通过硬件向主机提供中断服务程序入口地址,即向量地址。

非向量中断的中断事件不能直接提供中断服务程序的入口地址。

(4) 单重中断和多重中断

4. 程序中断控制的软硬件配置

(1) 中断请求的提出与传递

中断请求

小型机:完成触发器,未屏蔽, INTR

微机:有请求信号,未屏蔽, 发INTR、

软件查询

查询时速度快的级别高,级别高的先查询,低的后查询

利用右移判断,速度更快,程序如下:

XOR AL,AL

IN AL,20H

RCR AL,1

JC PSA

RCR AL,1

JC PSB

RCR AL,1

JC PSH

PSA:      外设0#SV

PSB:      外设1#SV

PSH:      外设7#SV

硬件查询

不同查询线路,方式不同,

1. 具有独立请求线排队线路(每个外部设备一个排队线路,离CPU越近级别越高。)

2. 具有公共请求线排队线路(在一条线路上连接的线路,有INTA,查询中断源,查哪个是申请的)

6.4.3中断响应, 

CPU响应中断的条件

1. 一条指令的结束

2. 无DMA申请

3. 至少有中断源申请

4. 开中断下

CPU响应中断后,进入中断周期,如下图通过中断隐指令,由硬件直接实现。

1. 关中断

2. 保存断点(返回地址)压栈

3. 形成中断向量表地址码,即向量地址送MAR。以便访问中断向量表。这一步骤有些计算机是由软件,(执行中断处程序中)实现的。

4. 形成中断程序入口。即访问中断向量表,从中读取对应的中断服务程序入口地址送入PC与MAR.在IT结束后进入取址周期(FT),执行中断服务程序。

中断响应与中断服务程序一般流程

(4)中断服务

中断控制器8259

由于中断向量表前几个单元被内部中断等占据,所以只能从0020H(#08H)开始,而外设从0号设备开始,经过8259后,通过转换得到响应设备码。得到设备码后, 乘4得到入口地址, 入口地址内所存即为地址偏移量和段基址

中断嵌套与中断屏蔽

当CPU正在执行一个中断源的中断处理程序时又发生了另一个中断请求。如果正在执行的中断处理程序中允许再响应其他中断请求,就会出现多重中断或称中断嵌套。CPU在进入某个中断源的中断处理程序前已在其中断响应周期中由硬件关闭了程序状态字PSW中的中断允许位IF,即不允许中断。如果进入中断处理程序后,知道中断返回前,不再开放中断,,那么在该中断处理执行期间不会再响应其他任何屏蔽中断,哪怕这些中断源的中断优先级再高、再紧迫,CPU也不会理睬。这个中断处理程序就是不允许中断嵌套的中断处理。如果要使一个中断处理程序允许中断嵌套,应当在中断处理程序中开放中断(例如使用STI指令将IF置1),那么这个中断处理程序在中断处理执行期间就允许再被中断,即允许中断嵌套。

中断嵌套的关键是在中断处理程序中开放中断,并且靠堆栈的先进后出保证中断的逐级返回。

为了满足各中断源的轻重缓急,一般来说,当正在进行某个中断处理时,与它同级或比它优先级低的中断请求不能被响应,只有比它优先级高的中断请求才可能被响应。

线路:中断请求寄存器为1,中断屏蔽寄存器为0,能申请中断

中断屏蔽字:1.可以屏蔽本级和低级设备,2.可以改变优先级别

(6) 中断返回

中断返回时由中断处理程序的最后一条指令(例如IRET)实现的,该指令的功能是将中断相应周期中保存于堆栈的PC值和PSW值恢复,然后开中断,这样又赚到了原来被中断的程序处继续工作,

总结:

从中断框图中得到,当执行完一条指令后,并不是立即下一条指令取址周期,而是要检查有无中断申请。

6.5程序中断方式方式接口构成

各个接口中断执行过程都是一样的

1微型机中断传送接口电路

当数据取出打入三态缓冲器的同时,将中断寄存器清零,取消中断请求。

多于8个硬件中断,可以采用多片8259A级联进行多级硬件中断。

2小型机具有四个触发器的中断传送线路(NOVA-1200)

采用交换屏蔽字来撤销中断

3小型机:具有五个触发器的接口电路(PDP-11)

产生INTA后经过一个非门清零撤销中断

4具有独立请求线中断接口电路

6.5直接存储器访问 (DMA)方式

所谓DMA方式就是直接存储器存取方式(Direct Memory Acess),也就是说它不像是前两种方式(程序查询和程序中福安方式)那样是通过CPU执行程序,将外设的数据送入内存,或将内存的数据送到外设输出,而是直接(不通过CPU)有接口硬件控制系统总线与内存进行数据交换。输入时由外设直接写入内存,输出时由内存送至外设。由于不再需要CPU考指令来进行输入输出,当然也就不需要现场保护和现场恢复,也不需要CPU反复地开中断,关中断了,使得输入输出国策和那个花费得时间更好,对CPU的打扰也更少。

总结:开始由CPU发指令,一旦开始CPU 不再介入,传输结束后由CPU控制,采用中断方式可能丢码。

1. DMA方式的应用

DMA方式一般用于主存与高速I/O设备之间的数据交换,及其他与高速数据传送有关的场合。其用途主要有:

1用于磁盘、磁带、光盘等外存储设备接口,磁盘、磁带、光盘与主存间的数据交换以数据块为单位,子啊连续读写时,数据传输率很高,一般用DMA凡是控制数据传送,数据块传送完毕后,采用中断方式由CPU进行后处理。

2. 用于网络通信接口, 计算机网络通信传输率一般为几十MB/s,也常用DMA方式工作,当一帧(帧是以同步方式串行传送的一块数据)传送后,再以中断方式通知CPU进行相应处理。

3. 用于动态存储器刷新, 动态存储器DRAM也利用DMA方式完成那个刷新,每个一定时间(2ms)占用一个存取周期,对DRAM芯片的一行进行一次读一写操作,完成对该行的刷新。

4. 用于高速数据采集接口 在高速A/D采集、高速图像采集实时音频信号采集等应用中,数据传输率约从几百KB/s到几MB/s,一般也都采用DMA方式工作。

DMA过程

DMA工作过程包括:初始准备、DMA传送、技术处理三个接段

下面以磁盘读操作为例介绍DMA工作过程。

1.初始准备  在开始DMA传送之前,必须首先由CPU进行初始化工作,它包括以下几项主要内容

a由于在DMA传送结束后常以中断方式请求CPU进行后处理,所以在DMA初始化阶段应进行中断向量设置、允许中断等有关中断初始化工作

b设置一系列参数:将主存缓冲区或数据块的首址送入DMA接口主存地址指示器,将传送数据块长度送往接口块长计数器,将有关寻址信息如XX柱而XX判面XX扇区送入DMA接口的词磁盘地址寄存器,将启动命令及传送方向等控制信息送入接口命令/状态寄存器。

(2)DMA传送  当CPU将启动命令写入磁盘接口中的命令寄存器后,磁盘变启动了。

讲解磁盘: 寻道(寻找一个柱面)、寻找扇区(将一个此道分成若干个扇区)、选择盘面。 位密度(内圈,沿切线方向) 道密度(沿法线方向)  格式化容量(   非格式化容量(大于格式化容量)

a磁盘与主存之间有接口缓冲器

bDMA相应, CPU接到DMA请求,当前内存周期操作结束后,将总线的输出端置成高阻态,发出DMA应答信号,将总线控制权交给DMA控制器。传输数据。

c结束处理 当数据块传送完毕后,由块常计数器为0作为触发信号,通知中断控制器产生中断请求

1. DMA式特点

(1) CPU对DMA接口的控制权限于DMA的开始(参数设置和启动)和结束(中断处理),在整个DMA传送期间,均由DMA接口直接控制进行内存读写,DMA方式对CPU的打扰更少,并行性也就更好。

(2) CPU响应DMA请求只需暂停访问内存,让出总吸纳控制权。省去了中断方式中保护现场。恢复现场,开中断。关中断的王府操作,打绕的时间仅为一次内存存取周期,节省了CPU 的大量时间,使得CPu利用率得以提高。

  

见图9

7.5.2DMA的传送方式。

DMA方式的工作过程,实质是DMA接口与CPU交替访问内粗你的过程。根据DMA接口与CPU访问内存时间上的不同安排,又可将DMA分为以下三种传送方式

1. 周期挪用方式

子啊这种方式中,若没有DMA请求,CPU正常工作,按指令执行的要求需要访问内存就访问内存,一旦外设接口有DMA请求,CPU就要让出一个或几个存储周期供DMA接口访问内存。若CPU正赶上内部处理(比如处于乘、除指令的执行阶段)不需要访问内存,DMA传送占用内存不对CPU产生任何打扰;若CPU也赶上要访问内(比如要取指令、取操作数,或将运算结果写入内存等),这时就有了争访内存的问题。

为了尽量的减少这种针纺内存的冲突,某些机器采用了指令预取技术,吧争访内存的几率降到最低。

优点是保证了DMA传送的前提下,又较好的发挥了CPU与主存的效率,因而得到了广泛应用。缺点是每一次DMA传送都伴随着一次DMA请求、DMA相应和两次内存访问权的转换(先由CPU转给DMA接口,后由DMA接口归还CPU),这种频繁的王府操作也会使得系统的效率下降。

2. CPU暂停访问方式

由于周期挪用方式中内存访问权的转换过于频繁,自然想到的是增加DMA接口中数据寄存器的容量,将之改为一个小容量的RAM存储器作为数据缓冲区,待RAM放慢(输入)或RAM已空(输出),发一次DMA请求,取得内存访问权后进行批量的数据传送。

3. 与CPU交替访存方式

这种方式是针对DMA接口与CPU争访主存的矛盾提出的又一解决问题的方案,其基本想法是让两者交替互不冲突的访问主存

见图10

见图11

7.6通道控制方式

通道是一种专用控制器,它通过执行通道程序进行I/O操作的管理,为主机与I/O为主机与I/O设备提供一种数据传送通道,故称为通道

1. 字节多路通道

慢速设备两次数据传送间隔时间长;

键盘数十毫秒

打印机数毫秒

一台主机可连若干个通道,每个通道可通过I/O总线连多台慢速I/O设备。如果让一台慢速设备独占通道,其传输效率很低,所以选择以字节为单位,由各设备交叉地使用通道进行数据传送。

见图12

2. 选择通道

见图13

3. 数组多路通道

见图14

二.通道指令

通道命令字 ccw

通道地址字 CAW

通道状态字CSW

见图15

见图16