新四季網

程序流控制的製作方法

2023-08-10 15:24:46

專利名稱:程序流控制的製作方法
技術領域:
本發明涉及數據處理系統領域。更具體地,本發明涉及數據處理系統內的程序流 的控制。
背景技術:
向數據處理系統提供指令解碼器電路系統是已知的,所述指令解碼器電路系統響 應程序指令以產生一個或多個控制信號,用於控制處理電路系統以執行由所述程序指令指 定的數據處理操作。組織程序的方便的方法是將它們劃分成當需要時能夠被調用的例程或 者函數。作為例子,代碼可以被編寫以及被編譯以執行函數,諸如在一組數據值上計算傅立 葉變換。這個函數可以從程序流內的多個不同的點被調用。也可能的是在包括多於一組 用於執行程序指令的硬體的系統中,一組硬體可以執行一組指令而另一組硬體執行另一組 指令。在這種環境中,一組硬體可以調用將被另一組硬體執行的函數,諸如傅立葉變換。在 這樣的環境中,形成用於執行特定函數的專用硬體是可能的。用於執行特定函數的專用硬體的例子是數據引擎。數據引擎可以被提供以執行計 算密集的任務,舉例來說諸如媒體處理。數據引擎典型地包括被設計用於有效地執行與所 述數據引擎相關聯的任務的專用硬體。這樣的數據引擎可以與通用處理器相結合而工作, 所述通用處理器調度將由所述數據引擎執行的任務。在一些實例中,可能的是數據引擎自 身使用在數據引擎上執行的調度程序來調度其自己的任務以供該數據引擎執行。用於執行特定函數的程序的開發和測試是昂貴並且費時的。程序需要少量的內存 存儲器(memory storage)是期望的。

