欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

微碼修補系統(tǒng)及方法

文檔序號:6609120閱讀:164來源:國知局
專利名稱:微碼修補系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于嵌入式程序,特別是有關(guān)于一種對嵌入式只讀存儲器實 施修補機制的系統(tǒng)及方法。
背景技術(shù)
對于具有嵌入式處理器的通用目的的專用集成電路(Application-specific Integrated Circuit; ASIC)而言,必須具備程序存儲器,以儲存指令碼。此程序 存儲器可以是只讀存儲器(Read Only Memory; ROM)、隨機存取存儲器 (Random Access Memory; RAM),或兩者的組合。 一般來說,相同容量的ROM 與RAM, ROM所占的面積較小,所以用ROM儲存指令碼中的絕大部分, 也因此,初始化后就不能再對ROM進行修改。所以,當(dāng)需要存取并執(zhí)行儲存 在ROM中的指令碼時,如果ROM內(nèi)部儲存著錯誤的指令碼或是需要增加更 多指令碼,就需要一種修補機制。
一種修補機制是略過錯誤指令,并以另一指令來取代錯誤指令,以命令 處理器存取一修補存儲器(PatchMemory)內(nèi)的正確指令。圖1顯示這種修補機 制的一范例,其為美國專利US6,891,765所揭示的電路100的方框圖。如圖所 示,電路100包括處理器102、程序空間(存儲器)104、修補邏輯電路106以 及選取電路108。存儲器104包含只讀存儲器(ROM)104a及修補存儲器104b。 處理器102提供地址PAB至存儲器104,存儲器104響應(yīng)地址PAB并提供數(shù) 據(jù)項DATA至選取電路108。同時,處理器102也提供地址PAB至修補邏輯 電路106。如果地址PAB與預(yù)先設(shè)定的多個地址中的任何一個均不符合而不 需要被修補、修正或擴展,則修補邏輯電路106取消(de-assert)命令信號
PTCH一DAT一SEL。但是,如果地址PAB符合該多個預(yù)先設(shè)定的地址中的任何 一個,則使命令信號PTCH—DAT—SEL有效(assert),并產(chǎn)生一分支指令PI重 新命令處理器102對修補存儲器104b進行存取。選取電路108根據(jù)命令信號 PTCH一DAT一SEL,選擇由存儲器104所接收的數(shù)據(jù)項DATA或由修補邏輯電 路106所接收的分支指令PI作為指令項目PDBI,并將指令項目PDBI通過數(shù) 據(jù)總線傳送至處理器102。
另一種修補機制是將送至只讀存儲器的地址加以修改。圖2及圖3分別 是這種修補機制的兩個范例,分別顯示美國專利US 6,438,664以及中國臺灣 專利TWI 236,018所揭示的電路200及300。請參考圖2,定序器(sequencer)92 控制多工器(MUX)86以選取存儲器的下一地址。下一地址被傳送至下一地址 緩存器94以選取來自只讀存儲器64a或修補存儲器64b的連接線。所選擇的 連接線被提供至輸出緩存器80。下一地址也被提供至比較器84。接著,比較 器84將下一地址與儲存在多個匹配緩存器88的數(shù)值加以比較。如果來自下 一地址緩存器94的下一地址與匹配緩存器88中的任何一個數(shù)值相符,則比 較器84從一查找表90中選擇出一對應(yīng)的修補RAM地址。從查找表90中所 選擇出的地址被送至多工器86。比較器84也向定序器92報告符合情況發(fā)生 的事件,以便定序器92控制多工器86從查找表90中選出地址。由只讀存儲 器64a輸入至輸出緩存器80的連接線被取消,并且來自修補存儲器64b中的 修補將從查找表90所指示的地址開始執(zhí)行。
如圖3所示,電路300包括只讀存儲器301、隨機存取存儲器303、計數(shù) 器305以及比較與加載單元311。計數(shù)器305產(chǎn)生下一地址以對只讀存儲器 301或隨機存取存儲器303進行存取。計數(shù)器305也提供下一地址313至比較 與加載單元311。當(dāng)下一地址與儲存在比較與加載單元311中的預(yù)先設(shè)定地址 CHkl-CHk4其中之一相符時,比較與加載單元311發(fā)出一重置信號317以及 一轉(zhuǎn)移地址信號319至計數(shù)器305。轉(zhuǎn)移地址信號319表示除錯/更新程序地 址A1至A4的其中之一,重置信號317將計數(shù)器305重置,以將下一地址313轉(zhuǎn)換為轉(zhuǎn)移地址信號319所表示的地址。
在電路100、 200及300中,下一地址不僅傳送至ROM,也傳送至一電 路(修補邏輯電路106、比較器84或比較與加載單元311)以判斷其是否與需要 修補、修正或擴展的多個預(yù)先設(shè)定地址當(dāng)中的任一個相符。結(jié)果,被修補、 修正或擴展的ROM地址仍被存取并產(chǎn)生將被拋棄或取消的不必要的指令碼。 因此,電力及時間被浪費在向ROM中存取不必要的指令碼上。此外,電路 100內(nèi)的處理器102、或是電路200內(nèi)的定序器92及多工器86、或電路300 內(nèi)的計數(shù)器305.需要被重新指派或重置以產(chǎn)生一存取修補存儲器的地址。這 種重新指派或重置的動作影響了正常產(chǎn)生下一 ROM地址的流程并且浪費了 電力及時間。

發(fā)明內(nèi)容
本發(fā)明提供了一種可以解決以上技術(shù)問題的微碼修補系統(tǒng)及方法。
本發(fā)明提供了一種微碼修補系統(tǒng),包括存儲器單元,地址選取單元,以 及捕捉及修補邏輯單元。存儲器單元包括用以儲存至少一微碼主指令的第一 存儲器,以及用以提供至少一微碼修補指令的第二存儲器,存儲器單元根據(jù) 選取輸出地址來被存取。地址選取單元用以提供第一輸出信號。捕捉及修補 邏輯單元耦接于地址選取單元及記憶單元之間,用以判斷第一輸出地址是否與至少一錯誤信號當(dāng)中的任一相符,并且當(dāng)?shù)谝惠敵龅刂放c錯誤地址當(dāng)中之 一相符時,選出一選取修補地址作為一第二輸出地址以存取第二存儲器;當(dāng) 第一輸出地址與錯誤地址均不相符時,則選取第一輸出地址作為第二輸出地 址。第二輸出地址耦接于存儲器單元。
本發(fā)明提供了一種微碼修補方法,用以對一存儲器單元進行存取,其中 存儲器單元包括用以儲存至少一微碼主指令的第一存儲器,以及用以儲存至 少一微碼修補指令的第二存儲器。該方法包括提供第一存儲器的至少一錯 誤地址;提供第一輸出地址;判斷第一輸出地址是否與錯誤地址當(dāng)中任一相符,如果是,則第二輸出地址為存取該第二存儲器的一選取修補地址,如果
否,則第二輸出地址為該第一輸出地址;以及根據(jù)該第二輸出地址來對存儲 器單元進行存取。
本發(fā)明提供的微碼修補的系統(tǒng)及方法,通過先判斷第一輸出地址是否需 要被替代為一存取第二存儲器的地址之后,再根據(jù)判斷結(jié)果來選取第二輸出 地址,不需要存取需修補、修正或擴展的ROM地址,并且修補存儲器的修補 地址的產(chǎn)生過程也不會干擾到下一 ROM地址的正常產(chǎn)生流程,因而能夠節(jié)省 電力及時間。


