欢迎来到天天文库
浏览记录
ID:13803531
大小:114.00 KB
页数:4页
时间:2018-07-24
《新第5章 基于裸机的微机软件体系》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章:基于裸机的微机软件组织5.1概述图5-1微型计算机系统图裸机指没有装载任何软件的计算机,设图5-1微机系统为裸机,它上面将要加载的程序主要有一段主程序和与接口i相关的程序(i=1,2,……,n)。若接口i是可编程接口。则与接口i相关的程序有两段,见图5-2。则微机的整个软件系统共有2n+1段程序。何时运行哪一段程序都应有一定规则,本章要讨论的是如何确定这些规则并实施之,也就是如何组织软件。因为计算机开机运行的总是主程序,“软件组织”的通俗解释就是图5-2的程序如何与主程序发生关系。接口i的初始化程序比较好办,可以并入主程序的图5-2关于接口i的程序系统初始化部分,要讨论的
2、问题是任何组织接口i的输入/输出程序(i=1,2,……,n)。5.2软件控制式数据传输5.2.1直接I/O传输方式外部设备i若为始终就绪外设,则任何时候CPU都可以执行接口i的输入/输出程序。在这种条件下,接口i输入/输出程序可放在主程序的任何地方。5.2.2程序查询式I/O控制在这种I/O控制方式中,接口i与CPU之间的数据传送完全由CPU通过程序查询来实现。CPU通过反复查询接口i外设的状态,了解是否准备好了,是否需要服务,然后转入接口i输入/输出程序;如果外设未准备好,不需要服务,CPU则继续查询。5.2.3中断驱动式I/O控制在这种控制方式中,接口i与CPU之间的数据传送
3、过程:①外设与接口i交换数据,接口i数据就绪后向CPU发出的中断请求i;②CPU响应中断请求,执行接口i输入/输出程序。5.3I/O接口中的中断技术5.3.1中断的基本概念为了实现中断概念,微机系统必须三方面配合:①各接口能发出中断请求;②是微机系统有中断控制机构;③是CPU具有中断功能。图5-6为突出三个功能的微机系统图。图5-6微型计算机系统图发出中断请求者称为中断源,接口i即中断源i,接口i的输入/输出程序改名为中断服务程序(i=1,2,……,n)。用有向线段表示程序时,则图5-5变为图5-7。图中各程序都存储在图5-6存储器中,每个程序首条指令所在地址称为该程序的入口地址
4、。CPU的中断功能见图5-8之Ⅲ、Ⅳ。中断技术蕴含四个方面:中断请求、中断响应、中断服务和中断返回。下面我们逐条学习之1.中断请求见图5-6,该请求由中断源i发出给中断控制器。中断控制器确认中断源i后,经向CPU上传中断请求,为图5-8Ⅲ的判断提供标识;同时为图5-8Ⅳ提供中断服务程序的入口地址信息(一般经过数据总线)。此亦即中断控制器的主要功能。图5-7裸机上的软件组织图5-8CPU工作原理图2.中断响应CPU的工作遵循图5-8,在第Ⅲ步发现中断控制器送来的中断请求,进入第Ⅳ步中断响应:⑴保护断点。断点是“被中断指令”在存储器中的地址,如图5-7所示。保护断点的方法是将断点压入
5、栈顶;保护断点的目的是为中断返回做准备。⑵撤销中断请求标识。中断已经响应,中断请求标识已没有必要存在,避免一次中断请求的重复响应。⑶设置“优先级激活”触发器。阻断同优先级中断源和低优先级中断源的中断请求。⑷修改PC。这是中断响应最重要的工作,所以图5-8中给出这一点。其“中断服务程序入口地址”由中断控制器提供。中断响应后,CPU由第Ⅳ步再循环到第I步时,执行的将是中断服务程序。这正是我们所期盼的。3.中断服务中断源i请求中断的目的是得到CPU的服务,这种服务体现在CPU执行中断服务程序。4.中断返回中断服务程序最后一条指令必是中断返回指令,见图5-7。该指令的执行会将栈顶数据(即
6、断点)弹入PC。当CPU下一次“从存储器(PC)处取指”时(见图5-8),取的就是“被中断指令”了。实现了中断返回。5.3.2中断的开关、屏蔽与禁允在图5-6中,CPU收到中断请求,但不响应,称为CPU的中断被关闭了,反之则称为中断打开了。开中断和关中断通过设置CPU中断允许触发器完成。中断控制器收到接口i的中断请求但不上传到CPU,称为接口i的中断被屏蔽了。屏蔽中断和打开屏蔽的方法是设置中断控制器中相应寄存器。此外还可以设置接口i,使之发不出中断请求,称为中断禁止;反之称为中断允许。比如第3章的8255的INTE的设置。5.3.3中断优先级与中断嵌套5.3.4中断响应条件5.3
7、.5中断服务过程当满足上述条件时,CPU就响应中断请求,然后执行为之服务的中断服务程序。中断服务程序一般如图5-10所示。(1)关中断。目的是保证在保护现场时CPU不响应新的中断。(2)保护现场。“现场”指被中断程序产生的,中断返回后还要用的中间结果。CPU执行中断服务程序时不能破坏它们。换句话说,中断服务程序不能影响被中断程序的继续运行。因此必须首先“现场”保护起来,以备中断返回后,能从断点开始正确执行原程序。要保护的“现场”通常包括:·CPU的标识寄存器。·中断服务程序中将用
此文档下载收益归作者所有