新四季網

可編程異常處理等待時間的製作方法

2023-09-16 14:21:45 1

專利名稱:可編程異常處理等待時間的製作方法
技術領域:
本發明涉及數字處理器,且更特定來說涉及數字處理器中的異常等待時間。
背景技術:
數字處理器通常通過存儲於程序存儲器中的順序執行指令與處理時鐘同步地操作。然而,此些處理器必須於外部裝置介接。一種方式的介接通過所謂的中斷來執行。此事件中斷程序的順序執行且強制處理器進入異常狀態,在所述異常狀態中處理器執行所謂的中斷服務例程。在此服務例程期間,處理外部事件。與「正常」程序的同步執行相反,中斷信號通常異步地發生。換句話說,此外部信號可在當前處理的指令的執行期間的任何時間發生。通常在隨後的循環中確認此中斷。為預處理中斷,依據實施方案,通常在中斷處理器之前執行當前未決指令或甚至下一隨後指令。從外部中斷的發生到實際上執行服務例程的時間的時間稱為等待時間。此等待時間取決於處理器的相應設計且可在類型之間變化。許多數字處理器具有可變執行時間的指令。然而,此些處理器併入到其中的許多設計需要已知中斷等待時間,使得可恰當地控制進程。因此,有時數字處理器經設計而具有恆定或固定中斷等待時間。在此些具有固定等待時間的數字處理器中,異常處理報頭必須足夠長以適應最長指令的完成。如果否,那麼中斷斷言與中斷服務例程(ISR)的開始之間的等待時間將依據在異常的時間中央處理單元(CPU)正在執行哪一指令而變化,且可引入 「等待時間抖動」。固定等待時間解決「等待時間抖動」問題,但代價是浪費中斷響應時間。 在具有深指令管線及/或指令預取邏輯的CPU中,支持固定等待時間所必要的較壞情況報頭可變得非常長。此對於用戶來說可非常具有限制性。因此,需要一種處置且特定來說預處理中斷的更靈活處理器。

發明內容
根據一實施例,一種具有可編程異常處理等待時間的數字處理器可包含數字處理器的中央處理單元(CPU);與所述CPU耦合的異常控制器;及與所述CPU耦合的控制寄存器,其中所述控制寄存器可操作以將所述CPU的操作模式設定為兩種模式中的至少一者, 其中在第一模式中,所述CPU具有固定異常處理等待時間,且在第二模式中,所述CPU具有可變異常處理等待時間。根據另外實施例,所述異常控制器可為中斷控制器。根據另外實施例,所述數字處理器可為微控制器或數位訊號處理器。根據另外實施例,所述控制寄存器可包含可編程的等待時間選擇位。根據另外實施例,所述控制寄存器中的所述等待時間選擇位可為可依據軟體應用程式動態地編程。根據另外實施例,僅在異常的等待時間小於或等於預定義閾值時選擇所述第二模式。根據另外實施例,所述預定義閾值可為可編程的。根據另外實施例, 所述預定義閾值可存儲於所述控制寄存器中。根據另外實施例,所述數字處理器可進一步包含可操作以產生用於使所述CPU中的執行單元停轉的信號的計數器。根據另一實施例,一種用於處理處理器中的異常的方法可包含設定所述處理器的至少兩個操作模式中的一者;接收異常;預處理所述異常;及執行異常服務例程;其中在第一模式中,所述處理器具有固定異常處理等待時間,且在第二模式中,所述處理器具有可變異常處理等待時間。根據所述方法的另外實施例,可通過編程控制寄存器中的等待時間選擇位來執行設定所述處理器的至少兩個操作模式中的一者的所述步驟。根據所述方法的另外實施例, 可依據軟體應用程式動態地編程所述控制寄存器中的所述等待時間選擇位。根據所述方法的另外實施例,僅在異常的等待時間小於或等於預定義閾值時選擇所述第二模式。根據所述方法的另外實施例,所述預定義閾值可為可編程的。根據所述方法的另外實施例,可將所述預定義閾值存儲於所述控制寄存器中。根據所述方法的另外實施例,可在執行所述異常服務例程之前執行未決指令,所述未決指令需要特定數目個處理循環來執行且其中所述處理器可執行多個指令,所述多個指令需要最小處理循環量及最大處理循環量中的至少一者來執行。根據所述方法的另外實施例,在所述第一模式中,可將第一處理循環數目擴展到所述最大處理循環量。根據所述方法的另外實施例,可通過插入一個或一個以上無操作指令來擴展所述第一處理循環數目。根據所述方法的另外實施例,可通過使所述處理器停轉來擴展所述第一處理循環數目。根據所述方法的另外實施例,可僅在所述第一處理循環數目等於或小於預定義閾值的情況下通過插入一個或一個以上無操作指令來擴展所述第一處理循環數目。


