微码修补系统及方法技术方案

技术编号:2828853 阅读:311 留言:1更新日期:2012-04-11 18:40
本发明专利技术提供一种微码修补系统,包括存储器单元、地址选取单元及捕捉及修补逻辑单元。存储器单元根据选取输出地址被存取。地址选取单元用以提供第一输出地址。捕捉及修补逻辑单元耦接于地址选取单元及记忆单元之间,用以判断第一输出地址是否与至少一错误地址当中任一相符,并且当第一输出地址与错误地址当中的一个相符时,选出一选取修补地址作为第二输出地址,当第一输出地址与错误地址均不相符时,选取第一输出地址作为第二输出地址,其中第二输出地址耦接于存储器单元。本发明专利技术提供的微码修补系统,不需要存取需修补、修正或扩展的ROM地址,并且修补存储器的修补地址的产生过程也不会干扰到下一ROM地址的正常产生流程,因而能够节省电力及时间。

【技术实现步骤摘要】

本专利技术是有关于嵌入式程序,特别是有关于一种对嵌入式只读存储器实 施修补机制的系统及方法。
技术介绍
对于具有嵌入式处理器的通用目的的专用集成电路(Application-specific Integrated Circuit; ASIC)而言,必须具备程序存储器,以储存指令码。此程序 存储器可以是只读存储器(Read Only Memory; ROM)、随机存取存储器 (Random Access Memory; RAM),或两者的组合。 一般来说,相同容量的ROM 与RAM, ROM所占的面积较小,所以用ROM储存指令码中的绝大部分, 也因此,初始化后就不能再对ROM进行修改。所以,当需要存取并执行储存 在ROM中的指令码时,如果ROM内部储存着错误的指令码或是需要增加更 多指令码,就需要一种修补机制。一种修补机制是略过错误指令,并以另一指令来取代错误指令,以命令 处理器存取一修补存储器(PatchMemory)内的正确指令。图1显示这种修补机 制的一范例,其为美国专利US6,891,765所揭示的电路100的方框图。如图所 示,电路100包括处理器102、程序空间(存储器)104、修补逻辑电路106以 及选取电路108。存储器104包含只读存储器(ROM)104a及修补存储器104b。 处理器102提供地址PAB至存储器104,存储器104响应地址PAB并提供数 据项DATA至选取电路108。同时,处理器102也提供地址PAB至修补逻辑 电路106。如果地址PAB与预先设定的多个地址中的任何一个均不符合而不 需要被修补、修正或扩展,则修补逻辑电路106取消(de-assert)命令信号PTCH一DAT一SEL。但是,如果地址PAB符合该多个预先设定的地址中的任何 一个,则使命令信号PTCH—DAT—SEL有效(assert),并产生一分支指令PI重 新命令处理器102对修补存储器104b进行存取。选取电路108根据命令信号 PTCH一DAT一SEL,选择由存储器104所接收的数据项DATA或由修补逻辑电 路106所接收的分支指令PI作为指令项目PDBI,并将指令项目PDBI通过数 据总线传送至处理器102。另一种修补机制是将送至只读存储器的地址加以修改。图2及图3分别 是这种修补机制的两个范例,分别显示美国专利US 6,438,664以及中国台湾 专利TWI 236,018所揭示的电路200及300。请参考图2,定序器(sequencer)92 控制多工器(MUX)86以选取存储器的下一地址。下一地址被传送至下一地址 缓存器94以选取来自只读存储器64a或修补存储器64b的连接线。所选择的 连接线被提供至输出缓存器80。下一地址也被提供至比较器84。接着,比较 器84将下一地址与储存在多个匹配缓存器88的数值加以比较。如果来自下 一地址缓存器94的下一地址与匹配缓存器88中的任何一个数值相符,则比 较器84从一查找表90中选择出一对应的修补RAM地址。从查找表90中所 选择出的地址被送至多工器86。比较器84也向定序器92报告符合情况发生 的事件,以便定序器92控制多工器86从查找表90中选出地址。由只读存储 器64a输入至输出缓存器80的连接线被取消,并且来自修补存储器64b中的 修补将从查找表90所指示的地址开始执行。如图3所示,电路300包括只读存储器301、随机存取存储器303、计数 器305以及比较与加载单元311。计数器305产生下一地址以对只读存储器 301或随机存取存储器303进行存取。计数器305也提供下一地址313至比较 与加载单元311。当下一地址与储存在比较与加载单元311中的预先设定地址 CHkl-CHk4其中之一相符时,比较与加载单元311发出一重置信号317以及 一转移地址信号319至计数器305。转移地址信号319表示除错/更新程序地 址A1至A4的其中之一,重置信号317将计数器305重置,以将下一地址313转换为转移地址信号319所表示的地址。在电路100、 200及300中,下一地址不仅传送至ROM,也传送至一电 路(修补逻辑电路106、比较器84或比较与加载单元311)以判断其是否与需要 修补、修正或扩展的多个预先设定地址当中的任一个相符。结果,被修补、 修正或扩展的ROM地址仍被存取并产生将被抛弃或取消的不必要的指令码。 因此,电力及时间被浪费在向ROM中存取不必要的指令码上。此外,电路 100内的处理器102、或是电路200内的定序器92及多工器86、或电路300 内的计数器305.需要被重新指派或重置以产生一存取修补存储器的地址。这 种重新指派或重置的动作影响了正常产生下一 ROM地址的流程并且浪费了 电力及时间。
技术实现思路
本专利技术提供了一种可以解决以上技术问题的。本专利技术提供了一种微码修补系统,包括存储器单元,地址选取单元,以 及捕捉及修补逻辑单元。存储器单元包括用以储存至少一微码主指令的第一 存储器,以及用以提供至少一微码修补指令的第二存储器,存储器单元根据 选取输出地址来被存取。地址选取单元用以提供第一输出信号。捕捉及修补 逻辑单元耦接于地址选取单元及记忆单元之间,用以判断第一输出地址是否与至少一错误信号当中的任一相符,并且当第一输出地址与错误地址当中之 一相符时,选出一选取修补地址作为一第二输出地址以存取第二存储器;当 第一输出地址与错误地址均不相符时,则选取第一输出地址作为第二输出地 址。第二输出地址耦接于存储器单元。本专利技术提供了一种微码修补方法,用以对一存储器单元进行存取,其中 存储器单元包括用以储存至少一微码主指令的第一存储器,以及用以储存至 少一微码修补指令的第二存储器。该方法包括提供第一存储器的至少一错 误地址;提供第一输出地址;判断第一输出地址是否与错误地址当中任一相符,如果是,则第二输出地址为存取该第二存储器的一选取修补地址,如果否,则第二输出地址为该第一输出地址;以及根据该第二输出地址来对存储 器单元进行存取。本专利技术提供的微码修补的系统及方法,通过先判断第一输出地址是否需 要被替代为一存取第二存储器的地址之后,再根据判断结果来选取第二输出 地址,不需要存取需修补、修正或扩展的ROM地址,并且修补存储器的修补 地址的产生过程也不会干扰到下一 ROM地址的正常产生流程,因而能够节省 电力及时间。附图说明图1显示一现有微码修补机制的电路方框图。图2显示另一现有微码修补机制的电路方框图。图3显示另一现有微码修补机制的电路方框图。图4显示本专利技术提供的微码修补系统的方框示意图的一实施例。图5显示本专利技术提供的微码修补系统的方框示意图的另一实施例。图6显示图4及图5中所示的比较模块及地址选取器的结构示意图。图7显示本专利技术所提供的微码修补方法的流程图的一实施例。具体实施例方式图4显示本专利技术一实施例的微码修补系统400的方框图。如图所示,微 码修补系统400包括一存储器单元410及一处理器430。存储器单元410包括第一存储器411及第二存储器412。第一存储器411 可以是只读存储器(Read Only Memory; ROM),其包含存储器单元410的存 储器空间的第一地址范围,用以储存至少一微码主指令。第二存储器412可 以是随本文档来自技高网
...