圖1顯示一現(xiàn)有微碼修補機制的電路方框圖。
圖2顯示另一現(xiàn)有微碼修補機制的電路方框圖。
圖3顯示另一現(xiàn)有微碼修補機制的電路方框圖。
圖4顯示本發(fā)明提供的微碼修補系統(tǒng)的方框示意圖的一實施例。
圖5顯示本發(fā)明提供的微碼修補系統(tǒng)的方框示意圖的另一實施例。
圖6顯示圖4及圖5中所示的比較模塊及地址選取器的結(jié)構(gòu)示意圖。
圖7顯示本發(fā)明所提供的微碼修補方法的流程圖的一實施例。
具體實施例方式
圖4顯示本發(fā)明一實施例的微碼修補系統(tǒng)400的方框圖。如圖所示,微 碼修補系統(tǒng)400包括一存儲器單元410及一處理器430。
存儲器單元410包括第一存儲器411及第二存儲器412。第一存儲器411 可以是只讀存儲器(Read Only Memory; ROM),其包含存儲器單元410的存 儲器空間的第一地址范圍,用以儲存至少一微碼主指令。第二存儲器412可 以是隨機存取存儲器(Random Access Memory; RAM),其包含存儲器單元410 的存儲器空間的第二地址范圍,用以儲存至少一微碼修補指令。第一及第二
存儲器4U、 412可以是彼此獨立的分離存儲器,也可以是一個存儲器的第一 及第二部分。
如圖所示,處理器430包括地址選取單元432、捕捉及修補邏輯單元434, 地址緩存器436,以及地址累加器438。地址選取單元432接收至少一輸入目 標(biāo)地址(如Ain—,至Ai^)以存取第一存儲器411,以及從地址累加器438接收下 一目標(biāo)地址Anext,并根據(jù)順序控制信號Ssc在所接收的地址當(dāng)中選一個作為第 一輸出地址Aoj,然后提供第一輸出地址A"至捕捉及修補邏輯單元434。 在一實施例中,地址選取單元432是一多工器。輸入目標(biāo)地址Ain」至Ain—n, 例如, 一個由指令譯碼器(圖中未示)所產(chǎn)生的用以讀取第一存儲器411所儲存 的分支指令的目標(biāo)地址,或一個由中斷控制器(圖中未示)所產(chǎn)生的用以存取第 一存儲器411所儲存的中斷處理指令的起始地址,等等。
當(dāng)接收到第一輸出信號A0J之后,捕捉及修補邏輯單元434檢查第一輸 出信號A0J是否與至少一錯誤地址(例如為AbugJ至Abu^)當(dāng)中任一相符合, 并根據(jù)該檢查結(jié)果來提供一第二輸出地址A0—2以對存取存儲器單元410進行 存取。錯誤地址Ab^至Abug—m指示儲存在第一存儲器411中需要被修補、修 正或擴展的微碼主指令的起始地址。
假設(shè)第一輸出地址A0J與錯誤地址Abug—,至Abug—m當(dāng)中之一(如Abug—O相 符,則捕捉及修補邏輯單元434會從至少一修補地址(譬如為ApatehJ至Apatch_m)
當(dāng)中選取出修補地址ApatdU,并輸出修補地址Apatchj作為第二輸出地址A0_2
以對第二存儲器412進行存取。修補地址Ap自hj至Apateh—m分別與錯誤地址
AbugJ至Abug一m相對應(yīng)。每一修補地址ApatehJ至Apat^m是第二存儲器412所
儲存的某一更新/除錯程序的起始地址。并且每一更新/除錯程序是以一個重新
指派處理器430再次存取第一存儲器411的微碼修補指令作為結(jié)束。
然而,假使第一輸出地址A0」與錯誤地址Ao-1至Abug_m當(dāng)中任一均不相 符,則捕捉及修補邏輯單元434直接輸出第一輸出地址Ao-1作為第二輸出地 址A0-2以存取存儲器單元410。應(yīng)該注意的是,捕捉及修補邏輯單元434也可不設(shè)置于處理器430之內(nèi),而可將其設(shè)置于處理器430之外并與處理器430相對獨立。捕捉及修補邏輯單元434的具體結(jié)構(gòu)將在對圖6的相關(guān)描述中說明。
地址緩存器436暫存第二輸出地址A0_2,并將第二輸出地址A0—2提供至地址累加器438。地址累加器438將第二輸出地址Aoj增加一個單位地址(例如為1)以提供下一目標(biāo)地址Anext。
因此,即使第一存儲器411是儲存著不可修改的數(shù)據(jù)或指令的只讀存儲器,仍然可以替代或增加數(shù)據(jù)或指令到第一存儲器411所儲存的數(shù)據(jù)或指令中。舉例來說,當(dāng)需要忽略第一存儲器411的地址Ah至Ah+m所指示的微碼主指令Ch至Ch+m時,可以將一錯誤地址設(shè)定為地址Ah,地址Ah所對應(yīng)的修補地址所指示的一微碼修補指令,指示處理器430以存取第一存儲器411的地址Ah+m+1。在另一范例中,當(dāng)?shù)谝淮鎯ζ?11的地址Ah至Ah+m所指示的微碼主指令需要被替代為第二存儲器412的地址Ap至Aq所指示的微碼修補指令時,可以將一錯誤地址設(shè)定為地址Ah,地址Ah所對應(yīng)的修補地址設(shè)定為Ap,且第二存儲器412的地址Aq+1所指示的微碼修補指令可以指示處理器430以存取第一存儲器411的地址Ah+m+1,。在又一范例中,當(dāng)?shù)谝淮鎯ζ?11的地址 Ap至Aq所指示的微碼主指令需要被插入到第一存儲器411的地址Ah至Ah+1 所指示的微碼主指令之間時,可以將一錯誤地址設(shè)定為地址Ah,地址Ah所對 應(yīng)的修補地址設(shè)定為Ap,且第二存儲器412的地址Aq+1所指示的微碼修補指令重新指示處理器430以存取第一存儲器411的地Ah+1。
圖5是本發(fā)明另一實施例所提供的一微碼修補系統(tǒng)500的一方框圖,其與圖4所示的微碼修補系統(tǒng)的差異僅在于由地址緩存器436提供第二輸出地址A0—2至存儲器單元410,而不是由捕捉及修補邏輯單元434提供第二輸出地址Ao一2。其余結(jié)構(gòu)均很類似,在此不再贅述。
圖6是本發(fā)明圖4及圖5所示的捕捉及修補邏輯單元434的方框圖的實 施例。如圖所示,捕捉及修補電路434包括一比較模塊610以及一地址選取器620。比較模塊610判斷第一輸出地址A0—1是否與至少一錯誤地址(譬如為 Abug_1至Abug_m)當(dāng)中任一相符,其中錯誤地址指示第一存儲器410所儲存的需 要被修補、修正或擴展的微碼主指令。比較模塊610產(chǎn)生一地址選取信號SAs 以指示錯誤地址當(dāng)中哪一個與第一輸出地址A0J相符,并將地址選取信號SAS 提供至地址選取器620。當(dāng)接收到地址選取信號SAS以及第一輸出地址A0J 后,假如地址選取信號SAs指示錯誤地址當(dāng)中之一與第一輸出地址Aoj相符, 則地址選取器620會從至少一修補地址(譬如為Apateh—,至Apateh—m)中選取一個 作為第二輸出地址A0—2,其中修補地址Apatch—,至Apatch—m分別與錯誤地址AbugJ至Abug^相對應(yīng);反之,假如地址選取信號sas指示出錯誤地址均不與第一輸出地址A0J相符,則地址選取器620直接輸出第一輸出地址A0J作為第二輸 出地址Ao_2。
圖6也顯示了比較模塊610及地址選取器620的具體結(jié)構(gòu)。如圖所示, 比較模塊610包括一比較單元612以及一使能邏輯單元616。比較單元612包 括多個邏輯方框613i至613z。每一邏輯方框613,至613z可以是一比較器, 用以比較第一輸出地址A0J與多個預(yù)先設(shè)定地址ApreJ至Apre_z當(dāng)中之一 以產(chǎn) 生一代表比較結(jié)果的比較輸出(O!至Oz)。預(yù)先設(shè)定地址Apre—i至Apre—z可由地 址緩存器接收而得,也可從外部產(chǎn)生。預(yù)先設(shè)定地址Ap^至Apre—z包括錯誤 地址AbugJ至Abug—m。由于錯誤地址的數(shù)目(m)是變動的,因此并非所有儲存 在地址緩存器內(nèi)的預(yù)先設(shè)定地址Aprej至Apre_z均用作錯誤地址AbugJ至 Abug—m。比較單元612接著提供一匹配信號Sm(即比較輸出0,至Oz)至使能邏 輯單元616,以指示預(yù)先設(shè)定地址ApreJ至Apre_z當(dāng)中哪一個與第一輸出地址 A0J相符。
使能邏輯單元616包括多個邏輯門617!至617z,每一邏輯門是用以使能/ 不使能該比較輸出至Oz。由于并不是所有預(yù)先設(shè)定地址ApreJ至Ap^z均 用來作為指示第一存儲器411需要修補、修正或擴展的錯誤地址AbugJ至 AbU2m,因此當(dāng)邏輯方框接收到并未用作錯誤地址的預(yù)先設(shè)定地址時,使能邏
輯門617i至617z不使能其所產(chǎn)生的比較輸出;而當(dāng)邏輯方框接收到用作錯誤 地址的預(yù)先設(shè)定地址時,使能邏輯門617!至617z將使能所產(chǎn)生的比較輸出。
每一邏輯門617,至617z可為一邏輯與門(如圖所示),其具有一第一輸入, 用以從邏輯方框613,至613z當(dāng)中之一接收一比較輸出; 一第二輸入,用以接 收多個使能比特(譬如為ENo至EN》當(dāng)中之一,以提供一使能輸出EOi至EOz。 使能比特ENo至ENz可由使能緩存器接收而得,或可由外部產(chǎn)生。值為"1" 的使能比特ENo至ENz是將比較信號O,至Oz使能,而值為"0"的使能比特 ENo至ENz是將比較信號C^至Oz非使能。使能邏輯單元616接著輸出地址 選取信號Sas(即使能瑜出EO,至EOz),地址選取信號SAs指示目前當(dāng)作錯誤 地址Apre-1至Apre_z的預(yù)先設(shè)定地址Apre」至Apre_z當(dāng)中哪一個與第一輸出地 址Ao_1,相符。
圖6也顯示了比較模塊610及地址選取器620的具體結(jié)構(gòu)。如圖所示, 地址選取器620可為一多工器,其接收第一輸入地址A0—1以及多個修補地址 Apatch_1至Apateh—m,用以根據(jù)地址選取信號SAS而選取當(dāng)中之一作為第二輸出地
址Ao,修補地址Ap^y至Apateh^可由地址緩存器接收而得,或可從外部產(chǎn) 生。如前所述,修補地址Apatehj至Apateh—m可提供用于第二存儲器412內(nèi)更新 /除錯程序的新指令部分的起始地址。如此一來,如果第一輸出地址Aoj與預(yù)
先設(shè)定地址ApreJ至Apre_z中的作為錯誤地址的一特定地址相符,處理器410 所執(zhí)行的程序可以分支為修補地址ApatehJ至Apateh—m。
總之,處理器430產(chǎn)生第一輸出地址Ao—p其中第一輸出地址Aoj是被 初始化以對第一存儲器411進行存取,并判斷第一輸出地址A0J是否需要被 取代為一存取第二存儲器412的地址,接著根據(jù)判斷結(jié)果選取第二輸出地址 Ao—2以對存儲器單元410進行存取。如此一來,需要被修補、修正或擴展的 地址會在被傳送至第一存儲器(ROM)之前就被判斷并取代掉,因此能避免對 第一存儲器的不必要的存取。這與現(xiàn)有電路100、 200及300有所不同,現(xiàn)有 電路100、 200及300中需要被修補、修正或擴展的地址仍然被傳送至ROM。
此外,用以取代被修補、修正或擴展的修補地址是直接傳送至存儲器單元410 而非傳送至現(xiàn)有電路100中的處理器102、現(xiàn)有電路200中的多工器86或現(xiàn) 有電路300中的計數(shù)器305,因此本發(fā)明中地址選取單元432不需要重新指派 或重新設(shè)定的動作,從而產(chǎn)生第一存儲器的下一地址的正常程序不會被中斷。
圖7顯示本發(fā)明所提供的微碼修補方法的流程圖的一實施例,其中微碼 修補方法包括存取一存儲器單元,其包括用以儲存至少一微碼主要指令的 第一存儲器,以及用以儲存至少一微碼修補指令的第二存儲器。
首先,在步驟710中,將第一輸出地址初始化以存取第一存儲器的某一 地址。更具體來說,步驟710是從至少一用以存取第一存儲器的輸入地址當(dāng) 中,選取一地址作為第一輸出地址,例如,由一指令譯碼器所產(chǎn)生的一目標(biāo) 地址,用以讀取第一存儲器所儲存的一分支指令、或是由一中斷控制單元所 產(chǎn)生的一起始地址,用以儲存該第一存儲器所儲存的中斷程序碼等等。
接下來,在步驟720中,判斷第一輸出地址是否與錯誤地址當(dāng)中任一相符。
如果是,則程序進入步驟731以提供第二存儲器的一選取修補地址作為 第二輸出地址,并且第二輸出地址是用來存取存儲器單元。在步驟731的一 實施例中,提供至少一對應(yīng)至錯誤地址的修補地址,并且與第一輸出地址相 符的錯誤地址所對應(yīng)的修補地址被選取為選取修補地址。
如果不是,程序會進入步驟732以輸出第一輸出地址作為第二輸出地址, 并且第二輸出地址是用來存取存儲器單元。
接下來,在步驟740中,重新產(chǎn)生第一輸出地址,并且程序回到步驟720。 在一實施例中,最先產(chǎn)生的是第二輸出地址的下一相鄰地址,接著在步驟710 所描述的輸入地址以及第二輸出地址的下一相鄰地址中,選出第一輸出地址。
總之,本發(fā)明是在判斷被初始化為存取第一存儲器的第一輸出地址是否 需要被替代為存取第二存儲器的地址之后,才根據(jù)先前的判斷結(jié)果來選取第 二輸出地址提供到存儲器單元。如此一來,需要被修補、修正或擴展的地址
會在被傳送至第一存儲器(ROM)之前就被取代掉,因此能避免對第一存儲器 的不必要存取。這與現(xiàn)有電路IOO、 200及300有所不同,現(xiàn)有電路IOO、 200 及300中必須被修補、修正或擴展的地址仍然被傳送至ROM。此外,用以取 代被修補、修正或擴展的修補地址被直接傳送至存儲器單元,因此本發(fā)明不 需要重新指派或重新設(shè)定的動作。
雖然本發(fā)明已以較佳實施例揭示如上,然其并非用以限定本發(fā)明,任何 所屬技術(shù)領(lǐng)域中的技術(shù)人員,在不脫離本發(fā)明的范圍內(nèi),可以做一些改動, 因此本發(fā)明的保護范圍應(yīng)與權(quán)利要求所界定的范圍為準(zhǔn)。
權(quán)利要求
1. 一種微碼修補系統(tǒng),其特征在于,該微碼修補系統(tǒng)包括一存儲器單元,其包括一用以儲存至少一微碼主指令的第一存儲器以及一用以提供至少一微碼修補指令的第二存儲器,該存儲器單元根據(jù)一選取輸出地址被存??;一地址選取單元,用以提供一第一輸出地址;以及一捕捉及修補邏輯單元,耦接于所述的地址選取單元及所述的存儲器單元之間,用以判斷所述的第一輸出地址是否與至少一錯誤地址中任一相符,并且當(dāng)該第一輸出地址與該錯誤地址其中之一相符時,選出一用于存取所述的第二存儲器的選取修補地址作為一第二輸出地址,當(dāng)所述的第一輸出地址與所述的錯誤地址均不相符時,選取該第一輸出地址作為一第二輸出地址,其中該第二輸出地址耦接于所述的存儲器單元。
2. 如權(quán)利要求1所述的微碼修補系統(tǒng),其特征在于,所述的第一存儲器 是只讀存儲器,所述的第二存儲器是隨機存取存儲器。
3. 如權(quán)利要求1所述的微碼修補系統(tǒng),其特征在于,所述的地址選取單 元接收多個輸入地址,并選出其中之一作為所述的第一輸出地址,其中所述 的多個輸入地址包括至少一用以存取所述的第一存儲器的地址。
4. 如權(quán)利要求3所述的微碼修補系統(tǒng),其特征在于,所述的多個輸入地 址進一步包括所述的第二輸出地址的下一相鄰地址。
5. 如權(quán)利要求1所述的微碼修補系統(tǒng),其特征在于,該微碼修補系統(tǒng)進 一步包括一地址緩存器,用以暫存所述的捕捉及修補邏輯單元所輸出的所述的第 二輸出地址;以及一地址累加器,用以增加所述的地址緩存器所輸出的所述的第二輸出地 址以提供所述的第二輸出地址的下一相鄰地址。
6. 如權(quán)利要求5所述的微碼修補系統(tǒng),其特征在于,所述的地址緩存器 耦接于所述的捕捉及修補邏輯單元,并且提供所述的第二輸出地址至所述的 存儲器單元。
7. 如權(quán)利要求1所述的微碼修補系統(tǒng),其特征在于,所述的捕捉及修補 邏輯單元包括一比較模塊,用以判斷所述的第一輸出地址是否與至少一所述的多個錯 誤地址當(dāng)中任一相符,并輸出一地址選取信號以指示所述的多個錯誤地址當(dāng) 中哪一個與所述的第一輸出地址相符;以及一地址選取器,用以接收所述的地址選取信號以及所述的第一輸出地址, 以及若所述的地址選取信號指示所述的多個錯誤地址其中之一與所述的第一 輸出地址相符時,選取一對應(yīng)的修補地址作為所述的選取修補地址并提供所 述的選取修補地址作為所述的第二輸出地址;否則,選取所述的第一輸出地 址作為所述的第二輸出地址。
8. 如權(quán)利要求1所述的微碼修補系統(tǒng),其特征在于,所述的錯誤地址分別 對應(yīng)至少一修補地址,以及若所述的第一輸出地址與一錯誤地址相符時,所 述的捕捉及修補邏輯單元選出一對應(yīng)的修補地址作為所述的選取修補地址。
9. 如權(quán)利要求8所述的微碼修補系統(tǒng),其特征在于,所述的捕捉及修補 邏輯單元包括一比較單元,用以判斷所述的第一輸出地址是否與至少一預(yù)先設(shè)定地址 當(dāng)中任一相符,所述的多個預(yù)先設(shè)定地址包括所述的錯誤地址,并輸出一匹 配信號用以指示所述的多個預(yù)先設(shè)定信號當(dāng)中哪一個與所述的第一輸出地址 相符;以及一使能邏輯單元,用以判斷所述的匹配信號的使能狀態(tài),以提供所述的 地址選取信號用以指示所述的多個設(shè)定為使能狀態(tài)的預(yù)先設(shè)定地址當(dāng)中哪一 個與所述的第一輸出信號相符。
10. —種微碼修補方法,用以存取一存儲器單元,所述的存儲器單元包括 一用以儲存至少一微碼主指令的第一存儲器以及一用以儲存至少一微碼修補 指令的第二存儲器,其特征在于,所述的微碼修補方法包括 提供一第一輸出地址;判斷所述的第一輸出地址是否與至少一錯誤地址當(dāng)中任一相符;以及 根據(jù)所述的判斷結(jié)果以輸出一第二輸出地址,假如所述的判斷結(jié)果為是, 則所述的第二輸出地址為一存取所述的第二存儲器的一選取修補地址,假如 所述的判斷結(jié)果為否,則所述的第二輸出地址為所述的第一輸出地址,并根 據(jù)所述的第二輸出地址以存取所述的存儲器單元。
11. 如權(quán)利要求10所述的微碼修補方法,其特征在于,提供所述的選取 修補地址作為所述的第二輸出地址以存取所述的第二存儲器的步驟包括.-提供至少一修補地址,分別對應(yīng)至所述的錯誤地址;以及 選取所述的多個修補地址當(dāng)中之一對應(yīng)于與所述的第一輸出地址相符的 所述的錯誤地址作為所述的選取修補地址。
12. 如權(quán)利要求10所述的微碼修補方法,其特征在于,所述的第一存儲 器是只讀存儲器,所述的第二存儲器是隨機存取存儲器。
全文摘要
本發(fā)明提供一種微碼修補系統(tǒng),包括存儲器單元、地址選取單元及捕捉及修補邏輯單元。存儲器單元根據(jù)選取輸出地址被存取。地址選取單元用以提供第一輸出地址。捕捉及修補邏輯單元耦接于地址選取單元及記憶單元之間,用以判斷第一輸出地址是否與至少一錯誤地址當(dāng)中任一相符,并且當(dāng)?shù)谝惠敵龅刂放c錯誤地址當(dāng)中的一個相符時,選出一選取修補地址作為第二輸出地址,當(dāng)?shù)谝惠敵龅刂放c錯誤地址均不相符時,選取第一輸出地址作為第二輸出地址,其中第二輸出地址耦接于存儲器單元。本發(fā)明提供的微碼修補系統(tǒng),不需要存取需修補、修正或擴展的ROM地址,并且修補存儲器的修補地址的產(chǎn)生過程也不會干擾到下一ROM地址的正常產(chǎn)生流程,因而能夠節(jié)省電力及時間。
文檔編號G06F9/22GK101206562SQ20071010442
公開日2008年6月25日 申請日期2007年4月20日 優(yōu)先權(quán)日2006年12月22日
發(fā)明者李明鴻 申請人:聯(lián)發(fā)科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
怀远县| 茌平县| 永城市| 马公市| 招远市| 新兴县| 德安县| 隆尧县| 丹巴县| 潍坊市| 渝北区| 湘西| 铁力市| 溆浦县| 内江市| 射洪县| 乐陵市| 五峰| 佛学| 洪泽县| 四平市| 延庆县| 车险| 句容市| 双江| 太湖县| 黎平县| 收藏| 元氏县| 双江| 乌拉特前旗| 佛坪县| 南昌市| 石门县| 叶城县| 英吉沙县| 新竹市| 南宫市| 泰和县| 娄烦县| 固镇县|