亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于具有組合行和字訪問的存儲器的系統(tǒng)和方法

文檔序號:6566575閱讀:171來源:國知局
專利名稱:用于具有組合行和字訪問的存儲器的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及一種用于具有組合行和字訪問的存儲器的系統(tǒng)和方 法。更特別地,本發(fā)明涉及一種用于處理器實施到同一存儲器空間的窄存 儲器訪問和寬存儲器訪問的系統(tǒng)和方法。
背景技術(shù)
電路設(shè)計者通常面對在設(shè)備性能和設(shè)備成本之間進(jìn)行決定。大部分設(shè) 備的成本對應(yīng)于其設(shè)計需要的硅面積的大小。由于大部分設(shè)備的硅面積被 用于存儲器,所以電路設(shè)計者特別注意在電路設(shè)計中使用什么存儲器單元 類型,以便該存儲器滿足性能需求,但不會過大以至于不必要地增加設(shè)備 成本?,F(xiàn)有技術(shù)典型使用單一端口存儲器單元類型或雙端口存儲器單元類 型。所迷單一端口存儲器單元類型是所迷兩者中較小的,并且因此最小化 了設(shè)備成本。然而,所述單一端口存儲器阻塞重載操作期間的加栽-存儲 訪問,由此犧牲了性能。所述雙端口存儲器單元類型具有所述兩者中的較 好性能,因為處理器可以同時從該存儲器寫入和讀取。然而,雙端口存儲 器單元類型是所述兩者中較大的,其增加了設(shè)備成本。所發(fā)現(xiàn)的挑戰(zhàn)在于, 當(dāng)電路設(shè)計者選擇所述存儲器單元類型中的一個時,該電路設(shè)計者典型地 或者犧牲性能或者增加設(shè)備成本。
另外,靜態(tài)隨機存取存儲器(SRAM)被典型耦合到常規(guī)微處理器以 用作高速緩存。在運轉(zhuǎn)期間,所述高速緩存典型地在處理器需要除該高速 緩存中的數(shù)據(jù)和指令之外的數(shù)據(jù)和指令時用新數(shù)據(jù)加載。結(jié)果,因為在其 操作碼和數(shù)據(jù)被加載到SRAM中并且可用于所述處理器之前指令不能被 完成,所以所述處理器的程序在特定點停止。
因此,所需要的是這樣一種系統(tǒng)和方法,其用于增加存儲器性能而同 時最小化該存儲器需要的硅面積的大小從而最小化設(shè)備的成本。

發(fā)明內(nèi)容
本發(fā)明的某些方面提供一種可以實施對同 一存儲體的窄讀/寫存儲器 訪問和寬讀/寫存儲器訪問的系統(tǒng)和方法。所述系統(tǒng)例如使用窄讀/寫存儲
器訪問處理16字節(jié)的加載/存儲請求,以及還使用寬讀/寫存儲器訪問處理 128字節(jié)的DMA請求和取指令請求。
才艮據(jù)一個實施例的系統(tǒng)使用多路復(fù)用器和鎖存器來支持所述兩種不同 的存儲器訪問類型。當(dāng)處理"存儲"請求時,寫多路復(fù)用器被配置為從處 理器內(nèi)核接收16字節(jié)的存儲數(shù)據(jù)。所述16字節(jié)的存儲數(shù)據(jù)被使用窄寫存 儲器訪問加載到存儲器中。當(dāng)處理"加栽"請求時,加栽多路復(fù)用器被配 置為從所述存儲器接收16字節(jié)的加栽數(shù)據(jù),并且將該加載數(shù)據(jù)提供給所述 處理器內(nèi)核。
取指令請求和DMA請求在一個實施例中使用寬存儲器訪問(例如128 字節(jié)數(shù)據(jù))來實施。當(dāng)處理取指令請求時,讀多路復(fù)用器被配置為從存儲 器接收128字節(jié)的取指令數(shù)據(jù),并且將該數(shù)據(jù)提供給讀鎖存器。接著,所 述處理器內(nèi)核從該讀鎖存器檢索所述取指令數(shù)據(jù)。通過一次讀取128字節(jié), 例如32位(指令集)RISC體系結(jié)構(gòu)中的32條指令,所述存儲器被訪問 用于取指令的次數(shù)被最小化,
為最大化系統(tǒng)性能,處理DMA請求伴隨著在一個指令周期中^到存 儲器讀和寫多個DMA數(shù)據(jù)。單一 DMA讀或?qū)懖僮靼ㄏ喈?dāng)十六個處理 器周期的DMA數(shù)據(jù)。本發(fā)明使用寫累加緩沖器和讀鎖存器來累加和存儲 所述DMA操作,以致所述存儲體對于DMA請求每十六個指令周期被訪 問一次。在DMA寫操作期間,DMA單元向所述寫累加緩沖器發(fā)送DMA 寫數(shù)據(jù)(8字節(jié))。所述寫累加緩沖器存儲該DMA寫數(shù)據(jù),并且確定其 是否已接收到十六個連續(xù)的DMA寫操作。
一旦所述寫累加緩沖器接收到十六個連續(xù)的DMA寫操作,則所述系
統(tǒng)調(diào)度對所述存儲器的寬寫存儲器訪問。接著,所述寫多路復(fù)用器被配置
為從寫累加緩沖器接收DMA數(shù)據(jù),其中,所述數(shù)據(jù)在單一指令周期中加 載到所述存儲器中。
對于DMA讀操作存在類似情形。在DMA讀操作期間,所述系統(tǒng)配 置讀多路復(fù)用器為從存儲器接收寬讀存儲器訪問,并將其加載到所述讀鎖 存器中。所述寬讀存儲器訪問包括相當(dāng)十六個指令周期的DMA數(shù)據(jù)。接 著,所述讀鎖存器在十六個不同的指令周期中將該DMA數(shù)據(jù)提供給DMA 單元。因此,即使DMA讀操作和寫操作以最大帶寬進(jìn)行,所述系統(tǒng)占用 十六個指令周期中的兩個來訪問存儲器,并且剩余的十四個指令周期仍然 可用于所述系統(tǒng)進(jìn)行加載和存儲操作以及取指令。
為保存存儲器陣列和累加鎖存器之間的軌道(track),這里描述的本 發(fā)明能夠進(jìn)行將所述讀累加鎖存器拆分為每個64字節(jié)的兩個鎖存器的存 儲器配置,由此具有以下額外優(yōu)點讀取可以被對齊到64字節(jié)而不是128 字節(jié)邊界,并且由此保證每個讀取導(dǎo)致相當(dāng)至少64字節(jié)加4字節(jié)的獨立于 入口點(指令分支目標(biāo))的有效指令。
上述內(nèi)容是概要,并且由此必然包括簡化、 一般化和細(xì)節(jié)的省略;因 此,本領(lǐng)域的技術(shù)人員將理解,所述概J^5l是說明性的,并且決不用于進(jìn) 行限制.如完全由權(quán)利要求所限定的本發(fā)明的其它方面、發(fā)明特征和優(yōu)點 在下面闡明的非限制性詳細(xì)描述中將變得顯而易見。


