具有最大禁止中断期间测定功能的微型电子计算机的制作方法

文档序号:6410724阅读:98来源:国知局
专利名称:具有最大禁止中断期间测定功能的微型电子计算机的制作方法
技术领域
本发明涉及一种具有禁止中断功能的微型电子计算机,更具体地说,涉及具有包括使用者能容易地识别禁止中断期间的最大值的功能在内的最大禁止中断期间测定功能的微型电子计算机。
在开发装在微机中的程序时,往往需要测定程序中的禁止中断期间的长度。特别是有时需要判断禁止中断期间的长度的最大值是否超过允许范围。
图7是表示现有程序之一例的流程图。在该程序中,可考虑测定从在步ST71中变成禁止中断状态时开始,经过条件转移步骤(步ST72)及处理A(步ST73),直至在步ST75中变成允许中断状态时为止的时间的情况。
作为测定时间的一种方法,可采用程序开发时使用的仿真装置。采用该方法时,使用者在仿真装置中设定中断条件,以便在步ST75中使程序中断,在步ST72中,预先在处理A侧设定中断后,将程序起动。当中断条件成立时,即程序到达步ST75时,程序停止。一般情况下,仿真装置具有测量从程序开始时起至停止时为止的运行时间的功能。因此,使用者根据仿真装置上表示的程序的运行时间,就能知道禁止中断期间的长度。
作为测定时间的另一种方法,也可采用程序开发时使用的逻辑分析器。采用该方法时,使用者在探测器通过微机总线连接的逻辑分析器中设定例如与步ST17对应的地址数据作为起动触发条件。然后,将程序起动。如果起动触发条件成立,即程序通过步ST71后,逻辑分析器开始扫描。使用者从逻辑分析器的画面上读取从扫描开始时起至显示出与步ST75对应的地址的时刻为止的期间。这样,使用者就能知道禁止中断期间的长度。
另外,在步ST71中测定从变成禁止中断状态时开始,经过转移步(步ST72)及处理B(步ST74),直至在步ST76中变成允许中断状态时为止的时间时,也能利用上述方法测定禁止中断期间的长度。然后,取所测定的两个禁止中断期间的长度中较长者作为图7所示的程序的最大禁止中断期间。
开发大规模的程序时,使用者测定程序中的多数通路的禁止中断期间的长度,将所测定的各长度中最大者作为最大禁止中断期间。
采用这些方法时,使用者必须识别程序中包含各禁止中断步和允许中断步的全部通路。可是,如果是大规模的、复杂的程序,要识别全部通路是困难的。
图8、图9分别是日本专利公报特开昭50-142134号中所示的表示现有的禁止中断期间监视方式的框图及时间图。在图8中,81是计数器,82是计数器81的计数值91变为C1时发生中断原因92的时间中断原因发生电路,83是输入中断原因92、93及禁止中断信号96而输出中断信号94的中断电路,84是分析中断原因92、93的中断原因分析电路,85是与输入来自中断原因分析电路84的时间中断信号97的同时将预置值95输出给计数器81的时间中断电路。
其次说明工作情况。当禁止中断信号96无效时,中断电路83从时间中断原因发生电路82输入中断原因92后,将中断信号94输出给中断原因分析电路84。中断原因分析电路84识别出中断信号94的发生原因是时间中断后,将时间中断信号97输出给时间中断电路85。时间中断电路85输入时间中断信号97后,读取计数器81的计数值91,同时将预置值95输出给计数器81。预置值95是比C1大的值C2。
当禁止中断信号96无效时,发生中断原因92后,立刻发生时间中断信号97。因此,时间中断电路85读出的计数器81的计数值91是C1。可是,当禁止中断信号96有效时,即使发生中断原因92,中断电路83也不发生中断信号94。当禁止中断信号96变为无效时,中断电路83发生中断信号94。在禁止中断信号96变为无效之前,计数器81继续计数。在这种情况下,时间中断电路85输入时间中断信号97,同时计数器81的计数值91发生变化。在图9中表示在时刻t”^c”‰,禁止中断信号96变为有效,在时刻t”^o”‰,禁止中断信号96变为无效。因此,在时刻t”^o”‰,时间中断电路85读出的计数器81的计数值91是C4。
当时间中断电路85从计数器81读出计数值91后,将存储值和计数值--C1进行比较。计数值--C1是与禁止中断期间相当的值。如果禁止中断期间相当值超过存储值,便用中断期间相当值更新存储值。程序运行到某一程度后,读出存储值。这时的存储值相当于程序运行期间内的最大禁止中断期间。这样,使用者就能识别最大禁止中断期间。另外,特开昭50-142134号公报中所示的方式并不特定适用于微机,但该方式能适用于微机。
现有的具有最大禁止中断期间测定功能的微机如上构成,所以为了测定禁止中断期间,每当计数器81的计数值91变为C1时,中断处理便被起动。因此,用户程序被高频度的中断处理所中断。即,采用现有的方式时,测定禁止中断期间时,用户程序的运行时间被拖长,往往使得程序不能正常工作。其结果是导致禁止中断期间的测定也出现故障,这是所存在的一个课题。
本发明就是为了解决上述课题而开发的,其目的是获得一种具有在与用户程序的实际运行环境相同的环境中进行禁止中断期间的测定的最大禁止中断期间测定功能的微机。另外,所谓实际运行环境,是指不是调试时或检验时的环境,即,指程序被用于本来的目的的状态而言。
与本发明的第1方面有关的具有最大禁止中断期间测定功能的微机备有检测禁止中断状态开始时和结束时的禁止状态检测装置;在禁止中断状态开始时开始计数的计数装置;以及在禁止中断状态结束时输入计数装置的计数值、当断定所输入的计数值比以前输入的计数值大时,将该计数值存入存储装置中的比较装置。
与本发明的第2方面有关的具有最大禁止中断期间测定功能的微机,其禁止状态检测装置包括检测CPU的禁止中断标志的状态的禁止中断标志检测装置,通过禁止中断标志检测装置检测禁止中断标志向表示禁止中断的状态转移,来检测禁止中断状态的开始,通过检测禁止中断标志向表示允许中断的状态转移,来检测禁止中断状态的结束。
与本发明的第3方面有关的具有最大禁止中断期间测定功能的微机,其禁止状态检测装置包括检测CPU的禁止中断电平是否在规定值以上的禁止中断电平检测装置,通过禁止中断电平检测装置检测上述禁止中断电平在上述规定值以上,来检测禁止中断状态的开始,检测到开始后,通过检测禁止中断电平小于上述规定值,来检测禁止中断状态的结束。
与本发明的第4方面有关的具有最大禁止中断期间测定功能的微机,其计数装置包括在计数工作中当发生溢出时报告计数值溢出的装置。
与本发明的第5方面有关的具有最大禁止中断期间测定功能的微机,设有可由禁止状态检测装置进行的禁止中断状态开始时和结束时的检测的测定开始标志。


