📄 中断控制器intel8259a.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0289)http://cache.baidu.com/c?word=%D6%D0%B6%CF%3B%BF%D8%D6%C6%3B%C6%F7&url=http%3A//jpkc%2Esxnu%2Eedu%2Ecn/link/wjyl/jiao%27an/7/7%25E7%25AB%25A0%2520%25E4%25B8%25AD%25E6%2596%25AD%25E7%25AE%25A1%25E7%2590%2586%25E8%258A%25AF%25E7%2589%25878259A%2Edoc&p=9a71dc16d9c041f70cbd9b7c4705&user=baidu -->
<!--STATUS OK--><HTML><HEAD><TITLE>中断控制器Intel8259A</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<FORM action=http://www.baidu.com/s>
<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY>
<TABLE cellPadding=0 width="100%" bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD width=254><A href="http://www.baidu.com/"><IMG alt=到百度首页
src="中断控制器Intel8259A.files/logo-kz.gif" border=0></A></TD>
<TD><FONT color=black size=-1><INPUT
style="FONT-SIZE: 16px; FONT-FAMILY: Verdana,Arial,Helvetica,sans-serif"
size=30 name=wd> <INPUT type=submit value=百度一下></FONT> </TD></TR>
<TR>
<TD colSpan=2><FONT color=black size=-1>您的查询字词都已标明如下:<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66"><A
href="http://cache.baidu.com/c?word=%D6%D0%B6%CF%3B%BF%D8%D6%C6%3B%C6%F7&url=http%3A//jpkc%2Esxnu%2Eedu%2Ecn/link/wjyl/jiao%27an/7/7%25E7%25AB%25A0%2520%25E4%25B8%25AD%25E6%2596%25AD%25E7%25AE%25A1%25E7%2590%2586%25E8%258A%25AF%25E7%2589%25878259A%2Edoc&p=9a71dc16d9c041f70cbd9b7c4705&user=baidu#baidusnap0">中断控制器</A> </B>
(点击查询词,可以跳到它在文中首次出现的位置) <BR>如果您想保存该页面,可以<A
onclick="window.open('http://cang.baidu.com/do/add?it='+encodeURIComponent(document.title)+'&iu='+encodeURIComponent(location.href)+'&fr=ps#nw=1','_s','scrollbars=no,width=600,height=450,right=75,top=20,status=no,resizable=yes'); return false;"
href="http://cang.baidu.com/do/add" target=_blank><FONT
style="TEXT-DECORATION: underline" color=blue>添加到搜藏</FONT></A><BR><FONT
color=gray>(百度和网页<A
href="http://jpkc.sxnu.edu.cn/link/wjyl/jiao'an/7/7ç« %20中断管理芯片8259A.doc"><FONT
color=blue>http://jpkc.sxnu.edu.cn/link/wjyl/jiao'an/7/7%E7%AB%A0%20%E4%B8%AD%E6%96%AD%E7%AE%A1%E7%90%86%E8%8A%AF%E7%89%878259A.doc</FONT></A>的作者无关,不对其内容负责。百度快照谨为网络故障时之索引,不代表被搜索网站的即时页面。)</FONT></FONT>
</TD></TR></TBODY></TABLE></FORM>
<HR>
<META lastsavetime="" presentation="" notes="" bytes="" paragraphs="" slides=""
encryptionflag="" producer="" creator="" edittime="" revisioncount=""
lastrevisor="" createdate="" category="" company="LEGEND (Beijing) Limited"
manager="" comment="" subject="" keyword="" author="Legend User"
doccountry="Simplified Chinese" filetype="doc">第二节 <A name=baidusnap0></A><B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">中断控制器</B>Intel8259A<BR>本节要点<BR><BR>8086的存储器结构<BR>8086存储器的分段结构<BR>8086存储器的逻辑地址与物理地址<BR>Intel
8259A是8088/8086微机系统的<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">中断控制器</B>件,它具有对外设中断源进行管理,并向CPU转达中断请求的能力.<BR>一,
8259A的性能概述<BR>1.具有8级中断优先控制,通过级连可以扩展至64级优先权控制<BR>2.每一级中断都可以通过初始设置为允许或屏蔽状态<BR>3.8259A的工作方式,可以通过变成设置,因此,使用非常灵活<BR>4.8259A采用NMOS制造工艺,只需要单一的+5V电源<BR>二,
8259A的内部结构和工作原理<BR>下面,我们来讨论8259A的内部结构,并进而分析它的工作原理,8259A的内部结构如图7-18所示,它主要由下列主要部分组成:<BR>图7-18
8259A的内部结构<BR>1.数据总线缓冲器:它是8259A与系统数据总线的接口,是8位双向三态缓冲器.CPU与8259A之间的控制命令信息,状态信息以及中断类型信息,都是通过该缓冲器传送的.<BR>2.读/写控制逻辑:CPU通过它实现对8259A的读/写操作.<BR>3.级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级.<BR>4.控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制.<BR>5.中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当相应的中<BR>断请求输入引脚有中断请求时,该寄存器的相应位置1.<BR>6.中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行<BR>屏蔽控制.当其中某位置"0"时,则相应的中断请求可以向CPU提出;否则,相<BR>应的中断请求被屏蔽,即不允许向CPU提出中断请求.该寄存器的内容为8259A<BR>的操作命令字OCW1,可以由程序设置或改变.<BR>7.中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1.<BR>8.优先级比较器:用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套.<BR>三,
8259A的外部引脚<BR>8259A是具有28个引脚的集成电路芯片,这28个引脚分别是:<BR>1.D7-D0:双向数据输入/输出引脚,用以与CPU进行信息交换.<BR>2.IR7-IR0:8级中断请求信号输入引脚,规定的优先级为IR0>IR1>…>IR7,
<BR>当有多片8259A形成级连时,从片的INT与主片的IRi相连.<BR>3.INT:中断请求信号输出引脚,高电平有效,用以向CPU发中断请求,应接<BR>在CPU的INTR输入端.<BR>4.:中断响应应答信号输入引脚,低电平有效,在CPU发出第二个<BR>时,8259A将其中最高级别的中断请求的中断类型码送出;应接在CPU<BR>的中断应答信号输出端.<BR>5.:读控制信号输入引脚,低电平有效,实现对8259A内部有关寄存器内<BR>容的读操作.<BR>6.
:写控制信号输入引脚,低电平有效,实现对8259A内部有关寄存器的<BR>写操作.<BR>7.
:片选信号输入引脚,低电平有效,一般由系统地址总线的高位,经译<BR>码后形成,决定了8259A的端口地址范围.<BR>8.
A0:8259A两组内部寄存器的选择信号输入引脚,决定8259A的端口地址.<BR>A0=0 ICW1,OCW2,OCW3;<BR>A0=1
ICW2~ICW4,OCW1<BR>9.
CAS2-CAS0:级连信号引脚,当8259A为主片时,为输出;否则为输入,与<BR>信号配合,实现芯片的级连,这三个引脚信号的不同组合000~<BR>111,刚好对应于8个从片.<BR>10.
:为级连管理信号输入引脚,在非缓冲方式下,若8259A在系<BR>统中作从片使用,则;否则;在缓冲方式下,用作8259A<BR>外部数据总线缓冲器的启动信号.<BR>11.
+5V,GND:电源和接地引脚<BR>四,
8259A的工作过程<BR>1.当有一条或若干条中断请求输入(IR7-IR0)有效时,则使中断请求寄存器的<BR>IRR的相应位置位.<BR>2.若CPU处于开中断状态,则在当前指令执行完之后,响应中断,并且从<BR>发应答信号(两个连续的负脉冲).<BR>3.第一个负脉冲到达时,IRR的锁存功能失效,对于IR7-IR0上发来的中<BR>断请求信号不予理睬.<BR>4.使正服务寄存器ISR的相应位置1,以便为中断优先级比较器的工作做好准<BR>备.<BR>5.使寄存器的相应位复位,即清除中断请求.<BR>6.第二个负脉冲到达时,将中断类型寄存器中的内容ICW2,送到数据总线<BR>的D7-D0上,CPU以此作为相应中断的类型码.<BR>7.若ICW4中的中断结束位为1,那么,第二个负脉冲结束时,8259A将ISR<BR>寄存器的相应位清零.否则,直至中断服务程序执行完毕,才能通过输出操<BR>作命令字EOI,使该位复位.<BR>五,
8259A的工作方式<BR>8259A有多种工作方式,这些工作方式,可以通过编程设置或改变.下面,<BR>我们进行分类介绍.<BR>1.优先权的管理方式<BR>(1).全嵌套方式<BR>这是8259A默认的优先权设置方式,在全嵌套方式下,8259A所管理的8<BR>级中断优先权是固定不变的,其中IR0的中断优先级最高,IR7的中断优先级最<BR>低.<BR>CPU响应中断后,请求中断的中断源中,优先级最高的中断源,在中断服<BR>务寄存器ISR中的相应位置位,而且把它的中断矢量送至系统数据总线,在此<BR>中断源的中断服务完成之前,与它同级或优先级低的中断源的中断请求被屏蔽,<BR>只有优先级比它高的中断源的中断请求才是运算的,从而出现中断嵌套.<BR>(2).特殊全嵌套方式<BR>特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当CPU处理某一级<BR>中断时,如果有同级中断请求,那么CPU也会作出响应,从而形成了对同一级<BR>中断的特殊嵌套.<BR>特殊全嵌套方式通常应用在有8259A级连的系统中,在这种情况下,对主<BR>8259A编程时,通常使它工作在特殊全嵌套方式下.这样,一方面,CPU对于优<BR>先级别较高的主片的中断输入是允许的,另一方面,CPU对于来自同一从片的<BR>优先级别较高(但对于主片来讲,优先级别是相同的)的中断也是允许,能够<BR>响应的.<BR>(3).优先级自动循环方式<BR>在实际应用中,中断源优先级的情况是比较复杂的,要求8级中断的优先<BR>级在系统工作过程中,可以动态改变.即一个中断源的中断请求被响应之后,<BR>其优先级自动降为最低.系统启动时,8级中断优先级默认为IR0—IR7,这时,<BR>刚好IR4发出了中断请求,CPU响应之后,若8259A工作在优先级自动循环方式<BR>下,则中断优先级自动变为IR5,IR6,IR7,IR0,IR1,IR2,IR3,IR4.<BR>(4).优先级特殊循环方式<BR>优先级特殊循环方式与自动循环方式相比,只有一点不同,即初始化的优<BR>先级是由程序控制的,而不是默认的IR0—IR7.<BR>2.中断源的屏蔽方式<BR>CPU对于8259A提出的中断请求,都可以加以屏蔽控制,屏蔽控制有下列<BR>几种方式:<BR>(1).普通屏蔽方式:<BR>8259A的每个中断请求输入,都要受到屏蔽寄存器中相应位的控制.若相<BR>应位为"1",则中断请求不能送CPU.屏蔽是通过对屏蔽寄存器IMR的编程(操<BR>作命令字OCW1),来加以设置和改变的.<BR>(2).特殊屏蔽方式:<BR>有些场合下,希望一个中断服务程序的运行过程中,能动态地改变系统中<BR>的中断优先级结构,即在中断处理的一部分,禁止低级中断,而在中断处理的<BR>另一部分,又能够允许低级中断,于是引入了对中断的特殊屏蔽方式.<BR>设置了特殊屏蔽方式后,用OCW1对屏蔽寄存器中的某一位复位时,同时也<BR>会是中断服务寄存器ISR中的相应位复位,这样就不只屏蔽了正在处理的等级<BR>中断,而且真正开放了其它优先级别较低的中断请求.<BR>特殊屏蔽是在中断处理程序中使用的,用了这种方式之后,尽管系统正在处理高级中断,但对外界来讲,只有同级中断被屏蔽,而允许其它任何级别的中断请求.<BR>3.结束中断处理的方式<BR>按照对中断结束(复位中断响应寄存器ISR中相应位)的不同处理,8259A<BR>有两种工作方式,即自动结束方式(AEI)和非自动结束方式.而非自动结束方式又可进一步分为一般的中断结束方式和特殊的中断结束方式.<BR>(1).中断自动结束方式<BR>这种方式仅适用于只有单片8259A的场合,在这种方式下,系统一旦响应<BR>中断,那么CPU在发第二个INTA脉冲时,就会使中断响应寄存器ISR中相应位<BR>复位,这样一来,虽然系统在进行中断处理,但对于8259A来讲,ISR没有相<BR>应的指示,就象中断处理结束,返回主程序之后一样.CPU可以再次响应任何<BR>级别的中断请求.<BR>(2).一般的中断结束方式<BR>一般的中断结束方式适用用在全嵌套的情况下,当CPU用输出指令向8259A<BR>发一般中断中断结束命令OCW2时,8259A才会使中断响应寄存器ISR中优先级<BR>别最高的位复位.<BR>(3).特殊的中断结束方式<BR>在特殊全嵌套模式下,系统无法确定哪一级中断为最后相应和处理的中断,<BR>也就是说,CPU无法确定当前所处理的是哪级中断,这时就要采用特殊的中断<BR>结束方式.<BR>特殊的中断结束方式是指在CPU结束中断处理之后,向8259A发送一个特<BR>殊的EOI中断结束命令,这个特殊的中断结束EOI命令,明确指出了中断响应<BR>寄存器ISR中需要复位的位.<BR>这里,我们还要指出一点,在级联方式下,一般不用自动中断结束方式,<BR>而需要用非自动结束中断方式,一个中断处理程序结束时,都必须发两个中断<BR>结束EOI命令,一个发往主片,一个发往从片.<BR>4.系统总线的连接方式<BR>按照8259A与系统总线的连接方式来分,有下列两种方式:<BR>(1).缓冲方式<BR>在多片8259A级连的大系统中,8259A通过外部总线驱动器和数据总线相<BR>连,这就是缓冲方式.在缓冲方式下,8259的输出信号作为缓冲器的<BR>启动信号,用来启动总线驱动器,在8259A与CPU之间进行信息交换.<BR>(2).非缓冲方式<BR>当系统中只有一片或几片8259A芯片时,可以将数据总线直接与系统数据<BR>总线相连,这时8259A处于非缓冲方式下.<BR>在这种方式下,8259A的作为输入端设置,主片应接高电平,从片<BR>应接低电平.<BR>5.引入中断请求的方式<BR>按照引入中断请求的方式,8259A有下列几种工作方式:<BR>(1).边沿触发方式<BR>8259A将中断请求输入端出现的上升沿,作为中断请求信号,上升沿后<BR>相应引脚,可以一直保持高电平.<BR>(2).电平触发方式<BR>8259A将中断请求输入端出现的高电平作为中断请求信号,在这种方式<BR>下,必须注意:中断响应之后,高电平必须及时撤除,否则,在CPU响应中断,<BR>开中断之后,会引起第二次不应该有的中断.<BR>(3).中断查询方式<BR>当系统中的中断源很多,超过64个时,则可以使8259A工作在查询方式下,<BR>中断查询方式的特点是:<BR>中断源仍往8259A发中断请求,但8259A却不使用INT信号向CPU发中<BR>断请求信号.<BR>CPU内部的中断允许标志复位,所以CPU对INT引脚上出现的中断请求<BR>呈禁止状态.<BR>CPU
用软件查询的方法来确定中断源,从而实现对设备的中断服务,可<BR>见,中断查询方式,既有中断的特点,又有查询的特点,从外设的角度来看,<BR>是靠中断的方式来请求服务,但从CPU的角度来看,是用查询方式来确定发中<BR>断请求的中断源.<BR>查询是通过CPU向8259A发查询命令来实现的,查询命令字由OCW3构成的,<BR>其格式如下:<BR>D7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -