该课题在编写后,我们能在测试程序上看到该程序运行的走向和结果。在int D8259::DrawObject(CDC* pDC)这个构造函数中,我们加入了对8259A内部框图的编写,这样使我们看到更加直观和生动,更能理解电路的运行原理。
摘 要 中断是计算机系统中十分重要的一种机制。它是解决外部设备和系统连接的很好途径,有效地实现了外部设备与CPU的并行工作。在实际应用中,除了要考虑如何对中断控制器编程进行的问题,还要对采用中断方式进行I/O控制的接口电路进行设计。中断是一种信号,它告诉微处理器已发生了某种需要特别注意的事件,需要去处理或为其服务。在本课题中我们深刻的了解到了8259A的工作方式,工作原理和工作状况;同时知道了中断存在的重要意义,中断通俗的理解可以认为是“异常”,在有异常发生的情况下产生的情况,在两件摆在眼前的事物中选择更需要立刻执行响应的程序,即是在中断中所说的优先级。我们运用编程技术,将8259A芯片仿真式的展现出来,用C++结合程序结构,编程演示其内部的工作机理。利用程序的设计,将芯片的工作原理通过实验平台给大家一个直观的演示,以便对中断的概念理解得更透彻。
关键词:8259A;优先级;状态机;可视化;仿真
The Design of Interrupt Controller Functional Demo of Visual Design Abstract The interruption is a important function in each computer system. Interruption is the solution of external equipment and systems is a good way to connect, it availably carried out exterior equipments and proceed together of CPU a work.In physically appliedly, in addition to want to consider how to break off a controller plait the distance carry on of problem, also want to break off a way to carry on I/O to control to the adoption of connect a people's electric circuit to carry on a design.The interruption is a kind of signal, it tells that the microprocessor has already taken place a certain demand specially notices of affairs, need a whereabouts reason or contribute efforts to it.We deeply understood the work method with 8259A in this topic, work principle and work condition;Knew to break off existent important meaning in the meantime, break off the popular comprehension can think to be a "abnormality", under the sistuation that have excrescent occurrence output circumstance, at two procedures which put in the at present thing to win election to choose to even need to immediately carry out to respond to, is in the interruption say of have the initiative class.Our usage weaves a distance technique, 8259A the chip imitate the display of true type to come out and use C++combine procedure structure, weave a distance to play to show it inner part of work mechanism.Make use of the design of procedure, pass the work principle of chip experiment terrace to everyone's a consciousness which keeps a view, make everyone to understand the mean of interruption more very clear..
Key words: 8259A;priority; state machine;visual; emulation 可视化的理解说明 什么叫可视化?每个语言本身都是“不可视”的,仅仅是语言而已;所谓“可视化”不过是支持该语言的IDE(通俗点说就是编程工具)所提供的功能,让你在编窗口等一些“看到着”的程序时可以使用拖拽等可视化操作。 可视化就是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机视觉、计算机辅助设计等多个领域,成为研究数据表示、数据处理、决策分析等一系列问题的综合技术。可视化技术最早运用于计算科学中,并形成了可视化技术的一个重要分支——科学计算可视化(Visualization in Scientific Computing)。科学计算可视化能够把科学数据,包括测量获得的数值、图像或是计算中涉及、产生的数字信息变为直观的、以图形图像信息表示的、随时间和空间变化的物理现象或物理量呈现在研究者面前,使他们能够观察、模拟和计算。科学计算可视化自1987年提出以来,在各工程和计算领域得到了广泛的应用和发展。Visual C++提供了一个支持可视化编程的集成开发环境:Visual Studio(又名Developer Studio)。Developer Studio是一个通用的应用程序集成开发环境。 可视化是指能使程序在实验台上得到实现和得到真实直观的效果图。这是由我们这组的一个同学单独做到,同时能让我的程序和他的实验台能相互得到实现,相互制约相互响应和发出信号。 使用类视图显示所有已定义的类以及这些类中的数据成员、成员变量。Visual C++自动从项目工作区中所包含的源程序文件中分离出类。
8259A有下列工作特点: 1、1片8259A能管理8级中断,并且,在基本不增加其他电路的情况下,可以用9片8259A来构成64级的主从式中断系统。 2、由于8259A是可编程的,所以使用起来非常灵活。实际系统中,可以通过编程使8259A工作在多种不同的方式。 3、8259A用NMOS工艺制造,只需要一组5V电源。 8259A具有以下主要功能: ①具有8级优先权控制,通过级联可扩展至64级优先权控制; ②每一级中断都可以屏蔽或允许; ③在中断响应周期,8259A可提供相应的中断向量,从而能迅速转入中断服务程序; ④8259A有几种中断管理模式,可以通过编程进行选择。
该课题的主要研究方向和研究方法 该课题是对8259A芯片的工作工程进行可视化的演示,同时需要把芯片自身的功能结合程序结构编程演示其内部的工作机理。同时使我们在学习编写程序的基础上明白计算机系统的内部的构造和系统。 对于计算机使用者来说,我们常常只看到了计算机工作却不知道他是怎么进行和完成工作的,计算机的内部是又许多芯片组成的,每个芯片都有它必不可少的作用,本课题就是让你了解到各个不同芯片的作用、工作原理、工作方式和工作状况等。通过对每个芯片的了解从而进一步的了解到计算机系统。笔者所做的是关于中断接口这一模块,而控制中断的芯片是8259A。它的主要作用是和CPU之间互相交换中断的信息,而8259A的中断屏蔽寄存器IMR可以屏蔽一个或几个IR的中断请求,它加强了对中断的控制能力。而且8259A是内部主动的初始化芯片,即是我们常说的仿真式的初始化,这是其一个重要的特点。 在以前的学习过程中,我们对8259A这个芯片不是特别的了解,所以我们要通过对其内部的初始化编程、工作方式的编程、操作命令字的编程等将其统一起来。 在这次研究中,我们为了更加明确真实的显示出芯片的工作状况和工作原理,我们用代码仿真式的编程出每个器件和芯片。使我们在不需要真实物品的情况下同样能把整个中断或是其他的响应过程都真实的展现在大家的眼前。 对于我们一整个小组而言,需要的是把各个芯片结合起来使计算机系统能完成各个响应,同时使其能在实验台上真实的演示,得到直观的视图。其中运用到C、C++、VC++6.0三种语言,在实验台这个平台上让我们对程序的流程及中断的工作方式得到详细的理解。
目 录 1 引言 1 1.1 实验台的现状说明和设计目标 1 1.2 8259A的外部引脚图 2 1.3 8259A的内部结构 4 1.4 中断优先级分析器的工作原理 5 1.5 8259A的工作原理 6 1.6 该课题的主要研究方向和研究方法 7 2 对该课题的部分概念的重点说明 7 2.1 可视化的理解说明 7 2.2 访真式编程的理解说明 9 2.3 状态机的理解说明 9 2.4 CPU与8259A之间的转换方式 10 3 代码的编写工作以及说明 11 3.1 对代码的初步设计工作 11 3.2 对基类和派生类的主要函数的解释说明 12 3.2.1 对基类中部分函数的解说 12 3.2.2 对派生类中部分函数的解说 13 3.3 对各器件的初始化编程 14 (毕业设计) 3.4 对部分代码的说明 19 3.4.1 固定值的定义方式 20 3.4.2 与CPU之间的连接线定义方式 21 3.4.3 判断优先级的引脚设定 22 3.4.5 读写信号的设定 24 3.5 实现中断要求的程序解说 24 4 测试结果与工作总结 25 结 论 26 参 考 文 献 27 致 谢 28 声 明 29
|