通過結合附圖參照以下說明可獲得對本發明及其優點的更全面理解,附圖中圖1是根據一實施例的CPU及相關聯中的控制器的示意性框圖;圖2到圖4展示固定中斷等待時間的時序圖;圖5是展示第一實施例的原理性操作的流程圖;圖6是展示第二實施例的原理性操作的流程圖;圖7到圖14是固定等待時間的時序圖;圖15到圖19是可變等待時間的時序圖;及圖20是中斷返回時序圖。雖然已參照本發明的實例性實施例來描繪、描述及界定本發明的各實施例,但此類參考並不意味著限制本發明,且不應推斷出存在此限制。所揭示的標的物能夠在形式及功能上具有大量修改、更改及等效形式,所屬領域的技術人員根據本發明將會聯想到這些修改、更改及等效形式並受益於本發明。所描繪及所描述的本發明實施例僅作為實例,而並非是對本發明的範圍的窮盡性說明。
具體實施方式
根據本發明的教示,可設計以至少兩種模式操作的處理器,其中第一模式提供固定等待時間,其中所有異常具有相同等待時間。可設定其中處理器具有可變等待時間的第二模式,所述可變等待時間取決於期間發生異常的未決指令。異常可為任何類型的外部或內部中斷或者在處理單元內導致的陷阱。未決指令應理解為在可處理異常之前必須執行的指令。在許多處理器架構中,此指令為在期間發生異常的循環之後的循環中執行的指令。然而,依據所述實施例,其也可為在中斷發生時未決的指令。可使用提供(舉例來說)選擇第一或第二模式的位的控制寄存器。然而,可使用用以用信號通知特定操作模式的其它構件, 例如饋送到處理器晶片的引腳的外部信號。此允許在包含需要固定等待時間的區段及不需要的其它區段的程序中動態地改變操作模式。舉例來說,根據一實施例,可添加存儲於CPU的控制寄存器中控制位以修改數字處理器的中央處理器單元(CPU)的異常處理流程。當此位為空時,CPU支持常規固定等待時間。當此位經設定時,異常處理流程不填補超出完成單循環指令所需的報頭的報頭。針對較長指令暫停異常處理,從而僅在必要時增加異常等待時間。儘管異常響應時間將為可變的,但其改善程度通常遠超過固定等待時間選項的異常響應時間。此外,用戶因此可選擇通過限制一些(較長)指令的執行可接受多少額外最壞情況等待時間及「等待時間抖動」。預期且在本發明的範圍內,依據需要應用程式代碼做什麼來在固定與可變等待時間之間動態地切換。某些數字處理器(例如,微控制器)大多數使用為單循環操作的指令,然而也可提供需要一個以上循環的一個或一個以上指令。因此,由於指令完成而產生的異常等待時間因此通常較短。因此,支持可變等待時間異常處理流程可在幾乎所有時間產生等待時間改
口 ο許多應用程式自己具有不同操作模式。在某一情況下,一些模式可更適於固定等待時間異常,其它模式可更適於可變等待時間異常。因此,具有用以在固定與可變等待時間之間選擇的用戶可編程控制位允許用戶在異常等待時間操作模式(固定對可變等待時間) 之間動態地切換。圖1展示系統100的經簡化框圖,系統100包括與產生中斷或陷阱的異常控制器 120耦合的中央處理單元(CPU) 110。CPU 110可包含用於執行指令的執行單元,例如執行管線。舉例來說,此異常控制器可為能夠接收多個中斷信號的中斷控制器。如果異常控制器120為(舉例來說)中斷控制器,那麼其將產生單個中斷信號ht,其被饋送到CPU110。 CPU可用相應信號Ack來確認中斷信號。如所屬技術中眾所周知,中斷控制器120可包括優先級處置及其它機制。此外,CPU可經設計以基於優先級機制處置一個以上中斷信號。圖 1還展示被饋送到CPU 110的復位信號,可不將其視為形成異常,但也將其視為形成異常。 提供與CPU耦合的操作模式寄存器130。此寄存器130可包括向CPU 110指示CPU 110將以哪一模式操作的一個或一個以上位。舉例來說,可使用單個位且此位可為能夠確定其它操作模式或配置的一般操作模式寄存器的部分。此寄存器還可存儲用於觸發模式開關的閾值,將在下文中更詳細地闡釋所屬模式開關。在雙模式系統中,如果被設定為1,那麼此位強制CPU 110以可變異常等待時間操作,其中異常等待時間取決於當異常發生時哪一類型的指令未決。如果此位被設定為0,那麼CPU以固定或恆定等待時間操作,其中通過將無操作(NOP)循環強制到執行單元中來用所述無操作循環填補較短指令,或使執行單元140停轉以將每一未決指令的執行時間延長到最大未決,換句話說延長到處理器可執行的任何指令的最長執行時間。為此,根據一個實施例,可實施停轉計數器150以對必要的強制無操作 (FNOP)循環進行計數或提供必要的延遲信號。圖2展示單循環指令的此種用無操作循環填補的實例。然而,可使用延長等待時間的其它方式。舉例來說,可使用任何類型的使處理器停轉以延長執行時間。在圖2中,展示當在單循環指令期間斷言外圍中斷時的事件序列。中斷過程花費四個指令循環。在圖2 中將每一循環編號以用於參考。在外圍中斷發生之後的指令循環期間設定中斷旗標狀態位。當前或未決指令INST(PC)在此指令循環期間完成。在中斷事件之後的第二指令循環中,將程序計數器(PC)及狀態寄存器(SRL)寄存器的內容保存到臨時緩衝器寄存器中。中斷過程的第二循環執行為無操作指令FNOP (填補)以維持與在較長兩循環指令期間採用的序列的一致性。在第三循環中,給PC加載中斷源的向量表地址且取中斷服務例程(ISR)的開始地址。在第四循環中,給PC加載ISR地址。當取ISR中的第一指令時,將第四循環執行為FN0P。此第四循環可為任何指令所需要的且不視為上文所提及的填補。其它處理器架構可包括不需要任何類型的無操作指令插入且可具有用以使未決指令的執行停轉的其它方式的不同執行機制。本文中所描述的原理同等地適用於此些設計。圖3及圖4展示兩循環指令的實例。在固定等待時間模式中,兩循環指令期間的中斷等待時間與單循環指令期間的相同。中斷過程的第一及第二循環允許兩循環指令完成執行。圖3中的時序圖展示當外圍中斷事件在兩循環指令的執行之前的指令循環中發生時的情況。圖4展示當外圍中斷與兩循環指令的第一循環重合時的時序。在此情況下,通過插入與圖2中所示類似的FNOP指令,中斷過程針對單循環指令完成。對於可變模式,不執行此種填補或停轉。因此,等待時間因此可依據當異常發生時哪一指令未決而在指令之間變化。圖5展示根據上文所描述的原理的流程圖。在步驟500中,由CPU接收中斷信號。 在步驟510中,中斷的預處理開始。在從步驟510持續到步驟560的預處理期間,執行所謂的房屋清掃。舉例來說,將程序計數器(PC)及狀態寄存器(SR)推到棧上。還可保存其它變量。然而,大多數處理器僅需要保存PC及SR,因為可在中斷的服務期間保存其它寄存器。 在步驟520中,檢查將使用可變等待時間模式還是固定等待時間模式。在固定等待時間模式的情況下,在步驟530中確定哪一指令當前未決。此外,此指令為在中斷服務例程可開始之前必須執行或完成執行的指令,且因此關於實際中斷的發生,哪一指令是未決的可在處理器設計之間變化。在步驟MO中,確定此未決指令是否需要填補或停轉及需要多少額外循環。舉例來說,如果可執行的最長指令需要5個循環且最短指令需要1個循環,那麼必須給1循環指令填補4個無操作(NOP)循環或各自地停轉。在此種處理器中,可給2循環指令填補3到4個NOP循環,給3循環操作填補2到4個,給4循環的填補1到4個,且給5 循環指令填補0到4個循環,其中填補NOP的數目取決於中斷在哪一循環期間發生。在步驟550中,在開始中斷服務例程執行之前添加額外NOP循環。預中斷處理在步驟560中結束。在可變模式的情況下,例程跳往步驟560,換句話說,不執行填補。圖6展示具有可變或固定等待時間的另一實施例且其中固定與可變之間的閾值是可編程的。根據此實施例,在一種模式中,可針對具有小於預定義時間周期X的等待時間的所有指令執行固定等待時間。在此模式中,所有其它指令引起可變等待時間。另一模式對應於關於圖5所論述的可變模式。為此,步驟600、610及660分別對應於步驟500、510及 560。在步驟620中,確定是否將執行等待時間調整,如果否,那麼與圖5中所論述類似地執行可變等待時間。也可如虛線所指示省略此步驟且替代地僅可編程閾值將觸發兩種模式中的一者。根據另一實施例,可提供多個閾值且控制寄存器可選擇各個閾值中的一者。在步驟 630中,確定當前未決指令。在步驟640中,確定剩餘多少循環。如果循環的數目小於X,那麼在步驟650中執行相應填補。否則,例程跳往步驟660。此實施例甚至更靈活且提供有限的填補。在具有需要1到5個之間的循環的指令的實例中,程序可僅包括具有1、2或3個循環的指令。此處,可通過設定X = 3將限制施加到這些類型的指令。因此,需要1、2或3 個循環的指令均產生3循環等待時間的最大等待時間。在執行4循環或5循環指令的情況下,等待時間分別增加。然而,如上文所闡釋,用戶可在特定程序或模塊中不使用此些指令, 且因此可確保恆定最小等待時間,即使具有固定等待時間的常規處理器將不能夠將其中斷等待時間減少到超過5循環指令所引起的中斷等待時間。根據又一實施例,可將多個固定及可變等待時間的概念與異常優先級等級耦合。 替代手動編程相應模式,將相應可編程等待時間的自動開關與處理器當前設定為其以操作的優先級等級耦合。為此,可提供一個或一個以上控制寄存器(舉例來說,如圖1中所示的一個或一個以上特殊功能寄存器160),其給每一異常優先級等級指派相應等待時間類型。 根據一個實施例,可給可變等待時間指派最高優先級中斷以快速響應於(舉例來說)錯誤狀況。將給分別選擇的固定等待時間指派接下來的較低優先級中斷以實現保證響應時間 (假設無錯誤狀況發生)。其它優先級等級可具有不同的所指派等待時間。如果啟用嵌套, 那麼所有其它較低優先級中斷可為可變或固定的,其中不能針對所有較低優先級異常保證固定等待時間。也可給軟體異常(例如,陷阱)指派特定等待時間或軟體異常可總是經配置以便以可變等待時間操作。與微控制器的特定實施例組合的異常(中斷)處置的更詳細說明結合圖7到圖20 中所示的各種時序圖如下。根據此特定實施例,CPU可支持經排定優先級中斷與陷阱異常方案。舉例來說,可存在多達7個CPU中斷優先級等級,且中斷可存在多達62個預定義(固定)「自然次序」優先級等級。每一中斷源具有固定「自然次序」優先級,但關於其使用什麼CPU優先級是用戶可編程的。最高優先級中斷是不可掩蔽的。還存在可用於內部異常的8個可用陷阱。當前實施六個時隙以改善操作穩健性,其全部為不可掩蔽的。其遵守預定義優先級方案。對軟體棧執行與異常及子例程調用相關聯的堆棧。寄存器W15專用作棧指針且具有LSB = 0。中斷控制器模塊彙編來自裝置外圍器件的所有中斷請求(IRQ)信號且給每一 IRQ 信號指派固定「自然次序」優先級及用戶指派的優先級兩者。將中斷與陷阱組合且將其與當前CPU優先級進行比較。接著將陷阱或中斷(如果CPU優先級小於最高等級未經掩蔽中斷請求的優先級)連同向量數及經更新CPU優先級值一起呈現給處理器核心。CPU優先級等級由4位值IPL定義。IPL位於模式控制寄存器C0RC0N處,且IPL駐存於SR中。可在任何時間讀取IPL位且可通過軟體將其清除以允許監督陷阱處置器在不必執行從中斷指令的返回(RETFIE)的情況下跳往另一進程。在一些情況下(例如,在棧錯誤陷阱期間),執行RETFIE並非選項,因此手動清除IPL且重新初始化機器的適當部分是完全復位的良好替代方案。通過控制寄存器INTC0N1中的NSTDIS控制位支持嵌套及非嵌套異常兩者。通過默認的復位來啟用嵌套異常,但可通過設定NSTDIS位來停用嵌套異常。除所有中斷的優先級被強制為7而不管調用中斷優先級如何以外,非嵌套中斷操作在所有方面與嵌套中斷操作相同。因此,CPU優先級將總是在異常處理期間針對所有中斷設定為7而結束。在異常處理期間自動修改CPU中斷優先級。然而,倘若啟用中斷嵌套(NSTDIS = 0),那麼IPL為讀取/寫入位且也可由用戶操縱以動態地修改CPU中斷優先級。如果停用中斷嵌套(NSTDIS = 1),那麼IPL變為只讀位以防止用戶疏忽地降低CPU中斷優先級(且致使任何未決中斷嵌套)。將採用並嵌套大於當前CPU優先級 (IPL)的優先級的任何異常(如果異常正在進行中且NSTDIS位為空)。將當前CPU 優先級IPL與SR堆棧,且將IPL3與PCH堆棧。以下堆棧序列用於所有異常· PCL — T0S ;SFA — T0S.(Wl 5)+2 —Wl 5· (SR) — T0S, (IPL :PC<22:16 — T0S.(W15)+2 —W15· 0 — SFA在此實施例中注意,異常處理以SFA(棧幀活動)位由CALL {W}、CALLWL及 RCALL{W}指令處置之相同方式對其進行處置。將CPU優先級設定為等於異常的優先級。在返回後,RETFIE即刻將返回PC、SR、IPL3及SFA位取消堆棧以將機器恢復到在異常之前的其狀態。等級OCPU優先級將允許確認所有中斷及陷阱,且等級7CPU優先級將掩蔽所有中斷但繼續允許陷阱發生。可提供全局中斷啟用(GIE)控制功能以提供用以快速停用及重新啟用軟體中的所有中斷的方式。當GIE位經清除時,相應宏越權控制傳入CPU IPL(cpu_irq_priority_ level)而將其設定為4』 bOlll (等級7),從而停用所有中斷但保持陷阱啟用。實際 CPU IPL保持不改變,使得當GIE位再次經設定時,系統將返回到先前中斷優先級等級下的操作。在此實施例中注意陷阱總是嵌套經受所述限制。對於經成功仲裁的異常,相關聯向量數表示到主要中斷向量表(PIVT)或輔助中斷向量表(XIVT)中的偏移。PIVT駐存於主要陣列程序存儲器中,在位置0x000004處開始。類似地,XIVT駐存於輔助陣列程序存儲器中,在位置0X7FFFF4處開始。中斷控制器使用XIVTEN熔絲狀態來確定這些地址中的哪一者變為針對CPU產生的物理向量地址的基址。 當XIVTEN熔絲經設定(默認狀態)時選擇PIVT基址,且當XIVTEN熔絲為空時選擇XIVT 地址。這些向量表總是可存取的,而不管現有安全模式如何。PIVT及XIVT兩者均含有多達256個異常向量。每一中斷或陷阱向量含有M位寬的地址。保持於每一向量位置中的地址為相關聯中斷服務例程(ISR)或陷阱處置器的開始地址。根據一實施例,在此架構中RESET可不被視為異常,且可使用兩字GOTO指令來實施。儘管本身並非異常,但按照慣例在此對其加以論述。CPU可從主要或輔助地址空間復位,此取決於驅動fus_XiVt_enable信號的XIVTEN熔絲的狀態。在復位期間,將PC清除 (fus_xivt_enable = 1)或設定為 0x7FFF00 (fus_xivt_enable = 0)。當復位經釋放時,正常指令執行繼續,以FNOP (強制NOP)及選定復位地址處的GOTO指令的預取開始。當裝置處於復位時,保持Q時鐘處於狀態Ql。CPU將此第一循環視為FN0P。第二循環在選定中斷向量表內從兩程序字RESET時隙取GOTO指令。接著將此指令作為正常指令執行且其跳往用戶程序的開始。復位源為1.外部(引腳)復位2. P0R:上電復位3. B0R:掉電復位4.任何未經實施操作碼的RESET指令或執行5.未經初始化W寄存器的讀取(僅針對地址)6.從未經實施程序地址空間的取指令根據一實施例,CPU上可存在兩種類型的復位。冷復位為POR或BOR復位的結果。 熱復位為所有其它復位源(包括RESET指令)的結果。根據一實施例,異常處理對於所有源相同。如上所述,根據一實施例,在此架構中可不將復位視為異常。對於第一 ISR指令,異常處理由仲裁階段(循環)、CPU請求循環、 CPU確認循環、取向量循環及指令預取循環組成。如圖1中所示的中斷塊120接收並仲裁所有異常。可將仲裁管線化,使得其花費2
個循環來完成。接著中斷塊120在Ql上升上向CPU 110產生中斷請求信號^it (伴隨有異常
向量地址(int_vector_addr)及其相關聯優先級(int_priority_level))。仲
裁為進行中的進程,從而每一循環Oil)產生經更新結果。即使當斷言信號Int時,CPU 110
將在其斷言其響應信號Ack時僅鎖定仲裁結果。因此,當在嵌套中斷被啟用(INTC0N1,
NSTDIS = 0)的情況下操作時,較高優先級異常可在直到在循環Ack被斷言之前的Ql的中
途搶先於較低優先級異常。此效應可從「固定」等待時間操作減去數個循環且相應地被補 m
te ο在上升Ql上對信號Int進行取樣且在隨後的循環期間其將被視為未決的。當已完成當前執行的指令或固定等待時間超時已期滿時,CPU 110將通過在一個循環的上升Q3 上斷言Ack來確認來自中斷控制器的異常請求。在Ack被否定之後,中斷控制器120在Ql 上解除ht,從而完成握手。可變等待時間實例展示於圖15中。在CPU確認循環期間使用由中斷控制器呈現給核心的向量地址來起始取向量。核心執行取向量(出於所有其它目的,可將其視為一系列FNOP)且檢索對位向量。接著向量被引導到PC,在此處其形成第一 ISR指令的預取地址。將由緊緊在異常處理之前執行的指令預取(但丟棄)的指令的PC地址保存於PCINT中。在取向量期間,將PCINT拷貝到PCT 中,準備堆棧為ISR返回地址。根據一實施例,取向量及第一 ISR指令可花費數個循環,此取決於提供核心的PS存儲器的存取時間。PC總是從PC臨時(PCT)寄存器堆棧。給PCT加載以下各項中的一者 當前 PC 值。·在每一循環的Q3期間的下一 PC值(直接來自PC加法器)。·中間 PC(PCINT)寄存器。在單循環指令期間未決的異常的異常處理(可變等待時間)展示於圖15中(其包括當不採用時的相關分支)。圖7到圖20中的所有隨後時序圖假設單循環PS存儲器存取。較慢PS存儲器將需要相應地使CPU停轉。根據一實施例,強制NOP (FNOP)指令(填補)作為異常處理的部分發生。在指令隊列中提供用以將NOP指令加載到R0MLATCH值中的機制。當NOP編碼為0x000000時,FNOP等效於在上升Ql上清除頂。根據一實施例,異常處理可以由模式寄存器C0RC0N中的VAR位的狀態確定的兩種模式中的一者操作。如果VAR = 0(默認復位狀態)且CPU設定為最高優先級EDS總線主控器(MSTRPR = 3』b0),那麼CPU將針對任何最高優先級異常提供確定性固定等待時間響應。從辨識出中斷的點到ISR的第一指令的中斷等待時間對於包括TBLRDx的所有指令或需要PSV存取的那些指令將為固定的。如果中斷辨識點定義為將未決中斷取樣到中斷控制器中的Ql上升,那麼固定等待時間由下式確定latency職=Q = tarb+5+2 η 循環其中η = PS存儲器存取時間(循環),tarb =仲裁時間(循環)。在仲裁之後斷言信號ht,且CPU執行當前在進行中的指令的剩餘部分。5個循環之後斷言(q3)信號 Ack,且取向量開始。也就是說,如果包括任何CPU停轉的剩餘的(從被斷言ht)總指令執行時間總計少於5個循環,那麼CPU添加FNOP以使總數為5。單循環指令的固定等待時間實例詳細展示於圖7中且兩循環指令的固定等待時間實例詳細展示於圖8中。根據一實施例,實施方案可使得在異常處理期間使用計數器150以強制固定數目個等待時間循環。計時器超時值由參數INT_LATENCY_DELAY確定。當從快閃記憶體執行時,以下特徵組合將打破中斷等待時間保證(較慢存儲器將引入額外延遲)a)經由PSV存取數據的LDDW指令。添加1個循環以完成第2取PSV。不允許PSV 寫入,因此STDW不成問題。b)與(RAW)停轉相關聯的TBLRDx或PSV存取指令。添加1個循環。c) REPEATed PSV存取的最後反覆。添加1個循環。如果VAR = 1且CPU為最高優先級EDS總線主控器(MSTRPR = 3,b0),那麼 CPU將針對所有異常提供可變等待時間響應。對於單中斷系統,從取樣未決中斷的Ql上升到ISR的第一指令的中斷等待時間將為最大latency職=! = tarb+ P +2 η 循環最小latency職=丨=tarb+l+2 η 循環其中ρ =異常處理期間的總指令執行時間(循環),η =PS存儲器存取時間 (循環),tarb =仲裁時間(循環)。以上關係適用於在包括TBLRDx的任何指令期間或在 PSV存取期間發生的異常。等待時間表達為任何給定指令的範圍,因為中斷可在指令的開頭或結尾處到達。注意,異常處理期間的指令執行時間可不同於正常順序執行的指令執行時間。舉例來說,由於在採用異常的情況下所有流改變指令可中止取目標PS,因此其可在異常處理期間的2個循環中執行。目標PS地址變為異常返回地址。此外,在於異常處理期間完成的指令之後將(在大多數情況下)不需要RAW冒險停轉,因此不需要在P中對停轉循環進行計數。當在異常處理期間執行時其執行時間不同的指令的概括展示於表1中。其中中斷在RETURN類別的指令的執行期間變為未決的實例展示於圖20中。表1:執行時間差異實例
權利要求
1.一種具有可編程異常處理等待時間的數字處理器,其包含數字處理器的中央處理單元CPU,與所述CPU耦合的異常控制器,與所述CPU耦合的控制寄存器,其中所述控制寄存器可操作以將所述CPU的操作模式設定為兩種模式中的至少一者,其中在第一模式中,所述CPU具有固定異常處理等待時間, 且在第二模式中,所述CPU具有可變異常處理等待時間。
2.根據權利要求1所述的數字處理器,其中所述異常控制器為中斷控制器。
3.根據權利要求1所述的數字處理器,其中所述數字處理器為微控制器或數位訊號處理器。
4.根據權利要求1所述的數字處理器,其中所述控制寄存器包含可編程的等待時間選擇位。
5.根據權利要求4所述的數字處理器,其中所述控制寄存器中的所述等待時間選擇位可依據軟體應用程式而動態地編程。
6.根據權利要求1所述的數字處理器,其中所述第二模式是僅在異常的等待時間小於或等於預定義閾值時選擇的。
7.根據權利要求6所述的數字處理器,其中所述預定義閾值是可編程的。
8.根據權利要求6所述的數字處理器,其中所述預定義閾值存儲於所述控制寄存器中。
9.根據權利要求1所述的數字處理器,其進一步包含可操作以產生用於使所述CPU中的執行單元停轉的信號的計數器。
10.一種用於處理處理器中的異常的方法,其包含設定所述處理器的至少兩種操作模式中的一者;接收異常;預處理所述異常;及執行異常服務例程;其中在第一模式中,所述處理器具有固定異常處理等待時間,且在第二模式中,所述處理器具有可變異常處理等待時間。
11.根據權利要求10所述的方法,其中通過編程控制寄存器中的等待時間選擇位來執行設定所述處理器的至少兩種操作模式中的一者的所述步驟。
12.根據權利要求11所述的方法,其中依據軟體應用程式動態地編程所述控制寄存器中的所述等待時間選擇位。
13.根據權利要求11所述的方法,其中僅在異常的等待時間小於或等於預定義閾值時選擇所述第二模式。
14.根據權利要求13所述的方法,其中所述預定義閾值是可編程的。
15.根據權利要求14所述的方法,其中將所述預定義閾值存儲於所述控制寄存器中。
16.根據權利要求10所述的方法,其中在執行所述異常服務例程之前執行未決指令, 所述未決指令需要特定數目個處理循環來執行,且其中所述處理器可執行多個指令,所述多個指令需要最小處理循環量及最大處理循環量中的至少一者來執行。
17.根據權利要求16所述的方法,其中在所述第一模式中,將第一處理循環數目擴展到所述最大處理循環量。
18.根據權利要求17所述的方法,其中通過插入一個或一個以上無操作指令來擴展所述第一處理循環數目。
19.根據權利要求17所述的方法,其中通過使所述處理器停轉來擴展所述第一處理循環數目。
20.根據權利要求17所述的方法,其中僅在所述第一處理循環數目等於或小於預定義閾值的情況下通過插入一個或一個以上無操作指令來擴展所述第一處理循環數目。
全文摘要
本發明揭示一種具有可編程異常處理等待時間的數字處理器,其可具有數字處理器的中央處理單元CPU;與所述CPU耦合的異常控制器;及與所述CPU耦合的控制寄存器,其中所述控制寄存器可操作以將所述CPU的操作模式設定為兩種模式中的至少一者,其中在第一模式中,所述CPU具有固定異常處理等待時間,且在第二模式中,所述CPU具有可變異常處理等待時間。
文檔編號G06F13/24GK102414672SQ201080018584
公開日2012年4月11日 申請日期2010年7月15日 優先權日2009年7月20日
發明者戴維·米基, 麥可·I·卡瑟伍德 申請人:密克羅奇普技術公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