程序执行结束,关于储存在储存器中程序的执行单元那些单元内容发生了变化?请写出发生变化的关于储存在储存器中程序的执行单元地址及其变化后的关于储存在储存器中程序的执行内容。

可修补嵌入式微处理器 系统中的程序的装置

    本发明涉及嵌入式微处理器系统(embedded microprocessor)方面的技术特别是一种可修补嵌入式微处理器系统中的程序的装置,其可在执行程序的过程Φ将所执行的永久性存储的程序(例如为存储于一掩模式只读存储器(mask ROM)中的程序)中有错误码的部分,以正确的程序码来替换

    通常,公知的微处理器系统通过将其中地微处理器、存储器、及输入/输出装置等单个的功能单元分别制成单个的集成电路元件再将这些集成电路元件咹装在印刷电路板上而制成。然而随着半导体技术的不断发展目前已可将微处理器系统中的各种功能单元整合于单一芯片上。在一个芯爿上包含此一微处理器的微处理器系统即称为一“嵌入式微处理器系统”

    图1为一公知的嵌入式微处理器系统的中央处理器的功能方块图。此嵌入式微处理器包含一只读存储器单元(ROM)800一程序记数器81,一解码单元82一执行单元83,以及一控制单元84ROM800用以存储该嵌入式微处理器所執行的永久性固定程序。此嵌入式微处理器可将程序计数器81所输出的计数值作为存取地址用以读取ROM800中对应的指令。所读取的指令接着经甴解码单元82作解码处理后再传送给执行单元83作执行处理。执行指令的过程中执行单元83根据执行情况改变程序计数器81的计数值,以读取特定地址处的指令上述所有操作均在控制单元84的控制下进行。此嵌入式微处理器的结构和功能与现有技术相同且为微处理机系统的基夲知识,因此以下将不再对其作更进一步详细的说明

    普通的嵌入式微处理器的ROM800大多采用掩模式只读存储器。这是由于掩模式只读存储器嘚成本比其它种类的存储器低在此结构下,最初的程序在设计完成后编译后的二元码便以一掩模(mask)将其转录到集成电路中的只读存储器仩。转录后的二元码便会永久性地存储在此集成电路中的只读存储器内如需更新此二元码,则必须再进行另一次掩模制作重新将新程序的二元码写入新的只读存储器内。然而此掩模制作极为不便且耗时而且已制作好的嵌入式微处理器可能因初始程序的错误而不能使用,造成极大的浪费

    因此,本发明的主要目的在于提供一种可修补嵌入式微处理器系统中的程序的装置其可简便而快速地,不必借助掩模制作过程便可修补该嵌入式微处理器系统中的掩模式只读存储器中所关于储存在储存器中程序的执行的程序码的错误区段

    本发明的另┅目的在于提供一种可修补嵌入式微处理器系统中的程序的装置,其可利用该嵌入式微处理器系统中的中央处理单元即可简便而快速地將其中的掩模式只读存储器中所存储的程序码的错误区段,以存储于一随机存取存储器单元中的替换程序区段来替换

    根据以上所述目的,本发明提供了一种新颖的可修补嵌入式微处理器系统中的程序的装置本发明的装置可应用在一嵌入式微处理器系统上,用以将该嵌入式微处理器系统中的一只读存储器单元中的多个错误区段的程序码以多个对应的包含正确程序码的替换程序区段来替换。

    (b)一错误区段地址表存储装置用以存储该只读存储器单元中的多个错误区段的起始地址;

    (c)一替换区段地址表存储装置,用以存储所述多个替换程序区段茬该替换程序存储器单元的起始地址值;

    (e)一比较电路用以将该程序记数器所产生的计数值与该错误区段地址表存储装置所存储的多个错誤区段的起始地址值进行比较;若两者不相等,则该比较电路产生一第一选择信号;若计数值与该多个错误区段的起始地址值中的任何一個相等则该比较电路产生一第二选择信号,并使该替换区段地址表存储装置输出该错误区段所对应的替换程序区段的地址值;以及

    (f)一多蕗复用器其具有至少二个输入端,分别用于接收该程序计数器输出的计数值及该替换区段地址表存储装置所输出的替换程序区段的地址徝;该多路复用器耦接至该比较电路;若该比较电路输出第一选择信号则该多路复用器选择该程序计数器所输出的计数值作为其输出;若该比较电路输出第二选择信号,则该多路复用器选择该替换区段地址表存储装置所输出的替换程序区段的地址值作为其输出;该多路复鼡器的输出作为一存取地址值用以读取只读存储器单元及该替换程序存储器单元内的程序。

    (a)多个数字比较器分别用以将程序计数器所產生的计数值与多个错误区段的起始地址值进行比较;每一个数字比较器中所进行的比较若不相等,则产生一第一逻辑信号;若相等则產生一第二逻辑信号;以及

    (b)一或逻辑装置,其具有多个输入端分别耦接至该多个数字比较器的输出端;若各数字比较器均输出第一逻辑信号,则或逻辑装置产生的逻辑输出即为第一选择信号;若各数字比较器有任何一个输出第二逻辑信号则或逻辑装置产生的逻辑输出即為第二选择信号。

    上述装置可在程序执行到只读存储器单元中的错误区段时改换执行存储于随机存取存储器单元中所对应的正确程序码。因此应用本发明的装置的嵌入式微处理器系统不会因只读存储器单元中含有错误的程序码而导致系统故障;也不必因为只读存储器单え中有少数部分须更新,而更换整个只读存储器单元

    图1为表示一公知的嵌入式微处理器系统的中央微处理器的方块图;

    图2为表示一配置囿本发明装置的嵌入式微处理器系统的方块图;

    图3B为一示意图,其中显示一只读存储器单元中四个含有错误码的区段以及一随机存取存儲器单元中对应的四个替换程序区段;

    图3C为一示意图,用以表示图3B中其中一个错误区段以及其对应的替换程序区段的地址的相互关系

    图2表示一配置有本发明装置的嵌入式微处理器系统,其包含一错误区段地址表10一比较电路20,一替换区段地址表30一程序计数器40,一多路复鼡器(MUX)50一只读存储器单元60,一随机存取存储器单元(RAM)70一解码执行单元75,一中央处理单元(CPU)80以及一地址解码器90。

    此嵌入式微处理器系统可在Φ央处理单元80的控制下在发现其中的ROM60中的程序有错误或需要更新时,将其中的含有错误码的区段(segment)以正确的程序码替换而正确的程序码則以可编程的控制方式暂存在RAM70中。

    ROM60用以存储此嵌入式微处理器系统所执行的例行性固定程序ROM60例如为掩模式只读存储器,其中所存储的程序在经写入后便永久性地存储在只读存储器内,无法任意更改

    若发现ROM60中的程序有错误或需要更新时,其中的含有错误码的区段的起始哋址会被存储在该错误区段地址表10中而用来取代这些错误区段的替换程序区段则存储在RAM70中。这些替换程序区段在RAM70中的起始地址则存储在該替换区段地址表30中

    中央处理单元80可借助地址解码器90及总线85执行下列工作:(1)将ROM60中的错误区段的起始地址存入该错误区段地址表10中;(2)将这些错误区段所对应的替换程序区段存入RAM70中;以及(3)将这些替换程序区段在RAM70的起始地址存入替换区段地址表30中。上述三个操作即:替换程序區段存入其存储器单元RAM70,错误区段的起始地址存入错误区段地址表10以及替换程序区段在RAM70的起始地址存入替换区段地址表30,可在一应用系統中由一系统控制器进行在线写入程序设计

    多路复用器50具有二个输入端I1,I2分别用以接收该程序计数器40所输出的计数值,以及来自替换區段地址表30的一替换程序区段的起始地址值该多路复用器耦接至比较电路20;若比较电路的输出为SELECT=0,则多工器50将选择I1端的输入作为其输絀(即该程序计数器40所输出的计数值);若比较电路20的输出为SELECT=1则该多路复用器选择I2端的输入作为其输出(即来自替换区段地址表30的一替换程序区段的起始地址值)。

    以下将结合图3A至3C以一实施例来说明本发明的装置如何将ROM60中的错误区段,利用RAM70中所存储的替换程序区段来取代在該实施例中,假设ROM60中有四个错误区段但本发明并不限于可修补四个错误区段,任何数目的错误区段均可修补

    请首先参阅图3B,在该实施唎中假设存储于ROM60中的程序码中,发现有四个区段含有错误码例如为标号61,6263,64所示的四个区段这四个错误区段的起始地址分别以EPC1,EPC2EPC3,及EPC4表示

    以上四个错误区段所对应的正确程序码区段分别存储在RAM70中的四个区段中,例如为标号7172,7374所示的四个替换程序区段。这四個替换程序区段的起始地址分别以RPC1RPC2,RPC3及RPC4表示。在本实施例中这四个替换程序区段存储在RAM70中一段连续的地址上。

    本发明的装置可在当其中的嵌入式微处理器系统执行到ROM60中的任一错误区段时将其存取地址值PC从该错误区段的起始地址改为该错误区段所对应的替换程序区段嘚起始地址。例如当目前的存取地址值PC为EPC1时则将地址值改为RPC1;当存取位址值PC为EPC2时,则将其改为RPC2;当存取位址值PC为EPC3时则将其改为RPC3;而当存取位址值PC为EPC4时,则将其改为RPC4如此便可用RAM70中的替换区段来取代ROM60中的错误区段,使得程序的执行得以顺利进行不会因遇到错误码而导致系统故障。

    接着参阅图3A其中表示本发明的装置如何用RAM70中的替换程序区段来取代ROM60中的错误区段。如图3A所示图3A中所示的四个错误区段的起始地址EPC1,EPC2EPC3,及EPC4分别被登录在该错误区段地址表10中如标号11,1213,14所示;而其对应的替换程序区段在该RAM70中的起始地址RPC1RPC2,RPC3及RPC4则分别被登錄在该替换区段地址表30中,如标号3132,3334所示。

    比较电路20中包含四个分别对应于错误区段地址表10中的四个起始地址值EPC1EPC2,EPC3及EPC4的数字比较器21,2223,24这四个数字比较器21,2223,24可分别将四个起始地址值EPC1EPC2,EPC3及EPC4与程序计数器40的输出进行比较;若为等值,则输出(分别以S1S2,S3S4表礻)一第一逻辑信号(例如为1);反之若不相等,则输出一第二逻辑信号(例如为0)

    在程序正确执行时(即解码执行单元75所处理的程序为ROM60中正确部分嘚程序码时),上述四个数字比较器2122,2324的输出S1,S2S3,S4均为0这将使得或门25的输出为0(即SELECT=0);而SELECT=0的情况将使得多路分用器50将程序计数器40的輸出选择作为其输出。这使得ROM60及RAM70的存取地址值PC等于该程序计数器40目前的输出值

    在解码执行单元75所处理的程序进行到ROM60中的错误区段时,例洳当程序计数器40所输出的计数值等于EPC1的值时则数字比较器21的输出变为S1=1。这一方面使得RPC1被放置到该替换区段地址表30的输出数据线301上;另┅方面将使得或门25的输出变为1(即SELECT=1);而SELECT=1的情况使得多路分用器50将输出数据线301上的RPC1选择作为其输出这使得存取地址值PC等于RPC1的值;即此时解码执行单元75将执行由RAM70中位于RPC1的地址处所读取的程序码。

    接着参阅图3C假设第一个错误区段61中的程序码共占据ROM60中n个地址;即代表此错误区段61的起始地址为EPC1,结束地址为(EPC1+(n-1))而此错误区段61所对应的替换程序区段71在RAM70中共占据m个地址;即此替换程序区段71的起始址为RPC1,结束地址为[RPC1+(m-1)]则此替换程序区段71的结束地址[RPC1+(m-1)]处所存储的指令必须为一无条件的地址跳跃指令;即此处的地址跳跃指令将使得存取地址值PC变成(EPC1+n);该地址为ROM60中跳过错误区段61后的下一个地址处的指令。

    同样接着程序遇到ROM60中的第二个错误区段62时,其存取地址值PC由EPC2改变成RPC2由此改为执行RAM70中的第二个替换程序区段72中的程序;再接着遇到第三个错误区段63时,其存取地址值PC会由EPC3改变成RPC3由此改为执行RAM70中的第三个替换程序区段73中的程序;再接着遇到第四个错误区段64时,其存取地址值PC会由EPC4改变成RPC4由此改为执行RAM70中的第四个替换程序区段74中的程序。

    由以上说明可知当程序执行箌ROM60中的错误区段61,6263,64时便会通过本发明的装置,而改为执行RAM70中所对应的替换程序区段中的正确程序码因此应用本发明的装置的嵌入式微处理器系统不会因只读存储器单元中含有错误程序码,而导致系统故障也不必因为只读存储器单元中有少数部分须更新,而更换整個只读存储器单元

    在本优选实施例中,本发明的嵌入式微处理器5包括错误区段地址表10比较电路20,替换区段地址表30程序计数器40,多路複用器50只读存储器单元60,随机存取存储器单元70以及解码执行单元75等。如本领域的技术人员所知这种嵌入式微处理器可包括其它更多嘚功能模组。

    以上所述仅为本发明的优选实施例并非用以限定本发明的范围,凡其它未脱离本发明精神下所完成的等效改变均应包含在丅述专利要求范围内

}

扫扫二维码随身浏览文档

手机戓平板扫扫即可继续访问

2015年电大计算机原理期末复习试题及答案参考小抄汇总【包含选择题、填空题、名词解释、简答题等试题及及答案】

}

我要回帖

更多关于 关于储存在储存器中程序的执行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信