[发明专利]用于修改静态存储装置中微指令的方法和设备无效
申请号: | 00812750.6 | 申请日: | 2000-09-14 |
公开(公告)号: | CN1373872A | 公开(公告)日: | 2002-10-09 |
发明(设计)人: | 李维新;G·B·福斯特;张立;周群真 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F11/00 | 分类号: | G06F11/00 |
代理公司: | 上海专利商标事务所 | 代理人: | 沈昭坤 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 修改 静态 存储 装置 指令 方法 设备 | ||
技术领域
本发明涉及用于微处理器的控制存储器领域。具体说,本发明涉及对同时使用只读存储器(ROM)和随机存储器(RAM)的控制存储器装置的修改。
背景技术
控制存储器含有控制微处理器数据通路的可执行微指令。在一些机器上,控制存储器由RAM组成,而在其他机器中,控制存储器就是ROM。RAM的内容很容易用新的信息进行重写。然而,RAM是易失的,即RAM的内容仅在给电路施加电源的这段时间周期期间能够保持。相反,ROM的内容是在ROM制造时插入,并且即使在断电时也不能被改动或擦除。
当大规模制造时,ROM比RAM便宜很多。处于对RAM和ROM成本的考虑,微码程序员通常用RAM设计新的电路,以便可以很容易地修正程序错误,但是在最终设计阶段,为了将生产成本减至最小,就用ROM取代RAM。然而,即使是最严格的设计检验也会遗漏程序错误,而这些错误将随后永久嵌入在静态ROM中。
当在存储于ROM中的微指令集中发现有程序错误时,程序员就创建补丁来修正错误。在本领域中的“补丁”术语是指引入用于修正先前代码或添加新功能的新代码。微指令整体上称为“代码”,并且以模块方式进行设计,其中整个代码由单独的子程序组成。因此,可以对代码中某部分的错误进行隔离和修正,而不需要对整个代码都进行重写。当发现缺陷子程序时,程序员将创建没有错误的副本子程序,该子程序会取代缺陷子程序被程序流程调用。通过同时使用RAM和ROM存储微指令集的系统就可能实现这种技术。子程序通常存储在ROM中,而调用子程序的主程序代码则存储在RAM中。因为程序流程按RAM中的微指令集进行,所以,来自主代码的出口点就允许程序流程执行ROM中子程序的微指令。当子程序已经执行,程序流程就退出子程序,并且重返RAM中的主代码。然而,当在子程序中发现错误时,对应于缺陷子程序的出口点无效,并且程序员必须用新的子程序修补错误。因为ROM为静态,所以这个新的子程序必须存储在RAM中。
由于除主代码中的预定点外就不能进入或退出缺陷子程序,所以,这种方法就比较缺乏灵活性。另外,因为为了修正子程序中的程序错误,无论错误是多么次要也必须在RAM中复制整个子程序,因而,这种方法浪费了空间。本领域需要在程序中具有更加灵活的ROM和RAM间的出口和进入点。另外,需要将修正ROM中程序错误所需的RMA容量减至最小。
发明内容
本发明定位于一种为使程序员对ROM微指令具有更直接的访问和控制,而对驻留在ROM中的微指令程序流程进行修改的方法和设备。因为不能对ROM中的微指令进行改动,所以,任何所需的对微指令集的变化都必须在RAM中进行。本发明允许程序员直接访问ROM中的程序错误,而不需要在RAM中复制整个子程序。本发明也允许程序员给陈旧的ROM添加新的功能,而不是用新设计的ROM来取代旧的ROM。
本发明的示范实施例是一种用于对静态存储装置中的程序流程进行修改的方法,该方法包括产生触发从静态存储装置到可编程存储装置的跳转的中断的步骤。
在本发明的一个实施例中,跳转点寄存器用于保持跳转点的地址。该跳转点会触发程序流程中的中断事件。程序计数器含有程序流程中当前微指令的地址。如果程序计数器保留有与跳转点寄存器中跳转点地址相等的地址,就产生中断事件。这个中断事件开始在程序流程中进行从静态存储装置到可编程存储装置的改变。
在本发明的一个实施例中,中断事件可以用于修复静态存储装置的程序错误。程序员可以创建针对驻留在静态存储装置中缺陷代码部分的补丁。随后,程序员可以将出口地址存储在寄存器或其他存储装置中,其中出口地址对应于缺陷代码部分中预定微指令的地址。将出口地址与所有在程序流程中执行的微指令进行比较。当在程序流程中出现预定的微指令,就执行补丁中的微指令。
在本发明的另一实施例中,中断事件可以在程序流程中产生给静态存储装置添加功能的改变。这种改变可以是存储在可编程存储装置中的附加代码形式,该形式可以在执行来自静态存储装置的微代码的中间执行。
在本发明的另一实施例中,多个跳转点寄存器可以与相应的比较器一起与中断端口耦合,该端口可以使每个单独的跳转点寄存器有效或无效。每个单独的跳转点寄存器可以与单独的中断事件关联。因此,使用多个跳转点寄存器给程序员提供了灵活性,并且允许她根据将来的需要方便地分配跳转点寄存器。
这种修改减少了用于修正ROM中错误所需的RAM容量,并且改进了ROM的功能。
通过下面的描述,对于本发明的熟练技术人员来说,本发明的其他目标和优点将变得容易理解。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/00812750.6/2.html,转载请声明来源钻瓜专利网。