第17讲输入输出控制、串行接口、并行接口_第1页
第17讲输入输出控制、串行接口、并行接口_第2页
第17讲输入输出控制、串行接口、并行接口_第3页
第17讲输入输出控制、串行接口、并行接口_第4页
第17讲输入输出控制、串行接口、并行接口_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

输入输出控制串行接口、

并行接口-学习目标(1)掌握PC机的I/O寻址方式并了解PC机I/O端口地址分配

。(2)掌握PC机的三种输入/输出控制方式:程序控制方式,中断控制方式及DMA控制方式的工作原理。

(3)掌握与8259A可编程中断控制器并了解PC及PC/AT兼容的ISA总线上的常规中断、新的PCI中断、串行中断技术以及高级可编程中断控制子系统APIC概况。(4)掌握与8237可编程DMA控制器相关的具体内容并了解PC中的DMA通道。3.5输入/输出及控制3.5.1输入/输出及控制计算机通过I/O设备与外部交换信息,

I/O操作的任务是将输入设备输入的信息送入内存的指定区域或者将内存指定区域的内容送出到输出设备。I/O操作特点①多数

I/O设备在操作过程中包含机械动作,速度比

CPU慢得多,因此为提高系统效率,I/O操作与

CPU的数据处理操作往往并行进行。②多个

I/O设备本身也要能同时工作,例如键盘、显示屏打印输出同时工作。③除键盘、显示器和鼠标外,不同

PC所配置的

I/O设备的数量、品种和性能差别很大,且经常会增减或升级。④不同种类的多种

I/O设备可以以不同的方式与主机连接。为实现

I/O操作,不同

I/O设备都有自己专用的

I/O控制器,接收

CPU启动

I/O操作的命令,独立地控制

I/O设备工作,表明

I/O操作是否完成。I/O控制器是一组电路

,不同的设备其控制器的结构和功能也不相同

。键盘、鼠标、打印机等的

I/O控制器比较简单

,集成在主板芯片组中

。主机上连接

I/O设备的各种插头

/插座及相应的通信规范及电器特性等称为

I/O设备接口或(

I/O设备)3.5.2输入/输出及控制方式1.程序控制方式是指在程序的控制下进行数据传送,分为无条件传送方式和条件传送方式两种。在传送数据之前不查询外设的状态而直接执行输入指令或输出指令的方式就是无条件传送。无条件传送是输入/输出控制方式最简单的一种

,该传送方式的条件是,传送不是太频繁,并需保证每次传送时,外设处于就绪状态。条件传送也称为查询式传送,CPU通过执行程序不断读取外设的状态。输入设备处于准备好状态或输出设备处于空闲状态,则

CPU执行输入指令或输出指令与外设交换信息。要求接口电路中除了有数据端口外,还应有状态端口。2.中断控制方式当输入设备已将数据准备好或输出设备可以接收数据时

,便可向CPU发中断请求。

CPU响应中断请求后,暂时停止执行当前程序而去执行一个为外设输入/输出数据的服务程序。此服务程序即为中断处理子程序或中断服务子程序。中断服务程序执行完,CPU又转回到被中断处而继续执行原来的程序。在中断控制方式下,CPU和外设在大部分时间里是并行工作的。

CPU不必在两个输入/输出过程之间对接口的状态进行测试和等待,而是完成与输入/输出无关的正常的工作信号。当外设准备就绪时,外设会主动向CPU发中断请求而进入一个传送过程。此过处理完成后,CPU又可以继续执行被中断的任务,而不是转入等待状态。因此,采用中断方式可以大大提高

CPU的效率并具有较高的实时性。3.DMA控制方式与程序控制方式相比

,采用中断控制方式进行输入

/输出能提高

CPU的利用率。但其数据传输仍是通过执行程序来完成的,并且每次传输都需要保护断点处的现场信息,这又需要

CPU一定的执行时间。采用中断控制方式传输数据的速度不可能很快,不能满足高速

I/O设备以及磁盘设备成组交换数据的需求。DMA方式采用专门的硬件控制器

(DMAC)来执行数据传送。

DMAC可从

CPU那里接管系统总线的控制权,并且由

DMAC本身发出的存储器地址信号以及访问存储器和I/O设备的读写脉冲等控制信号,使得数据通过总线直接在存储器和I/O设备之间(或I/O设备与存储器之间,存储器与存储器之间)进行传送。在DMA接管总线执行数据传送过程中,CPU暂停工作,不参与数据传送。使用

DMA控制方式进行输入/输出操作时,CPU必须先对指定外设的

DMA通道设定工作方式,给出

I/O操作命令,指出要传送的数据在存储器中的起始地址及需要传送的字节数目等,然后才能启动DMAC工作。非屏蔽中断请求中断逻辑INTn指令INT0指令除法错误单步TF=1IR08259A

IR1

可编程

IR2

中断

IR3

控制器

IR4(PIC)IR5

IR6

IR7INTRNMICPUn410系统定时器键盘彩色/图形接口保留(通信)串行通信接口保留(ALT打印机)软盘保留(打印机)08090A0B0C0D0E0F3.5.38259A可编程中断控制器8259A逻辑结构1.8259A中断控制器结构

8259A是为控制优先级中断而设计的可编程芯片,它具有将中断源按优先级排队、辨认中断源、向CPU提供中断向量等功能,可协助CPU方便地管理八级中断

中断请求线IRQO-IRQ7上的中断请求信号接至8位的中断请求寄存器IRR,IRR寄存所有中断请求(对应位置1表示有中断请求)

I/O设备发出的中断请求信号为高电平的时间必须保持到8259A接收到CPU发出的第一个中断响应信号INTA负脉冲结束时为止。8259A接收到第二个中断响应信号INTA后,将把中断类型码的值输出到数据总线上。8259A内部的数据总线缓冲器用于连接系统的数据总线和8259A的内部总线,以便CPU对8259A写入状态字和控制字,或者读出8259A的信息读/写控制电路接受I/O命令,对8259A初始化命令字寄存器和操作命令字寄存器进行编程,以规定8259A的工作方式和控制方式,级联缓冲、

比较2.8259A编程及示例使用8259A进行中断控制时,CPU首先应对8259A内部的各寄存器写入相应的初始化命令字ICW和控制命令字OCW,即要对8259A进行初始化编程。①初始化命令字共有四个:ICW1(PC的主片口地址为20H,从片口地址为A0H,

ICW2,ICW3

和ICW4(主片口地址都是21H,从片口地址都是A1H)。编程时CPU必须按ICW1-ICW4的顺序写入。初始化命令字ICW例如:ICW1

用于设置8259A基本工作方式D7 D6 D5 D4 D3

D2

D1

D0 A7 A6 A5 1

LTIM

ADI SNGL

IC4IC4用于规定是否需要写入初始化命令字ICW:IC4=1,需要写入ICW4;IC4=0,不需写入ICW4。

SNGL用于指出使用单片8259A还是多片8259A:SNGL=1,单片方式。SNGL=0,级连方式ICW2ICW3ICW4功能?②操作命令字

CPU向8259A写完初始化命令字后,为进一步提高它的中断处理功能,例如:为了屏蔽某些中断,为了能够发出中断结束命令等,还需继续设置8259A写入操作命令字。操作命令字共有三个:OCW1(主片口地址为21H,从片口地址为A1H)OCW2(主片口地址为20H,从片口地址为AOH)

OCW3(主片口地址为20H,从片口地址为AOH)OCW1用来设置中断屏蔽寄存器中各位的值D7D6D5D4D3D2D1D0

M7M6M5M4M3M2M1MO当Mi=1时,对应的第i个中断请求被屏蔽U=0,1,2,…,7)。OCW2用来设置中断结束、优先权循环等操作方式

D7

D6

D5

D4

D3

D2

D1

DO R

SL

EOI 0 0 L2

L1

LOR:优先权循环位.R=O时,8个中断的优先级固定不变(IRQ7最低,IRQ0

最高).R=1时,优先级循环。此时优先级采用循环轮转方式,一个中断请求,例如IRQ4,服务完毕后,就轮为最低级别的优先级,而和它相邻的中断请求,此时为IRQ5,变为最高优先级,IRQ6变为次高优先级,其他依次类推

;8259A初始化程序段(单片、嵌套中断工作方式)MOVAL,13H;ICWl送入

