国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      具有多個處理元件的數據處理系統(tǒng),控制具有多個處理元件的數據處理系統(tǒng)的方法

      文檔序號:6478382閱讀:180來源:國知局
      專利名稱:具有多個處理元件的數據處理系統(tǒng),控制具有多個處理元件的數據處理系統(tǒng)的方法
      技術領域
      本發(fā)明涉及一種數據處理系統(tǒng),包括至少用于處理數據對象流的第一處理元件和第二處理元件,所述第一處理元件被配置成把數據對象從數據對象流傳送到第二處理元件,其中第一和第二處理元件被配置來執(zhí)行應用,所述應用包括任務集,并且其中所述第一和第二處理元件被配置成響應唯一標識符的接收。
      本發(fā)明還涉及一種用于控制數據處理系統(tǒng)的方法,所述數據處理系統(tǒng)至少包括用于處理數據對象流的第一處理元件和第二處理元件,其中所述第一處理元件被配置成把數據對象從數據對象流傳送到第二處理元件,并且其中所述第一和第二處理元件被配置成執(zhí)行應用,所述應用包括任務集,所述控制方法包括由第一和第二處理元件之一識別唯一標識符的步驟。
      已知用于高性能、數據相關的介質處理(例如高清晰度MPEG解碼)的多處理元件的體系結構??梢园呀橘|處理應用指定為并發(fā)執(zhí)行的任務集,所述任務由單向數據流單獨交換信息。G.Kahn在1974年引入這種應用的形式模型,“The Semantics of a Simple Languagefor Parallel Programming”,1974年8月5-10日的IFIP會議進程,瑞典斯德哥爾摩北荷蘭公司,第471-475頁,隨后是Kahn和MacQueen在1977年的操作描述,“Co-routines and Networks of ParallelProgramming”,北荷蘭公司的B.Gilchhirst(等)的信息處理77,第993-998頁。此形式模型通常被稱為Kahn Process Network(Kahn過程網絡)。
      應用被認為是可并發(fā)執(zhí)行的任務集。只可以在任務之間由單向數據流來交換信息。任務應當只借助于關于預定義數據流的讀取和寫入動作來確定通信。根據FIFO特性來緩沖數據流。由于緩沖,所以經由流進行通信的兩個任務不必對單個讀取或寫入動作同步。
      在流處理中,由不同的處理元件來執(zhí)行對數據流的連續(xù)操作。例如,第一流可以由圖像的像素值組成,所述像素值由第一處理元件處理以便生成8×8個像素塊的離散余弦變換(DCT)系數塊的第二流。第二處理元件可以處理DCT系數塊以便為每個DCT系數塊生成所選擇并壓縮的系數塊的流。


      圖1示出了從現有技術中已知的把應用映射到多處理元件的體系結構的例圖。為了實現數據流處理,提供多個處理元件(Proc 1,Proc 2,Proc 3),每當使用來自數據對象流的下一數據對象的數據和/或生成這種流中的下一數據對象時,所述處理元件都能重復地執(zhí)行特定的操作。所述流從一個處理元件傳送到另一個,以便可以由第二處理元件等來處理由第一處理元件生成的流。用于把數據從第一處理元件傳送到第二處理元件的一個機制是通過把由所述第一處理元件生成的數據塊寫入到存儲器。
      緩沖在網絡中的數據流。把每個緩沖器實現為FIFO,確切地說一個寫入器和一個或多個讀取器。由于此緩沖,寫入器和閱讀器不必使信道上的單個的讀取和寫入動作互相同步。從不具有足夠可用數據的信道上進行讀取會導致讀取任務停滯。處理元件可以是僅僅弱編程的專用硬件功能單元。所有處理元件并行運行并且執(zhí)行它們自己的線程控制。它們一起執(zhí)行Kahn類型應用,其中把每個任務映射到單個處理元件。所述處理元件允許多任務處理,即可以把多個任務映射到單個處理元件。
      由于在時間和空間上分布整個應用的狀態(tài)和進展,所以應用管理面臨應用重新配置、分析應用進展以及調試的問題。特別是動態(tài)調度它們任務的多任務處理元件,全局應用很難控制??赡艹霈F未經請求的事件,所述事件請求應用模式改變。分析整個應用進展在具有數據相關的處理和實時要求的系統(tǒng)中有持續(xù)的意義。另外,在具有多任務處理的處理元件的多處理器系統(tǒng)上調試應用,要求為每個任務設置斷點的能力。按照設置任務斷點的需要,用于模式改變的侵入運行任務要求可比度量。
      US 6,457,116描述了用于在處理元件的網絡中提供處理元件的局部控制的設備。借助于幾種互連結構來在完整的陣列中連接處理元件。每種互連結構形成獨立的網絡,但是所述網絡在處理元件的輸入開關處連接。網狀結構是具有單個源和多個接收器的H樹形網絡結構,其中可以寫入各個處理元件。此配置網絡是這樣一種機制,按照所述機制編程處理元件的配置存儲器并且傳遞配置數據。布置所述配置網絡以便接收器在相同的時鐘周期內接收廣播。處理元件被配置為存儲許多配置存儲器上下文,并且選擇的配置存儲器上下文控制處理元件。處理元件的網絡陣列中的每個處理元件具有分配的物理標識。向所述陣列的至少一個處理元件發(fā)送數據,所述數據包括控制數據、配置數據、地址掩碼和目的地標識。所發(fā)送的地址掩碼被應用于物理標識并且被應用于目的地標識。比較掩蓋的物理標識和掩蓋的目的地標識,并且如果它們匹配,響應于所發(fā)送的數據來操縱至少一個處理元件。操縱包括選擇配置存儲器上下文之一來控制處理元件起作用。US 6,108,760描述了可比較的設備,用于處理元件的網絡中的位置無關的重新配置。操縱包括用至少一個配置存儲器上下文來編程處理元件。
      現有技術中數據處理系統(tǒng)的缺點是在特定的時刻執(zhí)行重新配置。例如,在處理元件的流水線網絡情況下,在特定時刻的重新配置意味著不能再保證流水線網絡內數據的完整性。
      本發(fā)明的目的是提供一種用于在Kahn類型的數據處理系統(tǒng)中全局應用控制的通用解決辦法。
      用所闡述的那種數據處理系統(tǒng)來達到此目的,其特征在于數據對象流還包括唯一標識符,而且第一處理元件還被配置成把所述唯一標識符傳送到第二處理元件。
      把數據處理系統(tǒng)中的唯一標識符從一個處理元件傳送到其它處理元件,如在有序數據流中的元件,與單個時間點相對比,允許在數據空間中的唯一位置進行全局應用控制。例如,可以執(zhí)行應用重新配置或單個任務重新配置,同時保持流水線處理以及保持數據對象流中數據的完整性。結果提高了數據處理系統(tǒng)的總體性能,這是因為可以避免終止和重新啟動應用的執(zhí)行。
      依照本發(fā)明的數據處理系統(tǒng)的實施例,其特征在于至少一個處理元件被配置成把唯一標識符插入數據對象流中。如果所述應用準備重新配置,或應當引入斷點,那么現有的處理元件之一在不要求任何附加度量的情況下,能夠把所述唯一標識符插入數據流。
      依照本發(fā)明的數據處理系統(tǒng)的實施例其特征在于,任務集的至少一個任務被配置成具有可編程的標識符,其中第一和第二處理元件的相應處理元件被配置成把可編程的標識符與唯一標識符相比較??删幊虡俗R符的目的是允許響應經由數據流傳送的特定的唯一標識符。為每個任務對唯一標識符的響應進行編程,以便每個任務可以以各自的方式響應。采用這種方法,在多任務處理的處理元件的情況下,可編程的標識符允許選擇應當重新配置的任務。在可編程的標識符和用于運行任務的唯一標識符之間匹配的情況下,這意味著任務準備重新配置。當這兩個標識符具有相同的值時或例如當可編程的標識符具有總是強制匹配的保留值時,所述比較導致匹配。
      依照本發(fā)明的數據處理系統(tǒng)的實施例,其特征在于第一和第二處理元件的至少一個處理元件被配置成當在可編程的標識符和唯一標識符之間匹配時,暫停任務集的相應任務。此實施例的優(yōu)點是在數據空間內的明確定義點上掛起一個或多個任務的執(zhí)行。在稍后時刻可能發(fā)生應用的重新配置,而沒有涉及重新配置的任務,在那時所述任務在各自執(zhí)行路徑上更遠。
      依照本發(fā)明的數據處理系統(tǒng)的實施例,其特征在于第一和第二處理元件的至少一個處理元件被配置成當在可編程的標識符和唯一標識符之間匹配時,產生中斷信號。通過產生中斷信號,相應的處理元件可以發(fā)信號表示任務準備重新配置,或者可以使用所述中斷信號來確定任務執(zhí)行的進展。
      依照本發(fā)明的數據處理系統(tǒng)的實施例,其特征在于數據處理系統(tǒng)還包括控制處理元件,其中所述控制處理元件被配置成響應于所述中斷信號來重新配置應用。需要用于任務重新配置的信息不與唯一標識符相關,這允許唯一標識符的轉送和匹配機制獨立于任務功能。結果,可以在可再用的硬件或軟件組件中實現此機制。
      依照本發(fā)明的數據處理系統(tǒng)的實施例,其特征在于數據對象流包括多個分組和專用分組,所述多個分組被配置成存儲數據對象,所述專用分組被配置成存儲唯一標識符。處理元件識別所述專用分組,例如根據它們的分組首部,并且在不破壞數據對象流的情況下轉送此未修改的分組。
      依照本發(fā)明,一種控制數據處理系統(tǒng)的方法,其特征在于所述控制方法還包括下列步驟把唯一標識符插入數據對象流,并且把所述唯一標識符從第一處理元件傳送到第二處理元件。此方法允許運行時間的重新配置,同時保持在數據處理系統(tǒng)上運行的應用的數據完整性。除重新配置之外,唯一標識符還可以用來定義調試斷點以及確定應用等待時間。
      在從屬權利要求中描述了數據處理系統(tǒng)和控制數據處理系統(tǒng)的方法的進一步的實施例。
      圖1示出了依照現有技術把應用映射到數據處理系統(tǒng)上。
      圖2示出了基于流的處理系統(tǒng)的體系結構的示意性框圖。
      圖3示出了把應用映射到圖2中示出的基于流的處理系統(tǒng)的示意性框圖。
      圖4示出了編程為外殼并且插入到依照圖2的基于流的處理系統(tǒng)的數據流中位置ID的示意性框圖。
      圖5示出了用于禁止執(zhí)行依照圖2的基于流的處理系統(tǒng)的任務的流程圖。
      圖2依照本發(fā)明示出了用于處理數據對象流的處理系統(tǒng)。所述系統(tǒng)包括中央處理器CPU、三個協(xié)處理器ProcA、ProcB和ProcC、存儲器MEM、外殼(shell)SP、SA、SB和SC以及通信網絡CN。外殼SP、SA、SB和SC分別與處理器CPU和協(xié)處理器ProcA、ProcB和ProcC相關聯。通信網絡CN把外殼SP、SA、SB和SC與存儲器MEM耦合。分別經由接口IP、IA、IB和IC把處理器CPU和協(xié)處理器ProcA、ProcB和ProcC與它們相應的外殼SP、SA、SB和SC耦合。在不同的實施例中,在所述系統(tǒng)中可以包括不同數目的處理器和/或協(xié)處理器。例如存儲器MEM可以是芯片上存儲器。處理器CPU可以是可編程的媒體處理器,而優(yōu)選地是,協(xié)處理器ProcA、ProcB和ProcC是專用處理器,所述協(xié)處理器專用于執(zhí)行有限范圍的流處理。每個協(xié)處理器ProcA、ProcB和ProcC被配置成把相同的處理操作重復地適用于連續(xù)的數據對象流。協(xié)處理器ProcA、ProcB和ProcC都可以執(zhí)行不同的任務或功能,例如可變長度的解碼、行程長度解碼、運動補償、圖像縮放或執(zhí)行DCT變換。操作中,每個協(xié)處理器ProcA、ProcB和ProcC執(zhí)行對一個或多個數據流的操作。所述操作可能涉及例如接收流并且產生另一流,或在不產生新流的情況下接收流,或在不接收流的情況下產生流,或修改所接收的流。處理器CPU和協(xié)處理器ProcA、ProcB和ProcC能夠處理由其它協(xié)處理器ProcA、ProcB和ProcC或處理器CPU產生的數據流,甚至產生它們自己的流。流包括一連串數據對象,經由通信網絡CN和存儲器MEM把數據對象從并且向處理器CPU和協(xié)處理器ProcA、ProcB和ProcC轉移。接口IP、IA、IB和IC是處理器接口并且為相關聯的處理器CPU和協(xié)處理器ProcA、ProcB和ProcC來定制它們,以便能夠處理處理器CPU和協(xié)處理器ProcA、ProcB和ProcC的具體需要。據此,外殼SP、SA、SB和SC具有(協(xié))處理器專用接口,但是外殼SP、SA、SB和SC的總體體系結構對于所有(協(xié))處理器是通用且統(tǒng)一的,以便使在整個系統(tǒng)體系結構中重新使用外殼便于進行,同時允許參數化以及采用專門的應用。在不同的實施例中,所述系統(tǒng)在(協(xié))處理器、外殼和存儲器之間可以具有更專用的應用的特定互連結構,該結構具有用于數據存儲的多個連接和多個專用緩沖器。在又一實施例中,所述系統(tǒng)可以包括用于處理數據對象流的多個可編程處理器,并且在這種系統(tǒng)中可以用軟件來實現外殼的功能。
      外殼SP、SA、SB和SC包括用于數據傳送的讀取/寫入單元、同步單元和任務切換單元。外殼SP、SA、SB和SC根據主/從基礎來與相關聯的(協(xié))處理器通信,其中所述(協(xié))處理器充當主設備。據此,按照來自相應(協(xié))處理器的請求來初始化外殼SP、SA、SB和SC。優(yōu)選的是,按照請求確認握手機制來實現在相應(協(xié))處理器和外殼SP、SA、SB和SC之間的通信,以便交換變元值并且等待返回的請求值。因此阻塞通信,即控制的各自線程等待完成。可以用軟件和/或硬件來實現外殼SP、SA、SB和SC的功能。
      優(yōu)選地是,讀取/寫入單元實現兩個不同的操作,即,使處理器CPU和協(xié)處理器ProcA、ProcB和ProcC能從存儲器MEM讀取數據對象的讀取操作,并且使處理器CPU和協(xié)處理器ProcA、ProcB和ProcC能把數據對象寫入存儲器MEM的寫入操作。
      同步單元分別實現用于同步的兩個操作,以便處理在試圖從空FIFO中讀取或向滿FIFO寫入時出現的局部阻塞情況。
      依照圖2的系統(tǒng)體系結構支持多任務處理,意味著可以把幾個應用任務映射到單處理器CPU或協(xié)處理器ProcA、ProcB和ProcC。多任務處理支持在獲得體系結構的靈活性中是重要的,旨在配置應用范圍以及在數據處理系統(tǒng)內的不同位置上重新運用相同的硬件處理器。多任務處理意味著需要任務切換單元,用于決定哪個(協(xié))處理器在哪個時間點必須執(zhí)行獲得適當的應用進展的處理。優(yōu)選地是,與固定編譯時間調度相對比,在運行時間執(zhí)行任務調度。
      處理器CPU包括控制處理器,用于控制數據處理系統(tǒng)。數據對象流包括用于保留數據的多個數據分組。為了有效地使所述數據分組化,在數據流上使用可變長度的分組。
      圖3示出了把示例性應用映射到如上所述的基于流的處理系統(tǒng)的示意性框圖。所述應用作為任務集TA、TB_1、TB_2、TC和TP執(zhí)行,所述任務經由包括數據流DS_Q、DS_R、DS_S和DS_T的數據流通信。由協(xié)處理器ProcA執(zhí)行任務TA,由協(xié)處理器ProcB執(zhí)行任務TB_1和TB_2,由協(xié)處理器ProcC執(zhí)行任務TC,而由處理器CPU執(zhí)行任務TP。在候選實施例中,應用可以由不同的任務集組成,所述任務不同地映射到處理器CPU和協(xié)處理器ProcA、ProcB和ProcC。數據流DS_Q、DS_R、DS_S和DS_T是緩沖數據流,因為它們分別包括如FIFO緩沖器BQ、BR、BS和BT。物理上在存儲器MEM中分配FIFO緩沖器BQ、BR、BS和BT。
      在執(zhí)行應用期間,如圖3所示,可能必須動態(tài)地把任務添加到應用圖表或從應用圖表中刪除。為了執(zhí)行此操作,在不使存儲在FIFO緩沖器BQ、BR、BS和BT中的數據產生不一致問題的情況下,在數據空間內的特定位置執(zhí)行任務重新配置。為了能夠執(zhí)行此重新配置,以所謂的位置ID形式把唯一標識符插入數據流中,并且把此位置ID存儲在專用分組中。對于數據分組以及位置ID分組,統(tǒng)一分組首部包含關于分組類型及其有效載荷大小的信息??梢园凑账鼈兾ㄒ坏姆纸M類型來從其它分組間辨別所述位置ID分組。外殼SP、SA、SB和SC包含任務表,包括用于映射到相應處理器CPU和協(xié)處理器ProcA、ProcB和ProcC的每個任務的可編程字段。可編程字段用于存儲編程的位置ID??梢越柚诖鎯τ诚蟮腎O(MMIO)寄存器來實現編程的位置ID。
      處理器CPU和協(xié)處理器ProcA、ProcB和ProcC解析輸入數據流,并且能夠識別位置ID分組。當識別位置ID分組時,處理器CPU和協(xié)處理器ProcA、ProcB和ProcC把位置ID分組轉送到輸出數據流。當接收位置ID分組時,處理器CPU和協(xié)處理器ProcA、ProcB和ProcC還經由相應的接口IP、IA、IB和IC把有效載荷,連同相應任務的標識符(即當前正在執(zhí)行的任務ID)一起,從所述分組(即位置ID)傳送到相應的外殼SP、SA、SB和SC。當從處理器CPU或協(xié)處理器ProcA、ProcB和ProcC接收位置ID和任務ID時,相應的外殼SP、SA、SB和SC為具有任務ID的任務把所接收的位置ID與編程的位置ID相比較。當匹配時,外殼SP、SA、SB和SC通過向相應的處理器CPU或協(xié)處理器ProcA、ProcB和ProcC發(fā)送信號來掛起所述任務的進一步處理,并且還向控制處理器發(fā)送中斷信號。
      隨后,控制處理器在軟件的控制下可以分析或重新配置局部任務狀態(tài)。在重新配置之后,控制處理器命令外殼SP、SA、SB和SC按照相應的處理器CPU或協(xié)處理器ProcA、ProcB和ProcC來布置所述任務的恢復。
      處理器CPU和協(xié)處理器ProcA、ProcB和ProcC能夠產生位置ID分組并且把所述位置ID分組插入數據對象流中。典型情況下,只在預定義的位置上把這些位置ID分組插入數據流中,例如在MPEG幀的末尾。當從(協(xié))處理器請求新任務時,由控制處理器,或者間接地由相應的外殼SP、SA、SB和SC來命令處理器CPU和協(xié)處理器ProcA、ProcB和ProcC把這種位置ID分組插入數據流中。
      圖4更詳細地示出了外殼SP、SA、SB和SC。外殼SP包括任務表401,外殼SA包括任務表403,外殼SB包括任務表405,而外殼SC包括任務表407。任務表401包括用于任務TP的可編程字段409,任務表403包括用于任務TA的可編程字段411,任務表405包括分別用于任務TB_1任務TB_2的可編程字段413和415,而任務表407包括用于任務TC的可編程字段417。任務表401、403、405和407可以包括用于在相應處理器CPU和協(xié)處理器ProcA、ProcB和ProcC上運行的不同任務的可編程字段,在圖4中未示出。圖4還示出了包括位置ID分組419的數據流DS_Q、DS_R、DS_S和DS_T。位置ID分組419包括分組首部PH。數據流DS_Q、DS_R、DS_S和DS_T在位置ID分組419之前和之后還包括多個數據分組,在圖4中未示出。數據流DS_Q、DS_R、DS_S和DS_T還可以包括更多位置ID分組,在圖4中未示出。
      再次參照圖2、3和4,控制處理器可以決定執(zhí)行應用重新配置,即從任務集TP、TA、TB_1、TB_2和TC中動態(tài)刪除任務TP,并且決定直接把任務TA連接到任務TB_2。控制處理器通過把相應任務表401、403和405的位置ID分別寫入任務TP、TA和TB_2的可編程字段409、411和415中,來把位置ID PLID_1編程到外殼SP、SA和SB中??刂铺幚砥魍ㄟ^把位置ID以及何時將要產生包含所述位置ID的位置ID分組的信息存儲到用于外殼SA的任務表中任務TA的寄存器中,來命令協(xié)處理器ProcA產生所述位置ID分組。根據存儲在外殼SA中的信息,由協(xié)處理器ProcA在任務TA的控制之下把包含位置ID LID_1的位置ID分組419插入數據流DS_Q和DS_R中。任務TA發(fā)信號表示通過創(chuàng)建它已經識別了位置ID LID_1,并且命令協(xié)處理器ProcA經由接口IA向外殼SA發(fā)送其任務ID以及位置ID LID_1。使用任務TA的所接收的任務ID,外殼SA把所接收的位置ID LID_1與用于任務TA的所編程的位置IDPLID_1相比較并且決定這些匹配。外殼SA停止由協(xié)處理器ProcA進一步處理任務TA,并且向控制處理器發(fā)送中斷信號。任務TP根據關于存儲在分組首部PH中分組類型的信息來識別在輸入數據流DS_R中的位置ID分組419,并且命令處理器CPU把所述位置ID分組419轉送到其輸出數據流DS_S。任務TP還命令處理器CPU把所識別的位置ID LID_1連同其任務ID一起經由接口IP傳送到外殼SP。使用任務TP的所接收的任務ID,外殼SP把所接收的位置ID LID_1與用于任務TP的所編程的位置ID PLID_1相比較并且決定這些匹配。外殼SP停止由處理器CPU進一步處理任務TP,并且向控制處理器發(fā)送中斷信號。任務TB_2根據關于存儲在分組首部PH中分組類型的信息來識別在其輸入數據流DS_S中的位置ID分組419,并且命令協(xié)處理器ProcB把所述位置ID分組419轉送到其輸出數據流DS_T。任務TB_2還命令協(xié)處理器ProcB把所識別的位置ID LID_1連同其任務ID一起經由接口IB傳送到外殼TB。使用所接收的任務ID,外殼TB把所接收的位置ID LID_1與用于任務TB_2的所編程的位置ID PLID_1相比較并且決定這些匹配。外殼SB停止由協(xié)處理器ProcB進一步處理任務TB_2,并且向控制處理器發(fā)送中斷信號。任務TB_1和任務TC還根據有關存儲在分組首部PH中的分組類型信息來識別在各自輸入數據流中的位置ID分組419。任務TB_1和任務TC命令它們相應的協(xié)處理器TB和TC把位置ID分組419轉送到它們各自的輸出數據流,并且還把所識別的位置ID LID_1連同相應的任務ID一起發(fā)送到它們相應的外殼SB和SC。外殼SB和SC檢測對于相應接收的任務ID,不存在編程的位置ID,并且在這方面不采取更進一步的動作。在不同的實施例中,不同編程的位置ID可以存在于給定任務的外殼SP、SA、SB和SC的任務表中,并且在這種情況下,把對應于該任務的所接收的位置ID與所有編程的位置ID相比較以便校驗是否存在匹配。由于任務TA、TP和TB_2在數據流中相同的位置停止處理,所以FIFO緩沖器BR和BS是空的??刂铺幚砥鲝膽脠D表中刪除任務TP并且例如使用FIFO緩沖器BR經由數據流DS_R重新連接任務TA和TB_2,并且釋放數據流DS_S以及FIFO緩沖器BS??刂铺幚砥魍ㄟ^把信息寫入相應的外殼SA和SB中來命令重新啟動任務TA和TB_2。
      位置ID的概念允許運行時應用重新配置,同時保持多處理器系統(tǒng)中應用圖表的數據完整性。結果,不要求終止和重新啟動應用的執(zhí)行,這提高了數據處理系統(tǒng)的總體性能。應用重新配置可能需要例如改變一個或多個任務的參數,修改緩沖器大小或它們在存儲器中的位置,修改任務互連結構,修改映射或(協(xié))處理器的任務,實例化并連接更多任務或緩沖器,刪除并斷開任務或緩沖器。對于多任務處理器,當進行重新配置時處理器可以繼續(xù)處理其它任務。保留兩個特定的可編程位置ID值以便匹配任何接收的位置ID或沒有接收位置ID。
      在不同的實施例中,位置ID的概念可以用于在具有多任務處理元件的多處理器系統(tǒng)上分析整個應用進展或調試應用。位置ID允許在數據處理中唯一的位置上為每個任務設置調試斷點,或者可以用來確定應用的等待時間。在分析整個應用進展的情況下,不要求暫?;顒尤蝿?,而是例如只產生中斷信號就足夠了。使用該中斷信號可以確定進展。
      任務重新配置所需要的信息不是位置ID分組的部分,這允許獨立于任務功能來轉送位置ID分組、把位置ID與編程的位置ID匹配以及向控制處理器發(fā)信號的機制。結果,可以借助于可再用的硬件或軟件組件來實現所述機制。
      在不同的實施例中,處理器CPU或協(xié)處理器ProcA、ProcB和ProcC被配置成存儲所遇到的位置ID值,以及在相應外殼SP、SA、SB和SC中位置ID和編程位置ID之間匹配的結果。在另一實施例中,處理器CPU或協(xié)處理器ProcA、ProcB和ProcC被配置成只存儲在相應外殼SP、SA、SB和SC中的位置ID和編程位置ID之間匹配的結果。代替接收中斷信號,控制處理器本身在稍后時刻例如借助于輪詢機制調查匹配的結果。在又一實施例中,處理器CPU或協(xié)處理器ProcA、ProcB和ProcC被配置成只存儲所遇到的位置ID值。所存儲的位置ID值可以表明是否已經經由數據流把此位置ID傳送到相應的(協(xié))處理器。
      外殼SP、SA、SB和SC的任務切換單元負責選擇在相應的處理器CPU或協(xié)處理器ProcA、ProcB和ProcC上執(zhí)行的任務。接口IP、IA、IB和IC實現用于接收并匹配分別由處理器CPU和協(xié)處理器ProcA、ProcB和ProcC檢測的位置ID的機制??梢越柚谒^的Report接口來實現所述機制。處理器CPU和協(xié)處理器ProcA、ProcB和ProcC可以通過呼叫Report(task_id,report_type,report_id)來經由相應的接口IP、IA、IB和IC向外殼SP、SA、SB和SC的任務切換單元報告消息。task_id對應于活動任務的任務ID,根據所述任務ID發(fā)布Report請求,report_type表明錯誤狀態(tài)或有效位置ID,而report_id包含所述位置ID。相應的外殼SP、SA、SB和SC中的任務表401、403、405和407還包括用于各個任務的五個可編程字段,在圖4中未示出,分別用于存儲使能標志、LocationDisable標志、InterruptEnable標志、ReportType和ReportId。如果設置LocationDisable標志,那么當report_id匹配所編程的位置ID時,根據具有來自相應處理器CPU或協(xié)處理器ProcA、ProcB和ProcC的有效report_type的Report請求來禁止活動任務。如果在這種情況下沒有設置LocationDisable標志,那么不應該禁止相應的任務。如果為任務設置使能標志,那么該任務可以在相應的處理器CPU或協(xié)處理器ProcA、ProcB和ProcC上執(zhí)行。只要沒有為任務設置使能標志,那么該任務決不會在相應的處理器CPU或協(xié)處理器ProcA、ProcB和ProcC上執(zhí)行。圖5示出了用于禁止任務執(zhí)行的流程圖。根據報告請求,任務切換單元確定report_type變元是否表明錯誤狀態(tài)(501)。如果report_type變元表明錯誤狀態(tài),那么使用task_id把report_id變元作為錯誤標識符存儲在所選擇任務的任務表條目的ReportId字段中。此外,把report_type變元存儲在ReportType字段中,通過重置任務表中相應的使能標志來禁止活動任務,并且產生中斷信號(505)。如果report_type變元有效,那么使用task_id把report_id變元作為所接收的位置ID存儲在任務表ReportId字段中,以便選擇正確的任務表條目,并且也使用task_id把report_type作為有效標識符存儲在所選擇任務的任務表條目的ReportType字段中(503)。當任務切換單元接收有效的report_type時,所述任務切換單元把所接收的report_id與存儲在任務表的可編程字段中的所編程的位置ID相比較(503),并且確定是否存在匹配(507)。如果不相配,那么不采取進一步的動作(509)。如果所接收的report_id匹配所編程的位置ID,并且沒有設置LocationDisable標志(509),那么繼續(xù)處理相應的任務。這可以有用于運行時測量任務進展。如果設置LocationDisable標志(511),那么重置任務表中的使能標志禁止相應的任務(513)。此外在這兩種情況中,如果設置相應任務的InterruptEnable標志(515),那么產生中斷信號(517)。如果沒有設置InterruptEnable標志,那么不采取進一步的動作(519)。兩個編程的位置ID值具有特定的語義如果把第一個設置為全零,那么所編程的位置ID決不會匹配report_id,并且如果把第一個設置為全一,那么所編程的位置ID匹配所有的report_id。
      在一些實施例中,處理器CPU和協(xié)處理器ProcA、ProcB和ProcC不向所有它們的輸出數據流轉送位置ID分組。通過整個應用圖表數據分組流中的位置ID分組的意圖是這樣,以致每個任務將相對于在其相應外殼SP、SA、SB和SC中編程的位置ID值(如果有)檢查位置ID值一次,以便允許任務重新配置。有時應用圖表包含循環(huán),從而應該避免在所述應用圖表內這些位置ID分組繼續(xù)運行??梢酝ㄟ^不把位置ID分組轉送到所有任務集的輸出數據流來避免應用圖表中位置ID分組的連續(xù)循環(huán),這對所屬領域的技術人員來說是顯而易見的。
      人們注意到,上述實施例并不局限于本發(fā)明,本領域內的技術人員在不脫離所附權利要求的范圍內的情況下可以設計很多替換的實施例。在權利要求中,不應當將括號內的任何參考符號看作是對權利要求的限制。詞“包括”并不排除那些沒有記載在權利要求中的元件或步驟。位于元件之前的詞“一個”或“一種”并不排除存在多個這樣元件的情況。在產品權利要求所列舉的一些裝置在中,這些裝置的一部分可以被具體化為一個或相同的硬件項。在彼此不同的權利要求中所提到的某些方法,實際上并不意味著把這些方法結合是無益的。
      權利要求
      1.一種數據處理系統(tǒng),包括用于處理數據對象流(DS_Q,DS_R,DS_S,DS_T)的至少第一處理元件(CPU,ProcA,ProcB,ProcC)和第二處理元件(CPU,ProcA,ProcB,ProcC),所述第一處理元件被配置成把數據對象從數據對象流傳送到所述第二處理元件,其中所述第一和第二處理元件(CPU,ProcA,ProcB,ProcC)被配置成執(zhí)行應用,所述應用包括任務集(TP,TA,TB_1,TB_2,TC),并且其中第一和第二處理元件的至少一個被配置成響應唯一標識符(LID_1)的接收,其特征在于,所述數據對象流還包括唯一標識符,而且所述第一處理元件還被配置成把所述唯一標識符傳送到所述第二處理元件。
      2.如權利要求1所述的數據處理系統(tǒng),其特征在于至少一個處理元件(CPU,ProcA,ProcB,ProcC)被配置成把唯一標識符(LID_1)插入到數據對象流(DS_Q,DS_R,DS_S,DS_T)中。
      3.如權利要求1所述的數據處理系統(tǒng),其特征在于任務集(TP,TA,TB_1,TB_2,TC)的至少一個任務被配置成具有可編程的標識符(PLID_1),其中第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的相應處理元件被配置成把所述可編程的標識符(PLID_1)與唯一標識符(LID_1)相比較。
      4.如權利要求3所述的數據處理系統(tǒng),其特征在于第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的至少一個處理元件被配置成當在可編程的標識符(PLID_1)和唯一標識符(LID_1)之間匹配時,暫停任務集(TP,TA,TB_1,TB_2,TC)的相應任務。
      5.如權利要求3所述的數據處理系統(tǒng),其特征在于第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的至少一個處理元件被配置成當在可編程的標識符(PLID_1)和唯一標識符(LID_1)之間匹配時,產生中斷信號。
      6.如權利要求3所述的數據處理系統(tǒng),其特征在于第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的至少一個處理元件被配置成存儲唯一標識符(LID_1)。
      7.如權利要求3所述的數據處理系統(tǒng),其特征在于第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的至少一個處理元件被配置成存儲所述可編程標識符(PLID_1)與唯一標識符(LID_1)的比較結果。
      8.如權利要求5所述的數據處理系統(tǒng),其特征在于數據處理系統(tǒng)還包括控制處理元件,其中所述控制處理元件被配置成響應于所述中斷信號來重新配置應用。
      9.如權利要求1所述的數據處理系統(tǒng),其特征在于所述數據對象流(DS_Q,DS_R,DS_S,DS_T)包括多個分組,所述多個分組被配置成存儲數據對象;專用分組(419),所述專用分組被配置成存儲唯一標識符(LID_1)。
      10.一種用于控制數據處理系統(tǒng)的方法,所述數據處理系統(tǒng)至少包括用于處理數據對象流(DS_Q,DS_R,DS_S,DS_T)的第一處理元件(CPU,ProcA,ProcB,ProcC)和第二處理元件(CPU,ProcA,ProcB,ProcC),其中所述第一處理元件被配置成把數據對象從數據對象流傳送到第二處理元件,并且其中所述第一和第二處理元件被配置成執(zhí)行應用,所述應用包括任務集(TP,TA,TB_1,TB_2,TC),所述控制方法下列步驟由第一和第二處理元件的至少一個識別唯一標識符(LID_1),其特征在于所述控制方法還包括下列步驟把所述唯一標識符插入所述數據對象流中,把所述唯一標識符從所述第一處理元件傳送到所述第二處理元件。
      11.如權利要求10所述的用于控制數據處理系統(tǒng)的方法,其特征在于由至少一個處理元件(CPU,ProcA,ProcB,ProcC)來執(zhí)行把所述唯一標識符插入數據對象流(DS_Q,DS_R,DS_S,DS_T)中的步驟。
      12.如權利要求10所述的用于控制數據處理系統(tǒng)的方法,其特征在于所述方法還包括下列步驟把標識符(PLID_1)編程到任務集(TP,TA,TB_1,TB_2,TC)的至少一個任務中,由第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的相應的處理元件來把唯一標識符(LID_1)與編程的標識符(PLID_1)相比較。
      13.如權利要求12所述的用于控制數據處理系統(tǒng)的方法,其特征在于所述方法還包括下列步驟由第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的相應的處理元件當在所述任務的可編程標識符(PLID_1)和唯一標識符(LID_1)之間匹配時,暫停任務集(TP,TA,TB_1,TB_2,TC)的任務。
      14.如權利要求12所述的用于控制數據處理系統(tǒng)的方法,其特征在于所述方法還包括下列步驟由第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的處理元件當在多個任務(TP,TA,TB_1,TB_2,TC)的相應任務的可編程標識符(PLID_1)和唯一標識符(LID_1)之間匹配時,產生中斷信號。
      15.如權利要求12所述的用于控制數據處理系統(tǒng)的方法,其特征在于所述方法還包括下列步驟由第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的處理元件為多個任務(TP,TA,TB_1,TB_2,TC)的相應任務存儲唯一標識符(LID_1)。
      16.如權利要求12所述的用于控制數據處理系統(tǒng)的方法,其特征在于所述方法還包括下列步驟由第一和第二處理元件(CPU,ProcA,ProcB,ProcC)的處理元件為多個任務(TP,TA,TB_1,TB_2,TC)的相應任務存儲可編程的標識符(PLID_1)與唯一標識符(LID_1)的比較結果。
      17.如權利要求14所述的用于控制數據處理系統(tǒng)的方法,其特征在于所述數據處理系統(tǒng)還包括控制處理元件而且方法還包括步驟由控制處理元件響應于中斷信號來重新配置應用。
      18.如權利要求10所述的用于控制數據處理系統(tǒng)的方法,其特征在于所述數據對象流(DS_Q,DS_R,DS_S,DS_T)包括多個分組,所述多個分組被配置成存儲數據對象,專用分組(419),是被配置成存儲唯一標識符(LID_1)。
      全文摘要
      本發(fā)明涉及具有多個處理元件(CPU,ProcA,ProcB,ProcC)的數據處理系統(tǒng)中的任務管理。因此提供了一種數據處理系統(tǒng),至少包括用于處理數據對象流(DS_Q,DS_R,DS_S,DS_T)第一處理元件(CPU,ProcA,ProcB,ProcC)和第二處理元件(CPU,ProcA,ProcB,ProcC),所述第一處理元件被配置成把數據對象從數據對象流傳送到所述第二處理元件。所述第一和第二處理元件被配置成并行執(zhí)行包括任務集(TP,TA,TB_1,TB_2,TC)的應用,并且第一和第二處理元件被配置成響應唯一標識符的接收。為了確保在重新配置應用期間數據的完整性,把所述唯一標識符插入數據流中并且把所述唯一標識符從一個處理元件傳送到其它處理元件。當相應的處理元件接收唯一標識符時執(zhí)行應用重新配置,并且結果在數據空間內的唯一位置上允許全局應用控制。
      文檔編號G06F9/46GK1833226SQ200480005228
      公開日2006年9月13日 申請日期2004年2月18日 優(yōu)先權日2003年2月27日
      發(fā)明者M·J·魯特坦, J·T·J·范埃恩德霍文, E·-J·D·波爾 申請人:皇家飛利浦電子股份有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1