在“微机技术”中,中断技术的引入解决了主机与外设之间数据交换的许多实际问题.8259A可编程中断控制器是设备中断系统的中心。
芯片进行编程以处理计算机的大量中断。文从8259A的角度识别中断,并详细分析了初始化过程和编程过程中涉及的控制字,以提供有关中断的学习思路。断;可编程控制器8259A;控制字简介最初,中断技术被引入计算机系统,只是为了解决快速处理器和慢速外围设备之间的数据传输矛盾。着计算机技术的发展,通过中断技术实现了越来越多的功能,例如计算机故障的自动检测和处理,实时信息处理,多程序时间共享以及人机交互。断具有越来越多的功能,具体实现相对复杂,胜任中断控制器的工作方法尤为重要。断中断是指在程序执行期间,由于某些外围设备请求或内部事件,CPU强制CPU停止正在运行的程序,并且专用于该事件的服务。件服务完成后,它可以自动返回到。中断的程序继续运行。断的智慧来自生活。
如,当我们观看DVD并且热水沸腾时,我们会停下来处理沸水,然后返回以继续。断要求硬件和软件一起工作以形成中断系统。断通常分为外部和内部中断,外部中断也称为硬件中断,也分为不可屏蔽和可屏蔽中断,这些中断是通过CPU的NMI和INTR引脚请求的。部中断,也称为软件中断,是内部程序调试。程序异常和程序设计必须主动定义必要的中断,但是对于CPU,只有一种类型的中断,而该过程是执行中断服务程序。A和中断处理芯片8259A为了帮助处理器管理中断,英特尔公司专门为80X86处理器设计了可编程中断控制器。芯片具有强大的中断管理功能。个8259A芯片可以处理8个外部中断,并且可以中断中断。效的屏蔽,仲裁的多个中断,嵌套,几种终止方法的管理,该芯片还提供了级联功能,不需要额外的电路即可连接到CPU。断过程中断过程通常包括中断请求,中断响应,仲裁,执行中断和返回。面用8259A内部结构图描述该过程:内部结构图如图1所示。断请求:当级别或转换触发外部中断请求时,它是当中断被授权时,通过INT引脚将请求发送到CPU;通过IRI引脚进行记录,然后通过IMR寄存器进行过滤。断响应:当IF = 1时,并且当CPU完成执行中的指令执行时,它将检测到INT引脚并在有请求时向请求提供响应信号。裁:8259A收到响应信号后,会判断IRI的优先级,并将最高优先级的请求发送给ISR 8259A。先级管理是许多工作方法之一,它是通过OCW2定义的:进行中断:准备好执行中断的所有过程。断服务程序可以是系统的,也可以是用户编写的,并且中断向量必须正确组织。过程还反映了8259A处理中断的灵活性。return:执行中断服务程序后,返回被中断的程序并继续执行。上过程是连续的,需要软件和硬件的配合。件取决于电路,软件取决于程序。
序设计A的要点A操作的模式设置和操作过程中的控制取决于8086发送的控制字(代码1字节)。制字分为控制字d。始化和操作命令字系统写入8259A的两个端口之一。于8259A受端口选择线A0的限制,因此芯片上的寄存器只能使用两个端口地址,因此要使用多个寄存器。于同一端口,为了区分不同的寄存器,某些寄存器用指示符定义。

8259A根据端口号指示符和接收到的控制字的顺序确定控制字的属性。体地,ICW(初始化命令字)具有严格的接收顺序。求,操作命令字(OCW)具有端口号要求。始化过程共有四个初始化命令字:ICW1至ICW4,需要接收序列。文中不再重复每个初始化命令字的具体含义。始化过程以流程图的形式给出:初始化过程如图2所示。先,芯片本身是初始化的,即触发方法,是否是级联的,等等,因为必须预先组织硬件参数,所以参数是在第一步ICW1中完成,然后用奇数地址替换,并在ICW2中预定义了中断类型代码,此处仅给出了高5位,恒温阀芯而D2〜D0位取决于IR0〜的中断IR7。ICW2将组合发送到CPU之后; ICW3用于定义多芯片级联。果没有直接访问ICW4,如果有级联,则必须在主ICW3中与芯片初始化过程分开编写并且两者的级联位置是对应的; ICW4主要用于定义中断模式的结束。始化过程涉及中断系统的软件和硬件的许多问题。旦初始化完成,相应的硬件和中断服务程序也将受此约束,因此,对中断系统有总体控制权的程序员必须完成初始化工作。
统启动后,BIOS将自动执行系统8259A的初始化。户在使用过程中无法对其进行初始化。共有三个8259A命令字操作字。OCW1用于定义中断屏蔽,OCW2用于定义中断优先级和中断模式字的结尾,OCW3用于定义和清除特殊屏蔽模式并读取状态从注册表中。OCW1比较容易理解。用于定义中断屏蔽并将其写入IMR,以实现外部中断信号的屏蔽功能。OCW2比较复杂,具体格式如下:该命令字涉及仲裁和结束中断两种方法。这种模式下,它必须与D2〜D0位配合使用。况比较复杂。多数程序员应参考R,SL和EOI组合功能表来确定操作模式。们从优先级和中断方法本身来检查OCW2中的设计器。到的智慧,对命令词的深刻理解。制字的位R表示“循环”优先级控制,而EOI表示结束方法。控制角度来看,只有这两个位才需要与4种组合(分别为00、01、10和11)配合使用,这表示优先级不是周期性的。自动结束,优先级不循环而是发送结束命令,定义优先级循环而不是结束发送命令,优先级循环和结束发送命令。工作方法的角度来看,优先级8259A分为固定优先级和循环优先级,固定优先级也分为完全嵌套的普通模式和完全嵌套的特殊模式,循环优先级也分为自动循环和循环。殊循环。们注意到,R的单个位的定义只能代表两种情况,因此,根据特定含义,设计人员引入了SL,即定义的级别。及“特殊方法”的任何人都必须将SL 1位与D2〜D0位进行匹配。此方式描述了这四个优先级模式。外,终止方法分为两类:中断自动终止和中断非自动终止。

自动终止还包括常规和特殊终止。以前一样,特殊含义是必须另外指定。于某种程度的中断,EOI无法清楚地表明这三种方法,因此SL合作也是必要的。SL在这里已成为双重职位。果SL不生效,则R和EOI是常规方法。此,一旦SL生效,程序员必须知道是与R还是与EOI合作。了不混淆,R | SL |将EOI全1设置为“具有特殊优先级的循环模式初始队列中的最低优先级”,换句话说,SL分配的D2〜D0位为R,而不是EOI。OCW3 ESMM是SMM的“启用”位,因此ESMM位为0,并且SMM无效;否则,SMM无效。ESMM为1,SMM分为两种情况,0取消特殊掩码,1定义特殊掩码。外,CPU可以通过读取内部寄存器来读取8259的操作状态。RR为1以读取寄存器。RIS指定要读取的特定寄存器,RIS为1,并且读取ISR。RIS为0时,读取IRR。论通过以上对初始化过程和操作命令字的分析,有效地梳理了8259A的编程过程,并在程序设计中巩固了中断的各个环节。过对8259A的不同工作方法的深入了解,如何理解Program才能完成中断软硬件的有效配合。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com