下面參考附圖借助于例子更詳細(xì)描述了本發(fā)明的實施例,在附圖中 圖1是能夠進(jìn)行窄讀/寫存儲器訪問和寬讀/寫存儲器訪問的協(xié)處理單 元的高層圖2是示出了能夠?qū)ν淮鎯ζ鲗嵤┱x/寫存儲器訪問和寬讀/寫存 儲器訪問的系統(tǒng)的圖3是示出了能夠在拆分累加鎖存器配置中實施窄讀/寫存儲器訪問 和寬讀/寫存儲器訪問的系統(tǒng)的圖4A是示出了讀鎖存器配置的圖4B是示出了對讀鎖存器的單一 DMA存儲器讀、由此該讀鎖存器 跨十六個不同指令周期將DMA讀操作提供給DMA單元的圖; 圖5A是示出了寫累加緩沖器配置的圖5B是示出了包括十六個連續(xù)DMA寫操作的對存儲器的單一DMA 存儲器寫的圖6是示出了調(diào)度DMA存儲器寫操作時采取的步驟的流程圖; 圖7是示出了處理存儲器請求時采取的步驟的高層流程圖; 圖8是示出了處理DMA請求時采取的步驟的iilU呈圖; 圖9是示出了處理加載或存儲請求時采取的步驟的流程圖; 圖IO是示出了處理取指令請求時采取的步驟的流程圖;以及 圖ll是能夠?qū)崿F(xiàn)本發(fā)明的計算設(shè)備的框圖。
具體實施例方式
圖1是能夠進(jìn)行窄讀/寫存儲器訪問和寬讀/寫存儲器訪問的協(xié)處理單 元的高層圖。協(xié)處理部件(SPE) 100包括協(xié)處理單元(SPU) 110和DMA 單元150。 SPU 110包括協(xié)執(zhí)行單元120、信道單元130和本地存儲140。
SXU 120訪問本地存儲140以進(jìn)行取指令和加載/存儲操作。在取指令 操作期間,SPU 110執(zhí)行寬讀存儲器訪問,由此SXU 120從本地存儲140 接收128字節(jié)數(shù)據(jù)。在加載/存儲操作期間,SPU110執(zhí)行窄讀/寫存儲器訪 問,由此SXU 120 A^/向本地存儲140讀/寫16字節(jié)數(shù)據(jù)。
SPU 110使用信道單元130來編程DMA單元150。 DMA單元150從 /向本地存儲140讀/寫DMA讀/寫操作。本地存儲140包括寫累加緩沖器 和讀鎖存器,由此所述二者的每個容納128字節(jié)數(shù)據(jù)。在DMA寫請求期 間,DMA單元150向?qū)懤奂泳彌_器提供8字節(jié)DMA寫操作。當(dāng)所述寫累 加緩沖器接收到十六個連續(xù)的DMA寫操作時,SPU IIO實施寬寫存儲器 訪問,并且將寫累加緩沖器的內(nèi)容加載到存儲器中。
對于DMA讀操作存在類似情形。在DMA讀請求期間,SPU 110實
施寬讀存儲器訪問,并且以十六個8字節(jié)DMA讀搮作加載讀鎖存器。隨 后,所述DMA數(shù)據(jù)在十六個不同的指令周期中被寫入EIB 160。于是, 由于讀鎖存器存儲了相當(dāng)十六個處理器周期的DMA數(shù)據(jù),所述存儲體在 十五個指令周期中不需要實施加載/存儲操作或取指令操作(更多細(xì)節(jié)見圖 2-10)。
圖2是示出了能夠?qū)ν淮鎯ζ鲗嵤┱x/寫存儲器訪問和寬讀/寫存 儲器訪問的系統(tǒng)的圖。所述系統(tǒng)可以使用窄讀/寫存儲器訪問處理16字節(jié) 加載/存儲請求。另外,所述系統(tǒng)還可以使用寬讀/寫存儲器訪問處理128 字節(jié)DMA和取指令請求。
圖2示出了與圖1中所示的相同的協(xié)執(zhí)行單元(SXU) 120和DMA 單元150。圖2還包括圖1中所示的本地存儲140的細(xì)節(jié),所述細(xì)節(jié)包括 寫累加緩沖器210、寫多路復(fù)用器230、存儲器200、加載多路復(fù)用器250、 讀多路復(fù)用器270和讀鎖存器280,
當(dāng)處理"存儲"請求時,寫多路復(fù)用器230被配置為從SXU120接收 16字節(jié)存儲數(shù)據(jù)(即存儲240)。所述16字節(jié)存儲數(shù)據(jù)被使用窄寫存儲器 訪問加載到存儲器200中,當(dāng)處理"加栽"請求時,加栽多路復(fù)用器250 被配置為從存儲器200接收16字節(jié)加載數(shù)據(jù),并且將所述加載數(shù)據(jù)提供給 SXU 120 (即加載260)(關(guān)于加載/存儲操作的更多細(xì)節(jié)見圖9和對應(yīng)文 本).
取指令請求和DMA請求被使用寬存儲器訪問(例如128字節(jié)數(shù)據(jù)) 實施,當(dāng)處理取指令請求時,讀多路復(fù)用器270被配置為從存儲器200接 收128字節(jié)取指令數(shù)據(jù),并將其提供給讀鎖存器280。接著,SXU 120從 讀鎖存器280檢索所述取指令數(shù)據(jù)(即取指令285)(關(guān)于取指令請求的 更多細(xì)節(jié)見圖IO和對應(yīng)文本)。
為最大化系統(tǒng)性能,處理DMA請求伴隨著在一個指令周期中從/向存 儲器讀和寫多個DMA數(shù)據(jù),DMA讀或?qū)憥捠敲恐芷?字節(jié)。本發(fā)明 使用寫累加緩沖器210和讀鎖存器280來累加和存儲十六個DMA操作, 使得存儲器200對于DMA請求每十六個指令周期被訪問一次(更多細(xì)節(jié)
見圖4A、 4B、 5A、 5B和對應(yīng)文本)。在DMA寫操作期間,DMA單元 150將DMA寫220 ( 8字節(jié))發(fā)送到寫累加緩沖器210。寫累加緩沖器210 存儲DMA寫220,并且確定其是否已接收到十六個連續(xù)的DMA寫操作 (關(guān)于DMA寫數(shù)量跟蹤的更多細(xì)節(jié)見圖6和對應(yīng)文本)。
一旦寫累加緩沖器210確定其已接收到十六個連續(xù)的DMA寫操作, 所述系統(tǒng)就調(diào)度對存儲器200的寬寫存儲器訪問。接著,寫多路復(fù)用器230 被配置為從寫累加緩沖器210接收DMA數(shù)據(jù),所述DMA數(shù)據(jù)在單一指 令周期中祐加載到存儲器200.通過在一個指令周期中加載十六個連續(xù)的 DMA寫操作,存儲器200可用于在其它十五個指令周期期間處理加栽/存 儲或取指令請求。例如,常規(guī)的單一端口存儲器可以基于逐個循環(huán)地被利 用如下
"LslnTrrrrrrrrrrrrrslwwwwwwwwwwwwwwww" 其中,每個字符對應(yīng)于一個指令周期,以及,l是加栽,s是存儲,r 是8字節(jié)DMA讀,以及w是8字節(jié)DMA寫。通過使用這里描述的本發(fā) 明,常規(guī)的單一端口存儲器可以基于逐個循環(huán)地被利用如下
"LslRslW"
其中,R是128字節(jié)DMA讀(寬讀),以及W是128字節(jié)DMA寫 (寬寫)。如可以看到的,由于每個字符對應(yīng)于一個處理器周期,所述第 二個序列在少得多的處理器周期中完成,并且由此允許顯著提高的處理器 性能(更多細(xì)節(jié)見圖4A、 4B、 5A、 5B和對應(yīng)文本).
在DMA讀操作期間,所述系統(tǒng)將讀多路復(fù)用器270配置為從存儲器 200接收寬讀存儲器訪問,并將其加栽到讀鎖存器280中。所述寬讀存儲 器訪問包括相當(dāng)十六個處理器周期的DMA數(shù)據(jù)。接著,讀鎖存器280將 相當(dāng)十六個處理器周期的DMA數(shù)據(jù)提供給(即DMA讀290) DMA單元 150。
圖3是示出了能夠在拆分累加鎖存器配置中實施窄讀/寫存儲器訪問 和寬讀/寫存儲器訪問的系統(tǒng)的圖。除圖3包括用于拆分累加鎖存器能力的 兩個存儲體而不是圖2中所示的一個存儲體之外,圖3類似于圖2。所述
組織的好處在于,僅64字節(jié)寬總線被連接到所述指令單元和DMA單元。
圖3包括偶存儲體300和奇存儲體305。當(dāng)處理"存儲"請求時,寫 多路復(fù)用器330或335被配置為從SXU 120接收16字節(jié)的存儲數(shù)據(jù)(即 存儲240 )。所述16字節(jié)的存儲數(shù)據(jù)240 ,皮使用窄寫存儲器訪問加載到存 儲體300或305中。當(dāng)處理"加載"請求時,加載多路復(fù)用器350被配置 為從偶存儲體300或奇存儲體305接收16字節(jié)的加載數(shù)據(jù)(即加載260 )。 SXU 120、存儲240和加載260與圖2中所示的相同。
在拆分累加鎖存器配置中,取指令請求和DMA請求仍然使用寬存儲 器訪問來實施(例如128字節(jié)數(shù)據(jù))。當(dāng)處理取指令請求時,讀多路復(fù)用 器370被配置為從偶存儲體300接收64字節(jié)的取指令數(shù)據(jù)并將其提供給讀 鎖存器380。在同一指令周期中,讀鎖存器385從奇存儲體305接收64字 節(jié)的取指令數(shù)據(jù)。SXU120從讀鎖存器280檢索所述"偶存儲體"取指令 數(shù)據(jù)(即取指令285)。 一旦SXU120從讀鎖存器380檢索所有的所述偶 存儲體數(shù)據(jù),則讀多路復(fù)用器370被配置為從讀鎖存器385接收奇存儲體 取指令數(shù)據(jù)并將其提供給讀鎖存器380。接著,SXU 120從讀鎖存器380 檢索所述奇存儲體數(shù)據(jù),
在DMA寫操作期間,DMA單元150將DMA寫220發(fā)送到寫累加緩 沖器310和315。圖3中所示的寫累加緩沖器的每個能夠累加64字節(jié)的 DMA寫數(shù)據(jù).當(dāng)所述系統(tǒng)確定所述寫累加緩沖器已接收到總共十六個 DMA寫操作(總共128字節(jié))時,所述系統(tǒng)調(diào)度對存儲體300和305的 寬寫存儲器訪問。接著,寫多路復(fù)用器330和335被配置為分別從寫累加 緩沖器310和315接收DMA數(shù)據(jù),所述DMA數(shù)據(jù)然后在單一指令周期 中^口栽到存儲體300和305中.
在處理讀鎖存器的配置時DMA讀請求類似于取指令請求。在DMA 讀操作期間,讀多路復(fù)用器370被配置為從偶存儲體300接收64字節(jié)的 DMA讀數(shù)據(jù)并將其提供給讀鎖存器380。在同一指令周期期間,讀鎖存器 385從奇存儲體305接收64字節(jié)的DMA讀數(shù)據(jù)。讀鎖存器380將所述偶 存儲體DMA數(shù)據(jù)提供給DMA單元150。 一旦DMA單元150接收到包括
在所述偶存儲體數(shù)據(jù)中的每個DMA讀數(shù)據(jù),則讀多路復(fù)用器370被配置 為從讀鎖存器385接收奇存儲體DMA讀數(shù)據(jù)并將其提供給讀鎖存器380。 接著,DMA單元150從讀鎖存器380檢索所述奇存儲體DMA讀數(shù)據(jù)。
圖4A是示出了讀鎖存器配置的圖。圖4A示出了圖2中所示的讀鎖存 器280的配置。數(shù)據(jù)被使用寬讀存儲器訪問從存儲體傳送到讀鎖存器280。 所述寬讀存儲器訪問提供十六個8字節(jié)操作(DMA讀或取指令),總共 128字節(jié)。在例如圖3中所示的拆分累加鎖存器配置中,存在兩個讀鎖存 器,由此每個讀鎖存器從存儲器接收八個8字節(jié)操作。
在DMA讀期間,所述系統(tǒng)在一個指令周期期間從存儲器讀出相當(dāng)十 六個處理器周期的DMA數(shù)據(jù),并且然后將所述DMA數(shù)據(jù)提供給DMA 單元(更多細(xì)節(jié)見圖8和對應(yīng)文本)。
圖4B是示出了對讀鎖存器的單一 DMA存儲器讀、由此該讀鎖存器 在十六個不同指令周期中將DMA讀操作提供給DMA單元的圖。時間軸 400示出了十六個指令周期(tl-tl6)以及在每個指令周期期間對于與圖2 中所示的相同的存儲器200、讀鎖存器280和DMA單元150存在的活動。
在時刻tl,所述系統(tǒng)實施寬讀存儲器訪問,并且讀出存儲器200的128 字節(jié),以及將十六個8字節(jié)DMA讀操作存儲到讀鎖存器280中。同樣在 時刻tl,讀鎖存器280將一個DMA讀操作(8字節(jié))提供給DMA單元 150.由于讀鎖存器280存儲了相當(dāng)十六個處理器周期的DMA數(shù)據(jù),所以 讀鎖存器280還在時刻t2到U6將DMA讀操作提供給DMA單元150。 因此,在時刻t2-tl6期間,存儲器200不需要實施加栽/存儲操作或取指令 操作。在時刻t17 (未示出),讀鎖存器280可以從存儲器200接收相當(dāng) 十六個處理器周期的另一 DMA數(shù)據(jù)。
在拆分累加鎖存器實施例中,例如圖3中所示的讀鎖存器380和385 的兩個讀鎖存器在時刻tl^L各自加載了八個8字節(jié)DMA讀操作。然后, 在該實施例中, 一個讀鎖存器在八個指令周期中將其八個DMA讀操作提 供給DMA單元150,以及另一讀鎖存器在再八個指令周期中將其八個 DMA操作提供給DMA單元150。
圖5A是示出了寫累加緩沖器配置的圖。圖5A示出了圖2中所示的寫 累加緩沖器210的配置。DMA單元150 (圖2中所示)在十六個不同指令 周期中將8字節(jié)DMA寫數(shù)據(jù)發(fā)送到寫累加緩沖器210,總共128字節(jié)數(shù) 據(jù)。
一旦寫累加緩沖器接收到所述128字節(jié)數(shù)據(jù),則所述系統(tǒng)調(diào)度對存儲 器的寬寫存儲器訪問(更多細(xì)節(jié)見圖6和對應(yīng)文本)。所述系統(tǒng)然后實施 對存儲器的寬寫存儲器訪問,并在一個時鐘周期期間將所述十六個連續(xù)的 DMA寫操作加栽到存儲器中(更多細(xì)節(jié)見圖5B和對應(yīng)文本)。在例如圖 3中所示的拆分累加鎖存器配置中,兩個寫累加緩沖器從DMA單元150 接收八個DMA寫操作,并且然后其在一個指令周期中將總共十六個連續(xù) 的DMA寫操作加載到存儲器中。
圖5B是示出了包括十六個連續(xù)的DMA寫操作的對存儲器的單一 DMA存儲器寫的圖。時間軸500示出了十六個指令周期,以及在每個指 令周期中對于與圖2中所示的相同的存儲器200、寫累加緩沖器210和 DMA單元150存在的活動.
在時刻tl, DMA單元150將DMA寫操作存儲在寫累加緩沖器210 中.同樣在時刻tl,存儲器200不需要實施加載/存儲操作或取指令操作。 在時刻t2到t15同樣適用的在于,DMA單元150將DMA寫操作加載到 寫累加緩沖器210中,以及存儲器200不需要實施加載/存儲操作或取指令 操作。在時刻tl6, DMA單元150將其十六個DMA寫操作加栽到寫累加 緩沖器210中,并且所述系統(tǒng)實施寬寫存儲器訪問,并且將寫累加緩沖器 210的內(nèi)容加載到存儲器200中。
在拆分累加鎖存器的實施例中,例如圖3中所示的寫累加緩沖器310 和315的兩個寫累加緩沖器在時刻t16將其內(nèi)容加載到存儲器中。
圖6是示出了調(diào)度DMA存儲器寫操作時采取的步驟的流程圖.系統(tǒng) 包括寫累加緩沖器,在該緩沖器填滿之前其存儲DMA寫。 一旦該緩沖器 填滿,則所述系統(tǒng)實施對其存儲器的寬寫存儲器訪問。例如,如果DMA 寫為8字節(jié)長,則所迷寫累加緩沖器接收十六個DMA寫,并且然后所述
系統(tǒng)實施對存儲器的包括所述十六個DMA寫的128字節(jié)寫訪問(更多細(xì) 節(jié)見圖5A、 5B和對應(yīng)文本)。
處理在600開始,在此,處理等待來自DMA單元150的DMA寫請 求。DMA單元150與圖1中所示的相同。 一旦系統(tǒng)接收到DMA寫請求, 所述系統(tǒng)將該DMA寫數(shù)據(jù)存儲在寫累加緩沖器210中(步驟620 )。寫 累加緩沖器210與圖1中所示的相同。在步驟630,處理增加DMA寫計 數(shù)器635。 DMA寫計數(shù)器635被用于跟蹤已被存儲在寫累加緩沖器210中 的DMA寫的數(shù)量。
關(guān)于DMA寫計數(shù)器635是否等于十六的確定被作出(判斷640)。 圖6中描述的例子所用于的系統(tǒng)具有的寬寫存儲器訪問大小是其DMA寫 的十六倍,例如對于8字節(jié)DMA寫的128字節(jié)寬寫存儲器訪問。如本領(lǐng) 域的技術(shù)人員可以理解的,DMA寫計數(shù)器635所到達(dá)的值取決于相比于 系統(tǒng)DMA寫大小的所述系統(tǒng)的寬寫存儲器訪問的大小,并且該比率可以 小于或大于十六。
如果DMA寫計數(shù)器635不等于十六,則判斷640分支到循環(huán)回以繼 續(xù)處理更多DMA寫請求的"否"分支642,該循環(huán)繼續(xù),直到DMA寫 計數(shù)器635到達(dá)十六,在該點,判斷640分支到"是"分支648。處理對 于存儲在寫累加緩沖器210中的DMA寫調(diào)度對存儲器的寬寫存儲器訪問 (步驟650),并且處理在步驟660清除DMA寫計數(shù)器635。
關(guān)于是否繼續(xù)處理DMA寫請求的確定被作出(判斷670).如果處 理應(yīng)當(dāng)繼續(xù)處理DMA寫請求,則判斷670分支到循環(huán)回以處理更多DMA 寫請求的"是"分支672。該循環(huán)繼續(xù),直到處理應(yīng)當(dāng)終止,在該點,判 斷670分支到在處理在6柳結(jié)束的"否"分支678。
圖7是示出了處理存儲器請求時采取的步驟的高層流程圖。在一個實 施例中,系統(tǒng)優(yōu)先化存儲器訪問請求以便使DMA請求是最高優(yōu)先的,然 后是加載/存儲請求,然后是取指令請求。圖7中所示的流程圖是在上面實 施例中討論的請求優(yōu)先化的例子。
處理在700開始,由此處理在步驟710等待指令周期。 一旦處理檢測 到指令周期,則關(guān)于處理是否接收到DMA請求的確定被作出(判斷720)。 如果處理接收到DMA請求,則判斷720分支到"是"分支722,由此處 理對該DMA請求進(jìn)行處理并且實施到/從存儲器的寬寫/讀訪問(預(yù)定義處 理框730,更多細(xì)節(jié)見圖8和對應(yīng)文本)。
另一方面,如果處理還未接收到DMA請求,則判斷720分支到"否" 分支728,由此關(guān)于處理是否接收到加載/存儲請求的確定被作出(判斷 740)。如果處理接收到加載/存儲請求,則判斷740分支到"是"分支742, 由此處理對該加載/存儲請求進(jìn)行處理并且實施到/從存儲器的窄寫/讀訪問 (預(yù)定義處理框750,更多細(xì)節(jié)見圖9和對應(yīng)文本),
另一方面,如果處理還未接收到加載/存儲請求,則判斷740分支到 "否"分支748,由此,關(guān)于處理是否接收到取指令請求的確定被作出(判 斷760)。如果處理接收到取指令請求,則判斷760分支到"是"分支762, 由此,處理對該取指令請求進(jìn)行處理并實施從存儲器的寬讀存儲器訪問(預(yù) 定義處理框770,更多細(xì)節(jié)見圖IO和對應(yīng)文本)。另一方面,如果處理還 未接收到取指令請求,則判斷760分支到"否"分支768。
關(guān)于是否繼續(xù)存儲器請求判優(yōu)(arbitration )的確定被作出(判斷780), 如果處理應(yīng)當(dāng)繼續(xù)存儲器請求判優(yōu),則判斷780分支到循環(huán)回以處理更多 存儲器訪問請求的"是"分支782.該循環(huán)繼續(xù),直到處理應(yīng)當(dāng)停止存儲 器請求判優(yōu),在該點,判斷780分支到由此處理在7卯結(jié)束的"否"分支 788,
圖8是示出了處理DMA請求時采取的步驟的流程圖.DMA活動具 有比加載/存儲和取指令請求更高的優(yōu)先權(quán)(見圖7)。在一個實施例中, DMA請求可以被調(diào)度以在每十六個指令周期中發(fā)生,剩下十五個指令周 期來容納加載/存儲請求和取指令請求(更多細(xì)節(jié)見圖4A、 4B、 5A、 5B 和對應(yīng)文本)。
DMA請求處理在800開始,由此關(guān)于該DMA請求是DMA讀請求還 是DMA寫請求的確定被作出(判斷810)。如果其是DMA寫請求,則 判斷810分支到"寫"分支812。處理將寫累加緩沖器210、寫多路復(fù)用器
230配置為在步驟820從寫累加緩沖器接受數(shù)據(jù)。寫累加緩沖器210和寫 多路復(fù)用器230與圖2中所示的相同。
在步驟830,處理實施對存儲器200的寬寫存儲器訪問,由此,來自 寫累加緩沖器210的DMA寫數(shù)據(jù)被通過寫多路復(fù)用器230寫到存儲器200 中。所述寬寫存儲器訪問是一行(128字節(jié)),并且包括十六個DMA寫 (每個8字節(jié))。處理在840返回。
如果所述DMA請求是DMA讀請求,則判斷810分支到"讀"分支 818。處理將讀多路復(fù)用器270配置為從存儲器200接收數(shù)據(jù),并且將該數(shù) 據(jù)提供給讀鎖存器280 (步驟850)。讀多路復(fù)用器270和讀鎖存器280 與圖2中所示的相同。在步驟860,處理實施從存儲器200的寬讀存儲器 訪問,由此DMA讀數(shù)據(jù)被從存儲器200中讀出,并且被通過讀多路復(fù)用 器270存儲在讀鎖存器280中。所述DMA讀數(shù)據(jù)包括十六個8字節(jié)DMA 讀。
處理將來自讀鎖存器280的所述十六個DMA讀在十六個不同指令周 期中發(fā)送到DMA單元150 (步驟870),并且處理在880返回。
圖9是示出了處理加栽或存儲請求時采取的步驟的流程圖.加載和存 儲請求被以比DMA請求更低但比取指令請求更高的優(yōu)先權(quán)進(jìn)行調(diào)度(關(guān) 于請求優(yōu)先化的更多細(xì)節(jié)見圖7和對應(yīng)文本).
處理在900開始,由此關(guān)于該請求A^栽請求還是存儲請求的確定被 作出(判斷910),如果該請求是存儲請求,則判斷910分支到"存儲" 分支912。處理將寫多路復(fù)用器230配置為從協(xié)執(zhí)行單元(SXU) 120接收 數(shù)據(jù)。SXU120和寫多路復(fù)用器230與圖2中所示的相同,
在步驟930,處理實施對存儲器200的窄寫訪問,由此來自SXU 120 的存儲數(shù)據(jù)被通過寫多路復(fù)用器230寫到存儲器200中。所述窄寫訪問的 長度可以是四倍字長的,或可以是單字長的。處理在940返回.
如果該請求是加載請求,則判斷910分支到"加栽"分支918。處理 將加栽多路復(fù)用器250配置為從存儲器200接收數(shù)據(jù),并且將該數(shù)據(jù)提供 給SXU 120 (步驟950)。加栽多路復(fù)用器250與圖2中所示的相同。在步驟960,處理實施從存儲器200的窄讀存儲器訪問,由此加載數(shù)據(jù)被從 存儲器200讀出并通過加載多路復(fù)用器250發(fā)送到SXU 120。處理在880 返回。
圖10是示出了處理取指令請求時采取的步驟的流程圖。在一個實施例 中,取指令請求處在比DMA請求和加載/存儲請求更低的優(yōu)先權(quán)。處理在 1000開始,由此,處理將讀多路復(fù)用器270配置為從存儲器200接收數(shù)據(jù) 并將該數(shù)據(jù)提供給讀鎖存器280 (步驟1020)。讀多路復(fù)用器270和讀鎖 存器280與圖2中所示的相同。在步驟1040,處理實施從存儲器200的寬 讀存儲器訪問,由此,取指令數(shù)據(jù)被從存儲器200讀出并通過讀多路復(fù)用 器270存儲在讀鎖存器280中。
處理在步驟1060從讀鎖存器280檢索所述取指令數(shù)據(jù),并將該數(shù)據(jù)加 載到協(xié)執(zhí)行單元(SXU) 120中。SXU 120與圖2中所示的相同。處理在 1080返回.
圖ll是能夠?qū)崿F(xiàn)本發(fā)明的計算設(shè)備的框圖。圖11中所示的體系結(jié)構(gòu) 包括共享公共存儲器和公共總線的異構(gòu)處理器.寬帶引擎(BE) 1100通 過部件互連單元1170向/從外部設(shè)備發(fā)送和接收信息,并且使用部件互連 總線160將該信息分配給控制平面1110和數(shù)據(jù)平面1140,其中,所述部 件互連總線160與圖1中所示的相同.控制平面1110管理BE 1100,并且 向lt據(jù)平面1140分配工作。
另外,部件互連總線(EIU) 160提供對存儲器接口控制器(MIC) 1180的讀和寫請求,存儲器接口控制器1180將該請求傳送到存儲器接口 1190,該存儲器接口 1190接著與外部存儲器通信。
控制平面1110包括運行操作系統(tǒng)(OS) 1125的主處理部件(PPE) 1120。例如,PPE 1120可以是被嵌入到BE 1100中的Power PC內(nèi)核,而 OS 1125可以是Linux操作系統(tǒng)。PPE 1120管理用于BE 1100的公共存儲 器映射表。所述存儲器映射表對應(yīng)于例如L2存儲器1130的包括在BE 1100 中的存儲器位置以及包括在數(shù)據(jù)平面1140中的非私用存儲器。
數(shù)據(jù)平面1140包括協(xié)處理部件(SPE) 100、 1150和1155。 SPE 100
與圖1中所示的相同。每個SPE被用于處理數(shù)據(jù)信息,以及每個SPE可 以具有不同的指令集。例如,BE 1100可以被用于無線通信系統(tǒng)中,以及 每個SPE可以負(fù)責(zé)例如調(diào)制、芯片速率處理、編碼和網(wǎng)絡(luò)接口的單獨處理 任務(wù)。在另一例子中,每個SPE可以具有相同的指令集,以及可以被并行 地用于實施受益于并行過程的操作。每個SPE包括協(xié)處理單元(SPU), 所述協(xié)處理單元是處理內(nèi)核,例如數(shù)字信號處理器、微控制器、微處理器 或這些內(nèi)核的組合。
SPE 100、 1150和1155被連接到處理器部件總線1160,其中,該處 理器部件總線1160在控制平面1110、數(shù)據(jù)平面1140和輸入/輸出1170之 間傳遞信息??偩€160是片上附著多處理器總線。E1U1170包括靈活輸入 -輸出邏輯,其基于連接到BE 1100的外圍設(shè)備動態(tài)地將接口引腳分配給 輸入-輸出控制器。
盡管圖11中描述的所述計算機系統(tǒng)能夠執(zhí)行這里描述的所述過程,但 該計算機系統(tǒng)僅是計算機系統(tǒng)的一個示例。本領(lǐng)域的技術(shù)人員將理解,許 多其它計算機系統(tǒng)設(shè)計能夠?qū)嵤┻@里描述的所述過程.
本發(fā)明的優(yōu)選實現(xiàn)中的一個是客戶應(yīng)用,即可以例如駐留在計算機的 隨機存取存儲器中的代碼模塊中的指令集(程序代碼)。直到被計算機需 要之前,該指令集可以被存儲在另一計算機存儲器中,例如在硬盤驅(qū)動器 中,或者在例如光盤(用于最終在CD ROM中使用)或軟盤(用于最終 在軟盤驅(qū)動器中使用)的可移除存儲器中,或者經(jīng)由因特網(wǎng)或其它計算機 網(wǎng)絡(luò)下載。由此,本發(fā)明可以被實現(xiàn)為用于在計算機中使用的計算機程序 產(chǎn)品。另外,盡管所描述的各種方法便利地以由軟件選擇性激活或重配置 的通用計算機來實現(xiàn),但本領(lǐng)域的技術(shù)人員還將認(rèn)識到,所述方法可以以 硬件、固件或被構(gòu)造為實施所需的方法步驟的更專用裝置來實現(xiàn)。
盡管本發(fā)明的特定實施例已被示出和描述,但基于這里的教導(dǎo),在不 脫離本發(fā)明及其較寬方面的情況下可以產(chǎn)生改變和修改,這對于本領(lǐng)域的 技術(shù)人員將是顯而易見的。因此,權(quán)利要求將在其范圍內(nèi)包括落在本發(fā)明 的真正精神和范圍內(nèi)的所有所述改變和修改。另外,應(yīng)當(dāng)理解,本發(fā)明僅
由權(quán)利要求定義。本領(lǐng)域的技術(shù)人員將理解,如果特定編號的所介紹的權(quán) 利要求單元是有所意圖的,則所述意圖將在該權(quán)利要求中明確陳述,以及, 在所述陳述不出現(xiàn)的情況下,則不出現(xiàn)任何所述限制。對于非限制性例子, 作為對理解的幫助,權(quán)利要求包含介紹性短語"至少一個"和"一個或多 個,,的使用,以便介紹權(quán)利要求單元。然而,甚至當(dāng)同一權(quán)利要求包括介
紹性短語"一個或多個"或"至少一個"和例如"一個(a)"或"一個(an )" 的不定冠詞時,所述短語的^f吏用也不應(yīng)當(dāng),皮理解為,暗示由不定冠詞"一 個U)"或"一個(an)"進(jìn)行的權(quán)利要求單元的介紹將包含所述介紹 的權(quán)利要求單元的任意特定權(quán)利要求限于僅包含一個所迷單元的發(fā)明;所 述內(nèi)容同樣適用于定冠詞在權(quán)利要求中的使用。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),包括支持對單一存儲器空間的窄讀/寫存儲器訪問和寬讀/寫存儲器訪問的存儲器。
2. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述窄讀/寫存儲器訪問對應(yīng) 于加栽/存儲請求,以及所述寬讀/寫存儲器訪問對應(yīng)于DMA請求。
3. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述窄讀/寫存儲器訪問對應(yīng) 于加載/存儲請求,以及所述寬讀/寫存儲器請求對應(yīng)于取指令請求和DMA 請求。
4. 根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述系統(tǒng)有效用于 優(yōu)先化所述加栽/存儲請求、所述取指令請求和所述DMA請求,所述系統(tǒng)進(jìn)一步有效用于當(dāng)所述DMA請求可用時,在處理所述加栽/存儲請求和所述取指令請 求之前處理所述DMA請求;以及當(dāng)所述加載/存儲請求可用時,在處理所述取指令請求之前處理所1|> 載/存儲請求。
5. 根據(jù)權(quán)利要求l所述的系統(tǒng),進(jìn)一步包括累加多個DMA寫操作的寫累加緩沖器,其中,所述多個DMA寫操 作對應(yīng)于所述寬寫存儲器訪問,
6. 根據(jù)權(quán)利要求5所述的系統(tǒng),其中,所述多個DMA寫操作對應(yīng)于 多個指令周期,以及所述寬寫存儲器訪問對應(yīng)于單一指令周期。
7. 根據(jù)權(quán)利要求l所述的系統(tǒng),進(jìn)一步包括從所述寬讀存儲器訪問接收DMA數(shù)據(jù)的讀鎖存器,所述DMA數(shù)據(jù) 對應(yīng)于多個DMA讀操作;以及其中,所述讀鎖存器在多個指令周期中將所述多個DMA讀搮作提供 給DMA單元。
8. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述窄讀/寫訪問對應(yīng)于四倍 字長,以及所述寬讀/寫訪問對應(yīng)于存儲器的一行,以及其中,所述存儲器 被用于處理部件體系結(jié)構(gòu)中。
9. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述系統(tǒng)支持拆分累加鎖存器 能力和多個存儲體。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中,在對應(yīng)于加載/存儲請求的窄 讀/寫存儲器訪問期間,所述系統(tǒng)訪問所述多個存儲體中的一個,以及其中,剩余的多個存儲體不被訪問。
11. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述寬讀/寫存儲器訪問對應(yīng) 于高速緩存行清除或重栽操作。
12. 根據(jù)權(quán)利要求l所述的系統(tǒng),包括用于在寬讀操作期間從單一存儲器空間和從第二讀鎖存器接收數(shù)據(jù)的 第一讀鎖存器,其中,所述第二讀鎖存器從所述單一存儲器空間接收數(shù)據(jù), 并將所述數(shù)據(jù)儲備用于所述第一讀鎖存器。
13. 根據(jù)權(quán)利要求l所述的系統(tǒng),包括 第一類型處理器;以及一個或多個第二類型處理器,其中,所述存儲器被包括在所述第二類 型處理器中。
14. 一種計算機實現(xiàn)方法,包括 接收存儲器請求;確定所述存儲器請求是對應(yīng)于對存儲器的窄讀/寫存儲器訪問還是對 存儲器的寬讀/寫存儲器訪問;以及 處理所述存儲器請求。
15. 根據(jù)權(quán)利要求14所述的方法,其中,所述窄讀/寫存儲器訪問對 應(yīng)于加載/存儲請求,以及所述寬讀/寫存儲器訪問對應(yīng)于取指令請求和 DMA請求。
16. 根據(jù)權(quán)利要求15所述的方法,進(jìn)一步包括 優(yōu)先化所述加載/存儲請求、所述取指令請求和所述DMA請求,所述優(yōu)先化進(jìn)一步包括當(dāng)所述DMA請求可用時,在處理所述加載/存儲請求和所述取指令請求之前處理所述DMA請求;以及當(dāng)所述加載/存儲請求可用時,在處理所述取指令請求之前處理所述加 載/存儲請求。17. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括 響應(yīng)于所述寬讀存儲器訪問,接收DMA數(shù)據(jù),其中所述DMA數(shù)據(jù)對應(yīng)于多個DMA讀操作;以及在多個指令周期中提供所述多個DMA讀操作.18. 根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括 累加用于所述寬寫存儲器訪問的多個DMA寫操作,其中,所述多個DMA寫操作對應(yīng)于多個指令周期,以及所述寬寫存儲器訪問對應(yīng)于單一 指令周期。19. 一種程序產(chǎn)品,包括具有計算機程序代碼的計算機可運,體,所述計算機程序代碼有效 用于控制一種數(shù)據(jù)處理裝置來 接收存儲器請求;確定所述存儲器請求是對應(yīng)于對存儲器的窄讀/寫存儲器訪問還是對 存儲器的寬讀/寫存儲器訪問;以及 處理所述存儲器請求。20. 根據(jù)權(quán)利要求19所述的程序產(chǎn)品,其中,所述窄讀/寫存儲器訪 問對應(yīng)于加載/存儲請求,以及所述寬讀/寫存儲器訪問對應(yīng)于取指令請求 和DMA請求,所述計算機程序代碼進(jìn)一步有效用于優(yōu)先化所述加載/存儲請求、所述取指令請求和所述DMA請求,所述 優(yōu)先化進(jìn)一步包括當(dāng)所述DMA請求可用時,在處理所述加栽/存儲請求和所述取指令請 求之前處理所述DMA請求;以及當(dāng)所述加載/存儲請求可用時,在處理所述取指令請求之前處理所# 載/存儲請求。
全文摘要
一種用于帶有具有組合行和字訪問的存儲器的處理器的系統(tǒng)和方法被呈現(xiàn)。一種系統(tǒng)使用到直接數(shù)據(jù)的多路復(fù)用器和鎖存器來實施對同一存儲體的窄讀/寫存儲器訪問和寬讀/寫存儲器訪問。所述系統(tǒng)使用窄讀/寫存儲器訪問處理16字節(jié)的加載/存儲請求,并且還使用寬讀/寫存儲器訪問處理128字節(jié)的DMA和取指令請求。在DMA請求期間,所述系統(tǒng)在一個指令周期中向存儲器寫/讀十六個DMA操作。通過這么做,所述存儲器可用于在其它十五個指令周期期間處理加載/存儲或取指令請求。
文檔編號G06F13/16GK101111828SQ200680003918
公開日2008年1月23日 申請日期2006年1月25日 優(yōu)先權(quán)日2005年2月3日
發(fā)明者B·K·弗拉奇斯, H·P·霍夫斯蒂, 董祥厚, 高橋修 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1