cpu 与IO口进行数据传送时上次bios所用时间的指令是什么

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
IO接口和数据传输
下载积分:4000
内容提示:IO接口和数据传输
文档格式:PPT|
浏览次数:71|
上传日期: 12:26:42|
文档星级:
全文阅读已结束,如果下载本文需要使用
 4000 积分
下载此文档
该用户还上传了这些文档
IO接口和数据传输
关注微信公众号3,476被浏览139,880分享邀请回答45185 条评论分享收藏感谢收起91474 条评论分享收藏感谢收起cpu与i/o设备之间的数据传送有哪几种方式_百度知道
cpu与i/o设备之间的数据传送有哪几种方式
我有更好的答案
直到数据传输结束。这种方式传送速度比通过CPU快,尤其是在批量传送时效率很高。  4、通道控制方式。  2。  英特尔最新推出了第六代酷睿产品、中断控制方式:  当程序常规运行中、续航更加长久、无论办公学习:  基本方法同上述的DMA控制方式,通道控制方式有专门通讯传输的通道总线完成。效率比DMA更高,若外部有优先级更高的事件出现,则通过中断请求通知CPU,均得心应手,采用全新一代的架构,CPU再读取状态寄存器确定事件的种类,以便执行不同的分支处理。这种方式CPU效率高且实时性好。  3、DMA(Direct Memory Access)控制方式:  顾名思义,直接内存存取即数据传送的具体过程直接由硬件(DMA控制器)在内存和IO之间完成  有四种方式:  1、查询控制方式,CPU只在开始时将控制权暂时交予DMA:  CPU通过程序主动读取状态寄存器以了解接口情况,并完成相应的数据操作。查询操作需要在时钟周期较少的间隔内重复进行,因而CPU效率低,性能提示、功能降低,只是DMA通过DMA控制器完成、畅玩游戏或者观看超高清音箱播放
英特尔公司是全球最大的个人计...
主营:半导体芯片
主要有二三种
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。第7章 IO接口技术-D13_甜梦文库
第7章 IO接口技术-D13
第7章 I/O接口技术一 I/O接口概述?I/O设备:输入输出设备,是计算机系统的重要组 成部分,称为外部设备或I/O设备。 ?I/O接口: CPU与I/O设备之间的桥梁。?专用接口:连接专用设备,常用附加卡的形式来实现?通用接口:基本的输入输出接口,如并行口,串行口1 ◆I/O接口的基本构成CPU与I/O接口之间传送的信息主要有:? 控制信号? 状态信号CPU接口接口,控制接口的工作方式。CPU,向CPU提供接口的工作状态。? 数据CPU与外设之间交换的信息。2 控制信息查询 I/O 接口 数据 应答 I/O 设备CPU数据 状态信息为了实现以上功能,I/O接口通常由下面几部分组成: (1)数据缓冲单元 (2)读/写控制电路 (3)命令/状态单元 暂时 存放CPU 接口的数据接受CPU发来的命令,完成对接口内 部的寄存器的读/写。 命令单元存放CPU 接口的命令信息, 状态单元存放接口的工作状态信息,供 CPU查询。 3 ◆I/O接口的功能?具有缓冲数据的传送功能,以实现高速CPU与慢速I/O设备之间数据传送时取得同步。 ? 具有转换数据格式的功能。如串行与并行数据格式之间的转换。 ?具有信号量转换的功能。如数字量与模拟量之间的转换。 ?具有定时/计数功能。以满足总线对数据传送的时序要求等4 二、I/O接口的编址方式? 统一编址:I/O地址占用存储器的地址空间,访问M的指令 都能访问I/O,不需专用的I/O操作指令。 00000H A15-A0 I/O接口片选 信号产生电路 0FFFFH 10000H I/O片选A16=1 A19-A0存储器片选 信号产生电路 存储器 片选5FFFFFH ?独立编址 :I/O地址独立,不占用M的地址空间,需要专用 的I/O指令来访问I/O端口。 0000HA15-A0 I/O接口片选 信号产生电路 I/O片选FFFFH00000HA19-A0存储器片选 信号产生电路 FFFFFH 存储器 片选6 ? 80X86 CPU采用独立编址方式,有两种寻址方式:? 直接寻址 :可寻址256个端口,编为00H--0FFH。例如:OUT 80H,ALIN AL,0FFH? 间接寻址: 使用16位地址码,从0000H- 0FFFFH,I/O端口地址用间接方式 给出。例如: MOV DX,1000H OUT DX,AL7 三、I/O数据传送的控制方式1.程序控制方式输入输出操作完全在程序控制下进行的,用I N和OUT指 令直接访问I/O端口,从而无条件传送数据。2. 查询方式CPU使用指令查询I/O接口的状态,当I/O接口准备好接收数据或发送数据时,数据传送才进行,否则CPU等待。8 启动外设读状态字N准备就绪否?数据传送 输入结束 查询控制流程图9 3.中断控制方式当外部设备需要进行输入/输出操作时,向CPU发出中断 技术信号,CPU处理。4.DMA控制方式DAM(直接存储器访问)控制方式是由DMA控制器控 制存储器与高速I/O设备之 间直接进行数据传送。10 并行接口8255A?主要内容1、8255A的结构及管脚信号 2、 8255A 的工作方式 3、 8255A 的初始化及应用11 一、8255A的结构与引脚信号?可编程通用并行接口,一片对应3个并行I/O口 ?可用做输入接口,也可用做输出接口 ?可用命令字选择三种工作方式GND PA3 PA2 PA1 PA0 RD CS A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB21 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 208255A40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21PA4 PA5 PA6 PA7 WR D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3 RESET 12 8255A的 内部结构图A组 控制A口 (8) C口 (高4)PA0--PA7PC7--PC4D0--D7数据 总线 缓冲RD WR A1 A0 RESETC口 (低4)读/写 控制 逻辑PC3--PC0B组 控制B口 (8)PB7--PB0CS13 ?各部分功能说明如下: 1. 数据总线缓冲器 息。 用于CPU和8255A之间传递信2. 读/写控制逻辑 接受读/写控制和端口选择信号, 控制8255的读/写操作。CS为片选信号,A1和A0决定 8255A的4个地址:00 A口,01 B口,10 C口,11 控制口(存放控制字)。 3. 输入/输出口 共三个8位的I/O口:A口、B口、C 口。A组控制A口和C口的高4位,B组控制B口和C口的 低4位。A口和B口作输入/输出线用,C口除了作I/O线 外还可作联络控制线用。14 15 二、8255A的工作方式8255A有以下三种工作方式: 1. 方式0――基本输入/输出(A口、B口、C口)方式0适用于无条件数据传送。 A口 PA0-PA7 D0―D7 PB0-PB7 外设1CPUB口外设2PC0-PC7 外设316C口 例:设8255A的I/O地址为80H,81H,82H,83H,则无条件 传送如下: 输出时:MOV AL,方式命令字 OUT 83H,AL MOV AL,输出数据 OUT 80H,AL输入时: MOV AL,方式命令字OUT 83H,ALIN AL,80H17 2. 方式1――选通输入或输出(A口、B口)方式1需要联络信号,适用于中断和查询方式的数据传送。 (1)方式1输入:A口 A口 PC4 PC6 PA0-PA7 STBA IBFA 外设1 INTRD0―D7CPUPC4INTEA& PC3?STB:选通信号,表示外设送数据到A口的输入锁存器。 ?IBF:输入缓冲器满信号,输入锁存器已收 到外设送来的数据。 ?INTR:中断请求信号,有效时向CPU请求中断方式输入数据。 ?INTEA:A口中断允许触发器,初始化时由PC4置位设定开放。18 ?STB:选通信号,表示外设送数据到A口的输入锁存器。 ?IBF:输入缓冲器满信号,输入锁存器已收 到外设送来的数据。 ?INTR:中断请求信号,有效时向CPU请求中断方式输入数据。 ?INTEA:A口中断允许触发器,初始化时由PC4置位设定开放。19 ?查询方式?中断方式读C口 NPC3发INTR给CPUPC6有效 Y 读A口数据N 响应 Y读A口数据中断服务子程序20 ?方式1输入:B口D0―D7CPUPC2INTEAB口 PC2 PC1PB0-PB7STBB IBFB 外设2INTR& PC021 (2)方式1输出:A口 PA0-PA7 ACKA OBFA 外设2 INTRD0―D7 CPUPC6INTEAA口 PC6 PC7& PC3OBF:输出缓冲器满信号,有效时表示CPU已将数据输出给指定的端口,外设可读取端口中的数据。 ACK:外设应答信号,有效时表示外设已将数据取走。22 INTR:中断请求信号,有效时向CPU请求中断方式输出数据 。 OBF:输出缓冲器满信号,有效时表示CPU已将数据输出给指定的端口,外设可读取端口中的数据。 ACK:外设应答信号,有效时表示外设已将数据取走。23 INTR:中断请求信号,有效时向CPU请求中断方式输出数据 。 ?方式1输出:B口D0―D7CPUPC2INTEAB口 PC2 PC1PB0-PB7 ACKB OBFB 外设2 INTR& PC024 3. 方式2――双向选通输入输出(A口)PA0-PA7 STBA IBFA ACKA 外设2INTEAA口PC4 PC6 PC4 PC5 PC6 PC7 PC3 +D0―D7CPUINTEAOBFA&&INTR25 端口方式0方式1方式2PA0-PA7PB0-PB7IN/OUTIN/OUTININOUTOUTIN OUTPC0PC1 PC2 PC3 PC4IN/OUT INTRB INTRBIN/OUT IBFB IN/OUT STBB IN/OUT OBFB ACKB INTRA STBAIN/OUT INTRA INTRA STBA IN/OUTPC5PC6IN/OUT IBFAIN/OUTIBFAACKAIN/OUT IN/OUT ACKAPC7IN/OUT IN/OUT OBFAOBFA26 三、8255A的编程?控制字格式8255A的控制字有如下两种:1. 工作方式控制字2. 置位/复位控制字格式如附图(下一页)27 1. 工作方式控制字D7标志位“1”D6D5D4D3D2D1D01:PC3~ PC0输入 0:PC3~ PC0输出 1:B口输入 0:B口输出 1:B口方式1 0:B口方式02800:A口方式001:A口方式1 02:A口方式21:A口输入0:A口输出 1:PC7~ PC4输入0:PC7~ PC4输出 举例:设8255A的A口工作在方式0,输出;B口工作在方式1,输入;8255A的端口地址为0FFE0H--- 0FFE3H,编写初始化程序。解:根据题意求出工作方式控制字为:B,编写初始化 程序如下: MOV AL,BMOV DX,0FFE3HOUT DX,AL29 2. 置位/复位控制字D7标志位“0”D6D5D4D3D2D1D01:指定口线置位 0:指定口线复位未用C口PCi (i = 0 ~7)编程接上题:若允许B口以中断方式输入数据MOV AL,B OUT DX,AL30 四、8255A的编程及应用8255A在应用时需要进行初始化编程,通过写入工作方式 控制字确定各个端口的工作方式。置位/复位控制字用于控制C 口某位的状态,需要时可设定。 例1、利用8255A作为连接显示器的接口。 设8255A的端口地址为0FFC0H―0FFC3H31 +5VD7-D0 D7-D0 PA0 PA1 K0 K1 K2WRRDWRRDPA2PA3 PB0a b c d e f gK3A0A1 A2A0A1PB1PB2 PB3 PB4 PB5 PB6 PB7A15 M/IO译 码 器CSRESETDp32CPU8255A+5V 共阴极LED显示器七段显示代码33 DATA SEGMENTLIST DB 0C0H,0F9H,0A4H,-----,8EH PORTA EQU 0FFC0HPORTBCONTR DATA ENDSEQU 0FFC1HEQU 0FFC3HCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX34 MOV AL,90H;初始化8255,PA为输入,PB为输出MOV DX,CONTR OUT DX,AL L0: MOV DX,PORTA ;读PA口 IN AL,DX AND AL,0FH ;屏蔽高4位 MOV BX,OFFSET LIST ;取显示代码表首地址 &BX XLAT MOV DX, PORTB OUT DX,AL ;送PB口显示 ;根据AL内容查表MOV CX,1000;延时35 L1:DEC CXJNZ L1 JMP L0CODE ENDS END START36 五、微机中8255A的应用1、PC机; 为系统提供综合接口,均采用方式0工作。 ?PA口用于读取键盘按键的扫描码 ?PB口用于控制,包括扫描码的串并转换和扬声器的发 声控制 ?PC口连接系统配置开关,以便CPU读取系统配置情况 (跳线)2、386以后:将8255集成到外围总线接口芯片中。37 定时/计数器8254?主要内容1、8254的结构及管脚信号 2、 8254 的工作方式 3、 8254 的初始化及应用38 一、8254的结构与引脚信号?定时器:软件定时,硬件定时,软硬件结合定时。?计数器:对外部事件进行计数。 ?8254: 可编程定时/计数器接口芯片, Intel公司 产品。 可用于定时、计数和作为波特率发生器等, 最高计数速率可达 10 MHz。39 GATE2VCC WR RD CS A1 A0 CLK2 OUT2 CLK1 GATE1 OUT124 23 22 21 20 19 18 17 16 15 14 131 23456789 10 11 12GNDD7 D6 D5D4 D3 D2D1 D0 CLK0 OUT0GATE040 D0--D7数据 总线 缓冲 读/写 控制 控制 字寄 存器计数 器0 计数 器1 计数 器2CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2WR RD A0 A1 CS8254 内 部 结 构 图41 150计数初值寄存器CLK GATE&减“1”计数器锁存寄存器OUT计数器逻辑结构图CLK:输入定时或计数脉冲; GATE:控制计数器的启动或停止; OUT:计数器输出信号,可用于延时、计数控制或中断申请。42 43 ?做计数器使用CLK 开 始 5 4 3 2 1计数结束0?做定时器使用 定时结束 CLK 开 始 5 4 3 T=50ms 2 1 044fCLK=100HZ 二、8254的工作方式(共六种)1. 方式0:计数结束中断2. 方式1:单拍负脉冲(单脉冲发生器)3. 方式2:频率发生器4. 方式3:方波发生器5. 方式4:软件触发方式6. 方式5:硬件触发方式45 方式0:计数结束中断方式WR CWn=44 3 2 1 0n=2 210GATE OUT?写入控制字,OUT由高变低,计数结束,由低变高;?初值一次有效; ?计数中,GATE变低,停止计数,为高后继续计数;?常用OUT的上升沿做中断请求,表示计数结束或定时时间到。46 方式1:可编程单脉冲发生器WRn=4GATE开始43210n=5OUT单脉冲宽度?输出为宽度为nTclk的负脉冲;?初值一次有效; ?GATE上升沿启动计数,如计数中变低则停止计数,为高后重新计数;?常用来产生负的单脉冲47 方式2:分频器,速率波发生器WRn=443210GATE OUT43重复周期210?输出为宽度为Tclk,重复周期为nTclk的脉冲;?初值重复装入; ?GATE计数中变低,停止计数,为高后重新计数;?常用来做脉冲序列发生器48 方式3 :方波发生器WRn=4GATE43210OUT43210重复周期 ?输出为重复周期为nTclk的方波; ?N为偶数时,占空比为1:1,为奇数时,占空比为N+1/2:N-1/2 ?其他同方式2 ?常用做方波发生器49 方式4:软件触发方式WR CWn=44 3 2 1 0n=2 212GATE OUT?计数结束,OUT输出宽度为Tclk的单脉冲;?装入初值后开始计数(软件触发) ?初值一次有效;?常用作单脉冲发生器,且由软件触发。50 方式5:硬件触发方式WR CWn=44 3 2 1 0GATE OUT开 始开 始43?计数结束,OUT输出宽度为Tclk的单脉冲;?GATE出现上升沿开始计数,(硬件触发) ?常用作单脉冲发生器,且由硬件触发。51 三、8254的编程(一)控制字格式SC1 00:计数器0 01:计数器1 1:BCD码计数 SC0 RW1 RW0 M2 M1 M0 BCD10:计数器211:无效 00:计数器锁存0:二进制计数000―方式0 001―方式101:只读/写计数器的低字节10:只读/写计数器的高字节 11:先读/写计数器的低字节 后读/写计数器的高字节X10―方式2X11―方式3 100―方式4101―方式552 (二)8254的初始化8254的初始化先写入工作方式控制字,再写入计数初值。 例1:设8254 计数器1工作在方式0,计数初值1200,采用 BCD码计数,试编写初始化程序。(8254的地址:80H--83H) 解: MOV AL,71H ; 8254工作方式控制字OUT 83H,ALMOV AL,00H ;写入计数初值低8位 OUT 81H,AL MOV AL,12H ;写入计数初值高8位 OUT 81H,AL53 例2:读取当前计数值应先发控制字,对计数值进行锁存,后执行读出; 若上题读通道1当前计数值,在程序中加入下列语句 MOV AL,B OUT 83H,AL IN AL,81H MOV AH,ALIN AL,81HXCHG AH,AL54 例3:利用8254通道0完成对外部时间的计数,计满100次向CPU发中断请求,通道1产生1KHZ的方波,通道2做标准时钟,每1S 向CPU发一次中断请求 D7-D0RD WR A 82540CLK1 通 道 1 通 道 2 通 道 0 GATE1 OUT12.5MHZ+5V1KHZCLK2GATE2 +5V OUT2 INTRx CLK0 GATE0 +5V OUT0 INTRx示波器或其他 波形接收器A1 CS外部事件 产生源55 STT:MOV DX, 8254控制端口地址MOV AL, 10HOUT DX,AL MOV DX,通道0端口地址 MOV AL,64H OUT DX,AL;通道0,方式0,二进制计数MOV DX,8254控制端口MOV AL, 76H OUT DX,AL MOV DX,通道1端口 MOV AX,09C4H ;通道1,方式3,二进制计数OUT DX, AL56 MOV AL,AHOUT DX,AL MOV DX,8254控制端口 MOV AL,0B1H OUT DX,AL ;通道2,方式3,BCD计数MOV DX,通道2端口MOV AX,1000H OUT DX,AL MOV AL,AH OUT DX,AL57 例4:PC/XT机8253各通道的功能D7-D0 IOW IOR A0 D7-D0 WR RD A0 每隔15us产生DRQ, 定时刷新DRAM OUT0 每隔55ms产生中断请 求,作为时钟报时 IR0A14.77 4分频 MHZ +5V 1.193 MHZA1CSCLK0 CLK1 CLK2 GATE0 GATE1 GATE2OUT1OUT2&扬声器PB0PB158 通道0:MOV AL,B OUT 43H,ALMOV AL,0OUT 40H,AL OUT 40H,AL通道1:MOV AL,B OUT 43H,AL MOV AL,18 OUT 41H,AL59 通道2:MOV AL,B OUT 43H,ALMOV AX,1193OUT 42H,AL MOV AH,AL OUT 42H,AL60 实例:PC机喇叭发声1KHzMOV AL,03H OUT 61H,AL ; PB= B ;设置8255,打开喇叭MOV AL,B ;设置 8253 CH2 OUT 43H,AL MOV AX,1193 OUT 42H,AL ;发出1000Hz方波MOV AL,AHOUT 42H,AL61 mov cx,0 lop1: mov dx,10000 lop: dec dx jnz lop loop lop1;延时几秒;mov al,0 out 61h,关喇叭62 串行接口8250?主要内容1、8250的结构及管脚信号 2、 8250 的工作方式 3、 8250 的初始化编程及应用63 一、串行通信串行通信适用于远距离传送信息,其优点是传输成本低, 但数据传输速率低。 (一)数据传送的方式 1. 单工传送 2. 半双工传送 3. 全双工传送(二)数据传送的格式1. 同步通信 数据块起始处用同步字符指示,发送和接受 端之间用时钟实现同步。硬件结构复杂,但传送速率高于异步 通信。 2. 异步通信 数据的发送是随机的,发送开始后,收/发双 方以固定的时钟频率传送和接收。硬件结构简单,但传送速率 低于同步通信。64 SYNC1 SYNC2数 据 CRC1 CRC2双同步方式0 0/1 0/1 0/1 … 0/1 0/1 0/1 1 1 起始位 5 ~ 8位数据位 校验 停止位 第 N 个 字 符0 0/1 异步方式(三)数据传送的速率波特率:每秒钟传送二进制数的位数。国际上已经制定了标准, 如:1200 bi t/s ,2400bi t/s ,9600 bi t/s , 19200 bi t/s等。(四)串行通信接口标准RS--232CDTE:数据终端设备,如计算机、显示器等。DCE:数据通信设备,通常指调制解调器,或称MODEM 。 65 RS--232C标准设有25条信号线,外型使用25针D型插座, 微型机通信中用的信号有9个。 1、基本数据传送信号TXD:数据发送信号,用于数据的输出。RXD:数据接受信号,用于数据的输入。 GND:信号地。 2、MODEM控制信号 DTR:数据终端设备就绪,CPU MODEM 。DSR:数据通信设备就绪,MODEMRTS:请求发送。CPU。CTS:允许发送。66DCD:线路信号检测,通知计算机,通信线路连结好。 RI: 振铃信号,通知计算机有数据传送。 二、串行接口8250(一)8250的结构与引脚信号RLSDVCC RI CSOUTOUT1 OUT2INTRPTDISTRDSR CTS MR DTR RTSNC A0 A1 A2 ADS DDIS DISTR40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 211 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20DO D1 D2 D3 D4 D5 D6 D7 SIN SOUT CS0 CS1 CS2 XTAL1 DOSTR DOSTR GND BAUDOUT XTAL2 RCLK67 D0--D7数 据 总 线 缓 冲数据发送R 数据接收R发送移位R 接收移位R RCLKSOUT SIN线路控制R线路状态R 除数R高位BAUDOUT 波特率发生器RTS CTS DTR DSR RSLD RI OUT1 OUT2 INTRPT68CS0--CS2 A0--A2 ADS DISTR DISTR DOSTR DOSTR DDIS MR CSOUT XTAL1 XTAL2寻址 及 控除数R低位MODEM控制R控制制逻 辑MODEM状态R逻辑中断允许R中断识别R控制逻辑 的引脚信号1 D7~D0:数据线,双向。 CS0、CS1、CS2:片选输入信号。当CS0=1, CS1=1, CS2=0时, 被选中。 CSOUT:片选输出信号。 A2、A1、A0:端口选择信号。用来确定片内10个可访问寄存器的端口地址。ADS:地址选通输入信号。 DOSTR/DOSTR:写控制信号。两个信号作用相同,极性相反。 DISTR/DISTR:读控制信号。两个信号作用相同,极性相反。 DDIS:禁止数据传送输出信号,高电平有效。当DDIS=1时禁止对 传送。69 的引脚信号2 MR:复位信号,高电平有效。 XTAL1、XTAL2:基准时钟信号输入/输出端。 XTAL1为基准时钟信号输入引脚。 XTAL2为基准时钟信号的输出引脚,可用作其他功能的 定时控制。SOUT:数据输出。SIN: 数据输入。 BAUDOUT:波特率发生器输出信号,作为数据发送时钟脉冲, 其频率为波特率的16倍。 RCLK: 接收数据时钟脉冲。用于检测SIN端输入的数据,其频率为波特率的16倍。70 MODEM联络的引脚信号3DTR:数据终端就绪,低电平有效,输出。用来通知MODEM,计算机已准 备好,要求与MODEM进行通信。 DSR:数据设备就绪,低电平有效,输入。用来回答计算机,MODEM已准 备好。 RTS:请求发送,低电平有效,输出。用来通知MODEM,计算机请求发送 数据。CTS:允许发送,低电平有效,输入。用来回答计算机,MODEM可以接收 数据。RLSD:接收线路信号检测输入,低电平有效。表示MODEM已检测到数据线 路上传送的数据串。RI:振铃指示,低电平有效,输入。用来通知计算机,MODEM已收到电话 交换台的拨号呼叫。OUT1和OUT2为输出信号,低电平有效。由用户编程定义,可作为对外部的 控制信号。71 各部分功能说明如下:1. 数据总线缓冲器用于CPU和8250之间传递信息。2. 寻址及控制逻辑接受读/写控制和寄存器选择信号,控制8250的读/写操作。 CS0、CS1、CS2: 片选信号, A2、A1、A0: 决定片内10个寄存器的地址。 ADS: 地址选通输入信号。 DISTR/DISTR: 读控制信号。 DOSTR/DOSTR: 写控制信号。 DDIS: 禁止数据传送输出信号。3. 数据发送和接收(1)数据发送:CPU 发送端SOUT数据数据发送R时钟控制发送移位R并转串72插入起始、校验、停止位后发出。 (2)数据接收:数据起始位 时钟控制 SIN 数据串转并移位R数据接收RCPU4. 线路控制和状态寄存器线路控制寄存器用于指定数据格式,线路状态寄存器为CPU 提供8250内部的状态信息。(1)线路控制寄存器用于指定串行通信的数据格式:数据位,停止位,奇偶校验位, 中止设定和是否访问波特率控制部分的除数寄存器。 (2)线路状态寄存器 CPU通过读取线路状态寄存器了解数据发送和接收的情况。73 D7除数寄存 器访问位 0:禁止 1:允许D6D5D4EPSD3PEND2D1D0数据位选择 00:5位 01:6位 10:7位 11:8位DLAB SBRK SPBSTB WLS1 WSL0中止设定位 0:无效 1:中止(8250输出低电平) 奇偶校验附加位 0:无效 1:D4D3 = 01,附加位为1 D4D3 = 11,附加位位0奇偶校验位 0:无校验 1:有校验 奇、偶校验选择 0:奇校验 1:偶校验停止位选择 0:1位 1:1.5(5位) 2位线路控制寄存器74 D7 0标志位D6D5D4BID3FED2PED1OED0DR 接受buff满 溢出错(重叠) 奇偶错TSRE THRE发送移位R空发送R空 中止符检测格式错线路状态寄存器5. 波特率控制8250在基准时钟频率确定后,通过改变除数寄存器的值选择所需的波特率。除数 = 基准时钟频率 / (波特率*16)75 6. MODEM控制和状态寄存器D7 D6 D5 D4 D3 D2 D1 D0DTR数据终端 准备就绪 请求发送000LOOP OUT2 OUT1 RTS输出2 输出1自检控制 0:正常工作 1:自检D7D6D5D4D3D2D1D0允许发送RLSD RIDSR CTS RLSD TERI DSR CTS输 入 信 号数据设备准备就绪 振铃指示 接收线路信号检测76输入发生改变 7、中断控制8250有4级中断,按优先级从高到低排列为:接收出错,接 收缓冲器满,发送保持器空,MODEM输入状态改变。中断控制逻辑由中断允许寄存器,中断识别寄存器和中断控制逻辑电路组成。 (1)中断允许寄存器 对4类中断进行控制,“1”为允许中断,“0”为禁止中断。 D7 0 D6 0 D5 0 D4 0 D3 D2 D1 D0接收缓冲器满 EDSSI ELSI ETBEI ERBFI接收出错发送保持器空 MODEM输入状态改变 (2)中断识别寄存器 指出有无待处理的中断和中断的类型。 D7 0 D6 0 D5 0 D4 0 D3 0 D2 D1 D0 ID1 ID2 IP0:有中断 1:无中断 00: MODEM输 入状态改变 01:发送保持器空 10:接收缓冲器满 11:接收出错(重叠、 奇偶、格式、 终止)8250内部10个寄存器地址分配 A2 A1 A0 DLAB标志 寄存器0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 X X X X X +0 +0 +0 +1 +1 +2 +3 +4 +5 +6 写发送保持寄存器 读接收缓冲寄存器 写除数寄存器低字节 写除数寄存器高字节 写中断允许寄存器 读中断识别寄存器 写线路控制寄存器 写MODEM控制寄存器 读线路状态寄存器 读MODEM状态寄存器78 (二)8250的编程8250初始化流程图例:设8250端口地址为3F8H--3FEH,基准 频率1.8432MHZ,波置线路控制寄存器DLAB=1写除数寄存器 写线路控制寄存器特率1200,数据长度7位,1位停止位,偶 校验,屏蔽全部中断。 MOV DX,3FBH MOV AL,80H写MODEM控制寄存器写中断允许寄存器OUT DX,ALMOV DX,3F8H MOV AL,60H OUT DX,AL INCDX;1843200 / (1200*16) = 96=60H ;写除数R高位MOV AL,0OUT DX,AL MOV DX,3FBH MOV AL,1AH OUT DX,AL ;写线路控制RMOV DX,3FCHMOV AL,03H OUT DX,AL ;写MODEM控制RMOV DX,3F9HMOV AL,0 OUT DX,AL …… ;全部中断屏蔽80 PC机系统中的异步通信适配器81 DMA接口823782 一、DMA方式概述1. DMA方式的提出 在两部分存储器之间或存储器和I/O设备之间形成高速的 数据传送,以数据块或包的形式传送数据。 程序查询:以字或字节的形式传送数据,速度慢。 中断方式:保护断点和现场,占用CPU时间。DMA(direct memory access):外部设备利用专门的接口电 路(DMA控制器)直接和存储器进行高速数据传送,而不经过 CPU。2. 特点:(以硬件控制取代软件控制进行信息传送) DMAC暂时享有总线控制权,行使地址修改、控制数 据 传送等功能,数据传送速度主要受M的存取速度限制。83 CPU暂时将总线控 制权让给DMAC将原编制的由CPU以查 询/中断I/O方式进行M 和I/O之间交换数据的 软件用一专门的硬件取 代,即DMACABCPU DMAC RAMI/O接口 I/O设备CB84 3. DMA应用: 常用于I/O设备与M之间有大的数据块交换、且有 高的速度要求的场合。如:海量存储器(硬盘)与M之 间的信息交换。4. DMA传送过程DMAC在系统中的工作状态有两种工作状态: 主动态(主控器)和被动态(受控器) A.主动态:接管并取得总线控制权,取代CPU而成为 系统的主控者。DMAC通过三总线向M或I/O发出地址码 及读/写信号,以控制M和I/O设备之间的数据传送。 B.被动态:未取得总线控制时,同于其他 I/O设备,受 CPU的控制。这时,CPU对DMAC进行初始化操作或从 DMAC读取状态信息。85 5. DMA传送过程A. 在I/O与DMA之间:有请求DREQ和回答DACK B. 在DMA与CPU之间有请求HRQ和回答HLDA信号。 如下图所示: ① 请求DREQ I/O 回答DACK ④ DMAC 回答HLDA ③ ② 请求HRQCPU86 二、DMA控制器的功能和DMA传送的原理1.DMA控制器的功能① DMA控制器接到外设的DREQ后,应能向CPU发总线请求信 号HOLD。 ②CPU接到HOLD后,如果允许,则发DMA响应信号HLDA, 此时DMA控制器应能执行对总线的控制。 ③DMA控制器得到总线控制权以后,要往地址总线发送地址信 号,修改所用存储器或接口的地址指针。 ④在DMA期间, DMA控制器发读/写控制信号,实现数据传送。 ⑤在DMA控制器内部还必须有一个字节计数器,用来存放所传 送的字节数,即数据长度。 ⑥DMA过程结果,DMA控制器向CPU发结束信号EOP,将总线 控制权交还给CPU。87 用DMA传输单个数据CPU 及总线 控制 逻辑 HOLD HLDA②内存⑥(由内存→接口)①接口发DREQ②DMA控制器发HOLD接口DACKI/O设备⑦ ①DREQ③CPU允许发HLDA⑤④DMA控制器独占总线, 将内存地址送地址总线⑤DREQ握手DACK③控制寄存器④状态寄存器⑥内存把数据送DB⑦接口锁存数据 ⑧撤消HOLD地址初值寄存器当前地址寄存器⑧字节初值寄存器⑨CPU收回总线控制权当前字节数寄存器⑨88 2. DMA传送原理主控设备:占据总线控制权的设备。从属设备:不具有总线控制权的设备。 ①初始,CPU向DMA写入控制字,设置地址初值及字节数,此 时DMA控制器是从属设备,地址线为输入,数据线双向。 ②当DMA控制器接手总线控制权,则成为主控设备。DMA控制 器地址总线发出内存及I/O设备地址,地址线为输出线,且发内 存及I/O的读/写控制信号。89 三、DMA控制器8237A的结构及管脚90 EOP CS RESET READY CLK AEN ADSTB MEMR MEMW IOR IOW状态寄存器(8)时序 与 控制 逻辑 命令寄存器(8) 暂存寄存器(8) 先/后触发器 主屏蔽 地址 数据 缓冲 地址 缓冲暂存地址寄存器(16)暂存字节寄存器(16) 命令 控制逻辑D7-D0 (A15-A8)通道0方式寄存器(6) 请求位 屏蔽位基地址寄存器(16)A7-A4当前地址寄存器(16)当前字节计数器(16)基字节计数器(16)A3-A0地址 缓冲优先级 编码 逻辑通道1 通道2DREQ0-DREQ3 DACK0~DACK3 HRQ HLDA通道391 ◆DREQ:通道DMA请求输入信号,极性可编程设定,由DACK 信号有效时撤除。 ◆ DACK:DREQ的应答信号,极性可编程设定。 ◆ HRQ:总线请求信号。 ◆ HLDA:总线响应。 ◆ A3~A0:双向地址线。从模块时,输入,作为8237A片内寻址。主模块时,输出,产生存贮单元低4位地址。 ◆ A7~A4:DMA传输时提供高4位地址。 ◆ DB7~DB0:双向数据线。 从模块时,与CPU数据线相连,写入控制字或读出状态字。主模块时,输出当前地址寄存器中的高8位送入地址锁存器和 92 A7~A0共同构成16位存储器地址。 ◆ CS:片选信号,DMA8237A选中信号,A15~A4产生。◆ CLK:时钟,8237A的时钟频率为3MHZ。◆ RESTE:复位输入端,复位时,屏蔽寄存器置1,其他寄存器均 清0。◆ READY:准备就绪信号输入端,当所用的存储器或I/O设备的 速度较慢时,READY输入低电平,用于等待。◆ ADSTB:地址选通信号,用于当DMA当前地址寄存器中的高8 位地址送到外部地址锁存器。 ◆ AEN:地址允许输出,用于将外部地址锁存器的高8位地址送上 地址总线,与芯片直接输出的低8位地址共同构成内存单元地址的 偏移量。 ◆ MEMR:存储器读信号,有效时,被选中的存储单元的内容被 93 送到数据总线。 ◆ MEMW:存储器写信号,有效时,数据总线上的内容被写入 对应的存储单元。◆ IOR:输入/输出设备读信号。 从模块时,IOR为CPU对DMA控制器的读信号,IOR为输入。 主模块时,IOR为DMA控制器送给I/O接口,I/OR为输出。 ◆ IOW:输入/输出设备写信号。 从模块时,IOW为输入, 主模块时,IOW为输出。 ◆ EOP:DMA传输结束信号。输入时,由外部强制DMA传输过程中断。输出时,由DMA控制器送出,作为传输结束。94 四、8237A的工作方式 1、单字节传送方式每次DMA请求只传送一个字节的数据,传送后当前字节计数 器自动减1,当前地址寄存器加1或减1修改,撤消HRQ信号,释 放系统总线控制权。 2、块传送方式每次DMA请求获准后连续地传送一个数据块,直到当前字节 计数器减为0或外部产生EOP信号,使DMA传送终止。3、请求传送方式以下三种情况均终止DMA传送:(1)当前字节计数器减至0。(2)外部有效的EOP信号。95 (3)外设的DREQ请求信号无效。 4、级联方式 多片级联增加DMA通道。主片在从片与CPU之间传递联络信 号,同时对从片的优先级进行管理。DREQ0 HOLD HRQ DACK0 ? HLDA HLDA ? DREQ3 DACK3 HRQ HLDA HRQ HLDACPU主片从片96 五、8237A的工作时序 DMA的每一个时钟周期称为一个S状态。 1、S1状态:空闲状态。 2、S0状态:等待HLDA。3、S1状态:先产生AEN信号,使CPU连接的地址总线无效,产生 ADSTB信号,从当前地址锁存器中读出的A15~A7经DB3~DB0锁存在 外部锁存器中。4、S2状态产生DACK给I/O接口,代替CPU的片选信号,使该I/O接 口被选中,A15~A0确定要访问的存储器单元。 5、S3状态产生MEMR或IOR读信号,使DB7~DB0上的数据至S4状 态,稳定写入目的地。 6、S4状态产生MEMW或IOW写信号,将数据写入目的单元。块传 送,则回到S2(或S1),继续。若单字节或传送完毕,则发EOP , 97 撤消HRQ,结束DMA过程。 ◆压缩读方式:块传送时,只有S2和S4两个时钟,读信号和写 信号均在S4状态时产生,适用于高速电路。 ◆扩展写(超前写):S2、S3、S4三个状态,但写信号在S3时即 产生,目的是用其下降沿触发READY信号,使低速I/O在普通 时序仍不能完成读写时,插入等待状态SW。 以上两种方式均可在方式控制字中进行设定。98 8237A的工作时序99 六、8237A的内部寄存器?通道寄存器: 基地址寄存器、当前地址寄存器通道0:A3A2A1A0=0000;通道1:A3A2A1A0=0010通道2:A3A2A1A0=0100;通道3:A3A2A1A0=0110 基字节寄存器、当前字节寄存器 通道0:A3A2A1A0=0001;通道1:A3A2A1A0=0011 通道2:A3A2A1A0=0101;通道3:A3A2A1A0=0111 ?公用寄存器: 控制寄存器:设定工作方式及请求控制状态寄存器:存放状态信息,供CPU查询100 101 1、命令寄存器:D71:DACK高有效D6D5D4D3D2D1D01:允许存储 器-存储器 1:保持通道0源地 址不变 1:停止8237工作 1:压缩时序1:DREQ低有效 1:扩展写1:旋转优先级◆I/O地址A3-A0=1000,初始化由CPU写入,RESET或清除命令清除102 D0:设置存储器到存储器传送。 D0=1时允许; D0=0时禁止。 在存储器之间传送数据时,由通道0和通道1进行操作。由通道0从源地址单元中读出数据存放到暂存寄存器中, 再由通道1从暂存寄存器中读出数据写入目的单元中,当 通道 1 的当前字节计数器减为 0 时,产生 EOP 信号,结束 DMA传送。103 D1:存储器到存储器传送过程中保持通道0源地址不变。 D1=1,保持;D1=0,不保持。其作用是可以使源地址内的同一个数据传送到一组目 的存储单元中去。当D0=1时,D1=1才有意义。 D2:控制8237A工作。 D2=0,允许工作; D2=1,禁止工作。 D3:控制8237A读时序。D3=0时,正常读时序;D3=1时,压缩读时序。104 D4:控制通道的优先权。D4=0为固定优先级(通道0优先级最高,通道3最低)D4=1为旋转优先级。D5:与D3位一起控制8237A的工作时序。D5=0,正常写;D5=1,扩展写。D6:定义通道请求信号DREQ的极性。D6=0时,DREQ高电平有效; D6=1时,DREQ低电平有效。 D7:定义响应信号DACK的极性。 D7=0时,DACK低电平有效; D7=1时,DACK高电平有效。105 2、工作方式寄存器D700:请求传送 01:单字节 10:块传送 11:级连 1:地址减1D6D5D4D3D2D1D0通道选择 00:通道0 01:通道1 10:通道2 11:通道300:校验传送 01:写传送 10:读传送 11:无操作1:允许自动预置◆I/O地址A3-A0=1011,初始化由CPU写入,分别设置通道0―通道3的工作方式106 D1D0:通道选择。D1D0=00~11分别对应通道0~通道3。D3D2:传送类型选择。D3D2=01为写传送,把外设的数据 写入存储器; D3D2=10 为读传送; D3D2=00 为校验方式, 是一种空操作,存储器和I/O的读写控制信号无效,只是 地址自增或减,字节计数器减1,直至减到0,产生EOP信 号,可以利用这个时序进行校验操作。D4 :自动预置。当计数器减为 0 产生 EOP 信号时,当前字 节计数器和当前地址寄存器会自动地从基字节计数器和 基地址寄存器中获取初值,又从头开始重复操作。 D5 :地址自增或自减。一个字节数据传送完毕, D5=0 , 地址加1;D5=1,地址减1。 D7D6 :传送方式选择。 D7D6=00 为请求传送; D7D6=01 为 单字节传送; D7D6=10 为数据块传送; D7D6=11 为级连方 107 式。 3、请求寄存器D7 D6 D5 D4 D3 D2 D1 D0通道选择 00:通道0 01:通道1 10:通道2 11:通道3未用1:有DMA请求◆I/O地址A3-A0=1001,初始化由CPU写入,分别设置通道0―通道3的DMA请求触发器,可以通过DREQ 有效或软件(设置请求触发器)使该触发器置1,表示 有DMA请求发生。108 D1D0:通道选择。D1D0=00~11,对应通道0~通道3。 D2: DMA请求标志。 D2=1,有DMA请求;D2=0,无DMA请求。 在执行存储器到存储器DMA传送时,由通道0读出数 据,由通道1将数据写入目的单元,此时启动DMA过程不 是由外部的DREQ请求实现的,而是由内部软件DMA 请求 实现的。即对通道 0 的请求寄存器写入 DMA 请求 04H ,通 过产生软件DREQ请求使8237A产生总线请求信号HRQ,启 动DMA传送。109 4、屏蔽寄存器每一个通道有一个屏蔽触发器,当该触发器为1时, 屏蔽该通道的DMA请求,屏蔽位可用下列三种命令字 来置位或清除◆单通道屏蔽字:I/O地址A3-A0=1010D7 D6 D5 D4 D3 D2 D1 D0通道选择 00:通道0 01:通道1 10:通道2 11:通道3未用1:DMA请求屏蔽D1D0:通道选择。 D1D0=00~11,对应选择通道0 ~ 通道3。D2: 屏蔽标志。 D2=1,禁止DMA请求;D2=0,允许DMA请求。110 ◆四通道屏蔽字:I/O地址A3-A0=1111D7 D6 D5 D4 D3 D2 D1 D01:置通道0 屏蔽位 1:置通道3屏蔽位未用1:置通道2屏蔽位1:置通道1屏蔽位D3D2D1D0分别对应通道3、2、1、0的屏蔽位标志,若 为1,禁止DMA请求;若为0,允许DMA请求。◆清除屏蔽寄存器:屏蔽寄存器的I/O地址中A3-A0=1110,对其进行一次写0操 作即可开放所有通道的屏蔽位111 5、状态寄存器3 2 1 0 3 2 1 0D7D6D5D4D3D2D1D01:对应通道 终止计数1:对应通道 有请求◆I/O地址A3-A0=1000,CPU读出即为各端口的状态D3D2D1D0:对应表示通道3、2、1、0的终止计数状态。当某 通道终止计数(计数达“0”)或外部EOP有效,则相应位置1;复 位或CPU读后被清除。D7D6D5D4:对应表示通道3、2、1、0的请求信号DREQ输入 是否有效。 112 6、清除命令?主清除命令:向A3-A0=1101的I/O地址执行一次写操作即可实现复位功能,除 屏蔽寄存器各位置1外,其余寄存器的内容均为0?清除先/后触发器:向A3-A0=1100的I/O地址执行一次写操作,使先/后触发器为0 先/后触发器:用来控制读写16位寄存器的高字节还是低字节?清除屏蔽触发器:如前所述,向A3-A0=1110的I/O地址执行一次写0操作即可 * 在8237A复位之后,所有的屏蔽位都被置“1”,即禁止所有的 DMA请求。在非自动预置方式下,一旦某通道的DMA传送结束, 113 该通道的屏蔽位也被置“1”。 在DMA通道初始化时,为了开放通道的 DMA请求,必须清 除屏蔽位。即对端口地址 A3 ~ A0=1110, (指屏蔽寄存器)进行 一次写“0” 操作,即可清除4个通道的屏蔽位,开放全部通道的 DMA请求。例如,设8237A的端口地址为00H~0FH,可用下列指 令清除屏蔽寄存器。 MOV AL,0 ;清除四通道的屏蔽位OUT 0EH,AL ;送入端口地址A3~A0=1110,CS=07、暂存寄存器:8237进行从存储器到存储器传送操作时,源存储单元中 的数据读出送到暂存寄存器中暂存。对A3-A0=1101进行读操作,可读暂存寄存器114 七、8237A的编程8237初始化流程图输出主清命令(软件复位) 写基地址寄存器 写基字节寄存器写方式寄存器写屏蔽寄存器 写命令寄存器115 例 编写外设到内存DMA传送的初始化程序。要求:利用8237通道1, 将外设长度为1000个字节的数据块传送到内存 2000H开始的连续的 存储单元中。采用块传送,外设的 DREQ1 为高电平有效, DACK1 为低电平有效,允许请求,设8237的I/O地址为70H~7FH。 初始化程序如下: START: OUT 7DH,AL ;软件复位,先/后触发器为0 MOV AL,00H OUT 72H,AL ;2000H写入基(当前)地址寄存器 MOV AL,20HOUT 72H,ALMOV AX,1000 ;传输的字节数1000 DEC AX ;计数值调整为1000-1116 OUT 73H,AL;计数值写入基(当前)字节计数器MOV AL,AHOUT 73H,AL MOV AL,85H MOV AL,01H ;块传送,地址增1,写传送 OUT 7BH,AL ;写方式字OUT 7AH,ALOUT 78H,AL;写屏蔽字,允许通道1请求;写命令字MOV AL,00H ;DACK1=0,DREQ1=1,允许8237工作注意:当传送的数据块的字节数为n时,写入计数器 的值应调整为n-1。这是因为当计数器的值从初值减 到“0”后,还要继续传送一个字节才发送传送结束信 117 号EOP。 P C 系 统 中 8 2 3 7 A118 第七章 作业3, 6 , 710 , 11 , 1215 , 16 , 19, 2125119 专题研讨 人机交互接口技术专题研究题目1:计算机输入技术的研究 ? 题目2:多媒体显示技术的研究(如:3D) ? 题目3:USB3.0等新的接口将会如何发展 ? 题目4:未来计算机接口的设想 报告要求写上参考网址(或其他)10个以上 ? 提交报告:ftp://wjh:wjh@202.112.147.211?120
更多相关文档

我要回帖

更多关于 bios所用时间 的文章

 

随机推荐