第七章 输入/输出系统 (Pro) |
您所在的位置:网站首页 › 主机和外设之间数据交换方式有哪几种 › 第七章 输入/输出系统 (Pro) |
bkou考点1 输入输出接口的结构和功能
掌握接口的概念,结构及功能 接口:连接两个部件的地方,连接CPU,连接外设的地方 8088CPU 数据线 8位 A0~A19 连接 接口的话只能是 A0~A15 8086 数据线 也用的是 8位 82 53 59 51 } 8位数据缓冲器 如果 8253计数初值 是字的话 就传送俩次 控制线没什么区别 接口连外设时:数据信息 控制信息 状态信息 1/0接口:系统与外设间、逻辑电路(适配器) 1/0端口:1/0地址, 数据端口、状态端口和控制端口 1. 简述1/O接口的基本功能是什么?接口内部一般由哪些寄存器组成? 答: (1) 1/0接口的基本功能: ① 数据的寄存和缓冲功能,协调快速CPU与慢速的外设之间数据传送的矛盾和时序差异; ②信息格式的转换,例如串行和并行的转换; ③ 协调CPU和外设在信息的类型和电平高低方面的差异,如数/模或模/数转等; ④采集外设的信息传送给CPU,接收CPU发出的控制命令及启动外设工作。 ⑤定时、地址译码和设备选择,识别访问的外设; (2)包括数据寄存器、控制寄存器、状态寄存器。 2.CPU与外设间通信为什么需要设置接口电路? 答:CPU与外设间设置接口电路的原因主要有四个方面: ① CPU与外设二者的信号不兼容,包括信号线的功能定义、逻辑定义和时序关系。 ② CPU与外设的速度不匹配,CPU的速度快,外设的速度慢。
③ 若不通过接口,而由CPU置接对外设的操作实施控制,会使CPU处于穷于应付在行交道之中,大大降低CPU的效率。 ④ 若外设直接由CPU控制,会使外设的硬件结构依赖于CPU,对外设的发展不利。 通常,在1/0接口自身都有定时控制逻辑,其原因是它与主机交换信息时存在()。 A.数据需要缓冲 B.速度不匹配 C时序不同步 D.数据格式需转换 8086CPU系统外设有——————个地址。 1/0设备的端口包括______\_______和状态端口三种端口。 什么是1/0接口?什么是端口?1/0接口的有哪些功能?答题要点: (1)I0接口:主机和外设之间的交接界面(中间部件) ,通过接口可以实现主机和外设之间的信息交换。 (2)IO端口:接口电路中可被CPU直接访问的寄存器(触发器)。 (3)地址译码、数据缓冲、电平转换、格式转换、逻辑控制。 考点2 I/0指令格式、寻址及应用1.I/O端口的编址 ·88/86用于寻址外设端口的地址线为16条 端口最多2^16=65536(64KB)个, 端口号为0000H ~ FFFFH 两种编址:独立编址 88/86 统一编址 1.独立编址(专用的I/0端口编址) : 存储器和I/O端口在两个独立的地址空间中。 (1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计。 (2)缺点:需要有专用的I/O指令(IN/OUT) ,程序设计的灵活性较差。 2.统一编址(I/O端口与存储器统一编址、存储器映像编址): 把I/O接口中可以访问的端口作为存储器的一个存储单元,统一纳入存储器地址空间,为每一个端口分配一个存储器地址, CPU可以用访问存储器的方式来访问I/O端口。 优点:不用专门设置访问端口的指令,访问存储器的指令都可以用于访问端口。 缺点:由于端口占用了存储器的一部分存储空间,使得存储器的实际存储空间减少;程序I/O操作不清晰,难以区分程序中的I/O操作和存储器操作。在单片机系统中,多数采用这种编址方法。 在8088/8086中,外设与内存独立编址方式中,用于外设的指令功能( B)。 A.较强 B.较弱 // IN or OUT c.与用于内存的指令相同 D.以上都不是 1/0设备地址的编址方法有________和________两种。 2.1/0端口寻址方式 直接地址: 只寻址00H~FFH 前256个端口 间接地址: 可寻址全部64K个端口: 000OH ~FFFFH DX寄存器的值存放端口号; 0100H-FFFFH的端口只能采用间接寻址方式。 从65H端口,取一个数M IN AL,75H MOV M,AL 送 67H端口 OUT 73H,AL 直接寻址 间接寻址 MOV DX,71H 3.指令格式及寻址 IN AX/AL,{PORT/口地址 DX} OUT {PORT口地址,AX/AL DX } 存储器的间接寻址 BXBPSIDI 下列四个寄存器中,用来作为1/0端口间接寻址的寄存器是() A. BX B. DX C. BP D.、DI . IN BL,30H将30H端口数据传送到BL寄存器上。(判断) AX/AL 例1:从内存buf单元取一个字节送280H端口 例2:从内存BUF单元取一个字送280H端口 例3:从内存BUF单元取一个字送80H端口 例4: 两种方法写出从80H端口读入一个字节的指令, 1查询传输控制方式 无条件 程序传送{ 条件/查询中断 中断 硬件 不需要CPU介入 DMA传送{ DMAC。823芯片 在一个采用查询方式输入数据的 1/0接口中,八位数据端口地址为 2000H,一位状态端口地址为2002H (外设数据准备好信号高电平有效,接至数据总线的D7位)。 写出查询输入1000字节数据存放 到内存以BUF为首地址的缓冲器的 程序段。 特点: 优 缺 WAIT:IN AL, 70H TEST AL, 02H JZ WAIT MOV AL, OFH OUT 71H, AL ①上述程序采用了——————传送方式进行数据输出。②70H是端口,71H是端口。 2. 中断传输控制方式多个外设随机向CPU请求, 提高 CPU的利用率, 提高系统的 性, CPU与外设能协调、并行工作 需要中断控制器8259芯片 适合少量数据、中慢速外设的数据传送,如键盘、鼠标。 简述CPU与外部设备采用中断控制方式传输数据的过程。 (1)当外部设备需要与CPU进行数据交换时,由接口部件 (8259)发出一个中断请求信号, (2) CPU响应中断请求,在中断服务程序中完成一个字节或一个字的数据传输。 (3)数据传输完成后, CPU返回原程序。 (4) CPU每执行一次中断传送数据,要打断原来执行的程序去执行中断传输的服务程序。 (5)执行前要保护PSW和断点,返回时要恢复断点和PSW。 3. DMA传输控制方式克服程序控制传送的不足{程序传送 无条件 ,查询,中断} 外设→CPU→存储器 外设←CPU——存储器 直接存储器存取DMA: 外设→存储器 外设←存储器 DMA传送中,CPU释放总线, 由DMA控制器(8237)管理总线 进行传送。 DMA传送过程:(7.2节) ① 外设发出请求; ②DMAC向CPU申请总线; ③CPU完成当前总线周期后响应,并释放总线控制权; ④DMAC得到总线控制权,并发出DMA响应信号; ⑤DMAC发出各种控制信号,控制外设与存储器之间的数据传送; ⑥数据传送完后,DMAC撤销HOLD信号; ⑦CPU释放HLDA信号,并重新控制总线。 例:1. 在DMA方式下,外设数据输入到内存的路径是()。 A.CPU x →存储器 B.外设→数据总线→存储器 C.外设→CPU x→DMAC→内存 D.外设→DMAC{8237}→内存 2. CPU对DMA控制器提出的总线请求响应要比中断请Ο求的响应快,其原因是()。 {hold要比INTA的响应快} {中断响应 是在指令周期后}{软件慢灵活 硬件快不灵活} A. 只需完成访问内存操作 B. 只需释放总线控制权 C. 无需保留断点现场 D.有硬件DMA控制器 总结:传送方式的比较 无条件传送:慢速外设,与CPU保持同步。 查询传送:简单,CPU效率较低。 中断传送:外设主动、实时性高,与CPU并行工作,CPU效率高,但每次传送需要大量额外时间开销,适于中慢速外设。 DMA传送:传送过程中由专门硬件DMAC控制,不需要CPU介入,外设直接和主存进行数据传送,适合大量、快速数据传送。 ZOP传送;快,独立有自己指令系统总线 简述中新传送方式和DMA传送方式相比有什么不同。 ①中断方式通过程序实现数据传送, 而DMA方式不使用程序直接靠硬件来实现,信息传送速度快。 ②CPU对中断的响应是在执行完一条指令之后, 而对DMA的响应则可以在指令执行过程中的任何总线周期之后请求响应快。 ③中断方式必须切换程序,要进行CPU现场的保护和恢复操作。 DMA仅挪用了一个存储周期,不改变CPU现场,额外花销小。 ④DMA请求的优先权比中断请求高。 CPU优先响应DMA请求,是为了避免DMA所连接的高速外设丢失数据。 ⑤ 中断方式不仅具有1/0数据传送能力,而且还能处理异常事件, DMA只能进行1/O数据传送。 总而言之,在进行1/O控制时,DMA控制方式比程序中断控制方式速度快,但程序中断控制方式的应用范围比DMA控制方式广。 {周期挪用,周期扩展,周期停机} DMA方式与中断方式的区别在于: (1) DMA方式是依靠硬件来实现存储器和外设之间的数据传送; 而中断方式是通过执行中断服务程序来实现数据传送。 (2) CPU对DMA的响应在指令执行的总线周期之后; 而CPU对中断的响应则是在执行完一条指令之后。 (3) DMA方式只能进行数据传送。 而中断方式不仅能进行数据传送,还能处理异常事件。 (4) DMA请求的优先权比中断请求高。 (5) DMA方式能进行数据块的传送,传输速度快; 而中断方式只能按字节进行传送,传输速度较慢。 简述主机与外设数据交换的方式及特点 答:主机与外设进行数据交换的常用方式有: 无条件传送方式、程序查询方式、中断方式和DMA传送。(2分) 中断方式:外设在准备就绪的条件下通过请求引脚信号,主动向处理器提出交换数据的请求。处理器无其他更紧迫任务,则执行中断服务程序完成一次数据传送。(2分) DMA传送:DMA控制器可接管总线,作为总线的主控设备,通过系统总线来控制存储器和外设直接进行数据交换。此种方式适用于需要大量数据高速传送的场合。(2分) 21:CPU与外设采用条件传送方式时,必须要有()。 A.中断逻辑B.请求信号c.状态端口D.类型号 简述CPU和外设之间的数据传送方式有哪几种?分别用什么方法启动数据传输过程。 答题要点: (1)有以下三种方式:程序控制方式、中断方式{子程序}、DMA方式 。其中程序控制方式又可分为无条件传送方式和条件传送(查询)方式{主程序}两种方式。 (2)无条件传送方式CPU发出命令,不需要判断外设状态,可以直接进行数据传输; 在查询方式下,是通过程序来检测接口中状态寄存器中的"准备好" (READY)位,以确定当前是否可以进行数据传输的;在中断方式下,当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求,CPU在得到中断请求后,如果响应中断,便通过运行中断处理程序来实现输入/输出;在DMA方式下,外设要求传输数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而往CPU发送一个总线请求信号,以请求得到总线控制权,如果得到DMA允许,那么,就可以在没有CPU参预的情况下实现DMA传输。 简述CPU和外设之间的数据传送方式有哪几种? 分别用什么方法启动数据传输过程。 无条件 条件 程序 IN OUT 中断 DMA:硬件 8237 总线请求 IOP: 8089,协 输入/输出 传送 } 硬件 考点4 并行和串行通信的特点和类型1.概念特点: (1)数据的并行传送方式是以字节或字为单位传送,数据的串行传送方式是以位为 单位传送。 (2) 串行通信协议分为异步通信和同步通信。 (3)异步串行通信的数据帧的格式: 传送数据的基本单位是字符,最优先传送的是1位起始位,低电平信号,随后 5-8位数据位,奇偶校验位,最后1-2位高电平的停止位。 (4)并行{主板上的}通信通常用在传输距离近、数据率高的场合。 (5)异步串行通信的数据传输率: ①波特率: 一般用于描述串行通信的速率的指标, 每秒能传输的数据的二进制位数。 单位:波特 或 bit/s 串行异步通信中,收发双方的波特率必须相同。 只有波特率一致的情况下才能保证接收方和发送方获取同样的数据。 ②波特因子: 接收器或发送器的频率/数据传输的波特率在 8251{可编程串行接口芯片}芯片中有三种1,16,64 f发/收 因子= _______ f波特率 发收 除 因子 =波特率 通信双方必须预先约定比特率、数据位数、是否带奇偶校验位及校验模式、停止位个数等(帧格式相同)。 http ftp 8251A用作异步串行通讯接口,如果设定波特因子为16,而,发送器与接收器时钟频率为19200HZ,则波特率为( )。 19200/16=1200 A. 1200波特B. 2400波特C.9600波特D. 19200波特 写出串行异步通讯方式时的数据帧格式。如果用9600波特率传送一个7位的ASCII码字符,并带有一位奇偶校验位和两位停止位,请给出该字符的传送速率。 1帧: 1位起始位,5~8数据位,1位奇偶校验位,1到2位停止位 2 字符(帧)=1+7+1+2=11位 9600是传输率 9600/11=873字符/秒 需要长距离传输数据时,一般采用()方式,因为节省数据信号线条数少 A.并行B.串行 C.同步D. 异步 ·异步串行通信数据帧的格式是怎样的?什么是波特率? 异步串行通信收发双方的波特率必须相同。 通信双方必须预先约定比特率、数据位数、是否带奇偶校验位及校验模式、停止位个数等(帧格式相同)。 只有波特率一致的情况下才能保证接收方和发送方获取同样的数据。 一个异步串行通信接口,发送一帧数据的字符格式如图所示,如果线路上传送的字符格式包括7位ASC1码,1位奇偶校验位,1位停止位。则该帧字符所传送的7位二进制数据值是__0111001B___,采用的是___16.6ms_____校验。如果波特率为600bps ,计算传送该帧数据需要的时间是_________ 串行异步通信的实现,必须作到() A.通信双方有同步时钟的传送,以实现同步 B.一块数据传送结束时,用循环冗余校验码进行校验 {采用奇偶校验循环法}{CRC循环冗余校验}{海明校验} C.以字符为传送信息的单位,按约定添加起始位、停止位和校验位 D.块与块间用同步字符01111110隔开 考点5 并行接口芯片8255的结构、功能和应用 1.8255的结构 A口 8位 B口 8位 C口的 8位分成两半 C口的高4 和低4 三个端口是用与数据传输的口 A口B口 C口主要是联络口 当C是0的时候 C口也当做数据口 外设键盘 把数据 通过A口送到 8255 8255数据总线缓冲器,再把接收到的数据 送给CPU {8255数据总线缓冲器 是一个 8位的} 8255的引脚和结构 连接CPU的一个是8位的数据线 读写号线 8255上 有 两根地址线{片内地址线} 8255有4个端口地址 但是它有3个8位的数据的端口 有4个端口地址不一样 加上复位 和片选信号端 低电平有效 结构内部 包括AB组控制 包括 数据总线缓冲期 ,在接口上有缓冲功能,控制功能,译码功能,有锁存,速度匹配等功能 右边四个,有联络的功能 2.8255的结构、特点3个8位端口: 3种工作方式: 0 1 2 2位地址线: A1 A0 4个端口地址: 00 01 10 11 2个控制字: 方式控制字: C口的按位置位/复位字: 3.3种工作方式 方式0:基本输入输出方式 {没用C口做联络口}适用于 无条件传送和查询方式{用C口做联络 但是不是固定的联络口}的接口电路 方式1:选通输入输出方式适用于 查询和中断方式{用固定的位}用到{C口用C口做联络口}的接口电路 方式2:双向选通传送方式适用于 查询和中断方式的接口电路 方式0:基本1/0通常不用联络信号或不使用固定的联络信号; PA、PB{数据口}和两个4位PC都可以作为数据的入/出{2^4=16种传送方式}(由程序设定); 方式0适于无条件{开关和灯的关系}传送和查询传送; 输入时,使用IN指令, 输出时,使用OUT指令; 方式1:选通I/O方式通常使用固定的联络信号; 适于查询和中断方式 可以产生中断; 一般作为中断方式I/O 输入使用IN指令,输出使用OUT指令; ·(1)方式1:A端口输入A口的输入 大剪头 相当于键盘,通过A口把数据输入进8255,8255的C口在这里连接了三个引脚 STB选通信号 低电平相当于产生了一个地脉冲,当PC4上出现了一个低电平,就会就收数据 回应 PC4 PC5用于连接外设的信号线 PC3 由 8259 向 CPU 发送请 求 PC4一方面接受外设的选通信号,说明外设的键盘已经送到了8255的接口上 还有一个功能PC4为一 是 开中断 允许中断 和IF 的开中断不一样 (2)方式1:B端口输入B口输入在B口输入的时候,它的允许中断用的是PC2,没链接中断允许触发器 INTE 中断允许触发器 8259内部的 PC0 允许和禁止的一个标识 PA口入 : PC4=1 允许 PC4=0 禁止 PB口入: PC2=1 允PC0发 PC2=0 禁PC0发 方式1输入联络信号 STB:选通{低电平有效}信号,低电平有效 外设输入,有效时,将输入设备送来的数据锁存至8255的输入锁存器。 IBF:输入缓冲器满信号,高电平有效 8255输出的联络信号。有效时,表示数据已锁存在输入锁存器。 INTR: 中断请求信号,高电平有效 8255A输出的信号,向CPU提出中断请求,要求CPU读取外设数据。 (3)方式1:A端口输出A口出 PC6=1 允许 PC3 =发送 PC6=0 禁止 下标变成了B B口出 PC2=1 允 PC0 =发 =0 禁 方式1输出联络信号OBF:输出缓冲器满信号,低有效 输出给外设,有效时,表示CPU已把数据输出给指定的端口,外设可以取走。 ACK:响应信号,低有效 外设的响应信号,指示8255A的端口数据已由外设接收。 INTR:中断请求信号,高有效 当输出设备已接收数据后,此信号包OPU提出申断请求,要求CPU继续提供数据。 CPU送到 8255PA/PB口上 8255发请求信号,8255送到打印机或者显示器的输出设备上,A口已经送到打印机上, 送完以后 A为空, 8255再次向CPU发送请求 方式2:双向方式方式2可以同时发送数据和接收数据 只有端口A可以工作于方式2 {因为B口 只适用于0.1 A口于0.1.2} 端口B可用于方式0或方式1 需要利用 端口C的信号线 图中 在A口上可以 入也可以出 当出的时候用的一对引脚 入的时候用的一对引脚都用于联络 两个中断允许触发器 分别控制入和出,用的都是PC的第三口 4.8255的编程步骤 (1)由已知条件确定方式控制字{C口的联络},如果用到C口联络,则要定义置位/复位字;· {A口的PC4=1允许}和PC4连接=选通信号不一样 (2)确定8255的端口地址;{4个端口地址,在题目中找到,没有的话就计算出来} 有了以上的要求,才能执行一下的 (3) CPU对8255初始化编程; (4)8255功能驱动程序段 特征位 一定是1 D6 D5 是A口的工作方式 入是1 出是0 标志位 一定是0 D6 5 4 按0做 D3~D1 PC0=1 00000001B=01 硬件连接如下图所示:有8个开关K。~K7,要求不断检测它们的通断状态,并随时在发光二极管LED。~LED7上显示出来。开关闭合,相应的LED点亮;开关打开,LED熄天(如Ko开关闭合,则LED,发光二极管点亮)。请写出完整的汇编语言源程序。 开关信号 A口 输入 A口 是 入 为1 得到方向控制字 第 7位 是1 是固定 的 A口的工作方式 0 B口的工作方式, 没有说 0
C口的工作方式 0 解题 1方向控制字=10010000B=90H 4个端口地址分别 PA:300H 控制口 303H k7~k0 01010101 10101010 初始化程序段 MOV DX,300H MOV AL,90H OUT DX,AL 8255功能程序段: MOV DX,300H IN AL,DX; AL=55H NOT AL MOV DX,301H OUT DX,AL;AL=1AH 程序段 CODE SEGMET ASSUME CS:CODE START:MOV DX, 303H MOV AL, 10010000B ;设置方法控制字 OUT DX, AL 初始化程序段 AGAIN:MOV DX, 300H IN AL, DX ;开关信号 NOT AL MOV DX, 301H OUT DX, AL ;驱动灯 驱动程序段 JMP AGAIN ;循环检测开关状态并点亮 MOV AH,4CH INT 21H CODE ENDS END START 答: (1) 8255的4个端口地址: 208H~20BH (2)方式控制字=10010000B=90H, 无联络信号,A口方式0输入,B口方式0输出 (3)程序段如下: MOV DX,20BH MOV AL, 90H OUT DX, AL;初始化 MOV DX,208H IN AL,DX 读A口开关 INC DX ;=MOV DX,209; OUT DX,AL 开关 都一样 灯是共阴极 A1 A2 不一样 先确认8255的地址 CBA 连接 A6 CBA 是110 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |