亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于修補在存儲器上駐留的代碼和數據的方法和設備的制作方法

文檔序號:6376176閱讀:121來源:國知局
專利名稱:用于修補在存儲器上駐留的代碼和數據的方法和設備的制作方法
技術領域
本公開涉及存儲器裝置,并且特別涉及管理在只讀存儲器(ROM)裝置上駐留的軟件。
背景技術
存儲器裝置通常用于計算機及其它電子設備,諸如電話、個人數據助理等,以便存儲包括數據和軟件程序的各種信息。一般地,常常把需要長時間存儲的數據和軟件存儲在諸如只讀存儲器(ROM)、可擦除可編程ROM(EPROM)等之類的非易失性存儲器裝置上。特別地是,很可能把由系統(tǒng)制造商設計的軟件程序存儲在這種非易失性存儲器上,所述軟件程序諸如計算機的操作系統(tǒng),無線裝置的操作碼等。以永久基礎來存儲在非易失性存儲器裝置中的任何信息,以致即使當沒有激活所述裝置或者長時間沒有供電所述裝置時,仍然保存這種信息。另一方面,通常可能要求專用設備來改變非易失性存儲器裝置的內容。
通常,存儲在非易失性存儲器上的軟件程序或數據可能具有永久特性;而實際上,常常十分有必要改變這種軟件程序或數據。例如,可以在非易失性存儲器裝置上存儲的軟件程序中發(fā)現(xiàn)軟件錯誤或病毒。在這種情況下,這種非易失性裝置的用戶通常將必須在所述非易失性存儲器上重新寫入整個程序。當已經把這種裝置安裝在大量的用戶設備上時,對存儲在非易失性存儲器裝置上的信息進行這種改變是尤為困難的。例如,如果已經由許多用戶使用許多無線電話,其中在這種無線電話的ROM上具有操作碼,并且如果出現(xiàn)需要改變部分這種操作碼的情況時,那么對于這種無線電話的制造商來說將有必要收回所述電話并且改變它們的操作碼,或者它們將必須發(fā)行新的無線電話以便所有用戶都有正確的代碼。