發明內容
從一個方面來看,本發明提供了用於處理數據的設備,所述設備包括指令解碼器電路系統,所述指令解碼器電路系統響應程序指令以產生一個或多個 控制信號;處理電路系統,所述處理電路系統響應所述一個或多個控制信號以執行由所述程 序指令指定的數據處理操作;以及流控制寄存器,所述流控制寄存器被配置為存儲可編程的流控制值;其中所述指令解碼器響應指示正被執行的當前程序指令序列的末尾的標記指令以從 所述流控制寄存器讀取所述可編程的流控制值並且依據所述可編程的流控制值產生所述 一個或多個控制信號以在所述當前程序指令序列完成之後觸發下列各項之一(i)從目標程序指令開始處理目標程序指令序列;以及(ii)進入等待新的處理任務將被發起的空閒狀態。本發明的技術辨識正被執行的當前程序指令序列可能已經通過不同機制被調用, 其中取決於當前程序指令序列如何被調用,不同的行為在當前程序指令序列的執行完成時 是恰當的。本發明的技術使用存儲在流控制寄存器內的程序流控制值來確定什麼行為應當在當前程序指令序列完成執行時發生,而不是取決於它們如何被調用來提供不同版本的當 前程序指令序列。因此,所述當前程序指令序列不需要被修改或者以不同的形式被提供,並 且所述當前程序指令序列還可以支持在完成時對不同行為的觸發。更具體地,期望在完成 時支持的所述不同行為觸發從目標程序指令開始處理目標程序指令序列或者進入空閒狀 態,例如等待新的處理任務被發起。這些行為支持在其中當前程序指令序列根據目標調度 程序被調用的系統,所述目標調度程序依據執行當前程序指令序列的相同機制執行並且支 持在其中所述當前程序指令序列根據與執行當前程序指令序列的機制分開的機制而被調 用的機制,以便在所述當前程序指令序列完成時隨後空閒狀態應當被進入。由於所述可編程的流控制值中的一些值而被執行的目標程序指令可以是在固定 的位置處(例如硬連線的向量)的固定的目標程序指令。然而,在可編程的流控制值指定 程序指令的存儲器地址時更大的靈活性被實現。因此,依據用於所述可編程的流控制值的 值集合,所述目標程序指令可以被改變。所述可編程的流控制值可以包括跳轉允許域,所述跳轉允許域存儲指定所述可編 程的流控制值是否包括目標地址域的值,所述目標地址域指定目標程序指令的存儲器地 址,或者可替代地,存儲指定在當前程序指令序列的執行已完成時所述空閒狀態應當被進 入的值。這個跳轉允許域可以是跳轉允許位,其被用於在當前程序指令序列完成時可替代 的行為之間的切換。所所述標記指令可以是程序指令的末尾,所述指令解碼器響應於所述標記指令而 觸發可替代的例程末尾行為,所述程序指令的末尾標識所述當前程序指令序列的最後的程 序指令。這個程序指令的末尾可以是所述序列中的最後的指令或者可以位於當前程序指令 序列的最後的指令之前的預先確定數量的指令處。後一種行為在當前程序指令序列在流水 線執行機制上被執行時是有用的,以便通過確保如果到目標程序指令序列的分支被要求, 則這可以在當前程序指令序列的最終指令之前足夠的時間中被標識使得目標程序指令可 以被取來以開始繼續的執行來促進流水線的有效使用。其執行可以以一個行為而被觸發的目標程序指令序列可以採取各種不同的形式。 作為例子,可能的將是把多個函數與被用於觸發下一個函數的開始的一個函數的末尾鏈 接在一起。可替代的機制是目標程序指令序列是用於控制任務調度並且由正在執行當前程 序指令序列的相同機制執行的目標調度程序,即所述機制使用目標調度程序來調度其自己 的任務。利用上述技術的設備可以具有各種不同形式並且適用於各種不同的多處理環境。 然而,所述技術良好適用的一個環境是在所述設備包括耦合於數據引擎的主機處理器並且 所述指令解碼器電路系統、所述處理電路系統和所述流控制寄存器是所述數據引擎的一部 分的時候。在這個環境內,所述目標調度程序可以由所述數據弓I擎執行並且所述當前程序指 令序列可以被所述主機處理器調用或者被所述目標調度程序調用。將所述流控制寄存器用 於控制在當前程序指令序列的完成時的行為允許相同的當前程序指令序列獨立於其如何 被調用以及在該當前程序指令序列完成時如何行為是恰當的而被使用。所述主機處理器還可以利用主機調度程序來調用所述當前程序指令序列供所述 數據引擎執行。
在一些實施例中,所述流控制值可以被編程以便當所述目標調度程序調用所述當 前程序指令序列時,則返回所述目標調度程序的執行在所述當前程序指令序列的完成之後 被觸發並且當後調度程序調用所述當前程序指令序列時,則所述數據引擎在所述當前程序 指令序列完成之後被觸發以進入空閒狀態。響應於在所述數據引擎內被解碼和執行的加載程序指令,所述可編程的流控制值 可以被加載。所述加載程序指令可以具有在其中所述跳轉允許域被強加為指定所述可編程的 流控制值包括目標地址域的值的一種形式,所述目標地址域指定將被觸發供在所述當前程 序指令序列完成時執行的目標程序指令的存儲器地址,以及在其中所述跳轉允許域可以被 設定為在所述當前程序指令序列的執行已完成時給出上述行為或者強迫進入所述空閒狀 態的值的第二形式。所述第一形式不需要是現有的。從另一個方面來看,本發明提供了用於處理數據的設備,所述設備包括指令解碼器裝置電路系統,所述指令解碼器裝置電路系統響應用於產生一個或多 個控制信號的程序指令;處理裝置,所述處理裝置響應所述一個或多個控制信號用於執行由所述程序指令 指定的數據處理操作;以及流控制寄存器裝置,所述流控制寄存器裝置用於存儲可編程的流控制值;其中所述指令解碼器裝置響應指示正被執行的當前程序指令序列的末尾的標記指令 以從所述流控制寄存器裝置讀取所述可編程的流控制值並且依據所述可編程的流控制值 產生所述一個或多個控制信號以在所述當前程序指令序列完成之後觸發下列各項之一(i)從目標程序指令開始處理目標程序指令序列;以及(ii)進入等待新的處理任務將被發起的空閒狀態。從另外的方面來看,本發明提供了處理數據的方法,所述方法包括下列步驟響應程序指令,產生一個或多個控制信號;響應於所述一個或多個控制信號,執行由所述程序指令指定的數據處理操作;以 及存儲可編程的流控制值;其中響應於指示正被執行的當前程序指令序列的末尾的標記指令,讀取所述可編程的 流控制值並且,依據所述可編程的流控制值,產生所述一個或多個控制信號以在所述當前 程序指令序列完成之後觸發下列各項之一(i)從目標程序指令開始處理目標程序指令序列;以及(ii)進入等待新的處理任務將被發起的空閒狀態。根據將結合附圖而被閱讀的下面對說明性的實施例的詳細描述,本發明的上述以 及其他目的、特徵和優點將是顯而易見的。


