微机原理与接口 C0703_第1页
微机原理与接口 C0703_第2页
微机原理与接口 C0703_第3页
微机原理与接口 C0703_第4页
微机原理与接口 C0703_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与接口技术n某 以 8 0 8 8 为 C P U 的 微 型 计 算 机 内 存 R A M 区 为00000H3FFFFH,若分别采用6264(4K8)、62256(32K8)、2164(64K1)或21256(32K4)RAM芯片配置,各需要多少片芯片?n解:寻址范围:0000 0000 0000 0000 0000 0011 1111 1111 1111 1111存储单元数:3FFFFH-00000H+1=256K得RAM共218个存储单元(每单元8bit)182152228.828N MCnm1861121128.228N MCnm基本输入/输出方法n无条件传送n查询式传送n

2、中断式传送n直接存储器存取(DMA)无条件传送n任意时刻无条件输入/输出n要求外部设备总是处于准备好状态n优点:n软件及接口硬件简单n缺点:n只适用于简单外设,适用范围窄查询工作方式nCPU通过程序不断读取并测试接口状态n工作条件:n外设提供状态信息n接口具备状态端口多外设查询流程中断控制方式n外设主动向CPU发出中断请求nCPU执行每条指令的末尾处,通过内部硬件自动检查是否有外设发出中断请求信号。简单I/O控制系统设计n例例1:外设状态端口地址为03FBH,第5位为状态标志,该位为1示忙,为0示闲;外设数据端口地址为03F8H,写入数据会使状态标志位置1,外设将数据读走后又将该位置0。要求:

3、n画出该控制系统电路图n利用查询工作方式,将DATA中100B数据输出n例例2:假设I/O接口中的一个状态端口地址为A910H,状态端口D1=1表示外设空闲。该接口数据端口地址为A911H,利用查询方式完成输出一数据至外设的程序段的程序段,待输出数据在内存的STORE单元中。n分析:n当状态端口D1=1时,由内存经CPU,使用OUT指令输出至外设数据端口。n端口地址不在00HFFH范围内,所以需要用寄存器寻址的输出指令。简单I/O控制系统设计n例例2:假设I/O接口中的一个状态端口地址为A910H,状态端口D1=1表示外设空闲。该接口数据端口地址为A911H,利用查询方式完成输出一数据至外设的

4、程序段的程序段,待输出数据在内存的STORE单元中。START: MOV DX, 0A910HWAITT: IN AL, DX TEST AL, 02H JZ WAITT MOV AL, STORE MOV DX, 0A911H OUT DX, AL HLT基本输入/输出方法n无条件传送、查询式传送、中断式传送n直接存储器存取(DMA)MOVOUTINMOVCPU掌握总线控制权CPU放弃总线控制权:直接存储器存取(DMA)DMA控制器nDMA(Direct Memory Access), 直接存储器存取。常用于高速传送大批量数据块。nDMA传送是由硬件代替软件实现数据直接传送的。实现这种传送的

5、专门硬件电路称为DMA控制器(DMAC)。nDMAC和CPU都挂在系统总线上。总线上可控制其他部件的部件称为总线主控(Bus Master),被控部件称为从控(Slave)。进入DMA方式时,DMAC成为主控。nDMA操作前,应先对DMAC编程,将要传送的数据块长度、数据块在存储器中的起始地址、数据传送方向等信息发送给DMAC。DMA控制方式DREQHRQDMA请求阶段HOLD高高外设请求以外设请求以DMA方式服务方式服务DMA响应和数据传送阶段HOLD每个总线周期结束每个总线周期结束传送结束阶段HOLD低低撤销撤销HLDADMA控制器Intel 8237AIntel 8237A 内部结构DM

6、A控制器Intel 8237AIntel 8237A 内部结构DMACDMAC向向CPUCPU发送的总线控制请求信发送的总线控制请求信号和号和CPUCPU发送给发送给DMACDMAC的应答信号的应答信号外部设备向四个通道的外部设备向四个通道的DMADMA方式方式数据传输的请求和应答信号线数据传输的请求和应答信号线DMA控制器Intel 8237AIntel 8237A 内部结构(1 1)CPUCPU控制,控制,CPUCPU寻址寻址82378237内部寄存器内部寄存器(2 2)DMADMA控制,低控制,低4 4位和高位和高4 4位地址线位地址线(1 1)CPUCPU向向82378237内寄存器写

7、数据内寄存器写数据(2 2)DMADMA传输时,用于传输高传输时,用于传输高8 8位地址,由位地址,由ADSTBADSTB信号将其锁存信号将其锁存入地址锁存器入地址锁存器DMA控制器Intel 8237AIntel 8237A 内部结构CPU读取读取8237A的内部状态寄存器信息;的内部状态寄存器信息;CPU向向8237A写命令及初始化参数。写命令及初始化参数。在在DMA方式数据传输中,方式数据传输中,控制从外设读取数据;控制从外设读取数据;控制将数据写入外设控制将数据写入外设DMA控制器Intel 8237AIntel 8237A 内部结构在在DMA方式数据传输中方式数据传输中控制从存储器单

8、元读数据;控制从存储器单元读数据;控制将数据写入存储器单元。控制将数据写入存储器单元。DMA控制器Intel 8237AIntel 8237A 内部结构片选信号。低有效时,片选信号。低有效时,CPU可对可对8237进行进行编程。编程。DMA控制器Intel 8237AIntel 8237A 内部结构过程结束信号,双向。过程结束信号,双向。DMA服务结束,服务结束,8237从从EOP端输出一个低端输出一个低电平,通知外设。电平,通知外设。若若8237收到有效收到有效EOP信号,则终止正在执信号,则终止正在执行的行的DMA传送。传送。8237A数据传送方式1.单字节传送单字节传送n每传送完一个字节

9、数据,DMA控制器放弃总线控制权。传送下一个字节时,再重新申请使用总线。n传送一个字节后,HRQ无效,总线控制权交还CPU至少一个总线周期,再检查DREQ。8237A数据传送方式1.单字节传送单字节传送n特点特点:DMA控制器不会长时间占用总线不会长时间占用总线。CPU可在每个DMA周期结束后立即控制总线。CPU与DMA控制器轮流轮流控制系统总线,因此不会对系统运行产生较大影响。n缺点缺点:DMA传输效率低。8237A数据传送方式2.数据块传送数据块传送nDMA控制器获得总线控制权后,可连续传输多个字节。只有当字节全部传送完毕,产生#EOP信号为止。n传送期间不再检测DREQ请求信号。8237

10、A数据传送方式2.数据块传送数据块传送n优点优点:传输效率高n缺点缺点:DMA传输期间CPU长时间不能控制总线,若一次传输的数据较多,会对系统产生影响。8237A数据传送方式3.请求传送请求传送n类似数据块传送方式。不同之处在于:每传输一个字节后,DMA控制器对外设的DMA请求信号DREQ进行测试;若DREQ无效,则暂停传送数据;一旦重新发现DREQ有效,则继续传送。8237A数据传送方式3.请求传送请求传送n优点优点:实现灵活,DMA操作可由外设利用DREQ信号控制发送过程。DMA操作类型nDMA读n存储器外设nDMA写n外设存储器n存储器到存储器n如主存Cachen校验操作n不进行数据传送

11、,而是对数据块内部的每个字节字节进行校验。#MEMR, #IOW#IOR, #MEMW8237A 内部寄存器n通道专用寄存器(5个)n基地址寄存器n当前地址寄存器n基字节数寄存器n当前字节数寄存器n方式寄存器通道专用寄存器n基地址寄存器(只写)n存放内存起始地址nDMA+0, +2, +4, +6n初始化时由程序写入,先低字节,再高字节n数据传输过程中,其值不变例:将AX中的地址写入8237的通道0的基地址寄存器中 OUT DMA+0, AL MOV AL, AH OUT DMA+0, AL通道专用寄存器n基地址寄存器(只写)n存放内存起始地址nDMA+0, +2, +4, +6n初始化时由程

12、序写入,先低字节,再高字节n数据传输过程中,其值不变n当前地址寄存器(可读写)n存放当前内存地址nDMA+0, +2, +4, +6n初始值与基地址寄存器相同,由CPU一并写入n每次DMA传送后,值自动+1或-1通道专用寄存器n基字节数寄存器(只写)n存放DMA传送的总字节数nDMA+1, +3, +5, +7n初始化时由程序写入,先低字节,再高字节n数据传输过程中,其值不变例:将CX计数值写入8237的通道0的基字节计数器中 MOV AL,CL OUT DMA+1, AL MOV AL,CH OUT DMA+1, AL通道专用寄存器n基字节数寄存器(只写)n存放DMA传送的总字节数nDMA+

13、1, +3, +5, +7n初始化时由程序写入,先低字节,再高字节n数据传输过程中,其值不变n当前字节数寄存器(可读写)n存放未传完的字节数nDMA+1, +3, +5, +7n初始值与基字节数寄存器相同,由CPU一并写入n每次DMA传送后,值自动-1。减为-1时,EOP信号有效。通道专用寄存器n方式寄存器(只写)n用于设置DMA的操作类型、数据传送方式、地址改变方式、自动预置以及通道选择。nDMA+0BH数据传送方式数据传送方式00:请求方式:请求方式01:单字节方式:单字节方式10:块方式:块方式11:级联方式:级联方式地址增量地址增量1:地址减:地址减10:地址加:地址加1自动预置自动预

14、置1:自动预置:自动预置0:非自动预置:非自动预置操作类型操作类型00:校验:校验01:DMA写写10:DMA读读11:无效:无效 通道选择通道选择00:通道:通道001:通道:通道110:通道:通道211:通道:通道3D7D6D5D4D3D2D1D0例: PC系列存储盘读写操作选择DMA通道2,单字节传送,地址增1,不用自动预置。试给出写操作、读操作、校验操作的方式寄存器的二进制值。解:写操作:0100 0110 = 46H。读操作:0100 1010 = 4AH。校验操作:0100 0010 = 42H。8237A 内部寄存器n通道专用寄存器(5个)n通道公用寄存器(5个)n命令寄存器n状

15、态寄存器n暂存寄存器n请求寄存器n屏蔽寄存器通道公用寄存器n命令寄存器(只写)n用于控制8237A的操作,只能写,不能读。0: DREQ 高有效高有效1: DREQ 低有效低有效0: DACK 低有效低有效1: DACK 高有效高有效D7D6D5D4D3D2D1D00: 滞后写滞后写1: 扩展写扩展写0: 固定优先级固定优先级1: 循环优先级循环优先级0: 普通时序普通时序1: 压缩时序压缩时序0: 启动启动8237A1: 停止停止8237A0: 通道通道0地地 址不保持址不保持1: 通道通道0地地 址保持址保持0: 禁止禁止MM1: 允许允许MMnD5:滞后写和扩展写nD5 = 0 为滞后写,表示写脉冲滞后写脉冲滞后读脉冲一个时钟。nD5 = 1 为扩展写,表示读、写脉冲同时读、写脉冲同时产生。n扩展写增加了增加了写命令宽度。压缩时序下 (D3=1) 该位无意义。nD4:优先级nD4 = 0 为固定优先级, DREQ0 最高,DREQ3 最低。nD4 = 1 为循环优先级,刚服务过的通道优先权变为最低。nD3 :时序类型nD3 = 0为普通时序,传输一个字节需3个时钟周期。nD3 = 1为压缩时序。对于高速外设,可将时序压缩到2个周期。D7D6D5D4D3D2D1D0nD2:启动与停止8237工作nD2 = 0 启动; D2 = 1

温馨提示

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

评论

0/150

提交评论