《第8章 DMA技术与DMA控制器.ppt》由会员分享,可在线阅读,更多相关《第8章 DMA技术与DMA控制器.ppt(93页珍藏版)》请在三一办公上搜索。
1、1,第8章 DMA技术与DMA控制器,8.1 DMA技术概述 8.2 可编程DMA控制器8237A 8.3 DMA技术在微机系统中的应用,直接存储器存取,2,1.DMA(Direct Memory Access)的概念DMA方式不用处理器干预完成M与I/O间数据传送。DMA期间系统总线由其它主模块控制(驱动)控制总线的主模块要提供系统的地址及控制信号。DMA控制器与处理器配合可实现系统的DMA功能。,8.1 DMA技术概述,3,2.DMA系统组成及工作过程 DMA系统组成,4,DMAC的基本功能,接收接口往DMA控制器发出DMA请求信号后,DMA控制器能向CPU发出总线请求信号HOLD(高电平
2、)。当CPU向DMA发出响应信号HLDA(高电平)以后,DMA能接管对总线的控制,进入DMA方式。能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。,5,DMAC的基本功能,能向存储器或I/O接口发相应的读写控制信号。能决定传送字节数,并判断DMA传送是否结束。DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。,6,允许 DMA,DMA请求?,DMAC发BUS请求,CPU响应DMA放弃BUS,DMAC控制传一个字节,块结束否?,放弃总线中断请求,N,DMA放总线,N,Y,字节传送,Y,DMA传送方式,7,允许 DMA,DMA请求?,
3、DMAC发BUS请求,CPU 响应 DMA放弃 BUS,DMAC控制传一个字节,块结束否?,放总线中断请求,DMA请求?,N,Y,Y,N,块传送,DMA传送方式,8,允许 DMA,DMA请求?,DMAC发出BUS请求,CPU响应DMA放弃总线,DMAC 控制传一个字节,块结束否?,放总线中断请求,Y,DMA请求?,Y,放总线,N,N,Y,随机请求DEMAND REQUEST,DMA传送方式,9,I/O设备向DMAC发出DMA请求,DMAC向CPU发出总线请求,CPU在执行完当前指令的当前的总线周期后,向DMAC发出总线响应信号,CPU脱离对系统总线的控制,由DMAC接管对系统总线的控制,DMA
4、C向I/O设备发出的DMA应答信号,DMAC进行一个字节的传送,完成设定的字节数据传送,CPU恢复对系统总线的控制,DMA传送的过程,10,8.2 可编程DMA控制器8237A,8.2.1 8237A的主要特性 1具有四个独立的DMA通道,每个通道都具有64K的存贮器寻址能力,即一次传送的最大长度为64K字节。2可实现内存与外设之间的高速大批量数据传送,也可实现内存两个不同区域之间的高速数据传送。3每个通道的DMA请求均可分别允许或禁止,且四个通道的DMA请求的优先权可由软件设置为固定的或循环的。,11,8237A的主要特性,4具有单字节传送、数据块传送、请求传送和级联传送四种工作方式。5可用
5、级联方式扩展DMA通道数目。6DMA传送结束信号可由内部计数产生,也可由外部输入提供。7单一的+5V电源,40个引脚双列直插式封装。8采用5MHz时钟,传送速率可达1.6M字节/秒。,12,8采用5MHz时钟,传送速率可达1.6M字节/秒。8237进行一次DMA传送需要3个时钟周期(不包括插入的等待周期SW)。时钟周期为200 ns,则一次DMA传送需要200 ns3200 ns700 ns(1.6 M字节/秒)。多加一个200 ns是考虑到人为插入一个SW的缘故。另外,8237为了提高传输速率,可以在压缩定时状态下工作。在此状态下,每一个DMA总线周期仅用两个时钟周期(200 ns2=400
6、ns)就可实现,这大大提高了传输速率。,13,8.2.2 8237A的工作原理,18237A的编程结构 编程结构见下页图内部有大量寄存器,内部寄存器的功能、端口地址等信息 参见下表.,14,Intel 8237A可编程DMA控制器框图,15,1)8237A组成说明:8237A有四个独立通道:通道0通道3。每个通道可独立响应外部DMA请求,完成DMA传送。,15,16,控制寄存器,8位,16,四个通道公用,优先级编码电路-优先级裁决,17,8237的引脚功能,17,18,8237的引脚功能,请求/应答信号外设接口电路向8237的请求信号:DREQ3DREQ08237对外设接口电路的应答信号:DA
7、CK3DACK08237向CPU申请总线的信号:HRQ(连至CPU的HOLD)CPU向8237传送的允许使用总线信号:HLDA,CPU,DMA,外设,HRQ,DREQ,HLDA DACK,18,19,8237的引脚功能,地址信号:CPU初始化8237或读8237状态时所需的片选信号A7A0(输出):8237访问存储器的地址信号的低8位。A3A0(输入):CPU初始化8237或读8237状态时,用于寻址8237内部寄存器,19,20,8237的引脚功能,数据信号(双向):DB7DB0,CPU为主控时,可以通过I/O读命令查询8237的状态寄存器的内容,或通过I/O写命令对8237的内部寄存器进行
8、编程,数据传送通过DB7DB08237为主控时,DB7DB0输出要访问的内存地址的高8位,并通过ADSTB锁存到外部地址锁存器中,和A7A0输出的低8位地址一起构成16位地址,20,21,8237的引脚功能,地址允许信号:AEN8237作为主控时(8237控制总线),输出AEN=1。8237作为从控时(CPU控制总线),输出AEN=0。DMA传输结束信号:(双向)当DMAC内部任一通道传输结束,8237发出若由外部给DMAC送入有效的,则强制DMAC内部所有通道结束传输。,21,22,8237的引脚功能,MEMR/MEMW:,8237发出的存储器读/写信号,IOR/IOW:,8237作为主控时
9、,输出的I/O读/写信号。8237作为从控时,CPU发出的I/O读/写信号,用于读/写8237,22,23,8237的引脚功能,ADSTB:地址选通信号,用于启动地址锁存器,READY:存储器或I/O的就绪信号,23,24,DMA控制器8237,工作方式 1)从模块工作方式:当CPU将数据送入或取出8237时,DMA完全象一个普通的I/O接口,此时它工作于从模块。,24,25,DMA控制器8237,D0D7 DB0DB7 IOR IOR CPU IOW IOW 8237 A0A3 A0A3 A4A15 CS 此时CPU对8237进行初始化或读出8237中的状态。,25,译码,26,DMA控制器
10、8237,2)主模块工作方式:此时DMA已取代CPU控制系统。它将提供系统正常工作的地址信息,控制信息完成DMA方式的数据传送。,26,27,DMA控制器8237,AEN A0A7 A0A7 8237 EN ADSTB DB0DB7 A8A15 IOW IOR MEMW MEMR,27,STB锁存器,28,DMA控制器8237,28,那对于20位地址线8237如何处理?,由上可见8237工作于模块方式,可取代CPU产生地址及控制信息。,8237A处于DMA方式时,全部地址均用来寻址存储器,无法同时提供I/O设备的端口地址.为了寻址外部设备,8237A提供DACK信号,作为对请求DMA方式的外部
11、设备的应答,并指明该外部设备被认可,可以进行DMA传送.在整个传输过程中只要DACK信号,IOR,IOW同时有效,就能完成读外部设备的I/O读写操作.所以,在DMA方式下,I/O设备的地址无效.即:以DACK代替了片选和译码功能.,在8086/88系统中,系统的寻址范围是1MB,地址线有20条,即A0A19。为了能够在8086/88系统中使用8237来实现DMA,需要用硬件提供一组4位的页寄存器。通道0、1、2、3各有一个4位的页寄存器。在进行DMA传送之前,这些页寄存器可利用I/O地址来装入和读出。当进行DMA传送时,DMAC将A0A15放在系统总线上,同时页寄存器把A16A19也放在系统总
12、线上,形成A0A19这20位地址信号实现DMA传送。其地址产生如图所示。,29,利用页寄存器产生存储器地址,29,30,8237A的工作方式,DMA传送方式 单字节传送方式 数据块传送方式 请求传送方式 级连方式DMA传送类型 DMA读 DMA写 DMA检验存储器到存储器的传送,31,(1)DMA传送单字节方式,每次DMA传送时仅传送一个字节传送一个字节之后,字节数寄存器减1,地址寄存器加1或减1,HRQ变为无效8237A释放系统总线,将控制权还给CPU若传送后使字节数从0减到FFFFH,则终结DMA传送或重新初始化特点:一次传送一个字节,效率略低DMA传送之间CPU有机会重新获取总线控制权,
13、DMA传送方式,32,(2)DMA传送数据块方式,由DREQ启动就连续地传送数据,直到字节数寄存器从0减到FFFFH终止计数,或由外部输入有效信号终结DMA传送DREQ只需维持有效到DACK有效特点:一次请求传送一个数据块,效率高整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等),33,(3)DMA传送请求方式,DREQ信号有效就连续传送数据DREQ信号无效,DMA传送被暂时中止,8237A释放总线,CPU可继续操作DMA通道的地址和字节数的中间值仍被保持DREQ信号再次有效,DMA传送就继续进行如果字节数寄存器从0减到FFFFH,或者由外部送来一个有效的信号
14、,将终止计数特点:DMA操作可由外设利用DREQ信号控制传送的过程,34,(4)DMA传送级连方式,用于通过多个8237A级连以扩展通道第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上第二级芯片的优先权等级与所连通道的优先权相对应第一级只起优先权网络的作用,实际的操作由第二级芯片完成还可由第二级扩展到第三级等,35,8237A的级联,36,DMA读把数据由存储器传送到外设由MEMR*有效从存储器读出数据,由IOW*有效把这一数据写入外设DMA写把外设输入的数据写入存储器由IOR*有效从外设输入数据,由MEMW*有效把这一数据写入存储器。DMA检验空操作8237A不进行任何检
15、验外设可以进行DMA校验存储器和I/O控制线保持无效,不进行传送,DMA传送类型,37,固定使用通道0和通道1通道0的地址寄存器存源区地址通道1的地址寄存器存目的区地址,通道1的字节数寄存器存传送的字节数传送由设置通道0的软件请求启动每传送一字节需用8个时钟周期前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的区,存储器到存储器的传送,38,8237A的工作方式由写模式寄存器决定,存放相应通道的方式控制字选择某个DMA通道的工作方式其中用最低2位选择哪个DMA通道,请看方式字的格式,39,方式字格式(写
16、B号),00 请求模式01 单字节模式10 数据块模式11 级联模式,0 地址增量(加1)1 地址减量(减1),0 禁止自动初始化1 允许自动初始化,00DMA校验01DMA写10DMA读11非法若D7D611,00 通道001 通道110 通道211 通道3,40,DMA控制器8237,自动预置功能:D4:当设置为自动预置时,每当DMA过程结束信号EOP*产生时(不论是内部终止计数还是外部输入该信号)用基地址寄存器和基字节数寄存器的内容,使相应的现行寄存器恢复为初始值,包括恢复屏蔽位、允许DMA请求这样就作好了下一次DMA传送的准备,40,41,DMA控制器8237,D3 D2:传输方式设定
17、 写输入:I/O设备往内存写入数据。读输入;将内存数据送往I/O设备。校验传输:用于对读传输和写传输功能进行 校验,是虚拟传输,8237此时只产 生EOP信号和地址信号。,41,42,DMA控制器8237,42,8237,存 储 器,I/O设备,8237,写传输 读传输,存 储 器,I/O设备,A0A15,MEMW,IOR,D0D7,A0A7,MEMR,IOW,43,当8237A没有被外围设备用来进行DMA操作时,此时它处于所谓空闲状态。在这种状态下,微处理器可以向这个DMA控制器输出命令以及读写它的内部寄存器。,8.4 827A的时序,44,DMA控制器的工作时序,DMA空闲周期SI 过渡状
18、态S0 有效周期(S1、S2、S3、S4),8237A内部状态变化流程,45,8237A的工作时序空闲周期,8237A的任一通道都没有DMA请求时8237A由微处理器控制作为一个接口芯片CPU可对8237A编程,或从8237A读取状态8237A采样CS*选片信号,该信号有效,CPU就要对8237A进行读/写操作8237A还采样通道的请求输入信号DREQ,该信号有效,就进入有效周期,进入有效周期,46,8237A的工作时序有效周期,8237A采样到外设有DMA请求,就脱离空闲周期进入有效周期8237A作为系统的主控芯片,控制DMA传送操作DMA传送借用系统总线完成,其控制信号以及工作时序类似CP
19、U总线周期,进入DMA传送时序,47,DMA传送时序,48,a)S1 周期:DMAC在S1 状态发出地址允许AEN信号,通过数据总线DB0DB7将高8位地址A8 A15锁存起来。多数情况下,这几位地址不需改变,故可直接进入S2周期。b)S2周期:修改存储单元的低8位地址,(高8位已锁存)向I/O发请求回答信号DACK,准备 传送数据。c)S3周期:送高8位地址A8 A15到地址总线,发出MEMR或IOR读命令,从内存或I/O准备传送数据。d)S4周期:发IOW或MEMR命令。用普通时序时,每进行一次DMA传输,一般用3个时钟周期(S2 S3 S4);压缩时序,用两个时钟周期(S2 S4),此时
20、只更新低8位地址,不修改高8位地址,48,8237A的工作周期、时序与模式,49,8237A的寄存器,8237A共有10种内部寄存器,对它们的操作有时需要配合3个软件命令8237A的“软件命令”不需要通过数据总线写入控制字直接由地址和控制信号译码实现,全部都用地址A0A3区分,50,1.8237A 的控制寄存器,存放8237A的命令字设置8237A芯片的操作方式影响每个DMA通道复位时使命令寄存器清零设置D20才使8237A可以作为DMA控制器,请看命令字的格式,8.5 8237A 的控制寄存器和状态寄存器,51,命令字格式,8237A 控制/命令寄存器格式(写8号):硬件设置与运行控制823
21、7A硬件设置:,52,DMA控制器8237,控制寄存器格式和有关问题:,52,D7 D6 D5 D4 D3 D2 D1 D0,DO:为1则为内存到内存的传送。此时通道0用于存放源地址,通道1用于存放目的地址及计数值。,53,DMA控制器8237,D0D7,53,8237,暂存器,内存,内存,A0A15,MEMW,MEMR,D0D7,内存到内存的传输,54,DMA控制器8237,D1:为1时,可实现内存到内存时,使源 地址不变而目的地址变化,用于实现 内存的初始化。D2:为0启动8237工作,D2为1停止8237 作。D3:为0普通时序,为1压缩时序。当地址范围仅用于A7A0时的DMA时 序为压
22、缩时序,即一次可传送最多 256个数据。,54,55,DMA通道的优先权方式,D4=0 固定优先权方式优先权固定通道0优先权最高,通道1其次,通道2再次,通道3最低D4=1 循环优先权方式优先权循环变化最近一次服务的通道在下次循环中变成最低优先权,其他通道依次轮流相应的优先权,DMA传送不存在嵌套,D5:为0不扩展写信号;为1扩展写信号,使MEMW,IOW扩展2个时钟周期。,56,DMA控制器8237,2.状态寄存器格式:,56,D7 D6 D5 D4 D3 D2 D1 D0,D0 D1 D2 D3:表示4个通道计数结束状态 1:结束;0:未结束 D4 D5 D6 D7:表示4个通道DMA请求
23、情 况 1:申请;0:无申请,(读8号),57,3.请求寄存器,存放软件DMA请求状态除硬件DMA请求外,当工作在数据块传送方式时也可以通过软件发出DMA请求若是存贮器到存贮器传送,则必须由软件请求启动通道0,请看请求字的格式,58,请求字格式,8237A DMA 请求寄存器 格式(写9号),D6:1:DREQ高电平有效。,59,屏蔽寄存器,控制外设硬件DMA请求是否被响应(为0允许),各个通道互相独立。3种方法:单通道屏蔽字只对一个DMA通道屏蔽位进行设置主屏蔽字对4个DMA通道屏蔽位同时进行设置清屏蔽寄存器命令使4个屏蔽位都清零(允许)复位使4个通道全置于屏蔽状态当一个通道的DMA过程结束
24、,如果不是工作在自动初始化方式,则这一通道的屏蔽位置位,必须再次编程为允许,才能进行下次DMA传送,请看屏蔽字的格式,60,单通道屏蔽字格式,8237A 屏蔽寄存器格式(单一位)(写A号),61,主屏蔽字格式,Di0 清通道I屏蔽位Di1 置通道I屏蔽位,8237A 全4位 MASK 寄存器 格式(写F号),62,临时寄存器,在存储器到存储器的传送方式下,临时寄存器保存从源存储单元读出的数据,该数据又被写入到目的存储单元传送完成,临时寄存器只会保留最后一个字节,可由CPU读出复位使临时寄存器内容为零,63,4.8237的字节指针(1)现行地址寄存器,保持DMA传送的当前地址值每次传送后该寄存器
25、的值自动加1或减1这个寄存器的值可由CPU写入和读出,基地址寄存器存放初始值,64,(2)现行字节数寄存器,保持DMA传送的剩余字节数每次传送后,该寄存器的值减1这个寄存器的值可由CPU写入和读出该寄存器的值减至0,再减1(从0减到FFFFH)时,终止计数,基字节数寄存器存放初始值,传送N个字节,初始值为N1,65,读写通道寄存器,CPU与8237A之间通过8位数据总线交换信息,8237A的通道寄存器均为16位需要两次读写操作才能实现CPU与8237A之间的一个完整数据的交换8237A内含一个高/低触发器,用来控制读写通道寄存器的高、低字节,66,高/低触发器,该触发器为0,控制读写低字节该触
26、发器为1,控制读写高字节软、硬件复位后,触发器为0每次读写通道寄存器,自动改变触发器状态。如果对16位寄存器的操作用两次连续读写进行,就不必清除这个触发器清除高/低触发器软件命令(A3A2A1A01100)将使高/低触发器清零,67,3个软件命令,清除高/低触发器软件命令A3A2A1A01100=0CH,使高/低触发器清零主清除命令A3A2A1A01101=0DH,使高/低触发器清零还使命令、状态、请求、临时寄存器清零使屏蔽寄存器置为全1(禁止DMA请求)主清除命令与硬件的RESET信号具有相同的功能清屏蔽寄存器命令A3A2A1A01110=0EH,使4个屏蔽位都清零(允许DMA请求),68,
27、内部寄存器的寻址问题,占用16个端口地址问题:如此多的寄存器,采用什么方法只用16个端口地址就能访问到?端口分配表(见下页),68,69,8237内部寄存器的寻址,70,8.7 8237的编程,1.编程步骤 8237的编程通常可按如下步骤进行:(1)输出主清除命令;总清时只要求对总清地址进行写操作并不关心写入什么数据。(2)置页面寄存器;(3)写入基和当前地址寄存器;(4)写入基和当前字节计数寄存器;(5)写入模式寄存器;(6)写入命令寄存器;(7)写入屏蔽寄存器;(8)写入请求寄存器。,70,71,其中第(8)步是采用软件DMA请求时所需要的,由此可将相应的请求命令字写入指定通道,从而启动D
28、MA传送过程;若为硬件DMA请求,则无需此步骤,只要在完成了(1)(7)步编程后,由通道的DREQ信号即可启动DMA传送过程。,71,72,编程举例在IBMPC系统中,试利用8237通道1,将内存8000H:0H开始的16K字节数据传送至磁盘(地址增量传送)。要求采用块传送方式,传送完不自动预置,DREQ和DACK均为高电平有效,固定优先级,普通时序,不扩展写信号。系统中8237的端口地址为00H0FH。通道1“页面寄存器”的端口地址为83H。,72,73,89H,块方式,读传送,通道1,地址增量,非自动初始化,(1)确定模式字,73,74,(2)确定命令字,非存储器至存储器传送,无意义,控制
29、器允许,普通时序,DACK 高电平有效,DREQ 高电平有效,正常写,固定优先级,80H,74,75,(3)确定屏蔽字,01H,通道1的屏蔽位复位,75,76,初始化程序如下:,OUT 0DH,AL;输出主清除命令MOV AL,08H;置通道1“页面寄存器”页面地址为8(A19 A16=08H)OUT 83H,AL MOV AL,00H;写入基和当前地址低8位OUT 02H,AL MOV AL,00H;写入基和当前地址高8位OUT 02H,AL MOV AL,00H;写入基和当前字节计数寄存器低8位OUT 03H,AL MOV AL,40H;写入基和当前字节计数寄存器高8位OUT 03H,AL
30、 MOV AL,89H;输出模式字OUT 0BH,AL MOV AL,80H;输出命令字OUT 08H,AL;8237内部寄存器的寻址MOV AL,01H;输出屏蔽字OUT 0AH,AL,76,77,8237A的编程(续1),DMA通道的DMA传送编程:将存储器起始地址写入地址寄存器(如果采用地址减量工作,则是结尾地址)将本次DMA传送的数据个数写入字节数寄存器(个数要减1)确定通道的工作方式,写入方式寄存器写入屏蔽寄存器复位通道屏蔽位,允许DMA请求,请看实例,78,8237A的编程(续2),两种方法反映DMA过程结束(即终止计数、发生TC):状态寄存器的低4位信号(需配合DACK响应信号确
31、定通道)应用程序处理DMA传送过程结束:采用软件查询状态字采用硬件中断在中断服务程序处理,79,8237A的应用,8237A在PC系列机的使用情况DMA写传送DMA设定子程序,80,8237A在IBM PC系列机上的应用,IBM PC/XT机使用一片8237A通道0:动态存贮器DRAM刷新通道1:用户使用或SDLC卡通道2:内存与软盘的高速数据交换通道3:内存与硬盘的高速数据交换IBM PC/AT机采用两片8237ADMAC1包含通道03,支持8位数据传送DMAC2组成通道47,通道57支持16位数据传送,通道4用于级连,81,(1)8237A的初始化,8237A初始化写入命令字为0,确定了:
32、DREQ高电平有效、DACK低电平有效,固定优先权(依次为通道0、17)不进行存储器到存储器的数据传输PC机用DMA控制电路进行刷新,所以DMA传送不能长时间占用总线(不应超过15s),一般只能使用单字节传送方式在PC系列机上,用户如果使用DMA通道,要注意遵从上述系统要求。除了要禁止8237A工作,用户通常不必操作命令寄存器,82,(2)高位地址的形成,DMA传送时的高位地址由“页面寄存器”提供页面寄存器由CPU的输出指令实现写入DMAC1的通道0通道3:8237A提供系统A0A15低16位地址,页面寄存器输出系统A16A23高8位地址DMAC2的通道5通道7:8237A提供系统A1A16的
33、16位地址,而系统A0被强迫为逻辑0,页面寄存器仅输出高7位地址A17A23,页面寄存器不会自动增减量高位地址在DMA传送过程中不改变,83,DMA通道0的刷新编程,out 0dh,al;DMAC主清除命令mov al,0out 08,al;DMAC命令字mov al,0out 00,al;通道0的地址寄存器低字节out 00,al;通道0的地址寄存器高字节mov al,0ffhout 01,al;通道0的字节数寄存器低字节out 01,al;通道0的字节数寄存器高字节mov al,58h out 0bh,al;通道0模式字mov al,0out 0ah,al;通道0屏蔽字,IBM PC/XT
34、,84,通道1工作方式,mov al,45h;通道1方式字:;单字节写传送,地址增量,非自动初始化out 0bh,alnop;延时nopout 0ch,al;清高/低触发器命令,DMA写传送,85,通道1起始地址,mov al,0out 02h,al;写入低8位地址到地址寄存器mov al,50hout 02h,al;写入中8位地址到地址寄存器mov al,04hout 83h,al;写入高8位地址到页面寄存器,DMA写传送,86,通道1传送字节数,mov ax,2048-1;AX传送字节数减1out 03h,al;送字节数低8位到字节数寄存器mov al,ahout 03h,al;送字节数高
35、8位到字节数寄存器mov al,01out 0ah,al;单通道屏蔽字:允许通道1的DMA请求;其他工作,DMA写传送,87,通道1传送结束判断,dmalp:in al,08h;读状态寄存器and al,02h;判断通道1是否传送结束jz dmalp;没有结束,则循环等待;传送结束,处理转换数据,DMA写传送,DMA传送过程结束的判断:软件查询方式,88,8237A教学要求,1.了解8237A引脚特点和工作时序2.掌握8237A的各种工作方式3.理解8237A内部寄存器的作用和编程4.了解8237A在IBM PC系列机上的应用情况,89,多功能I/O接口芯片82380,82380内部功能体系结
36、构,90,DMA控制器,8通道,每个有一个24位字节计数寄存器、一个32位请求地址寄存器和一个32位目标地址寄存器。可通过编程选择为循环优先级或固定优先级。可以在I/0设备之间、存储器之间、存储器和I/O设备之间进行传送。,91,传送数据块有3种方式:(1)单一缓冲方式(2)缓冲器自动初始化方式(3)缓冲器链接方式,DMA控制器,92,可编程中断控制器,5个内部中断请求:(1)IRQ8,IRQ0;(2)IRQ1和IRQ4;(3)IRQ1.5。15个外部中断请求:IRQ3,IRQ9,IRQ11IRQ23。IRQ7:容错处理中断中断控制器:IRR、PR、ISR、IMR、VR。,93,可编程定时/计数器,