圖1示意性地示出了包括主機處理器和數據引擎的片上系統集成電路;圖2示意性地示出了供在圖1的數據引擎內使用的程序流控制機制;圖3示意性地示出了存儲可編程的流控制值的流控制寄存器;
圖4示意性地示出了存儲相應的程序指令的主機處理器存儲器和數據引擎存儲 器;圖5示意性地示出了由所述數據引擎執行的並且包括以程序指令的末尾形式的 標記指令的當前程序指令序列;圖6示意性地示出了在主機處理器調用(invoke)函數在所述數據引擎中的執行 的操作流;以及圖7是示意性地示出通過在數據引擎上執行的目標調度器的函數調度的流程圖。
具體實施例方式圖1示意性地示出了包括經由系統總線8連接的主機處理器4和數據引擎6的片 上系統集成電路2。所述主機處理器4包括處理器核10、主機存儲器12和系統接口 14。所 述數據引擎6包括處理核16,該處理核16包括指令解碼器18和處理電路系統20。指令緊 密耦合的存儲器22存儲供所述指令解碼器18解碼以產生控制所述處理電路系統20的控 制信號M的程序指令序列。數據緊密耦合的存儲器沈存儲由所述處理電路系統20操縱 的輸入和輸出數據值,所述處理電路系統20在來自所述指令緊密耦合的存儲器22、由所述 指令解碼器18解碼的程序指令的控制下。系統接口觀將所述數據引擎6耦合到所述系統 總線8。直接存儲器訪問單元30允許所述主機處理器4經由判別器32和34從指令緊密耦 合的存儲器22和數據緊密耦合的存儲器沈讀取數據值並且將數據值寫入所述指令緊密耦 合的存儲器22和所述數據緊密耦合的存儲器沈中。在操作中,所述主機處理器4典型地將執行由存儲在所述主機存儲器12內的程序 指令所指示的控制和其他高級處理函數。存儲在所述主機存儲器12內的程序指令可以包 括被用於在數據引擎6上調用處理操作的主機調度程序。所述數據引擎6典型地執行較低 等級的計算密集的處理操作,諸如媒體處理、壓縮、解密等等。被調用供在所述數據引擎6上執行的函數(當前程序指令序列)的正常操作是這 個當前程序指令序列將執行直到在其末尾遇到程序末尾(EOP)指令(標記指令),因此所 述數據引擎6將進入等待下一個任務在其上將被調用的空閒狀態。也可能的是所述數據引 擎6可以包括其自己的以被存儲在所述指令緊密耦合的存儲器22內的目標調度程序的形 式的調度機制。這個目標調度程序可以調用將在所述數據引擎6上被執行的函數,因而允 許所述數據引擎「自調度」。在執行通過由所述數據引擎6自身所執行的目標調度程序在所 述數據引擎6上被調用的函數的末尾處,程序流可以返回那個目標調度程序,或者至少返 回另一程序(例如被連結的函數),而不是所述數據引擎6進入空閒狀態,如對於從所述主 機處理器4被調用的函數的情況那樣。執行被調用的函數的當前程序指令序列可以是從庫中取得的公共的編程指令序 列,該庫被共享用於從所述主機處理器4和從所述數據引擎6兩者被調用的函數。這是為 了避免不得不提供當前程序指令序列(庫函數)的分開的形式以依據所述主機處理器4和 所述數據引擎6中的哪一個正引起當前程序指令序列的執行而被使用。這節省了編碼工作 強度和程序存儲資源。儘管如此,在被調用的函數完成時不同的動作被觸發是必要的。使 用所述數據引擎6內的流控制寄存器36來控制這種不同的行為。所述流控制寄存器36存儲在正被執行的當前程序指令序列內遇到程序指令末尾(標記指令)時由所述指令解碼器18讀取的可編程的流控制值。所述可編程的流控制值指 定哪種類型的行為將在所述當前程序指令序列完成執行時被觸發。被觸發的一種類型的行 為在執行被完成時將所述數據引擎6置於空閒狀態中(低功率狀態)。所述可編程的流控 制值的不同的值被用於在所述當前程序指令序列的執行完成時觸發到目標程序指令的跳 轉,該目標程序指令由所述可編程的流控制值內的目標地址指定。這個目標地址和所述目 標程序指令可以在所述數據引擎6是「自調度」時處於所述數據引擎6的目標調度程序內。 因此,在所述當前程序指令序列完成時控制被返回到所述目標調度程序。也可能的是所述 可編程的程序控制值可以存儲對應於到另一函數的跳轉的地址,該另一函數被與所述當前 程序指令序列連結。圖2示意性地示出所述數據引擎6內的程序流控制機制38。程序計數器寄存器40 存儲所述指令緊密耦合的存儲器22內的存儲器地址,將由所述指令解碼器18解碼的下一 個指令從該存儲器被獲取。所述指令解碼器18產生用於控制來自被解碼的程序指令的程 序流的控制信號(一個或多個控制信號)對。由解碼器在並聯的處理單元(例如ALU、AGU 等等)中產生的其他控制信號被用於控制所述處理電路系統20以執行對應於被解碼的程 序指令的數據處理操作。所述處理操作可以是簡單的,諸如加載、存儲、移位等等,或者更復 雜的操作,諸如乘法、乘法累積操作、過濾操作等等,這取決於所述數據引擎6所要求的處 理的性質。由控制流狀態機42向所述程序計數器寄存器40加載程序計數器值。所述控制流 狀態機42可以向所述程序計數器寄存器40加載從各種不同的源取得的程序計數器值。當 所述當前程序指令序列正被順序地執行時,則所述控制流狀態機42內的反饋路徑44和增 量電路被用於穩定地增加所述程序計數器值並單步調試(st印through)正被執行的當前 程序指令序列。當控制流指令在所述當前程序指令序列(例如分支指令)內被指令解碼器 18解碼時,則那些控制流指令的目標地址經由控制流指令路徑46被提供給所述控制流狀 態機42並且被加載到所述程序計數器寄存器40中以便在執行點執行所述跳轉。所述流控制寄存器36還向所述控制流狀態機42提供輸入。所述流控制寄存器36 存儲由跳轉允許標誌48和下一任務地址50形成的可編程的流控制值。在程序末尾(EOP) 指令在所述當前程序指令序列內被遇到時,這可以通過所述控制流指令路徑46上的信號 而被發信號通知所述控制流狀態機42。程序指令的末尾控制所述控制流狀態機42從所述 流控制寄存器36讀取所述可編程的流控制值。如果所述跳轉允許位48沒有被設定,則所 述控制流狀態機42將觸發所述數據引擎6在所述當前程序指令序列完成時進入空閒狀態 (例如在所述程序指令末尾的解碼之後的預先確定的固定數量的處理周期)。這種行為對 應於在所述主機處理器4已引起所述當前程序指令序列的執行時的需要。如果所述跳轉允許標誌48被設定,則所述控制流狀態機42將在遇到所述程序指 令末尾時讀取所述下一任務地址50 (所述指令緊密耦合的存儲器22內的目標程序指令的 存儲器地址)並且觸發所述目標程序指令的存儲器地址被加載到所述程序計數器寄存器 40中(以匹配於流水線深度的延遲),以便所述目標程序指令將在所述當前程序指令序列 完成時被獲取並且被執行。在這個例子中,所述跳轉允許標誌48是單個位。更一般地,所述跳轉允許標誌可 以被看作是跳轉允許域,其可以包括一個或多個位。
所述流控制寄存器36通過加載指令被加載以所述可編程的流控制值48、50,其因 而可以具有兩個不同的形式。在第一形式incr_ldset中,所述跳轉標誌48被強加為設定 值(「1")並且所述目標程序指令的存儲器被加載到所述可編程的流控制值36的下一任 務地址50部分。第二形式的加載指令incr_ld以相似的方式作用,除了所述跳轉允許標誌 沒有被強加為設定值並且代替地可以被指定為被設定或者沒有被設定。響應於所述加載指 令而被加載到所述流控制寄存器36中的這些可編程的流控制值經由來自執行所述加載指 令的數據引擎6內的多路復用器52和內部數據路徑M而被提供給所述流控制寄存器36。 當處理是由所述主機處理器4引起時,則所述流控制寄存器36內的可編程的流控制值可以 經由所述多路復用器52和外部任務地址路徑56而被加載,由此由所述主機處理器44設定 的可編程的流控制值被加載到所述數據引擎6的流控制機制38中。圖3示意性地示出了流控制寄存器36。所述流控制寄存器36存儲所述下一任務 地址50和所述跳轉允許標誌48。所述第一形式的加載指令incr_ldset將所述目標地址加 載到所述下一任務地址域50中並且將所述跳轉允許標誌48強加為值"1",從而在所述當 前程序指令序列完成時在所述數據引擎6內強迫程序流的跳轉。所述第二形式的加載指令 incr_ld也將所述目標地址加載到所述下一任務地址域50中,但是在這種情況下允許設定 值或者未被設定的值被加載到所述跳轉允許標誌48中。圖4示意性地示出了存儲在所述主機存儲器12內的程序以及指令緊密耦合的存 儲器22。所述主機存儲器12可以存儲用於執行與在所述數據引擎6上調用函數的動作不 相關的數據處理操作的主機通用程序58。所述主機存儲器12也存儲被用於調度函數供所 述數據引擎6執行的主機調度程序60。被調度供所述數據引擎6執行的函數對應於被存儲在所述指令緊密耦合的存儲 器22內的程序指令序列62、64。這些程序指令序列62、64在它們正在執行以及在它們完成 之前各自對應於如在上文中所提到的當前程序指令序列。所述指令緊密耦合的存儲器22 典型地將以函數庫的形式存儲這些函數中的許多,每個函數對應於用於控制所述數據弓I擎 6以執行對應於期望的功能的處理操作的程序指令序列。也被存儲在所述指令緊密耦合的 存儲器22內的是目標調度程序66,其可以在被所述數據引擎6執行的程序指令序列被所述 數據引擎6自身調用時被所述數據引擎6用於「自調度」。在圖4的左手側,相應的程序指令序列62、64的調用在其是由引起執行的主機處 理器4執行的主機調度程序40時被示出。當以這種方式被調用的程序指令序列完成時,則 所述數據指令被置於空閒狀態,如由連接到點「DE空閒」的線所示出的那樣。由所述數據引 擎6執行的目標調度程序66在其被發起時也從所述主機調度程序60被調用。此後,所述 目標調度程序66被用於調度程序指令序列62、64供所述數據引擎6在「自調度」的基礎上 執行直到所述目標調度程序66自身完成。被調用的程序指令序列62、64可以是以在內聯函數的庫內提供的內聯函數的形 式。典型地使用帶有運算對象的調入指令(例如calUintrinsicCLpointer])來調用這樣 的內聯函數,所述運算對象是指向期望的內聯函數的指針。在所述示出的指令緊密耦合的存儲器22的右手側示出的是指示通過在所述數據 引擎6上執行的目標調度程序調用不同程序指令序列62、64的線。在這些程序指令序列 62,64中的每一個完成時,程序執行點的返回被設置到所述目標調度程序66中以便這個目標調度程序可以繼續其調度操作。圖5示意性地示出了被執行的當前程序指令序列62。這個當前程序指令序列包括 指令10、Il等等,其由所述數據引擎6按次序執行。更具體地,所述指令解碼器18解碼這 些指令10、Il等等並且產生控制所述處理電路系統20以執行所述指定的處理操作的一個 或多個對應的控制信號M。在從所述當前程序指令序列62內的最後的指令起的預先確定 的數量的指令處設置有以程序指令末尾EOP形式的標記指令。這個程序指令末尾指示在下 三個程序指令In+2、In+3和In+4已被執行之後,所述數據引擎6可以例如觸發兩種類型的 進一步動作之一。第一類型的動作是分出來執行所述目標調度程序66,從而執行因此在所 述數據引擎6內繼續。從所述流控制寄存器36讀取的可編程的流控制值指定在所述目標 調度程序66內將跳轉到的所述目標程序指令的地址。可以被觸發的第二行動過程是所述 數據引擎進入空閒狀態。這種空閒狀態進入在所述可編程的流控制值內的跳轉允許位48 沒有被設定時發生。圖6示意性地示出了將由所述主機處理器4在所述數據引擎6上執行的函數的調 用。所述主機處理器4執行主機調度程序60。這個主機調度程序60隨後調用數據引擎函 數並且發起由所述數據引擎6進行的處理。這種處理的調用可以通過經由圖2所示的多路 復用器52和外部任務地址路徑將下一任務地址值加載到所述流控制寄存器36中來實現。 因此,將要被調用的當前程序指令序列的開始地址交給所述數據引擎6。在數據引擎6上已 調用所需要的處理之後,所述主機處理器4繼續進一步的主機處理並且可以被控制(被編 程)或者可以不被控制(不被編程)用於以響應所述數據引擎6完成被調用的任務的方式 操作。在圖6的數據引擎側,所述數據引擎6是空閒的直到由所述主機處理器4調用的 函數被發起。所述數據引擎6隨後執行所述被調用的函數。朝著對應於所述被調用的函數 的所述當前程序指令序列的末尾,程序指令的末尾會被遇到並且被執行。所述程序指令末 尾的執行導致對所述跳轉允許位48是否在存儲在所述流控制寄存器36內的可編程的流控 制值內被設定的檢測。由於正被數據引擎6所執行的函數被所述主機處理器4調用,所預 期的是所述數據引擎6在所述函數的執行完成之後將進入它的空閒狀態並且所述跳轉允 許位48將不被設定。因此,在跳轉允許位的被嘗試的檢測之後,這將被確定為沒有被設定 並且所述數據引擎6將進入所述空閒狀態。圖7是示意性地示出通過由所述數據引擎6本身所執行的目標調度程序66對程 序指令序列62、64的執行進行調度的流程圖。在步驟68處,所述目標調度程序66的執行 被發起。所述目標調度程序66的執行本身可以由所述主機調度程序60引起,如圖4中所 示出的。在步驟70處,所述目標調度程序66等待直到有數據引擎函數調用。當數據引擎函 數準備好被調用時,則步驟72開始有關的數據引擎函數(當前程序指令序列)的執行。朝 著這個數據引擎函數的末尾,程序指令的末尾將在步驟74處被執行。所述程序指令末尾的 執行觸發在步驟76處從所述流控制寄存器36讀取所述可編程的流控制值。步驟78確定所 述跳轉允許位48是否被設定。如果所述跳轉允許位沒有被設定,則步驟80將所述數據引 擎切換到空閒狀態。所述目標調度器68可以執行向所述流控制值36加載被設定為"0" 的跳轉允許位48的值,以便在下一程序指令序列62、64完成時所述數據引擎6將進入空閒狀態。然而,如果所述目標調度程序66要在當前程序指令序列66、64完成之後保持活動並 且收回控制,則所述跳轉允許位將被設定並且在步驟78處的確定之後,處理將前進到步驟 82,在步驟82處將執行到在下一任務地址域58內所指定的目標地址的跳轉。在所示的例 子中,這個跳轉是回到所述目標調度程序66和步驟70,在所述步驟70中所述目標調度程序 66等待下一數據引擎函數調用。也可能的是函數可以被連結在一起並且在步驟82處被執 行的跳轉可以是到另一函數的開始。 儘管已經參考附圖在本文中詳細地描述了本發明的說明性實施例,應當理解的是 本發明不限於那些精確的實施例,並且本領域的技術人員可以在其中實現各種變化和修改 而不背離由隨附的權利要求所限定的本發明的範圍和精神。
權利要求
1.一種用於處理數據的設備,所述設備包括指令解碼器電路系統,所述指令解碼器電路系統響應程序指令以產生一個或多個控制信號;處理電路系統,所述處理電路系統響應所述一個或多個控制信號以執行由所述程序指 令指定的數據處理操作;以及流控制寄存器,所述流控制寄存器被配置為存儲可編程的流控制值;其中 所述指令解碼器響應指示正被執行的當前程序指令序列的末尾的標記指令而從所述 流控制寄存器讀取所述可編程的流控制值並且依據所述可編程的流控制值產生所述一個 或多個控制信號以在所述當前程序指令序列完成之後觸發下列各項之一 (i)從目標程序指令開始處理目標程序指令序列;以及 ( )進入等待新的處理任務將被發起的空閒狀態。
2.根據權利要求1所述的設備,其特徵在於,其中所述可編程的流控制值指定所述目 標程序指令的存儲器地址。
3.根據權利要求1所述的設備,其特徵在於,其中所述可編程的流控制值包括跳轉允 許域,所述跳轉允許域存儲指定下列各項之一的值(i)所述可編程的流控制值包括指定所述目標程序指令的所述存儲器地址的目標地址 域;以及( )所述空閒狀態在所述當前程序指令序列的執行已完成時被進入。
4.根據權利要求3所述的設備,其特徵在於,其中所述跳轉允許域是跳轉允許位。
5.根據權利要求1所述的設備,其特徵在於,其中所述標記指令是程序指令的末尾,其 標識所述當前程序指令序列的最後的程序指令。
6.根據權利要求1所述的設備,其特徵在於,其中所述目標程序指令序列是用於控制 任務調度的目標調度程序。
7.根據權利要求1所述的設備,其特徵在於,其中所述設備包括耦合到數據引擎的主 機處理器並且所述指令解碼器電路系統、所述處理電路系統以及所述流控制寄存器是所述 數據引擎的一部分。
8.根據權利要求6所述的設備,其特徵在於,其中所述目標調度程序由所述數據引擎 執行並且所述當前程序指令序列被調用供所述主機處理器和所述目標調度程序之一執行。
9.根據權利要求8所述的設備,其特徵在於,其中所述主機處理器使用由所述主機處 理器執行的主機調度程序來調用所述當前程序指令序列。
10.根據權利要求9所述的設備,其特徵在於,其中(i)在所述目標調度程序調用所述當前程序指令序列時,所述可編程的流控制值被編 程為在所述當前程序指令序列完成之後觸發返回所述目標調度程序的執行的值;以及( )在所述主機調度程序調用所述當前程序指令序列時,所述可編程的流控制值被編 程為在所述當前程序指令序列完成之後觸發所述數據引擎進入所述空閒狀態的值。
11.根據權利要求7所述的設備,其特徵在於,其中響應於由所述指令解碼器電路系統 用所述數據引擎解碼的加載程序指令,所述可編程的流控制值被存儲在所述流控制寄存器 中。
12.根據權利要求3所述的設備,其中所述指令解碼器電路系統響應(i)所述加載程序指令的第一形式,其中所述跳轉允許域被強加為指定所述可編程的 流控制值包括目標地址域的值,所述目標地址域指定所述目標程序指令的所述存儲器地 址;以及(ii)所述加載程序指令的第二形式,其中所述跳轉允許域是指定所述可編程的流控制 值包括目標地址域的值和指定所述空閒狀態在所述當前程序指令序列的執行已完成時被 進入的值中的一個,所述目標地址域指定所述目標程序指令的所述存儲器地址。
13.一種用於處理數據的設備,所述設備包括指令解碼器裝置電路系統,所述指令解碼器裝置電路系統響應用於產生一個或多個控 制信號的程序指令;處理裝置,所述處理裝置響應所述一個或多個控制信號用於執行由所述程序指令指定 的數據處理操作;以及流控制寄存器裝置,所述流控制寄存器裝置用於存儲可編程的流控制值;其中 所述指令解碼器裝置響應指示正被執行的當前程序指令序列的末尾的標記指令而從 所述流控制寄存器裝置讀取所述可編程的流控制值並且依據所述可編程的流控制值產生 所述一個或多個控制信號以在所述當前程序指令序列完成之後觸發下列各項之一 (i)從目標程序指令開始處理目標程序指令序列;以及 ( )進入等待新的處理任務將被發起的空閒狀態。
14.一種處理數據的方法,所述方法包括下列步驟 響應程序指令,產生一個或多個控制信號;響應於所述一個或多個控制信號,執行由所述程序指令指定的數據處理操作;以及 存儲可編程的流控制值;其中響應於指示正被執行的當前程序指令序列的末尾的標記指令,讀取所述可編程的流控 制值並且,依據所述可編程的流控制值,產生所述一個或多個控制信號以在所述當前程序 指令序列完成之後觸發下列各項之一(i)從目標程序指令開始處理目標程序指令序列;以及 ( )進入等待新的處理任務將被發起的空閒狀態。
全文摘要
本發明涉及程序流控制,更具體地,涉及數據處理設備。其中,所述數據處理設備包括具有指令解碼器18的數據引擎6,用於產生一個或多個控制信號24,所述一個或多個控制信號24用於控制處理電路系統20以執行由所述被解碼的程序指令指定的數據處理操作。所述指令解碼器18響應標記指令而從流控制寄存器38讀取可編程的流控制值。所述可編程的流控制值指定在當前的程序指令序列的執行完成時將被採取的動作。所述被採取的動作可以是在目標程序指令序列開始處跳轉到目標程序指令或者進入等待新的處理任務將被發起的空閒狀態。
文檔編號G06F9/30GK102063286SQ201010528139
公開日2011年5月18日 申請日期2010年10月19日 優先權日2009年10月19日
發明者J·韋爾東克, M·奧裡奇 申請人:Arm有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