在附圖中以舉例形式而不是限制形式舉例說明本專利,其中相同的參考標記表明相似的元素,并且其中圖1是可以使用非易失性存儲器的示例性計算機的框圖;圖2是用于修補非易失性存儲器一部分的示例性設備的框圖;圖3是示例性的存儲器扇區(qū),其包含在用于修補非易失性存儲器的一部分的方法中使用的向量表;圖4是舉例說明用于修補非易失性存儲器的一部分的示例性方法的流程圖;圖5是舉例說明用于修補非易失性存儲器的一部分的有關操作碼修補方法的流程圖;和圖6是由有關操作碼修補方法使用的示例性向量表,所述修補方法用于修補非易失性存儲器的一部分。
具體實施例方式
盡管下文闡述了本專利的大量不同實施例的詳細說明,然而應當理解的是,由在本專利末尾所闡述的權利要求來定義本專利的法律范圍。只應把詳細說明理解為示例性的,并且不描述本專利的每個可能的實施例,這是因為描述每個可能的實施例往往是不切實際的,甚至是不可能的??梢允褂矛F(xiàn)代技術或者在本專利的申請日之后開發(fā)出的技術來實施大量替代的實施例,但這仍屬于定義本專利的權利要求書的范圍。
還應當理解的是,在本專利中除非使用句子“如這里所用,據此定義術語‘__’來意指”或類似的句子來清楚地定義術語,否則除其簡單或普通的意思之外,并不意味著明顯地或隱含地限制該術語的意思,并且不應該根據在本專利任何部分的任何聲明(除權利要求的語言之外)而把這種術語解釋為對范圍的限制。在這個意義上,在本專利所附權利要求中列舉的任何術語指的是在本專利中依照與單個意思一致的方式,其只是為了使其更清楚而不混亂閱讀,并且并不意在隱含地或以別的方式來把這種聲稱的術語限制為單個意思。最終,除非權利要求元素是通過描述措詞“裝置”以及功能而沒有描述任何結構來定義的,否則并不是意圖基于35 U.S.C.§112,第六款的運用來解釋任一權利要求元素的范圍。
使用非易失性存儲器來存儲代碼或數據的計算機或裝置有時可能需要改變這種代碼或數據。因為在不使用專用裝置的情況下很難改變在非易失性存儲器中的代碼,所以提供了修補裝置,其允許在實時操作期間非易失性存儲器的一部分由易失或非易失性存儲器的另一部分來替代。把在需要替代的易失性存儲器上的代碼或數據的地址存儲在修補裝置的寄存器上。由這里描述的例子舉例說明的修補裝置預先取出指令以便看看所述指令是否訪問在可能需要替代的易失性存儲器上的數據或代碼。如果所述修補裝置確定這種替代是必要的,那么它發(fā)布預先取出的異常中斷指令并且把用于訪問來自不同位置的數據或代碼的指令加載到數據總線。
圖1舉例說明了示例性計算機10的框圖。如這里所用,術語“計算機”指的是使用任何類型非易失性存儲器的任何裝置(例如便攜式計算機、膝上型計算機、個人數據助理(PDA)、臺式計算機、無線電話、服務器等)。本例子的計算機10包含通常用于計算機的許多常規(guī)的硬件組件。例如如圖1所示,計算機10包括中央處理器(CPU)12、采用只讀存儲器(ROM)14形式的非易失性存儲器、隨機存取存儲器(RAM)16、通信總線20、存儲裝置22、電源24和輸入/輸出(I/O)控制器26。盡管計算機10的本例子示出了這些組件在所述計算機內,但是本領域內普通技術人員將理解這些組件的一部分可以在計算機10外,或者這些組件的一部分可以根本不由計算機使用。例如,在無線電話裝置上使用的計算機10的可替換例子可以不包含任何存儲裝置22。
示例性計算機10的非易失性存儲器14可以具有任何替換形式,諸如閃速存儲器、EPROM存儲器等。如圖1所示,ROM 14可以包含部分或所有代碼28,諸如用于計算機10的操作系統(tǒng)代碼等。作為選擇,所述非易失性存儲器14還可以包含由計算機10使用的數據30。可以由計算機10的制造商在計算機10上提供代碼28,或者也可以由不同于所述計算機10制造商的出售商來提供該代碼。一般地,代碼28其中不包含任何軟件錯誤或病毒,然而,在計算機10的特定實施方式中,所述代碼28可能包含需要修改的一個或多個軟件錯誤或病毒。作為選擇,還可能因為許多原因而需要更新包含在非易失性存儲器上的數據30,所述原因包括為了有效利用所述計算機10。
圖2是用于修補包含在非易失性存儲器14上代碼28的一部分、或修補包含在非易失性存儲器14上的數據30的一部分的示例性修補裝置40的框圖??梢园惭b所述修補裝置40以致其在計算機10內或在計算機10外。修補裝置40還可以利用計算機10的一個或多個組件,諸如RAM 16、通信總線20等。
使用示例性的修補裝置40,用在修補存儲器50中第二地址48處包含的第二代碼46來修補在ROM 14中第一地址44處包含的第一代碼42。修補存儲器50可以位于修補裝置40,或者作為選擇,所述修補存儲器50可以包含在計算機10的RAM 16中。示例性的修補裝置40包括處理器60、第一寄存器62、第二寄存器64、第三寄存器66和比較器68。所述處理器60包括第一邏輯電路70、第二邏輯電路72和程序計數器74。所述修補裝置40還包括第三邏輯電路76和第四邏輯電路78。
圖3舉例說明了包含向量表82的存儲器扇區(qū)80,其中使用所述向量表82來包含包括第一向量84的多個向量。第一向量84包含駐留在修補存儲器46上的第二代碼的第二地址48。向量表82可以位于ROM 14、RAM 16或在計算機10上使用的任何其它存儲器裝置上。使用向量表偏移量86和向量索引90來定義第一向量84的地址,所述向量表偏移量86表明向量表82到存儲器扇區(qū)80基礎88的偏移量,所述向量索引90指定所述第一向量84在向量表82內的偏移量。
返回參照圖2,用于修補裝置40的處理器60可以是任何普及的處理器,包括復雜指令集代碼(CISC)類型處理器,精簡指令集代碼(RISC)類型處理器等。所舉例說明的修補裝置40使用ARM7TDMI-S處理器,其是低功率32位RISC處理器,如處理器60。ARM7TDMI-S處理器是改進RISC機器(ARM)類型處理器,其一般用于傳呼機、無線手機、個人數據助理(PDA)、數字照相機等。ARM7TDMI-S處理器包括具有用于處理RISC指令的三級流水線的整數核心。ARM7TDMI-S處理器還允許使用ARM指令集以及拇指(thumb)指令集,以及ARM指令集和拇指指令集的組合。在下面的圖5中還描述了在修補裝置40中使用的ARM7TDMI-S處理器的操作的例子。
使用第一寄存器62來存儲第一代碼42的第一地址44。作為選擇,如果使用修補裝置40來修補數據30的一部分,那么可以使用第一寄存器62來存儲所述數據30的一部分的第一地址。例如,當用戶確定駐留在ROM 14上的第一代碼42包含軟件錯誤或病毒并且需要由第二代碼46來代替時,或者由于任何其它原因需要由第二代碼46來代替所述第一代碼42,所述用戶把所述第一地址44的位置存儲在第一寄存器62中??梢允褂萌魏螛藴实募拇嫫髟O計技術來設計所述第一寄存器62,其為本領域內普通技術人員所公知。依據在修補裝置40中使用的處理器60的類型,第一寄存器62可以存儲32位地址、64位地址等。在所舉例說明的修補裝置40中,因為把32位ARM7TDMI-S處理器用作為處理器60,所以第一寄存器62能夠保存32位地址。
使用第二寄存器64來存儲向量表偏移量86,并且使用第三寄存器66來存儲向量索引90。使用比較器68來把由CPU 12執(zhí)行的代碼的地址與第一寄存器62的內容相比較,所述代碼諸如第一代碼42。下面在圖4中進一步描述了比較器68的操作。
使用第一邏輯電路72來把第一向量84加載到程序計數器中。第二邏輯電路72讀取第二代碼46的第二地址48,其存儲在第一向量84中。如下面圖4中所描述,第三邏輯電路76使用向量表偏移量86、基礎88和向量索引90的值來計算所述第一向量84。當比較器68確定從數據總線20取出的指令的地址與第一地址44匹配時,第四邏輯78用把第一向量84的值加載到程序計數器74的命令來重寫數據總線20。在下面的圖4中進一步描述了在所述修補裝置40內各種邏輯電路的操作。
圖4是舉例說明用于修補諸如ROM 14之類的非易失性存儲器一部分的示例性修補方法100的流程圖。所述修補方法100允許用戶使用修補裝置來修補非易失性存儲器的一部分,所述修補裝置使用預先取出周期來從連接到計算機CPU的數據總線上獲取操作碼或數據。使用預先取出周期使所述修補方法100能在幾個周期之前認出將要由CPU執(zhí)行的操作碼的地址,并且如果所述操作碼的地址指向壞的代碼的地址或者壞的數據的地址,那么把預先取出的異常中止指令插入到數據總線上。
在塊102,修補裝置40的用戶把壞的代碼的地址存儲到第一寄存器62上,所述壞的代碼需要被另一代碼替換。例如,可以把第一代碼42的第一地址44存儲在第一寄存器62中。在此修補裝置連續(xù)地監(jiān)視數據總線20。
所述數據總線20攜帶來自在計算機10內各個組件的以及來自附于計算機10的外圍設備的指令和數據。例如,來自I/O控制器26的指令可被發(fā)送到請求數據的CPU 12。類似地,數據總線20還攜帶從CPU 12到其它組件的指令。這種指令的例子可以是用于從ROM 14在這種指令識別的給定地址上取出確定內容的請求。
往返于CPU 12的指令可以采用通常由計算機使用的各種格式。例如,從CPU 12到ROM 14的指令可以包含操作碼和操作數,其中操作碼表示實際指令,而操作數包含任何相關聯(lián)的數據,諸如參考指針或離散值。例如,來自CPU 12用于從ROM 14讀取內容的指令中,這種指令的操作碼可以包含用于讀取ROM 14內容的實際指令,而操作數可以是在ROM 14中位置的地址。
計算機還可以使用預先取出隊列來管理指令。例如,所述CPU 12可以在執(zhí)行許多指令之前讀取該指令。計算機可以使用這種預先取出算法來通過使一系列下一指令內部可用來改進性能。
在預先取出算法的一個特定變化中,CPU可以只預先取出計算指令的操作碼部分,而不取出操作數部分。修補裝置40的示例性實施方式使用類似的預先取出算法來監(jiān)視數據總線20。
參照圖4,在塊104,修補裝置40預先取出指令的操作碼來確定這種指令是否意在從ROM 14中讀取數據。如果發(fā)現(xiàn)所述指令用于從ROM 14讀取內容,那么在塊106,修補裝置40使用比較器68來把包含在這種指令中的地址與第一寄存器62的內容相比較。
如果比較器68發(fā)現(xiàn)從數據總線20取出的指令的地址等于第一寄存器62的內容,那么在塊108修補裝置40把預先取出的異常中止指令插入到數據總線20上。因為修補裝置40使用預先取出來讀取指令,所以其識別在從ROM 14讀取數據的實際操作之前幾個周期,將執(zhí)行這種操作。由修補裝置40所發(fā)布的預先取出異常中止指令防止由CPU12讀取ROM 14的內容。從而例如,如果把第一地址44存儲在第一寄存器62中,那么每當修補裝置發(fā)現(xiàn)用于讀取第一地址44的內容的指令時,其將發(fā)布預先取出異常中止以便防止這樣讀取第一地址44的內容。
預先取出異常中止指令使修補裝置40的處理器60產生異常。依據預先取出異常中止指令的類型,在塊110,所述修補裝置40確定什么指令寫入數據總線20。例如,在特定的實施方式中,在塊112,修補裝置可以把用于從在ROM 14或RAM 16內修改位置讀取數據的指令來加載到數據總線20。該修補方法被稱為硬件加速修補。
在可替換實施方式中,在塊114,所述修補裝置40可以用第二指令加載數據總線20,所述第二指令20用于使用有關操作碼修補方法來從第二地址48取出數據。在圖5中進一步描述了有關操作碼修補方法114的運行。在塊116,終止預先取出異常中止并且數據總線從由硬件加速修補或由有關操作碼修補方法指定的地址取出所述內容。
無論修補裝置40使用有關操作碼修補方法還是硬件加速修補,都有必要使由好的代碼執(zhí)行的第一指令應該使得當完成執(zhí)行代碼時,從緊接著第一代碼44的位置取出下一指令。例如,如果使用有關操作碼修補方法以便加載數據總線20來從第二地址48取出內容,那么存儲在第二地址48的代碼應該是這樣以致當完成執(zhí)行第二代碼46時,取出在緊接著第一代碼42位置存儲的指令。
因此,在塊118,修補裝置40在由修補裝置40提供的RAM 16或許多臨時寄存器中的位置上保存由CPU 12使用的各個狀態(tài)寄存器的內容。在執(zhí)行第二代碼46之前的情況下,使用各個狀態(tài)寄存器的內容來重建CPU 12。
在此,CPU 12將執(zhí)行第二代碼46,如塊120所示。在完成執(zhí)行第二代碼46時,所述第二代碼46必須確保能夠還原CPU 12的所有狀態(tài)寄存器,以致不影響在第一代碼42的末尾正常執(zhí)行代碼。在塊122,把CPU 12的這種狀態(tài)寄存器還原到其原始情況。在此,CPU 12繼續(xù)正常執(zhí)行來自ROM 14的代碼。從而,在塊124,CPU執(zhí)行來自ROM 14的、在第一代碼42之后的代碼。
圖5舉例說明了示例性的流程圖130,用于實現(xiàn)可以在圖4的塊114使用的有關操作碼修補方法。有關操作碼修補方法允許修補裝置40用位于RAM 16中不同位置的代碼或數據來代替ROM 14的代碼或存儲器修補程序。有關操作碼修補方法使用來自向量表82的各個向量來獲得好的代碼的地址,所述好的代碼將代替在所述存儲器中壞的代碼。作為選擇,所述向量表82還可以用于有關操作碼修補方法以便獲得將代替壞的數據的好的數據。
現(xiàn)在參照圖5,在塊132,所述修補裝置40從第二寄存器64讀取向量表偏移量86。如上所述,向量表偏移量86表明向量表82到存儲器扇區(qū)80基礎88的偏移量。接下來在塊134,所述修補裝置40從第三寄存器66讀取向量索引90。如上所述,所述向量索引90指定在向量表82內第一向量84的偏移量。使用向量表偏移量86和向量索引90的值,在塊136,所述修補裝置40確定第一向量84的值。
可見看出使用這種有關操作碼修補允許把許多不同的值分配給所述第一向量84。隨后,分配給第一向量84的各個值中的每一個對應于不同的位置,在所述位置好的代碼可以位于所述存儲器上。因此位于許多位置的好的代碼可用于代替在ROM 14中壞的代碼。例如,可以把六十四個不同的值分配給第一向量84,然后六十四個唯一的好的代碼可用于代替所述第一代碼42。
在圖6中舉例說明了許多好的代碼160的這種使用。圖6還舉例說明了向量表82的特定例子,所述向量表82可以位于在存儲器扇區(qū)80中的任何位置,其中可以通過其向量表偏移量86來識別所述向量表82。在圖6中舉例說明的向量表82包含許多向量,諸如向量151、向量152、向量153,這些向量中的每個通過它們唯一的向量索引90來識別。如圖6所示,向量151指向第一好的代碼161,向量152指向第二好的代碼162等。從而,使用向量表偏移量86和向量索引90的組合,在ROM 14中壞的代碼可以由來自許多好的代碼160中的任何好的代碼161、162等來代替。
現(xiàn)在返回參照圖5,在塊138,所述修補裝置40用命令來重寫數據總線20,所述命令把如在塊136計算的第一向量84值加載程序計數器74。這種命令的例子可以是“LDR PC,[PC,#-(276-4*(向量索引90)+4*(向量表偏移量86))]”。如果基礎88的值是0x0000_000C,那么這種命令將使程序計數器74用位于0xFFFF_FF00+4*(向量索引90)的向量來加載。隨后在塊140,存儲在這種向量中好的代碼的地址位于0xFFFF_FF00+4*(向量索引90)。
在此,修補裝置40開始準備執(zhí)行好的代碼,起始于圖4的塊118。如從上面說明可以看出,修補裝置40可用于用在RAM或其它存儲設備內好的代碼來代替在ROM或其它非易失性存儲器內壞的代碼。盡管在上述例子中,代替駐留在非易失性存儲器上的代碼或數據,在實踐中甚至可以通過使用上述修補裝置或修補方法來代替駐留在易失性存儲器上的代碼或數據。
在上述說明中,參考具體實施例已經描述了本專利。然而,一個本領域內普通技術人員將理解在不脫離如下面權利要求所闡明的本專利范圍的情況下,可以對這些實施例進行各種修改和改變。據此,應當認為說明書和附圖是說明性的而并非是限制性的,并且所有這種修改意在包括在本專利的范圍內。
權利要求
1.一種把修補程序應用于駐留在只讀存儲器(ROM)上的代碼的方法,用于用執(zhí)行駐留在存儲器映象內第二地址處的第二代碼來替代執(zhí)行駐留在ROM中第一地址處的第一代碼,所述方法包括在第一寄存器中存儲所述第一代碼的第一地址;預先取出第一指令;把所述第一指令的地址與所述第一代碼的第一地址相比較;如果所述第一指令的地址與所述第一代碼的地址相匹配,那么發(fā)布預先取出異常中止指令;并且取出所述第二代碼的第二地址。
2.如權利要求1所述的方法,其中取出所述第二代碼的第二地址包括用第一向量來加載程序計數器,所述第一向量包含所述第二代碼的第二地址;并且從由所述第一向量指向的位置讀取所述第二代碼的第二地址。
3.如權利要求2所述的方法,其中用所述第一向量來加載所述程序計數器包括從第二寄存器讀取向量表偏移量,其中所述向量表偏移量指定包括許多向量的向量表的偏移量;從第三寄存器讀取向量索引,其中所述向量索引指定在所述向量表內第一向量的偏移量;使用所述向量表偏移量和向量索引來確定所述第一向量的值;并且用命令來重寫數據總線,所述命令用于用第一向量加載所述程序計數器。
4.如權利要求3所述的方法,還包括把當前狀態(tài)寄存器的第一數目的內容保存到保存的狀態(tài)寄存器的第一數目;并且執(zhí)行所述第二代碼。
5.如權利要求4所述的方法,還包括在完成執(zhí)行第二代碼時,把保存的狀態(tài)寄存器中的第一數目的內容還原為對應的當前狀態(tài)寄存器的第一數目;并且按照第一代碼來執(zhí)行在ROM中的程序。
6.如權利要求5所述的方法,使用32位改進的精簡指令集代碼(RISC)機器(ARM)處理器來實現(xiàn)。
7.如權利要求1所述的方法,其中取出所述第二代碼的位置包括把所述第二代碼的位置存儲在第二寄存器中;并且運行處理程序以便從所述第二寄存器讀取所述第二代碼的位置。
8.一種把修補程序應用于只讀存儲器(ROM)的方法,用于用駐留在存儲器映象內第二地址的第二數據集來替代駐留在ROM中第一地址的第一數據集,所述方法包括把第一地址存儲在第一寄存器中,而把第二地址存儲在第二寄存器中;預先取出第一指令;訪問駐留在第三地址的、來自ROM的第一數據;把第三地址與第一地址相比較;并且如果所述第三地址與所述第一地址匹配那么用第二地址重寫數據總線。
9.如權利要求8所述的方法,其中所述第一數據集駐留在非易失性存儲器上。
10.如權利要求9所述的方法,其中所述非易失性存儲器是只讀存儲器(ROM)。
11.一種把修補程序應用于駐留在只讀存儲器(ROM)上代碼的系統(tǒng),用于用執(zhí)行駐留在修補程序存儲器內第二地址的第二代碼來替代執(zhí)行駐留在ROM中第一地址的第一代碼,所述系統(tǒng)包括第一寄存器,用于存儲所述第一代碼的第一地址;比較器,用于把所述第一代碼的第一地址與在ROM中第一指令的地址相比較;和處理器,用于預先取出所述第一指令,把所述第一指令的地址輸入到比較器中,如果所述第一指令的地址與所述第一代碼的地址相匹配那么產生預先取出放棄,并且取出所述第二代碼的第二地址。
12.如權利要求11所述的系統(tǒng),其中所述處理器包括程序計數器,用于存儲包含第二代碼的第二地址的第一向量,第一邏輯電路,用于把第一向量加載到所述程序計數器中;和第二邏輯電路,用于從由第一向量指向的位置讀取所述第二代碼的第二地址。
13.如權利要求12所述的系統(tǒng),還包括第二寄存器,用于存儲向量表偏移量,所述向量表偏移量指定包括許多向量的向量表的偏移量;第三寄存器,用于存儲向量索引,所述向量索引指定在所述向量表內第一向量的偏移量;第三邏輯電路,用于使用所述向量表偏移量和向量索引來確定第一向量的值;和第四邏輯電路,用于用命令重寫數據總線,所述命令用于用第一向量加載所述程序計數器。
14.如權利要求13所述的系統(tǒng),其中所述處理器還用于把當前狀態(tài)寄存器的第一數目的內容保存到保存的狀態(tài)寄存器的第一數目,并且用于執(zhí)行所述第二代碼。
15.如權利要求14所述的系統(tǒng),其中在完成執(zhí)行第二代碼時,所述處理器還用于把保存的狀態(tài)寄存器的第一數目的內容還原為對應的當前狀態(tài)寄存器的第一數目,并且按照第一代碼執(zhí)行在ROM修補程序中的程序。
16.如權利要求15所述的系統(tǒng),其中所述處理器是32位改進精簡指令集(RISC)機器(ARM)處理器。
17.如權利要求15所述的系統(tǒng),其中所述向量表位于隨機存取存儲器(RAM)。
18.如權利要求15所述的系統(tǒng),其中所述處理器用于在其執(zhí)行第二代碼至少兩個周期之前預先取出第一指令。
19.一種把修補程序應用于只讀存儲器(ROM)的系統(tǒng),用于用駐留在修補程序存儲器內第二地址的第二數據集來替代駐留在ROM中第一地址的第一數據集,所述系統(tǒng)包括第一寄存器,用于存儲所述第一數據集的第一地址;比較器,用于把所述第一數據集的地址與來自ROM的第一數據的第一地址相比較;和處理器,用于從所述ROM中預先取出所述第一數據,把所述第一數據的地址輸入到比較器中,如果所述第一數據的地址與所述第一數據集的地址相匹配那么產生預先取出放棄,并且取出所述第二數據集的第二地址。
20.如權利要求19所述的系統(tǒng),其中所述處理器包括程序計數器,用于存儲包含第二數據集的第二地址的第一向量,第二邏輯電路,用于把第二向量加載到所述程序計數器中;和第二邏輯電路,用于從由第一向量指向的位置讀取所述第二代碼的第二地址。
全文摘要
舉例說明了一種用于把修補程序應用于駐留在非易失存儲器裝置上代碼或數據的方法和設備??梢杂神v留在存儲器映象中第二位置的代碼來代替駐留在非易失性存儲器中第一位置的代碼。修補裝置把第一代碼的第一地址與由預先取出指令識別的地址相比較。如果所述第一地址與由預先取出指令識別的地址相匹配,那么發(fā)布預先取出的異常中止以便使由好的代碼來代替駐留在第一地址的壞的代碼便于進行。可以由向量表中的向量來指向所述好的代碼,其中把所述向量的地址動態(tài)地載入程序計數器。
文檔編號G06F15/00GK1732443SQ200380108019
公開日2006年2月8日 申請日期2003年12月9日 優(yōu)先權日2002年12月31日
發(fā)明者約翰·奧克利, 凱文·特雷勒, 格倫·策納 申請人:摩托羅拉公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1