图1是本发明实施形态1的具有最大禁止中断期间测定功能的微机的主要部分的框图。
图2是测定控制寄存器的一个结构例的说明图。
图3是本发明实施形态1的最大禁止中断期间测定处理的流程图。
图4是本发明实施形态2的具有最大禁止中断期间测定功能的微机的主要部分的框图。
图5是测定控制寄存器的一个结构例的说明图。
图6是本发明实施形态2的最大禁止中断期间测定处理的流程图。
图7是现有程序之一例的流程图。
图8是现有的禁止中断期间监视方式的框图。
图9是现有的禁止中断期间监视方式的时间图。
以下说明实施本发明的实施例。实施例1图1是本发明实施例1的具有最大禁止中断期间测定功能的微机的主要部分的框图。图中,1是CPU,2是表示禁止中断标志的状态的禁止中断标志信号,3是表示禁止中断电平的禁止中断电平信号,4A是设定禁止中断测定电平、测定开始标志及时间溢出标志的测定控制寄存器,5是表示禁止中断测定电平的禁止中断测定电平信号,6是对禁止中断电平信号3和禁止中断测定电平信号5进行比较的比较器(禁止状态检测装置、禁止中断电平检测装置),8是取比较器6的输出和禁止中断标志信号2的逻辑与的逻辑与电路,11是当表示测定开始标志的状态的测定开始标志信号10有效时使逻辑与电路8的输出通过的逻辑积电路,12是将时间溢出标志置位的时间溢出信号,13是控制测量禁止中断期间的禁止中断期间计数计时器(计数装置)14的计时控制电路(禁止状态检测装置、禁止中断电平检测装置、禁止中断标志检测装置),15是对禁止中断期间计数计时器14的计数值和最大禁止中断期间存储寄存器(存储装置)16的内容进行比较的比较器(比较装置),17是微机的总线。
图2是测定控制寄存器4A的一个结构例的说明图。如图所示,测定控制寄存器4A包括3位的禁止中断测定电平区、测定开始标志及时间溢出标志。
其次,参照图3中的流程,说明工作情况。这里作为例子的微机能够处理多个中断,而且能对各中断设定中断优先度。比方说,能处理16个中断,能对各中断设定8种中断优先度中的任意一种。而且,还能根据程序设定禁止中断电平。例如,禁止中断电平设定为″5″时,则中断优先度为″5″以下的中断被禁止。禁止中断电平可设定在CPU1内的寄存器中。另外,该实施形态的微机有禁止能够禁止的全部中断的禁止中断命令及解除该命令的允许中断命令。执行禁止中断命令时,CPU1内的禁止中断标志被置位。
禁止具有某一特定优先度的中断时,程序便执行禁止中断命令,或者将禁止中断电平设定为该优先度以上的值。当禁止中断电平被设定为某中断优先度以上的值后,具有该值以下的优先度的中断被完全禁止。因此,测定与某中断对应的禁止中断期间时,必须测定禁止中断电平变为该中断优先度以上的值的期间的长度,或禁止中断标志被置位的期间的长度。
以下,以测定与中断优先度为″5″的中断对应的禁止中断期的情况为例,说明工作情况。这时,测定禁止中断期的使用者通过仿真装置等,将″5″设定在测定控制寄存器4A的禁止中断测定电平区(步ST31)。另外,将测定控制寄存器4A内的测定开始标志置位(步ST32)。然后,将程序起动(步ST33)。
在程序运行过程中执行禁止中断命令时,CPU1将禁止中断标志置位。禁止中断标志的状态被反应在禁止中断标志信号2中,所以禁止中断标志信号2变为有效状态。在该实施形态的情况下,禁止中断标志信号2变为高电平。有效的禁止中断标志信号2通过逻辑与电路8,另外,由于测定开始标志信号10有效,所以通过逻辑积电路11。即,在逻辑积电路11的输出中出现有效信号。当逻辑积电路11的输出有效时,计时控制电路13将禁止中断期间计数计时器14复位。于是,禁止中断期间计数计时器14从初始值开始计数。
在程序运行过程中执行允许中断命令时,CPU1将禁止中断标志复位。因此,禁止中断标志信号2变为无效状态。在该实施形态的情况下,禁止中断标志信号2变为低电平。于是,在逻辑积电路11的输出中出现无效信号。当逻辑积电路11的输出从有效状态变为无效状态时,计时控制电路13将禁止中断期间计数计时器14停止。
当逻辑积电路11的输出从有效状态变为无效状态时,比较器15读出禁止中断期间计数计时器14的计数值和最大禁止中断期间存储寄存器16中存储的值。然后,对两者进行比较。当禁止中断期间计数计时器14的计数值比最大禁止中断期间存储寄存器16中存储的值大时,将该计数值设定在最大禁止中断期间存储寄存器16中。另外,当禁止中断期间计数计时器14进行计数工作时,如果发生溢出,则禁止中断期间计数计时器14将测定控制寄存器4A内的溢出标志置位。
由于″5″被输出给禁止中断测定电平信号5,所以当禁止中断电平信号3中出现″5″以上的值时,比较器6输出有效信号。这时,变为高电平。在程序运行过程中,作为禁止中断电平信号3,输出禁止中断电平。因此,在程序运行过程中,禁止中断电平被设定为″5″以上时,比较器6输出有效信号。来自比较器6的有效信号通过逻辑与电路8,由于测定开始标志信号10有效,所以还通过逻辑积电路11。即,在逻辑积电路11的输出中出现有效信号。当逻辑积电路11的输出有效时,计时控制电路13将禁止中断期间计数计时器14复位。于是,禁止中断期间计数计时器14从初始值开始计数。
在程序运行过程中,将禁止中断电平设定为比″5″小的值时,比较器6输出无效信号。这时,变为低电平。如果不输出有效的禁止中断标志信号2,则在逻辑积电路11的输出中出现无效信号。当逻辑积电路11的输出从有效状态变为无效状态时,计时控制电路13将禁止中断期间计数计时器14停止。此后,比较器15象已经说明过的那样工作,必要时,更新最大禁止中断期间存储寄存器16的设定值。
程序的运行继续某种程度后,或者程序到达所希望的地址时,使用者将程序停止。然后,通过仿真装置等读出测定控制寄存器4A的内容。当测定控制寄存器4A中的溢出标志被置位时,在程序运行过程中,禁止中断期间计数计时器14溢出一次以上。因此,当禁止中断期间计数计时器14溢出时,得不到正确的计数值,所以使用者确认禁止中断期间计数计时器14溢出后(步ST34),便断定不能正确地测定最大禁止中断期间(步ST36)。可是,即使这时也能识别存在超过禁止中断期间计数计时器14的最大可能计数值的长期间的禁止中断期间。
如果禁止中断期间计数计时器14未溢出(步ST34),使用者通过仿真装置等,读出最大禁止中断期间存储寄存器16的内容(步ST35),与程序运行过程中的最大禁止中断期间对应的计数值通过比较器15,被存入最大禁止中断期间存储寄存器16中。于是,使用者根据最大禁止中断期间存储寄存器16的存储值,能立刻识别最大禁止中断期间。
如上所述,如果采用本实施形态1,使用者能容易地识别程序中的任意范围内的最大禁止中断期间。另外,能将任意的禁止中断测定电平设定在测定控制寄存器4A中,所以能测定任意优先度以下的禁止中断的期间。另外,利用安装在微机内的测定控制寄存器4A内的测定开始标志,能使禁止中断期间的测定开始/停止,因此,增加了使用仿真装置等的程序的测试的适应性。实施例2图4是本发明第2实施例的具有最大禁止中断期间测定功能的微机的主要部分的框图。图中,1是CPU,2是表示禁止中断标志的状态的禁止中断标志信号,4B是设定测定开始标志及时间溢出标志的测定控制寄存器,11是当表示测定开始标志的状态的测定开始标志信号10有效时使禁止中断标志信号2通过的逻辑与电路,12是将时间溢出标志置位的时间溢出信号,13是控制测量禁止中断期间的禁止中断期间计数计时器14的计时控制电路,15是对禁止中断期间计数计时器14的计数值和最大禁止中断期间存储寄存器16的内容进行比较的比较器,17是微机的总线。与实施例1相比较,在该实施例中,用禁止中断电平进行的测定禁止中断区间的部分被删除。
图5是测定控制寄存器4B的一个结构例的说明图。如图所示,测定控制寄存器4B包括测定开始标志及时间溢出标志。
其次,参照图6中的流程,说明工作情况。这里作为例子的微机处理多个中断,而且,至少有禁止能够禁止的全部中断的禁止中断命令及解除该命令的允许中断命令。测定禁止中断期间的使用者通过仿真装置等,将测定控制寄存器4B内的测定开始标志置位(步ST61)。然后将程序起动(步ST62)。
在程序运行过程中执行禁止中断命令时,CPU1将禁止中断标志置位。于是,禁止中断标志信号2变为有效状态。在该实施形态的情况下,禁止中断标志信号2变为高电平。由于测定开始标志信号10有效,所以有效的禁止中断标志信号2通过逻辑与电路11。即,在逻辑与电路11的输出中出现有效信号。当逻辑与电路11的输出有效时,计时控制电路13将禁止中断期间计数计时器14复位。于是,禁止中断期间计数计时器14从初始值开始计数。
在程序运行过程中执行允许中断命令时,CPU1将禁止中断标志复位。因此,禁止中断标志信号2变为无效状态。在该实施形态的情况下,禁止中断标志信号2变为低电平。于是,在逻辑与电路11的输出中出现无效信号。当逻辑与电路11的输出从有效状态变为无效状态时,计时控制电路13将禁止中断期间计数计时器14停止。
当逻辑与电路11的输出从有效状态变为无效状态时,比较器15读出禁止中断期间计数计时器14的计数值和最大禁止中断期间存储寄存器16中存储的值。然后,对两者进行比较。当禁止中断期间计数计时器14的计数值比最大禁止中断期间存储寄存器16中存储的值大时,将该计数值设定在最大禁止中断期间存储寄存器16中。另外,当禁止中断期间计数计时器14进行计数工作时,如果发生溢出,则禁止中断期间计数计时器14将测定控制寄存器4B内的溢出标志置位。
程序的运行继续某种程度后,或者程序到达所希望的地址时,使用者将程序停止。然后,通过仿真装置等,读出测定控制寄存器4B的内容。当测定控制寄存器4B中的溢出标志被置位时,在程序运行过程中,禁止中断期间计数计时器14溢出一次以上。因此,当禁止中断期间计数计时器14溢出时,得不到正确的计数值,所以使用者确认禁止中断期间计数计时器14溢出后(步ST63),便断定不能正确地测定最大禁止中断期间(步ST65)。可是,即使这时也能识别存在超过禁止中断期间计数计时器14的最大可能计数值的长期间的禁止中断期间。
如果禁止中断期间计数计时器14未溢出(步ST63),使用者通过仿真装置等,读出最大禁止中断期间存储寄存器16的内容(步ST64),与程序运行过程中的最大禁止中断期间对应的计数值通过比较器15,被存入最大禁止中断期间存储寄存器16中。于是,使用者根据最大禁止中断期间存储寄存器16的存储值,能立刻识别最大禁止中断期间。
如上所述,如果采用第1方面的本发明,则由于这样构成微机,即当禁止中断状态开始时,开始计数,当禁止中断状态结束时的计数值大于以前输入的计数值时,存储计数值,所以具有即使使用者不能识别包含禁止中断步骤及允许中断步骤的通路,也能识别程序中的最大禁止中断期间的效果。另外,具有测定禁止中断期间时的程序的运行时间与实际运行环境中的运行时间不变,能正确地进行禁止中断期间的测量的效果。
如果采用第2方面的本发明,则由于微机具有检测CPU的禁止中断标志的状态的禁止中断标志检测装置,所以具有能容易地识别程序中的任意范围内的最大禁止中断期间的效果。
如果采用第3方面的本发明,则由于微机具有检测CPU的禁止中断电平是否在规定值以上的禁止中断电平检测装置,所以具有能测定任意优先度以下的中断被禁止的期间的效果。
如果采用第4方面的本发明,则由于微机的计数装置具有当在计数过程中发生溢出时报告计数值溢出的装置,所以具有能识别存在超过计数装置的最大可能计数值的长期间的禁止中断期间。
如果采用第5方面的本发明,则由于微机设有可由禁止状态检测装置检测禁止中断状态的开始时和结束时的测定开始标志,所以能使禁止中断期间的测定开始/停止,增加了使用仿真装置等的程序的测试的适应性。
权利要求
1.一种具有最大禁止中断期间测定功能的微形电子计算机,其特征在于存储表示程序内的最大禁止中断期间的值用的存储装置;检测禁止中断状态开始时和结束时的禁止状态检测装置;上述禁止状态检测装置检测到禁止中断状态开始时,开始计数的计数装置;以及上述禁止状态检测装置检测到禁止中断状态结束时,输入上述计数装置的计数值、当断定该计数值比上述存储装置中存储的值大时,用该计数值更新上述存储装置的内容的比较装置。
2.根据权利要求1所述的具有最大禁止中断期间测定功能的微形电子计算机,其特征在于上述禁止状态检测装置包括检测CPU的禁止中断标志的状态的禁止中断标志检测装置,通过上述禁止中断标志检测装置检测上述禁止中断标志向表示禁止中断的状态转移,来检测禁止中断状态的开始,通过上述禁止中断标志检测装置检测上述禁止中断标志向表示允许中断的状态转移,来检测禁止中断状态的结束。
3.根据权利要求1或2所述的具有最大禁止中断期间测定功能的微形电子计算机,其特征在于上述禁止状态检测装置包括检测CPU的禁止中断电平是否在规定值以上的禁止中断电平检测装置,通过上述禁止中断电平检测装置检测上述禁止中断电平在上述规定值以上,来检测禁止中断状态的开始,检测到上述开始后,通过上述禁止中断电平检测装置检测上述禁止中断电平小于上述规定值,来检测禁止中断状态的结束。
4.根据权利要求1至3中的任意一项所述的具有最大禁止中断期间测定功能的微形电子计算机,其特征在于上述计数装置包括在计数过程中当发生溢出时报告计数值溢出的装置。
5.根据权利要求1至3中的任意一项所述的具有最大禁止中断期间测定功能的微形电子计算机,其特征在于设有可由上述禁止状态检测装置进行的禁止中断状态开始时和结束时的检测的测定开始标志。
全文摘要
测定最大禁止中断期间时,存在的问题是使用者必须识别程序中分别包含禁止中断步骤及允许中断步骤的各通路。本发明的解决方法是,计时控制电路13检测禁止中断状态的开始时刻和结束时刻。禁止中断期间计数计时器14在禁止中断状态开始时开始计数。比较器15在禁止中断状态结束时,输入计数值,当断定该计数值比以前输入的计数值大时,将该计数值存入最大禁止中断期间存储寄存器16。
文档编号G06F13/20GK1165993SQ96118518
公开日1997年11月26日 申请日期1996年11月28日 优先权日1996年5月16日
发明者村木宏行, 福井昭也 申请人:三菱电机半导体软件株式会社, 三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1