專利名稱:支持突發讀寫操作的處理裝置的制作方法
技術領域:
包含可編程處理器和與該可編程處理器連接的外圍設備的數字信號處理系統,其中,處理器被設置為相應地使用針對單個數據元素的讀操作和寫操作與外圍設備進行通信。
背景技術:
雖然通過增大時鐘頻率而以更快的速度執行操作,或者通過使用像超長指令字處理器或超標量處理器這樣的并行體系結構從而與其它的操作并行地執行,使得可編程處理器的計算能力不斷增大,但是,基于這些處理器的系統的總體性能通常被其外圍設備的帶寬的限制所阻礙,例如輸入/輸出(I/O)設備,物理存儲器或數據總線。為了減輕這些限制,可以將(多級)高速緩存結合到這些系統中,以盡可能多地保存處理器的局部數據,因此減少了用于從系統的更遠的部分取回數據所需的數據帶寬,如在US 6,574,707 B2中所公開的。此外,無論何時需要總線或者存儲器帶寬,例如當高速緩存訪問失效時,通過使用所謂的突發操作來有效地使用該帶寬,通過此操作,多個數據元素被包括在單獨的原子操作中,這需要較少的控制開銷。通常,可編程處理器經由針對單個數據元素的讀操作和寫操作產生I/O請求。通過使用高速緩存,這些單個數據元素操作被自動地轉化為突發操作,因為高速緩存為處理器提供了接口,從而使用單個元素操作來服務處理器,而一般使用突發操作來訪問系統的其他部分。后者特別用于讀操作,而在高速緩存訪問失效的情況下,高速緩存將使用一或多個突發操作取回從系統請求的整個高速緩存線。依賴于所使用的高速緩存寫策略,當存在高速緩存時的處理器寫或者導致突發行為或者導致單個元素訪問。使用“直寫式”(write-through)策略的高速緩存將把單個數據元素寫到系統中,使用叫做“回寫式”(write-back)寫策略的高速緩存將主要以突發模式把整個高速緩存塊寫到系統中。只要在高速緩存中寫命中,那么只更新在高速緩存中的數據。只有當由于這樣的寫命中已經改變的高速緩存塊(即,已經變成“臟”(dirty))必須從此高速緩存中收回,以便為將存儲到相同高速緩存位置的新取回的塊讓出空間時,所述臟塊才被寫回系統。在寫失效(write miss)的情況下,高速緩存或者將取來失效的數據塊并且隨后把取來的塊寫入高速緩存(“按寫分配”(write allocate)的“回寫”策略),或者繞過高速緩存并且直接把單個數據元素寫到系統中(“非按寫分配”的“回寫”策略)。
特別是在成本敏感和低功耗的應用中,高速緩存的使用的主要缺點在于面積和功耗開銷方面。此外,對于實時系統,高速緩存的動態行為使得預計有保證的實時性能較為困難。對于處理數據流的信號處理應用,傳統的高速緩存大多數情況下沒有性能優點,這是因為數據項經常被讀寫一次,并且沒有臨時的數據局部性可以應用。因為這些原因,嵌入系統只能使用相對簡單的高速緩存,或者根本不使用高速緩存。相對簡單的高速緩存使用非按寫分配的直寫策略,即,一旦數據被寫在高速緩存中存在的存儲器地址,數據就被寫入高速緩存和存儲器中,然而一旦數據被寫在不存在于高速緩存中的存儲地址處,則該數據只被寫入存儲器中,而不用把他們從存儲器中取入高速緩存。在這種嵌入系統中,通常設計硬連線(hardwired)的加速器,以使得他們以突發方式執行系統I/O。由于這些加速器被調整為特定的應用,因此調整加速器以適應于其將要被應用到的系統環境是可行的,從而保證了這種行為。對更靈活的片上系統的需求導致越來越多地使用可編程加速器。這種可編程處理器通常基于加載/存儲體系結構,其中,這些處理器使用針對單個數據元素的讀和寫操作與系統通信,即,每個讀/寫操作包含單個地址,將從該地址讀出與處理器的數據通路寬度相匹配的單個數據元素(例如32位的字),或者包含一地址,將在該地址寫入單個數據元素,這都在軟件程序控制之下。雖然程序員可以映射(信號處理)以流的方式訪問系統數據的應用,但是程序員通常沒有辦法控制處理器如何訪問系統數據。如果高速緩存不存在于系統中,則單個數據元素的操作將直達系統總線或存儲器,例如,由于為每個單獨的數據項建立新的傳輸的開銷而導致可用帶寬的無效使用。這將導致總線/存儲器帶寬的低效的使用并且會嚴重的影響系統的總體性能。
發明內容
發明的目的是提供一個高效的,低成本且低功耗的可編程處理系統,其不具有高速緩存或者僅具有相對簡單的高速緩存。
該目的通過所說明的類型的處理器來實現,其特征在于,突發生成設備用于分別將多個讀操作或者多個寫操作組合到單個突發讀操作或單個突發寫操作中。通過將關于單個數據元素的讀和寫操作轉換為單個突發讀和寫操作,可以更有效地使用外圍設備的可用帶寬,從而增加處理系統的總體性能。為了生成突發操作不需要高速緩存,但是替代地使用專用電路,使得解決方案與具有高速緩存的可編程處理系統相比,具有較低的成本和較低的功耗。
本發明的實施例的特征在于,所述可編程處理器還用于分別使用突發讀操作或突發寫操作與所述外圍設備進行通信,并且其中,所述突發生成設備還用于分別將所述突發讀操作與另一個突發讀操作,或者與至少一個讀操作組合到所述單個突發讀操作中,以及將所述突發寫操作與另一個突發寫操作,或者與至少一個寫操作組合到單個突發寫操作中。可以將由可編程處理器生成的突發操作與一個或多個關于關于單個數據元素的操作進行組合,或者與一個或多個其它突發操作進行組合,以形成單個突發操作,從而使得能夠更有效地使用外圍設備的可用帶寬。
本發明的一個實施例的特征在于,如果突發讀操作或突發寫操作的尺寸大于單個突發讀操作或單個突發寫操作的期望尺寸,則突發生成設備還用于分別將所述突發讀操作或所述突發寫操作分割為兩個或多個突發操作。一旦突發操作的尺寸比單個突發操作的期望尺寸更大,則突發操作就被分成兩個或多個突發操作。后者的尺寸可以等于或小于單個突發操作的期望尺寸,并且在后一情況下,可以將所得到的突發操作與另一個突發操作,或者與至少一個單個數據元素操作組合到單個突發操作中。
本發明的一個實施例的特征在于,可編程處理器包括至少一個用于存儲所述突發生成設備的控制信息的配置寄存器。處理器內的配置寄存器可以被編程以控制突發生成設備以不同的方式運行。可以從處理系統編程這些配置寄存器,或者由可編程處理器本身來編程這些配置寄存器。
本發明的一個實施例的特征在于,配置寄存器用于分別存儲單個突發讀操作或單個突發寫操作的期望尺寸。通過選擇單個突發操作的尺寸,能夠根據應用程序的特征以及處理系統的特征,在減少操作的數量和避免執行操作過程中的長時間的延遲這兩方面之間找到最優的平衡。
本發明的一個實施例的特征在于,配置寄存器還用于存儲超時值,其用于控制兩個連續的單個突發操作之間的最大時間間隔。如果由突發生成設備接收的連續的關于單個數據元素的操作之間的時間間隔大于超時值,則提前釋放單個突發操作,因此可以避免在執行操作中的長時間的延遲。
本發明的一個實施例的特征在于,突發生成設備包括匯集器電路,用于從可編程處理器接收讀和寫操作,以及根據從所述讀和寫操作導出的信息來生成專用令牌,分別觸發單個突發讀操作或單個突發寫操作的釋放;用于存儲專用令牌的第一FIFO緩沖器;用于存儲分別從讀和寫操作導出的信息的第二FIFO緩沖器;釋放電路,用于在從第一FIFO緩沖器接收的專用令牌的控制下,啟動從第二FIFO緩沖器分別釋放單個突發寫操作或單個突發讀操作。突發生成設備的該實施例僅需要兩個相對簡單的電路和兩個FIFO緩沖器,提供了一個低成本并且低功耗的解決方案。
本發明的一個實施例的特征在于,如果單個突發操作的尺寸不等于所述單個突發操作的期望尺寸,則所述突發生成設備還用于分別觸發所述單個突發讀操作或所述單個突發寫操作的釋放。在特定條件下,為了改進總體系統性能,即使不具有所期望的尺寸也釋放單個突發操作是有利的。
本發明的一個實施例的特征在于,單個突發操作的釋放依賴于所述多個讀操作或所述多個寫操作是否涉及對應的多個存儲器地址,其中,所述對應的多個存儲器地址按遞增順序排列,并且地址間距對應于單個數據元素的尺寸。依賴于所使用的通信或外圍設備,可能支持不同的尋址方案,這影響了由突發生成器進行突發釋放的規則。最簡單的是由按遞增順序排列的地址支持的突發訪問,一個數據元素地址分離。替代方案是,可以允許環繞式尋址。例如,具有支持關鍵字優先高速緩存取回的總線的情況。在這種情況下,如果使用高速緩存的處理器首先要求在地址8處的數據元素,則比起請求在地址0、4、8、12的數據序列更好的方案是,高速緩存可以請求在地址8、12、0、4的數據序列。其他的總線或存儲器協議可以允許多維突發訪問,而在這樣的情況下,突發可以由在存儲器映射中形成多維空間的地址處的數據元素組成。這種情況的一個例子是支持二維突發訪問的總線,其支持高效地讀和寫通常在圖形和視頻處理應用中使用的二維的數據塊。
本發明的一個實施例的特征在于,單個突發操作的釋放依賴于由突發生成設備接收的下一個突發寫或讀操作是否分別具有與單個突發操作的期望尺寸相等的尺寸。一旦可編程處理器發出已經具有期望尺寸的突發操作,則為了避免由處理器發出的所述突發操作的破碎,即使它沒有期望的尺寸,也釋放由突發生成設備在那時正在組合的單個突發操作。
本發明的一個實施例的特征在于,單個突發操作的釋放依賴于是否從所述可編程處理器接收到刷新指令。該實施例允許在可編程處理器的控制下釋放單個突發操作,例如,在處理最后,保證全部數據最終被寫入外圍設備。
本發明的一個實施例的特征在于,所述(突發)讀或寫操作分別被設置為包括以下信息分別指示所述(突發)讀或寫操作的有效性的標識符;分別指示(突發)讀操作或(突發)寫操作的標識符;所述(突發)讀或所述(突發)寫操作分別涉及的存儲器地址;在(突發)寫操作的情況下將寫入所述存儲器的數據;分別指示(突發)讀操作或(突發)寫操作的開始的標識符;分別指示所述(突發)讀操作或所述(突發)寫操作的尺寸的標識符。
使用編碼在由可編程處理器發出的(突發)操作中的信息,突發生成設備識別出操作的類型,即,讀或寫操作,以及單個元素操作或突發操作,并且使用該信息將(突發)操作組合到單個突發操作中。
本發明的一個實施例的特征在于,所述(突發)讀或寫操作分別還包括以下信息指示(突發)操作所涉及的單個數據元素的位數(即,數據類型(例如字節、半字或字))的標識符;在(突發)寫操作的情況下,指示單個數據元素中的、數據必須被寫入的位位置的屏蔽標識符。使用該附加信息,可以從數據元素內的特定位位置讀數據,或將數據寫入數據元素內的特定位位置。
本發明的一個實施例的特征在于,外圍設備是物理存儲器。本發明的一個實施例的特征在于外圍設備是通信裝置。通信設備,例如系統總線,以及物理存儲器都是處理系統中的外圍設備,使用(突發)讀和寫操作頻繁地訪問它們,本發明對于這些設備特別有利。
圖1是一個根據本發明的處理系統的示意圖;圖2是突發生成設備的實施例的示意圖;圖3是顯示在根據圖2的突發生成設備的操作期間的輸入信號和輸出信號的時序圖。
具體實施例方式
圖1是一個處理系統的示意圖,包括可編程處理器PROC,突發生成器BG,系統總線SB,存儲器MEM以及外圍設備PD。存儲器MEM例如是同步動態隨機訪問存儲器(SDRAM)。外圍設備PD例如是顯示器或網絡連接。存儲器MEM和外圍設備PD都與系統總線SB連接。系統總線SB可以包含單獨的地址總線和單獨的數據總線,或者組合的地址和數據總線。數據總線例如是32位的數據總線。處理器PROC例如是RISC處理器,其執行RISC類型的操作,一般包括用于表明待執行的操作的類型的操作碼,一個或兩個指定用于獲取變量數據的位置的寄存器索引,以及一個指定用于寫入結果數據的位置的寄存器索引。讀和寫操作是特定的操作,即,讀操作的變量是存儲器地址,而寫操作的變量是存儲器地址和待存儲的數據,它們被發送到存儲器接口。讀操作的結果待讀取的數據。或者,處理系統可以包括多于一個可編程處理器,用于以流的方式處理數據,其中,由不同的處理器執行對數據的連續操作。處理器PROC的I/O端口經由連接101和103連接到突發生成器BG的輸入端口。突發生成器BG的輸出端口經由連接109與系統總線SB相連。經由系統總線SB和連接105將從存儲器MEM或外圍設備PD讀出的數據傳輸到處理器PROC。處理器PROC具有配置寄存器CR,其可以被編程為經由連接107來控制突發生成器BG以按照希望的方式工作。在操作中,處理器PROC使用讀操作和寫操作與處理系統的其它部分進行通信,以便經由存儲器映射I/O地址讀或寫單個數據元素。在軟件程序的控制下,處理器PROC執行讀操作,處理所讀取的數據,并且執行寫操作。或者例如,如果存在高速緩存,則處理器PROC使用突發讀操作或突發寫操作與處理系統的其它部分進行通信。
圖2是突發生成器BG的示意圖,包括匯集器COL,先進先出緩沖器BUF1,先進先出緩沖器BUF2以及釋放器REL。緩沖器BUF1和BUF2是阻塞型的,這意味著當試圖把信息寫入已滿的緩沖器BUF1和BUF2中時,匯集器COL將暫停,并且當試圖從空的緩沖器BUF1和BUF2中讀信息時,釋放器REL將暫停。在操作中,匯集器COL以信號的匯集的形式從處理器PROC接收讀和寫操作valid信號指示操作的有效性,并且當等于假(false)時指示NOP操作,否則等于真(true),寫允許信號we,當等于真時,指示操作是指寫操作,并且當等于假時指示操作是指讀操作,地址信號addr,指示操作所引用的存儲器映射I/O地址,寫數據信號wdata,當寫操作時保存將被寫的數據,
start信號,當為真時,指示(突發)讀或寫操作的開始,size信號是指(突發)讀或寫操作的尺寸減1,即,參與操作的單個數據元素的數量減1。
如以下將要論述的,如果合適,匯集器COL將來自處理器PROC的(突發)讀和寫操作匯集到單個突發讀或寫操作中。以信號的匯集的形式由匯集器COL接收的信息由匯集器COL寫入緩沖器BUF2。此外,匯集器COL在緩沖器BUF1中寫入釋放令牌(token),指示(突發)讀或寫操作必須在單個突發讀或寫操作中從緩沖器BUF2釋放。如果可編程處理器PROC只支持對單個數據元素的讀和寫操作,那么這意謂著當發出這種操作時,start信號為真并且size信號等于零,即,指示為1的突發尺寸。或者,如果處理器PROC也支持突發讀和寫操作,則size信號可以指示比1大的突發尺寸,并且start信號只在這種突發操作的開始為真。
圖3是時序圖,其顯示在圖2中顯示的突發生成器BG的工作期間的輸入信號和輸出信號。經由配置寄存器CR,突發生成器BG被配置為構成尺寸為四的單個突發讀和寫操作,即,包括四個單個數據元素。32位數據元被寫入存儲器MEM或外圍設備PD,并且存儲器MEM和外圍設備PD的存儲器地址被表示為字節地址,即地址4,8,12等等。時鐘信號clock表示由處理系統的時鐘生成的信號,未在圖1中顯示。在圖3的上部顯示了在突發生成器BG的輸入101處的信號,并且在圖3的下部顯示了在突發生成器BG的輸出109處的信號。參考圖3,因為valid信號,寫允許信號we和突發開始信號start為高,而size信號的值為“1”,即突發寫操作具有兩個數據元素的突發尺寸,所以突發生成器BG首先從處理器PROC接收突發寫操作。如addr信號所指示,數據元素必須被寫在存儲器映射地址“4”和“8”。接下來,如具有值“0”的突發尺寸信號size,在兩個時鐘信號期間為高的start信號,以及為高的valid和we信號所指示的,突發生成器BG接收對于存儲器地址“12”和“16”的兩個單個數據元素寫操作。當接收到對存儲器地址“16”的寫操作時,匯集器COL已匯集了尺寸為四的單個突發寫操作,并且將值為“3”的令牌放入釋放令牌緩沖器BUF1。令牌是一個值,其表示在計劃釋放的單個突發寫操作中匯集器COL已經匯集的寫操作的數量減一。在301所指的時鐘信號處,計劃要釋放的第一個單個突發寫操作。釋放器REL接收值為“3”的令牌并且使用該令牌值來初始化計數器,該計數器持續跟蹤將被釋放的寫操作的數量。隨后,如size信號“3”以及在釋放器REL的輸出端口處的addr信號所指示,釋放器REL從緩沖器BUF2取回相應的四個寫操作,構造包括四個寫操作的單個突發寫操作,并且經由輸出109和系統總線SB將所述單個突發寫操作發送到存儲器映射地址“4”、“8”、“12”和“16”。在第一個單個突發寫操作的合成之后,第二個被合成。由于size信號等于“1”,addr信號“20”和“24”,并且valid,start和we信號為高,所以匯集器COL接收對存儲器映射地址為“20”和“24”的兩個數據元素的突發寫操作。接下來,匯集器COL接收對存儲器地址“32”的寫操作。雖然在接收到對存儲器映射地址“32”的寫操作時,未達到尺寸為四的所期望的突發操作尺寸,但是仍提前釋放到此所構成的第二個單個突發寫操作,這是因為最后收到的寫操作的存儲器映射地址與之前的寫操作的存儲器地址相隔的距離不恰當,即,存儲器映象地址“32”與存儲器地址“24”相隔的距離不恰當(即,不在存儲器映射地址“28”),因為到目前為止已經合成的單個突發寫操作包含分別在存儲器映射地址“20”和“24”的寫操作。匯集器COL把值為“1”的令牌放入釋放令牌緩沖器BUF1。在由303所指的clock信號處,計劃釋放第二個突發寫操作。釋放器REL接收值為“1”的令牌并且使用該令牌值以初始化一計數器,該計數器用于持續跟蹤將被釋放的寫操作的數量。隨后,如值為“1”的size信號和在釋放器REL的輸出端口處的addr信號所指,釋放器REL從緩沖器BUF2檢索相應的兩個寫操作,構造這兩個寫操作的單個突發寫操作,并且經由輸出109和系統總線SB將該單個突發寫操作發送到存儲器映射地址“20”和“24”。對存儲器地址“32”的寫操作形成第三個單個突發寫操作的第一個操作。第三個單個突發寫操作預計在clock信號305提前釋放,這是因為接收到對存儲器地址“36”的單個數據元素讀操作,并且寫和讀操作不能被組合在單個突發操作中。通過we信號為低,valid信號和start為高,size信號等于零,以及值為“36”的addr信號來指示對存儲器地址“36”的讀操作。匯集器COL把值為“0”的令牌放入釋放令牌緩沖器BUF 1。釋放器REL接收該令牌并且使用其作為值來初始化計數器,該計數器持續跟蹤將被釋放的寫操作的數量。隨后,由于值為“0”的size信號和在釋放器REL的輸出端口的addr信號的指示,釋放器REL從緩沖器BUF2中取回相應的寫操作,構造該寫操作的單個突發寫操作,并且經由輸出109和系統總線SB將第三個單個突發寫操作發送到存儲器地址“32”。如值為“3”的size信號,以及在匯集器COL的輸入端口101的addr信號“40”,“44”,“48”和“52”所指示,因為下一個由匯集器COL接收到的突發讀操作已經具有想要的尺寸4,所以第一個單個突發讀操作計劃在clock信號307提前釋放。匯集器COL把值為“0”的令牌放入釋放令牌緩沖器BUF1。釋放器REL從緩沖器BUF1取回該令牌,并且構造從緩沖器BUF2取回的讀操作的單個突發讀操作。如值為“0”的size信號以及在釋放器REL的輸出端口109處的值為“36”的addr信號所指示,由釋放器REL釋放單個突發讀操作。第二個單個突發讀操作由最后接收的突發讀操作組成。值為“3”的令牌被放入釋放令牌緩沖器BUF1,并且釋放器REL根據從緩沖器BUF2導出的信息構造第二個單個突發讀操作。值為“3”的size信號,以及在釋放器REL的輸出端口的值為“40”,“44”,“48”以及“52”的addr信號指示第二個突發讀操作的釋放。
在一可選實施例中,處理系統還包括一相對簡單的高速緩存,其使用具有非按寫分配的直寫式的寫策略,并且位于可編程處理器PROC和突發生成器BG之間。在讀操作的情況下,高速緩存把單個數據元素讀操作轉換為突發讀操作。對于寫操作,突發生成器BG把接收自可編程處理器PROC的(突發)寫操作組合成單個突發寫操作。在突發讀操作的情況下,由突發生成器BG接收的start信號只在這種突發讀操作的開始時為真,并且通常size信號保持一個等于高速緩存塊的尺寸減一的值,即,指示突發尺寸等于高速緩存塊尺寸。在單個數據元素寫操作的情況下,start信號為真并且size信號值為“0”,其指示尺寸為1的突發尺寸。
在另一個可選實施例中,設置突發生成器BG以經由連接103從可編程處理器PROC接收刷新(flush)輸入信號,參見圖1。當刷新信號為高電平時,計劃由匯集器COL釋放當前被合成的單個突發操作,即使其沒有恰當的尺寸。在這種方法中,保證操作不會一直保留在緩沖器BUF2中,例如在處理的結尾,當沒有足夠的、用于完成單個突發操作的元素時。
在另一個可選實施例中,匯集器包括計時器,其計算連續到來的(突發)讀或寫操作之間的時鐘周期的數量。如果計數器值超過特定的可配置的值,則安排由匯集器COL釋放當前被合成的單個突發操作,即使其沒有適當的尺寸。通過這種方法,保證在操作被釋放之前,不會在突發生成器中保持太長時間,否則將導致長時間的延遲,這會影響系統的總體性能。可以經由配置寄存器CR來設置可配置的超時值。
在另一個可選實施例中,匯集器COL還從可編程處理器PROC接收數據尺寸信號dsize和寫屏蔽信號wrnask,其可用于指示操作涉及的數據元素的準確的位數。wmask信號指示用于存儲數據的數據元素中的特定的位位置。dsize和wrnask信號只允許寫和讀單個數據元素的一些部分,例如32位數據元素的特定字節。
在另一個可選實施例中,不同的尋址方案可以允許環繞式(wrap-around)尋址。例如在具有支持關鍵字優先高速緩存取回的總線的情況下。在這種情況下,如果使用高速緩存的處理器首先要求在地址8處的數據元素,則比起請求在地址0、4、8、12的數據序列更好的方案是,高速緩存可以請求在地址8、12、0、4的數據序列。其他的總線或存儲器協議可以允許多維突發訪問,而在這樣的情況下,突發可以由在存儲器映射中形成多維空間的地址處的數據元素組成。這種情況的一個例子是支持二維突發訪問的總線,其支持高效地讀和寫通常在圖形和視頻處理應用中使用的二維的數據塊。
應該注意,上述實施例用于說明而不是限制本發明,而本領域技術人員能夠在不脫離所附權利要求的范圍的情況下設計許多替代實施例。在權利要求中,括號中的任何參考標記不應被解釋為限制該權利要求。詞“包含”不排除存在除權利要求中列出的元素或步驟以外的元素或步驟。在元素之前的詞“一個”不排除存在多個這樣的元素。在列舉了多個裝置的裝置權利要求中,這些模塊中的多個可以通過同一硬件來實現。在相互不同的從屬權利要求中敘述特定方案并不表示不能利用這些方案的組合。
權利要求
1.一種數字信號處理系統,包括可編程處理器(PROC)和連接到所述可編程處理器的外圍設備(PD,MEM),其中,所述處理器被設置為分別使用關于單個數據元素的讀操作和寫操作與所述外圍設備通信,所述數字信號處理系統的特征在于,突發生成設備(BG)用于分別將多個讀操作或多個寫操作組合到單個突發讀操作或單個突發寫操作中。
2.根據權利要求1所述的處理系統,其特征在于,所述可編程處理器還用于分別使用突發讀操作或突發寫操作與所述外圍設備進行通信,并且其中,所述突發生成設備還用于分別將所述突發讀操作與另一個突發讀操作,或者與至少一個讀操作組合到所述單個突發讀操作中,以及將所述突發寫操作與另一個突發寫操作,或者與至少一個寫操作組合到單個突發寫操作中。
3.根據權利要求2所述的處理系統,其特征在于,如果所述突發讀操作或突發寫操作的尺寸大于所述單個突發讀操作或單個突發寫操作的期望尺寸,則所述突發生成設備還用于分別將所述突發讀操作或所述突發寫操作分割為兩個或多個突發操作。
4.根據權利要求1所述的處理系統,其特征在于,所述可編程處理器包括至少一個用于存儲所述突發生成設備的控制信息的配置寄存器(CR)。
5.根據權利要求4所述的處理系統,其特征在于,所述配置寄存器用于分別存儲所述單個突發讀操作或所述單個突發寫操作的期望尺寸。
6.根據權利要求5所述的處理系統,其特征在于,所述配置寄存器還用于存儲超時值,該超時值用于控制兩個連續的單個突發操作之間的最大時間間隔。
7.根據權利要求1所述的處理系統,其特征在于,所述突發生成設備包括匯集器電路(COL),用于從所述可編程處理器接收所述讀和寫操作,以及根據從所述讀和寫操作導出的信息來生成專用令牌,分別觸發所述單個突發讀操作或所述單個突發寫操作的釋放;用于存儲所述專用令牌的第一FIFO緩沖器(BUF1);用于存儲分別從所述讀和寫操作導出的信息的第二FIFO緩沖器(BUF2);釋放電路(REL),用于在從所述第一FIFO緩沖器接收的專用令牌的控制下,啟動從所述第二FIFO緩沖器分別釋放所述單個突發寫操作或所述單個突發讀操作。
8.根據權利要求2所述的處理系統,其特征在于,如果所述單個突發操作的尺寸不等于所述單個突發操作的期望尺寸,則所述突發生成設備還用于分別觸發所述單個突發讀操作或所述單個突發寫操作的釋放。
9.根據權利要求8所述的處理系統,其特征在于,所述單個突發操作的釋放依賴于所述多個讀操作或所述多個寫操作是否涉及對應的多個存儲器地址,其中,所述對應的多個存儲器地址按遞增順序排列,并且地址間距對應于單個數據元素的尺寸。
10.根據權利要求8所述的處理系統,其特征在于,所述單個突發操作的釋放依賴于由所述突發生成設備接收的下一個突發寫或讀操作是否分別具有與所述單個突發操作的期望尺寸相等的尺寸。
11.根據權利要求8所述的處理系統,其特征在于,所述單個突發操作的釋放依賴于是否從所述可編程處理器接收到刷新指令。
12.根據權利要求2所述的處理系統,其特征在于,所述(突發)讀或寫操作分別被設置為包括以下信息分別指示所述(突發)讀或寫操作的有效性的標識符;分別指示(突發)讀操作或(突發)寫操作的標識符;所述(突發)讀或所述(突發)寫操作分別涉及的存儲器地址;在(突發)寫操作的情況下將寫入所述存儲器的數據;分別指示(突發)讀操作或(突發)寫操作的開始的標識符;分別指示所述(突發)讀操作或所述(突發)寫操作的尺寸的標識符。
13.根據權利要求12所述的處理系統,其特征在于,所述(突發)讀或寫操作分別還包括以下信息指示所述(突發)操作所涉及的單個數據元素的位數的標識符;在(突發)寫操作的情況下,指示單個數據元素中的、數據必須被寫入的位位置的屏蔽標識符。
14.根據權利要求1所述的處理系統,其特征在于,所述外圍設備是物理存儲器。
15.根據權利要求1所述的處理系統,其特征在于,所述外圍設備是通信設備。
全文摘要
一種數字信號處理系統,包括可編程處理器(PROC)和經由突發生成設備(BG)連接到所述可編程處理器的外圍設備(PD,MEM)。所述處理器被設置為分別使用關于單個數據元素的讀操作和寫操作與所述外圍設備通信。所述突發生成設備(BG)分別將多個讀操作或多個寫操作組合到單個突發讀操作或單個突發寫操作中。
文檔編號G06F13/28GK101040272SQ200580035405
公開日2007年9月19日 申請日期2005年8月11日 優先權日2004年8月17日
發明者葉羅恩·A.·J.·萊特恩 申請人:皇家飛利浦電子股份有限公司