【技术保护点】
一种微码修补系统,其特征在于,该微码修补系统包括:一存储器单元,其包括一用以储存至少一微码主指令的第一存储器以及一用以提供至少一微码修补指令的第二存储器,该存储器单元根据一选取输出地址被存取;一地址选取单元,用以提供一第一输 出地址;以及一捕捉及修补逻辑单元,耦接于所述的地址选取单元及所述的存储器单元之间,用以判断所述的第一输出地址是否与至少一错误地址中任一相符,并且当该第一输出地址与该错误地址其中之一相符时,选出一用于存取所述的第二存储器的选取修补地址 作为一第二输出地址,当所述的第一输出地址与所述的错误地址均不相符时,选取该第一输出地址作为一第二输出地址,其中该第二输出地址耦接于所述的存储器单元。

【技术特征摘要】
US 2006-12-22 11/615,0591. 一种微码修补系统,其特征在于,该微码修补系统包括一存储器单元,其包括一用以储存至少一微码主指令的第一存储器以及一用以提供至少一微码修补指令的第二存储器,该存储器单元根据一选取输出地址被存取;一地址选取单元,用以提供一第一输出地址;以及一捕捉及修补逻辑单元,耦接于所述的地址选取单元及所述的存储器单元之间,用以判断所述的第一输出地址是否与至少一错误地址中任一相符,并且当该第一输出地址与该错误地址其中之一相符时,选出一用于存取所述的第二存储器的选取修补地址作为一第二输出地址,当所述的第一输出地址与所述的错误地址均不相符时,选取该第一输出地址作为一第二输出地址,其中该第二输出地址耦接于所述的存储器单元。2. 如权利要求1所述的微码修补系统,其特征在于,所述的第一存储器 是只读存储器,所述的第二存储器是随机存取存储器。3. 如权利要求1所述的微码修补系统,其特征在于,所述的地址选取单 元接收多个输入地址,并选出其中之一作为所述的第一输出地址,其中所述 的多个输入地址包括至少一用以存取所述的第一存储器的地址。4. 如权利要求3所述的微码修补系统,其特征在于,所述的多个输入地 址进一步包括所述的第二输出地址的下一相邻地址。5. 如权利要求1所述的微码修补系统,其特征在于,该微码修补系统进 一步包括一地址缓存器,用以暂存所述的捕捉及修补逻辑单元所输出的所述的第 二输出地址;以及一地址累加器,用以增加所述的地址缓存器所输出的所述的第二输出地 址以提供所述的第二输出地址的下一相邻地址。6. 如权利要求5所述的微码修补系统,其特征在于,所述的地址缓存器 耦接于所述的捕捉及修补逻辑单元,并且提供所述的第二输出地址至所述的 存储器单元。7. 如权利要求1所述的微码修补系统,其特征在于,所述的捕捉及修补 逻辑单元包括一比较模块,用以判断所述的第一输出地址是否与至少一所述的多个错 误地址当中任一相符,并输出一地址选取信号以指示所述的多个错误地址当 中哪一个与所述的第一输出地址相符;以及一地址选取器,用以接收所述的地址选取信号以及所...

【专利技术属性】
技术研发人员:李明鸿
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有1条评论
  • 来自[北京市联通] 2014年12月12日 01:58
    是指一个CPU的指令集作为一微码指令微指令的序列其中每个典型地由很多位域和下一个微指令执行的地址组成微码是机器指令和计算机初等变换之间的转换层微码被存储在ROM中和允许新添加的机器指令不需要它们被设计为电子开关当新的指令被需要时一些微指令将通常需要被取得解码和执行每个机器编码指令这些元素使微程序/微码与更多熟悉的汇编指令相比存在于一个低的概念水平上每个元素用"micro"的前缀来区分来防止混淆微程序微码微指令微汇编程序等
    0
1
相关领域技术
  • 暂无相关专利