AL,单片

8259A,边沿触发

OUT20H,AL;ICWl送入

ICWl口地址MOVAL,8;ICW2送入

AL,送中断向量类型码

高5位OUT2lH,AL;ICW2送入

ICW2口地址MOVAL,9;ICW4送入

AL,表示

80x86模式,缓冲方式,一般嵌套方式OUT2lH,AL;ICW4送入

ICW4口地址MOVAL,OFFH;OCWl送入

AL,屏蔽所有中断OUT2lH,AL;OCWl送入

OCWl口地址;查询

8259A中断屏蔽寄存器程序段MOV AL,0;OCWl送入

AL,表示

IMR为全0OUT 2lH,AL;OCWl送入OCWl口地址IN AL,2lH ;读

IMR状态OR AL,AL ;IMR=0?JNZ D6 ;若不为

0,则转出错程序

D6MOVAL,OFFH;OCWl送入

AL,表示

IMR为全

lOUT2lH,ALIN AL,2lH ;读

IMR状态ADD AL,1 ;IMR=l?JNZ D6 ;若不为

1,则转出错程序

D63.PC的

ISA总线中断PC/XT使用一片

8259A管理

8级可屏蔽硬件中断,PCIAT及以上的系统使用两片

8259A管理

15级可屏蔽硬件中断。

IRQ标准功能总线插槽总线类型使用参考0系统定时器未引出1键盘控制器未引出2供第二个8259A级联用未引出8实时时钟未引出9可用(类似IRQ2)引出XT/ISA网卡10可用引出ISAUSB11可用引出ISASCSI主适配器12可用的主板鼠标口引出ISA主板鼠标端口13数学协处理器未引出14主IDE引出ISA第一个IDE(硬盘)15次IDEI可用引出ISA第二个IDE(CD-ROM/磁带)3串行口2(COM2)引出XT/ISACOM2/内置MODEM4串行口1(COMl)引出XT/ISACOMI5声音/并行口2(LPTI)引出XT/ISA声卡6软盘控制器引出XT/ISA软盘控制器7并行口1(LPTl)引出XT/ISALPTl4.中断控制方式下

I/O的执行过程(1)键盘设备通过中断请求线

IRQl将

8259A内部中断请求触发器

IRR相应位

(IRQl)置位。(2)8259A收到

IRQl信号,将与同时申请中断的其他信号或正挂起的中断信号,通过内部中断优先级分析器进行分析比较,如果该中断请求是唯一的,或优先级为最高,则由

8259A的

INT引脚向

CPU发出中断请求信号

INTR(3)CPU响应中断,连续发出两个INTA信号,第一个

INTA信号将现行的中断服务寄存器

ISR相应位置位,表示正在为它服务,同时中断请求触发器

IRR相应位复位,为再次中断请求做好准备

(如果中断请求是由从片8259A发出的,则主片

8259A将从

CAS0-CAS2引脚向从片送出识别码)。第二个

INTA信号则要求

8259A将中断信号的类型码送到数据总线上。(4)CPU收到

8位中断类型码

(键盘中断类型码为

09H)后,将其乘以4后作为中断向量的地址(5)CPU屏蔽中断,将中断现场信息

(标志寄存器和

IP及CS值)压入系统堆钱,标志寄存器

I位(中断允许位)和T位

(陷阱标志位)清零,并按中断向量地址取得到新的

IP及

CS的值(6)CPU以

CS的值为段址

,IP为偏移值

,转去执行键盘中断服务程序

(7)CPU执行键盘中断服务程序从键盘输入缓冲器中取得输入的数据。(8)中断服务程序结束时返回到原先被中断的程序继续执行。用中断控制方式的

I/O处理过程的效率要比程序控制方式高

,但

CPU理过程也更复杂,如果处理的是高速外部设备,由于频繁地中断,

CPU效率会降低,此时应采用

DMA控制方式3.5.48237可编程

DMA控制器1.DMA控制方式的原理CS:片选,低电平有效。RESET:复位,高电平有效。

屏蔽寄存器置

1,其他寄存器均清0。复位后

,8237处于空闲周期,它的所有控制线都处于高阻状态,复位之后必须重新初始化,否则

