專利名稱:加速執(zhí)行重復(fù)性指令的方法及其微控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種微控制器,特別涉及一種可加速執(zhí)行重復(fù)性指令的方法及 其微控制器。
背景技術(shù):
一般微控制器的執(zhí)行流程不外乎指令的擷取、指令譯碼、執(zhí)行與數(shù)據(jù)存取。 由于隨著微控制器制造工藝能力的提升,工作頻率已不是指令執(zhí)行電路的瓶頸 所在,而影響微控制器工作效能的,往往是在于程序指令的擷取上。
微控制器于執(zhí)行指令時,會于指令儲存組件中擷取指令。而目前在使用上
最廣泛的指令儲存組件為閃存(FLASH)與電子抹除式只讀存儲器(EEPROM ), 由于前述指令儲存組件頻率速度頂多45ns 70ris,這樣的速度在面對日益復(fù)雜 的微控制應(yīng)用上,將難以配合目前微控制器的工作速度,而嚴重影響微控制器 執(zhí)行的工作效能。
為解決上述的問題,現(xiàn)有技術(shù)已提供指令預(yù)存、分支預(yù)測…提高執(zhí)行微控 制器執(zhí)行效率的方法。然而現(xiàn)有的方法為盡可能壓搾出微控制器的執(zhí)行效能, 對于復(fù)雜的微控制器應(yīng)用上,其彰顯的功效實為有限。
發(fā)明內(nèi)容
本發(fā)明所要解決的問題在于,將程序中重復(fù)性的指令暫存于一存取速度較 快的暫存組件中,當程序執(zhí)行中,欲繼續(xù)執(zhí)行重復(fù)性的指令時,便將指令于儲 存于暫存組件中擷取出來,并以高頻的工作頻來執(zhí)行,以提高處理重復(fù)性指令 的速度,及微控制器執(zhí)行的工作效能。
為達上述目的,本發(fā)明提供一種加速執(zhí)行重復(fù)性指令的微控制器,包括 一指令內(nèi)存,用于儲存一程序,以提供一程序指令,該程序包括至少一重
復(fù)性指令循環(huán);
一指令緩存單元,用于暫存該重復(fù)性指令循環(huán);
一指令選擇單元,連接于該指令內(nèi)存及該指令緩存單元,以于該指令內(nèi)存 擷取該程序指令或于該指令緩存單元擷取該重復(fù)性指令循環(huán)輸出;
一頻率選擇單元,用于一第一頻率與一第二頻率間的切換,其中該第二頻
率高于該第一頻率;及
一指令處理單元,連接該指令緩存單元、該指令選擇單元及該頻率選擇單 元,該指令處理單元復(fù)制該重復(fù)性指令循環(huán)至該指令緩存單元暫存,而通過控 制該指令選擇單元擷取該程序指令或該重復(fù)性指令循環(huán);
其中當該指令處理單元將重復(fù)執(zhí)行該重復(fù)性指令循環(huán)時,控制該指令選擇 單元于該指令緩存單元擷取該重復(fù)性指令循環(huán)來執(zhí)行,并控制該頻率選擇單元 提供該第二頻率來處理該重復(fù)性指令循環(huán);而該指令處理單元無重復(fù)執(zhí),亍該重 復(fù)性指令循環(huán)時,控制該指令選擇單元于該指令內(nèi)存擷取該程序指令來執(zhí)行, 并控制該頻率選擇單元提供該第一頻率來處理該程序指令。
本發(fā)明還公開了一種加速執(zhí)行重復(fù)性指令的微控制器,包括
一指令內(nèi)存,用于儲存一程序,以提供一程序指令,該程序包括至少一重 復(fù)性指令循環(huán);
一數(shù)據(jù)存儲器,包括
一通用數(shù)據(jù)存儲器,用于儲存數(shù)據(jù);及
一復(fù)合暫存內(nèi)存,用于儲存數(shù)據(jù)或暫存該重復(fù)性指令循環(huán);
一指令選擇單元,連接于該指令內(nèi)存及該指令緩存單元,以于該指令內(nèi)存 擷取該程序指令或于該指令緩存單元擷取該重復(fù)性指令循環(huán)輸出;
一頻率選擇單元,用于一第一頻率與一第二頻率間的切換,其中該第二頻 率高于該第一頻率;及
一指令處理單元,連接該復(fù)合暫存內(nèi)存、該指令選擇單元及該頻率選擇單 元,復(fù)制該重復(fù)性指令循環(huán)至該復(fù)合暫存內(nèi)存暫存,而通過控制該指令選擇單 元擷取該程序指令或該重復(fù)性指令循環(huán)來執(zhí)行;
其中當該指令處理單元將重復(fù)執(zhí)行該重復(fù)性指令循環(huán)時,控制該指令選擇 單元于該復(fù)合緩存單元擷取該重復(fù)性指令循環(huán)來執(zhí)行,并控制該頻率選擇單元 提供該第二頻率來處理該重復(fù)性指令循環(huán);而該指令處理單元無重復(fù)執(zhí)行該重 復(fù)性指令循環(huán)時,控制該指令選擇單元于該指令內(nèi)存擷取該程序指令來執(zhí)行, 并控制該頻率選擇單元提供該第一頻率來處理該程序指令。本發(fā)明還公開了 一種加速執(zhí)行重復(fù)性指令的方法,包括
(a) 于一指令內(nèi)存中擷取一程序的一程序指令,其中該程序包括至少一重 復(fù)性指令循環(huán);
(b) 處理該程序指令并判斷是否為該重復(fù)性指令循環(huán)的開始位置,若該程 序指令不為重復(fù)性指令循環(huán)的開始位置,則繼續(xù)由該指令內(nèi)存中擷取該禾呈序的
下一程序指令;
(c) 若該指令為該重復(fù)性指令循環(huán)的開始位置,則復(fù)制該指令至一J旨令緩 存單元,其中該指令緩存單元的存取速度快于該指令內(nèi)存;
(d) 擷取該程序的下一程序指令;
(e) 處理該程序指令并判斷是否為該重復(fù)性指令循環(huán)的結(jié)束位置,若該程 序指令不為該重復(fù)性指令循環(huán)的結(jié)束位置,則復(fù)制該程序指令并返回步驟(d);
(f) 若該程序指令為重復(fù)性指令循環(huán)的結(jié)束位置,則判斷是否繼續(xù)執(zhí)行該 重復(fù)性指令循環(huán);
(g) 若判斷為繼續(xù)執(zhí)行該重復(fù)性指令循環(huán),復(fù)制該程序指令至該指令緩存 單元,并將工作頻率由一第一頻率切換至一第二頻率,其中該第二頻率高于該 第一頻率;及
(h) 于該指令緩存單元擷取該重復(fù)性指令循環(huán),并以該第二頻率來執(zhí)行該 重復(fù)性指令循環(huán)。
本發(fā)明所述的微控制器可以高速處理重復(fù)性指令,提升指令執(zhí)行的^:率。
圖1為本發(fā)明的微控制器第一較佳實施例的功能方塊圖; 圖2為本發(fā)明程序指令結(jié)構(gòu)示意圖3為本發(fā)明的微控制器第二較佳實施例的功能方塊圖;及 圖4為本發(fā)明加速執(zhí)行重復(fù)性指令的方法流程圖。 其中,附圖標記
微控制器IO, 20 指令處理單元ll 指令選擇單元12 指令內(nèi)存13
指令緩存單元14 頻率選擇單元15
數(shù)據(jù)存儲器24 數(shù)據(jù)選擇單元26
通用數(shù)據(jù)存儲器241 復(fù)合暫存內(nèi)存24具體實施例方式
請參閱圖l所示,為本發(fā)明的微控制器第一較佳實施例的功能方塊圖,微 控制器10可用于加速執(zhí)行重復(fù)性指令,其包括一指令處理單元ll、 一指令選 擇單元12、 一指令內(nèi)存13、 一指令緩存單元14及一頻率選擇單元15。其中 頻率選擇單元15受指令處理單元11控制,以提供一第一頻率及第二頻率的工 作頻率,其中第二頻率高于第一頻率。指令內(nèi)存13則是用于儲存一程序的指 令,以供指令處理單元11處理;其中該程序包括了至少一重復(fù)性指令循環(huán), 也就是程序中一些常重復(fù)執(zhí)行的子程序指令。當指令處理單元11處理到重復(fù) 性指令循環(huán)時,將重復(fù)性指令循環(huán)中的指令復(fù)制到指令緩存單元14暫存。指 令選擇單元12連接指令內(nèi)存13及指令緩存單元14,并受指令處理單元11的 控制,選擇于指令內(nèi)存13中擷取程序指令,以供指令處理單元11處理;或是 于指令緩存單元14中擷取重復(fù)性指令循環(huán)供指令處理單元11處理。前述指令 緩存單元14的存取速度比指令內(nèi)存13快。
指令處理單元11連接頻率選擇單元15、指令選擇單元12及指令緩存單 元14。當指令處理單元11通過控制指令選擇單元12去擷取指令內(nèi)存13中的 程序指令來處理時,若處理到重復(fù)性指令循環(huán)的指令,便于執(zhí)行重復(fù)性指令循 環(huán)的指令的同時,復(fù)制重復(fù)性指令循環(huán)的指令到指令緩存單元14儲存。而指 令處理單元11處理到重復(fù)性指令循環(huán)中最后一道指令時,將判斷是否繼續(xù)執(zhí) 行重復(fù)性指令循環(huán);若繼續(xù)執(zhí)行重復(fù)性指令循環(huán),則控制頻率選擇單元15將 工作頻率由第一頻率切換至第二頻率,及控制指令選擇單元12于指令緩存單 元14中擷取重復(fù)性指令循環(huán)的指令,然后以第二頻率處理重復(fù)性指令循環(huán)。
而指令處理單元11根據(jù)程序中的特殊指令,以判斷重復(fù)性指令循環(huán)的頭 尾位置。請接著參閱圖2所示,為本發(fā)明程序指令結(jié)構(gòu)示意圖, 一原始程序中 有一固定算法的子程序;其子程序內(nèi)容為讀取運算數(shù)據(jù),經(jīng)算法運算,接著再 寫運算數(shù)據(jù)以回存到內(nèi)存,而結(jié)尾是有條件式的跳躍指令,成立就跳回該子程 序的開始,不成立就繼續(xù)往下執(zhí)行該原始程序。
然而,本發(fā)明將子程序的開頭先定義一道重復(fù)性指令循環(huán)起點指令,以通 知指令處理單元U此為重復(fù)性指令循環(huán)的開始位置,必須開始記錄指令碼至
指令緩存單元14;再于子程序的結(jié)尾定義一道重復(fù)性指令循環(huán)終點指令,而 該重復(fù)性指令循環(huán)終點指令包括一重復(fù)性指令循環(huán)判斷指令,其中重復(fù)性指令 循環(huán)判斷指令具有一跳躍指令條件,其可根據(jù)原始子程序結(jié)尾的有條f^式S^躍 指令來定義,而通過重復(fù)性指令循環(huán)終點指令可通知指令處理單元11此為重 復(fù)性指令循環(huán)的結(jié)束位置,并判斷是否繼續(xù)執(zhí)行重復(fù)性指令循環(huán);若滿足重復(fù) 性指令循環(huán)判斷指令中的跳躍指令條件,指令處理單元11便以第二頻率處理 儲存于指令緩存單元14中的重復(fù)性指令循環(huán);若不滿足重復(fù)性指令循環(huán)判斷 指令中的跳躍指令條件,則指令處理單元11便控制指令選擇單元12于指令內(nèi) 存13擷取下一道程序指令,并以第一頻率處理下一道程序指令。
接著請參閱圖3所示,為本發(fā)明的微控制器第二較佳實施例的功能方塊 圖,微控制器20可用于加速執(zhí)行重復(fù)性指令,其包括一指令處理單元11、 一 指令選擇單元12、 一指令內(nèi)存13、 一頻率選擇單元15、 一數(shù)據(jù)存儲器24及 一數(shù)據(jù)選擇單元26。其中頻率選擇單元15受指令處理單元11控制,以提供 一第一頻率及一第二頻率的工作頻率,而第二頻率高于第一頻率。指令內(nèi)存 13則是用于儲存一程序的指令,以供指令處理單元ll處理;其中該程序包括 了至少一重復(fù)性指令循環(huán),也就是程序中一些常重復(fù)執(zhí)行的子程序指令。
數(shù)據(jù)存儲器24包括一通用數(shù)據(jù)存儲器241及一復(fù)合暫存內(nèi)存242,其通 用數(shù)據(jù)存儲器241用于儲存數(shù)據(jù),供指令處理單元11做數(shù)據(jù)的存?。欢鴱?fù)合 暫存內(nèi)存242除了可以用于儲存數(shù)據(jù)并供指令處理單元11做數(shù)據(jù)的存取外, 還可用于暫存重復(fù)性指令循環(huán)的指令以供指令處理單元11處理;其中當復(fù)合 暫存內(nèi)存242用于暫存重復(fù)性指令循環(huán)的指令時,便不提供指令處理單元11 執(zhí)行數(shù)據(jù)存取的動作。數(shù)據(jù)存儲器24的存取速度快于指令內(nèi)存13。
指令選擇單元12連接指令內(nèi)存13及復(fù)合暫存內(nèi)存242,并受指令處理單 元11的控制,可選擇于指令內(nèi)存13中擷取程序指令,以供指令處理單元ll 處理;或是于復(fù)合暫存內(nèi)存242中擷取重復(fù)性指令循環(huán)的指令,以供指令處理 單元11處理。數(shù)據(jù)選擇單元26連接通用數(shù)據(jù)存儲器241及復(fù)合暫存內(nèi)存242, 且受指令處理單元11的控制,可選擇于通用數(shù)據(jù)存儲器241執(zhí)行數(shù)據(jù)的存取, 或于復(fù)合暫存內(nèi)存242執(zhí)行數(shù)據(jù)的存取。
指令處理單元11連接頻率選擇單元15、指令選擇單元12、數(shù)據(jù)選擇單元 26及復(fù)合暫存內(nèi)存242。當指令處理單元11通過控制指令選擇單元12去擷取
指令內(nèi)存13中的程序指令來處理時,若處理到程序重復(fù)性指令循環(huán),便于執(zhí) 行重復(fù)性指令循環(huán)的指令的同時,復(fù)制重復(fù)性指令循環(huán)的指令到復(fù)合暫存內(nèi)存
242儲存。而指令處理單元11處理到重復(fù)性指令循環(huán)中最后一道指令時,將 判斷是否繼續(xù)執(zhí)行重復(fù)性指令循環(huán);若繼續(xù)執(zhí)行重復(fù)性指令循環(huán),則控制z頻率 選擇單元15將工作頻率由第一頻率切換為第二頻率,及控制指令選擇單元12 于復(fù)合暫存內(nèi)存242中擷取重復(fù)性指令循環(huán)的指令,然后以第二頻率處理重復(fù) 性指令循環(huán);若結(jié)束執(zhí)行重復(fù)性指令循環(huán),則指令處理單元11便控制指令選 擇單元12于指令內(nèi)存13擷取接下來的程序指令,并以第一頻率處理接下來的 程序指令,而儲存于復(fù)合暫存內(nèi)存242中的重復(fù)性指令循環(huán)將予以舍棄,以提 供數(shù)據(jù)的存取。
而指令處理單元11判斷重復(fù)性指令循環(huán)的頭尾位置及判斷是否繼續(xù)執(zhí)行 的原理,同于上述圖2的相關(guān)說明,不再贅述。
承上述工作原理,接著請參閱圖4所示,為本發(fā)明加速執(zhí)行重復(fù)性指令的 方法流程圖。首先指令處理單元11于指令內(nèi)存13中擷取一程序指令(如圖4 步驟S401),接著便將該程序指令譯碼并判斷其是否為重復(fù)性指令循環(huán)的開 始位置(如圖4步驟S403),若該程序指令不是重復(fù)性指令循環(huán)的開始位置, 則返回步驟S401;若該程序指令為重復(fù)性指令循環(huán)的開始位置,則復(fù)制該指 令到指令緩存單元14 (如圖4步驟S405);然后指令處理單元ll再從指令內(nèi) 存13擷取下一道程序指令(如圖4步驟S407);接著指令處理單元11便將 步驟S407中所擷取的程序指令譯碼并判斷其是否為重復(fù)性指令循環(huán)的結(jié)束位 置(如圖4步驟S409);若該程序指令不是重復(fù)性指令循環(huán)的結(jié)束位置,則 返回步驟S405;若該程序指令為重復(fù)性指令循環(huán)的結(jié)束位置,接著便根據(jù)該 程序指令判斷是否繼續(xù)執(zhí)行重復(fù)性指令循環(huán)(如圖4步驟S411);若根據(jù)該 程序指令判斷為結(jié)束執(zhí)行重復(fù)性指令循環(huán),便返回步驟S401;若根據(jù)該程序 指令判斷為繼續(xù)執(zhí)行重復(fù)性指令循環(huán),指令處理單元11便復(fù)制該程序指令到 指令緩存單元14 (如圖4步驟S413);接著指令處理單元11便控制頻率選擇 單元15將工作頻率切換至高頻(如圖4步驟S415),然后控制指令選擇單元 12于指令緩存單元14擷取重復(fù)性指令循環(huán)的指令來執(zhí)行(如圖4步驟S417)。
在執(zhí)行重復(fù)性指令循環(huán)的指令時,指令處理單元11將重復(fù)性指令循環(huán)的 指令譯碼并判斷是否結(jié)束重復(fù)性指令循環(huán)(如圖4步驟S419);若判斷結(jié)果
為繼續(xù)執(zhí)行重復(fù)性指令循環(huán),便返回步驟S417;若判斷結(jié)果為結(jié)束執(zhí)行重復(fù) 性指令循環(huán),指令處理單元11控制頻率選擇單元15將工作頻率切換回原始工
作頻率(如圖4步驟S421),接著便返回步驟S401。
而前述方法流程中所述的指令緩存單元14,也可為一數(shù)據(jù)存儲器24中的 復(fù)合暫存內(nèi)存242,如圖3本發(fā)明的微控制器第二較佳實施例所示。
綜上所述,微控制器一程序在剛開始執(zhí)行時皆由指令內(nèi)存擷取指令,而指 令內(nèi)存的存取速度較慢,所以指令于慢速工作下執(zhí)行。當執(zhí)行到重復(fù)性指令循 環(huán)時,便將重復(fù)性指令循環(huán)儲存于存取速度較快的指令緩存單元(或復(fù)合暫存 內(nèi)存)中,而在繼續(xù)執(zhí)行重復(fù)性指令循環(huán)時,便于指令緩存單元(或復(fù)合暫存 內(nèi)存)中擷取重復(fù)性指令循環(huán)的指令,并將工作頻率切換至高頻來處理重復(fù)性 指令循環(huán);此方式可有效的加速微控制器執(zhí)行重復(fù)性指令的速度。
上述僅為本發(fā)明其中的較佳實施利,并非用來限定本發(fā)明的實施范圍;凡 依本發(fā)明權(quán)利要求書所作的等效變化與修改,皆為本發(fā)明專利范圍所涵蓋。
權(quán)利要求
1、一種加速執(zhí)行重復(fù)性指令的微控制器,其特征在于,包括一指令內(nèi)存,用于儲存一程序,以提供一程序指令,該程序包括至少一重復(fù)性指令循環(huán);一指令緩存單元,用于暫存該重復(fù)性指令循環(huán);一指令選擇單元,連接于該指令內(nèi)存及該指令緩存單元,以于該指令內(nèi)存擷取該程序指令或于該指令緩存單元擷取該重復(fù)性指令循環(huán)輸出;一頻率選擇單元,用于一第一頻率與一第二頻率間的切換,其中該第二頻率高于該第一頻率;及一指令處理單元,連接該指令緩存單元、該指令選擇單元及該頻率選擇單元,該指令處理單元復(fù)制該重復(fù)性指令循環(huán)至該指令緩存單元暫存,而通過控制該指令選擇單元擷取該程序指令或該重復(fù)性指令循環(huán);其中當該指令處理單元將重復(fù)執(zhí)行該重復(fù)性指令循環(huán)時,控制該指令選擇單元于該指令緩存單元擷取該重復(fù)性指令循環(huán)來執(zhí)行,并控制該頻率選擇單元提供該第二頻率來處理該重復(fù)性指令循環(huán);而該指令處理單元無重復(fù)執(zhí)行該重復(fù)性指令循環(huán)時,控制該指令選擇單元于該指令內(nèi)存擷取該程序指令來執(zhí)行,并控制該頻率選擇單元提供該第一頻率來處理該程序指令。
2、 如權(quán)利要求1所述的加速執(zhí)行重復(fù)性指令的微控制器,其特征在于, 該重復(fù)性指令循環(huán)包括一重復(fù)性指令循環(huán)起點指令,設(shè)于該重復(fù)性指令循環(huán)開始處,供該指令處 理單元辨識該重復(fù)性指令循環(huán)的開始位置;及一重復(fù)性指令循環(huán)終點指令,包含一重復(fù)性指令循環(huán)判斷指令,該重復(fù)性 指令循環(huán)終點指令設(shè)于該重復(fù)性指令循環(huán)結(jié)束處,供該指令處理單元判斷是否 繼續(xù)執(zhí)行該重復(fù)性指令循環(huán),并辨識該重復(fù)性指令循環(huán)的結(jié)束位置;通過使該指令處理單元于處理該程序時,可辨認出該重復(fù)性指令循環(huán),以 儲存于該指令緩存單元。
3、 如權(quán)利要求1所述的加速執(zhí)行重復(fù)性指令的微控制器,其特征在于, 該指令緩存單元的存取速度快于該指令內(nèi)存。
4、 一種加速執(zhí)行重復(fù)性指令的微控制器,其特征在于,包括 一指令內(nèi)存,用于儲存---程序,以提供一程序指令,該程序包括至少-一重 復(fù)性指令循環(huán);一數(shù)據(jù)存儲器,包括一通用數(shù)據(jù)存儲器,用于儲存數(shù)據(jù);及一復(fù)合暫存內(nèi)存,用于儲存數(shù)據(jù)或暫存該重復(fù)性指令循環(huán);一指令選擇單元,連接于該指令內(nèi)存及該指令緩存單元,以于該指令內(nèi)存擷取該程序指令或于該指令緩存單元擷取該重復(fù)性指令循環(huán)輸出;一頻率選擇單元,用于一第一頻率與一第二頻率間的切換,其中該第二頻率高于該第一頻率;及一指令處理單元,連接該復(fù)合暫存內(nèi)存、該指令選擇單元及該頻率選擇單元,復(fù)制該重復(fù)性指令循環(huán)至該復(fù)合暫存內(nèi)存暫存,而通過控制該指令選擇單元擷取該程序指令或該重復(fù)性指令循環(huán)來執(zhí)行;其中當該指令處理單元將重復(fù)執(zhí)行該重復(fù)性指令循環(huán)時,控制該指令選擇單元于該復(fù)合緩存單元擷取該重復(fù)性指令循環(huán)來執(zhí)行,并控制該頻率選擇單元提供該第二頻率來處理該重復(fù)性指令循環(huán);而該指令處理單元無重復(fù)執(zhí)行該重復(fù)性指令循環(huán)時,控制該指令選擇單元于該指令內(nèi)存擷取該程序指令來執(zhí)行,并控制該頻率選擇單元提供該第一頻率來處理該程序指令。
5、 如權(quán)利要求4所述的加速執(zhí)行重復(fù)性指令的微控制器,其特征在于, 還包括一數(shù)據(jù)選擇單元,當該復(fù)合暫存內(nèi)存用于儲存數(shù)據(jù)時,該指令處理單元 控制該數(shù)據(jù)選擇單元于該通用數(shù)據(jù)存儲器或該復(fù)合暫存內(nèi)存中擷取數(shù)據(jù),以執(zhí) 行數(shù)據(jù)存取作業(yè)。
6、 如權(quán)利要求4所述的加速執(zhí)行重復(fù)性指令的微控制器,其特征在于, 該重復(fù)性指令循環(huán)包括一重復(fù)性指令循環(huán)起點指令,設(shè)于該重復(fù)性指令循環(huán)開始處,供該指令處 理單元辨識該重復(fù)性指令循環(huán)的開始位置;及一重復(fù)性指令循環(huán)終點指令,包含一重復(fù)性指令循環(huán)判斷指令,該重復(fù)性 指令循環(huán)終點指令設(shè)于該重復(fù)性指令循環(huán)結(jié)束處,供該指令處理單元判斷是否 繼續(xù)執(zhí)行該重復(fù)性指令循環(huán),并辨識該重復(fù)性指令循環(huán)的結(jié)束位置;通過使該指令處理單元于處理該程序時,可辨認出該重復(fù)性指令循環(huán),以 儲存于該指令緩存單元。
7、 如權(quán)利要求4所述的加速執(zhí)行重復(fù)性指令的微控制器,其特征在于, 該數(shù)據(jù)存儲器的存取速度快于該指令內(nèi)存。
8、 一種加速執(zhí)行重復(fù)性指令的方法,其特征在于,步驟包括(a) 于一指令內(nèi)存中擷取一程序的一程序指令,其中該程序包括至少一重 復(fù)性指令循環(huán);(b) 處理該程序指令并判斷是否為該重復(fù)性指令循環(huán)的開始位置,若該程 序指令不為重復(fù)性指令循環(huán)的開始位置,則繼續(xù)由該指令內(nèi)存中擷取該程序的 下一程序指令;(c) 若該指令為該重復(fù)性指令循環(huán)的開始位置,則復(fù)制該指令至一指令緩 存單元,其中該指令緩存單元的存取速度快于該指令內(nèi)存 ,(d) 擷取該程序的下一程序指令;(e) 處理該程序指令并判斷是否為該重復(fù)性指令循環(huán)的結(jié)束位置,若該程 序指令不為該重復(fù)性指令循環(huán)的結(jié)束位置,則復(fù)制該程序指令并返回歩驟(d);(f) 若該程序指令為重復(fù)性指令循環(huán)的結(jié)束位置,則判斷是否繼續(xù)執(zhí)行該 重復(fù)性指令循環(huán);(g) 若判斷為繼續(xù)執(zhí)行該重復(fù)性指令循環(huán),復(fù)制該程序指令至該指令緩存 單元,并將工作頻率由一第一頻率切換至一第二頻率,其中該第二頻率高于該 第一頻率;及(h) 于該指令緩存單元擷取該重復(fù)性指令循環(huán),并以該第二頻率來執(zhí)行該 重復(fù)性指令循環(huán)。
9、 如權(quán)利要求8所述的加速執(zhí)行重復(fù)性指令的方法,其特征在于,還包 括一步驟(i),判斷是否結(jié)束執(zhí)行該重復(fù)性指令循環(huán);若為是,則將工作頻率 切換該第一頻率并返回該指令內(nèi)存擷取該程序的下一程序指令;若為否,則繼 續(xù)于該指令緩存單元擷取該重復(fù)性指令循環(huán),以該第二頻率來執(zhí)行該重復(fù)性指 令循環(huán)。
10、 如權(quán)利要求8所述的加速執(zhí)行重復(fù)性指令的方法,其特征在于,步驟 (f)還包括,若不繼續(xù)執(zhí)行該重復(fù)性指令循環(huán),則返回該指令內(nèi)存擷取該程序 指令的下一指令。
11、 如權(quán)利要求8所述的加速執(zhí)行重復(fù)性指令的方法,其特征在于,該重 復(fù)性指令循環(huán)包括一重復(fù)性指令循環(huán)起點指令,設(shè)于該重復(fù)性指令循環(huán)開始 處,以供該重復(fù)性指令循環(huán)的開始位置的判斷;及一重復(fù)性指令循環(huán)終點指令,設(shè)于該重復(fù)性指令循環(huán)結(jié)束處,且包含一重復(fù)性指令循環(huán)判斷指令,以供繼續(xù) 或結(jié)束執(zhí)行該重復(fù)性指令循環(huán)的判斷,以及該重復(fù)性指令循環(huán)的結(jié)束位置的判 斷。
全文摘要
本發(fā)明為一種加速執(zhí)行重復(fù)性指令的方法及其微控制器。包括一指令內(nèi)存,用于儲存一程序,以提供一程序指令,該程序包括至少一重復(fù)性指令循環(huán);一指令緩存單元,用于暫存該重復(fù)性指令循環(huán);一指令選擇單元,連接于指令內(nèi)存及指令緩存單元,以于該指令內(nèi)存擷取該程序指令或于該指令緩存單元擷取該重復(fù)性指令循環(huán)輸出;一頻率選擇單元,用于一第一頻率與一第二頻率間切換,第二頻率高于第一頻率;一指令處理單元,連接指令緩存單元、指令選擇單元及頻率選擇單元,指令處理單元復(fù)制該重復(fù)性指令循環(huán)至該指令緩存單元暫存,通過控制該指令選擇單元擷取該程序指令或該重復(fù)性指令循環(huán)。微控制器可以高速處理重復(fù)性指令,提升指令執(zhí)行的效率。
文檔編號G06F9/38GK101354642SQ200710130060
公開日2009年1月28日 申請日期2007年7月25日 優(yōu)先權(quán)日2007年7月25日
發(fā)明者伍玉光, 楊志偉, 蔡佳洲, 許文琪 申請人:盛群半導(dǎo)體股份有限公司