8237不能进入DMA操作。READY:准备就绪,高电平有效。当所选择的存储器或

I/O端口的速度较慢,需要延长传输时间时,使

READY端处于低电平,8237自动在存储器读和存储器写周期中插入等待周期,当传输完成时

,READY端为高电平,表示存储器或外设准备就绪。ADSTB:地址选通,高电平有效。当前地址寄存器的高8位经数据总线

DB7–DB0送到外部锁存器中。AEN:地址允许输出,高电平有效。把外部锁存器中的高

8位地址放到系统地址总线上,与芯片输出低

8位地址构成内存单元地址的偏移量。DMA传送时屏蔽别的系统总线驱动器。MEMR:存储器读,低电平有效,输出,只用于

DMA传送。在

DMA读周期期间

,用于从寻址的存储器单元中读出数据MEMW:存储器写,低电平有效,输出,只用于

DMA传送。在

DMA写周期期间,用于将数据写入所寻址的存储单元中。lOR:I/O读信号,低电平有效

,双向。CPU控制总线时,它是输入信号,CPU利用此信号读取

8237内部寄存器的状态;当

8237控制总线时,它是输出信号,与MEMW相配合,控制数据由外设传送至存储器。lOW:I/O写信号,低电平有效,双向。

CPU控制总线时,它是输入信号,CPU利用它把信息写入

8237内部寄存器(初始化);当

8237控制总线时,它是输出信号,与

MEMR互相配合,把数据从存储器传送至外设。EOP:DMA传送过程结束信号,低电平有效,双向。当由外部向DMA控制器送一个EOP信号时,DMA传送过程被外部强迫结束。当

DMA控制的任一通道计数结束时,会从EOP引脚输出一个低电平,表示

DMA传输结束。无论是从外部终止

DMA过程

,还是内部计数结束引起

DMA过程终止,都会使

DMA控制器的内部寄存器复位。DREQ0-DREQ3:DMA请求输入信号,有效电平可由编程设定。是外设为取得DMA服务而送到各个通道的请求信号。在固定优先级情况下

,DREQ0优先级最高,DREQ3优先级最低;在优先级循环方式下

,某通道的

DMA请求被响应后

,随即降为最低级。8237用

DACK信号对

DREQ的响应,在信号有效之前,DREQ信号必须维持有效。DACK0-DACK3:DMAC对各个通道请求的响应信号,输出,有效电平可由编程设定。

8237接收到通道请求后,向

CPU发出

DMA请求信号

HRQ,当

8237获得

CPU送来的总线允许信号

HLDA后

,产生

DACK信号送到相应的外设端口,从而进入

DMA服务过程HRQ:8237给

CPU的总线请求,高电平有效。当

I/O端口要求

DMA传送时,向

DMA发送

DREQ信号,如果相应通道屏蔽位为0,

DMA请求未被屏蔽,则

DMA控制器的

HRQ端输出为有效电平,向

CPU发总线请求。HLDA:总线响应信号,高电平有效,是

CPU对

HRQ信号的应答信号。

CPU接收到

HRQ信号后,在当前总线周期结束之后让出总线

,并使

HLDA信号有效。程序命令控制逻辑对

CPU送来的程序命令进行译码,在

DMA请求服务之前

(即芯片处于空闲周期),通过

I/O地址缓冲器送来的地址

A3-AO分别对内部寄存器进行预置;在

DMA服务期间

(即芯片处于操作周期),对方式控制字的最低两位Dl、DO进行译码,以确定DMA的操作通道。A3-A0:地址总线低

4位,双向。当

CPU控制总线时,是地址输入线,CPU用这

4条地址线对

DMA控制器的内部寄存器进行寻址,完成对

DMA控制器的编程。当8237控制总线时,由这

4条线输出要访问的存储单元的最低

4位地址。A7-A4:地址线

,输出

,用于

DMA传送时输出要访问的存储单元低

8位地址中的高

4位。DB7_DBO:8位双向数据线

,与系统数据总线相连。在

CPU控制总线时,CPU可以通过I/O命令从

DMA控制器中读取内部寄存器的内容送到

DB7_DBO,以了解

8237的工作情况

,可以通过

I/O写命令对

DM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论