專(zhuān)利名稱(chēng):共享的存儲(chǔ)器裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種共享的存儲(chǔ)器裝置,其將多個(gè)存儲(chǔ)器系統(tǒng)與如處理器元
件(PE)的處理能力一起合并,所述多個(gè)存儲(chǔ)器系統(tǒng)每個(gè)由若干存儲(chǔ)器組成,
所述處理器元件共享各存儲(chǔ)器系統(tǒng)中的一些存儲(chǔ)器。
技術(shù)背景包括多個(gè)存儲(chǔ)器系統(tǒng)的系統(tǒng)可以采用如圖l所示的架構(gòu),該架構(gòu)著重于 并行處理。
在圖1的設(shè)置中,PE (處理器元件)1-1到1-4與存儲(chǔ)器2-1到2-4 —對(duì) 一 (one-to-one)地連接,設(shè)置并行處理優(yōu)先。
這個(gè)結(jié)構(gòu)中,每個(gè)PE 1與相應(yīng)的存儲(chǔ)器2以促進(jìn)并行處理的方式連接。 當(dāng)引用位于相鄰的PE中的數(shù)據(jù)時(shí),要求任何PE通過(guò)經(jīng)由主機(jī)(host)設(shè)備 的路徑以到達(dá)目的地。
通過(guò)示例性地采用如圖2所示的包括交叉桿(crossbar )(X-bar)的結(jié)構(gòu), 避免了經(jīng)由主機(jī)設(shè)備的繞路(detour )。在美國(guó)專(zhuān)利5,471,592中描述了典型的 交叉桿結(jié)構(gòu)。
發(fā)明內(nèi)容
在如上所述的多PE系統(tǒng)中,為了在所涉及的存儲(chǔ)器之間共享數(shù)據(jù),存 儲(chǔ)器到處理器連接可以在有效可擴(kuò)展的(scalable) ^s出上倍增。在這種情況 下,如圖3所示,連接不是線性地增加,而是關(guān)于配置的PE的增長(zhǎng)的數(shù)目急 速地增力口。
在美國(guó)專(zhuān)利5,471,592之前,"具有處理器和存儲(chǔ)器的交叉桿鏈接的多處 理器(Multi-processor with crossbar link of processors and memories ),,,共享的 存儲(chǔ)器系統(tǒng)慣常典型地在SIMD (單指令多數(shù)據(jù)流)或MIMD (多指令多數(shù) 據(jù)流)方案下操作。從那時(shí)起,實(shí)現(xiàn)復(fù)雜的應(yīng)用的需要已經(jīng)要求存儲(chǔ)器系統(tǒng) 把這兩個(gè)特征合并在一起。已經(jīng)提出了用于支持這種實(shí)現(xiàn)的多個(gè)基礎(chǔ)技術(shù)。
有效的多PE處理假定不是通過(guò)傳輸數(shù)據(jù)、而是通過(guò)改變PE到存儲(chǔ)器連
接的目的地來(lái)實(shí)現(xiàn)。 一般涉及如下三種連接 …全局連接,其允許對(duì)所有存儲(chǔ)器的訪問(wèn); —局部連接,其可連接到各特定的PE;以及 …指令傳輸路徑,通過(guò)其傳輸PE執(zhí)行指令。
交叉桿切換安排有用于使每個(gè)連接到每個(gè)安裝的存儲(chǔ)器的垂直連接優(yōu)先 的機(jī)制。在循環(huán)的(round-robin)基礎(chǔ)上確定連接。
然而,這種方法沒(méi)有考慮這樣的情況,其中大量配置的PE導(dǎo)致巨大數(shù) 量的交叉桿連接。還沒(méi)有提出對(duì)策來(lái)處理這個(gè)問(wèn)題。
如圖4A和4B所示,已經(jīng)提出數(shù)據(jù)傳輸路徑的分層結(jié)構(gòu),以最小化這些 路徑的增加,其中PE數(shù)目已經(jīng)增長(zhǎng)。這種措施(measure)需要增加與數(shù)據(jù) 傳輸無(wú)關(guān)的冗余特征,如用于支持分層結(jié)構(gòu)的連接端口設(shè)置。
考慮到上面的情況已提出本發(fā)明,并且本發(fā)明提供了一種共享的存儲(chǔ)器 裝置,能夠在有效可擴(kuò)展的基礎(chǔ)上擴(kuò)展多個(gè)處理器到存儲(chǔ)器的連接。
實(shí)現(xiàn)本發(fā)明并且根據(jù)它的一個(gè)實(shí)施例,提供一種共享的存儲(chǔ)器裝置,其 包括多個(gè)處理器元件;多個(gè)存儲(chǔ)器模塊,其配置為可由多個(gè)處理器元件訪 問(wèn);以及連接裝置,其配置為使來(lái)自多個(gè)處理器元件的特定處理器元件能夠 訪問(wèn)來(lái)自多個(gè)存儲(chǔ)器模塊的特定存儲(chǔ)器模塊;其中允許多個(gè)存儲(chǔ)器元件經(jīng)由 連接裝置訪問(wèn)多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)存儲(chǔ)器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成; 并且其中可由不同處理器元件訪問(wèn)的多個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許多個(gè)存 儲(chǔ)器模塊由不同處理器元件部分地共享和訪問(wèn)。
優(yōu)選地,多個(gè)存儲(chǔ)器系統(tǒng)可能以這樣的方式構(gòu)造,使得定位互相臨近的 處理器元件能夠訪問(wèn)共享的存儲(chǔ)器模塊。
優(yōu)選地,根據(jù)本發(fā)明的共享的存儲(chǔ)器裝置可能還包括仲裁電路,其配置 為以?xún)?yōu)先順序排列(prioritize)來(lái)自多個(gè)處理器元件的、訪問(wèn)任一存儲(chǔ)器模塊 的同時(shí)請(qǐng)求,并且使各請(qǐng)求處理器元件按照以?xún)?yōu)先順序排列的次序訪問(wèn)存儲(chǔ) 器模塊。
優(yōu)選地,本發(fā)明的共享的存儲(chǔ)器裝置可能還包括控制器,其配置為與外 部實(shí)體通信,并且控制對(duì)多個(gè)存儲(chǔ)器模塊的訪問(wèn),其中控制器能夠經(jīng)由連接 裝置訪問(wèn)所有的存儲(chǔ)器模塊。
根據(jù)本發(fā)明的另一個(gè)實(shí)施例,提供了一種共享的存儲(chǔ)器設(shè)備,其具有多
個(gè)共享的存儲(chǔ)器裝置,每個(gè)裝置包括多個(gè)處理器元件;多個(gè)存儲(chǔ)器模塊; 連接裝置,其配置為使來(lái)自多個(gè)處理器元件的特定處理器元件能夠訪問(wèn)來(lái)自 多個(gè)存儲(chǔ)器模塊的特定存儲(chǔ)器模塊;以及控制器,其配置為與外部實(shí)體通信, 并且控制多個(gè)存儲(chǔ)器模塊的訪問(wèn);其中允許多個(gè)存儲(chǔ)器元件經(jīng)由連接裝置訪 問(wèn)多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)存儲(chǔ)器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成;其中可由 不同處理器元件訪問(wèn)的多個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許多個(gè)存儲(chǔ)器模塊由不 同處理器元件部分地共享和訪問(wèn);并且其中多個(gè)共享的存儲(chǔ)器裝置的控制器 通過(guò)總線安排連接。
根據(jù)本發(fā)明的另一個(gè)實(shí)施例,提供一種共享的存儲(chǔ)器裝置,其包括多 個(gè)處理器元件;多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成,該 模塊可由多個(gè)處理器元件訪問(wèn);以及多個(gè)接口,其與多個(gè)處理器元件以及多 個(gè)存儲(chǔ)器模塊相連接;其中多個(gè)處理器元件能夠訪問(wèn)多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)
存儲(chǔ)器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊構(gòu)成;其中可由不同處理器元件訪問(wèn)的多 個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許多個(gè)存儲(chǔ)器模塊由不同處理器元件部分地共享 和訪問(wèn);其中總線布線(bus wiring)被映射(map)在多個(gè)存儲(chǔ)器系統(tǒng)上。
優(yōu)選地,多個(gè)存儲(chǔ)器接口可以位于穿過(guò)多個(gè)存儲(chǔ)器系統(tǒng)的多個(gè)處理器元 件的對(duì)面;其中組成多個(gè)存儲(chǔ)器系統(tǒng)的多個(gè)存儲(chǔ)器模塊可以在與第一方向基 本上垂直的第二方向上并行排列,在第一方向上多個(gè)存儲(chǔ)器接口位于多個(gè)處 理器元件的對(duì)面;并且其中多個(gè)處理器元件、多個(gè)存儲(chǔ)器接口、以及多個(gè)存 儲(chǔ)器模塊可以由連接布線相連接,該連接布線以矩陣方式排列在多個(gè)存儲(chǔ)器 系統(tǒng)上的第一和第二方向。
優(yōu)選地,本發(fā)明的共享的存儲(chǔ)器裝置可以還包括在第二方向上布線的公 用 (common bus )總線。
根據(jù)本發(fā)明,如上所述,多個(gè)處理器元件獲得了對(duì)存儲(chǔ)器模塊的訪問(wèn), 該存儲(chǔ)器模塊經(jīng)由連接裝置組成了存儲(chǔ)器系統(tǒng)。在這個(gè)設(shè)置中,可由不同處 理器元件訪問(wèn)的每個(gè)存儲(chǔ)器系統(tǒng)允許多個(gè)存儲(chǔ)器模塊由不同處理器元件部分 地共享和訪問(wèn)。
就是說(shuō),構(gòu)造本發(fā)明的存儲(chǔ)器裝置以便在有效可擴(kuò)展的基礎(chǔ)上、通過(guò)存 儲(chǔ)器連接多個(gè)處理器元件。
圖l是顯示多處理器設(shè)置的典型架構(gòu)示意圖; 圖2是顯示裝備交叉桿的多處理器設(shè)置的典型架構(gòu)示意圖; 圖3是解釋處理器元件(PE)擴(kuò)展時(shí)遇到的挑戰(zhàn)的示意圖; 圖4A和4B是顯示典型結(jié)構(gòu)的示意圖,該結(jié)構(gòu)使用最小化PE擴(kuò)展時(shí)數(shù) 據(jù)傳輸路徑的增加的端口排列;圖5是顯示體現(xiàn)本發(fā)明的共享的存儲(chǔ)器裝置的系統(tǒng)配置示意圖;圖6是顯示體現(xiàn)本發(fā)明的共享的存儲(chǔ)器裝置中的信號(hào)路徑的典型連接示意圖;圖7是組成訪問(wèn)仲裁過(guò)程的步驟的流程圖,該過(guò)程用于仲裁PE(n)和 PE(n+l)對(duì)存儲(chǔ)器組(memory bank) MEM(2n)的訪問(wèn);圖8是顯示共享的存儲(chǔ)器裝置的示意圖,其中允許3個(gè)或更多的PE核 心訪問(wèn)一個(gè)存儲(chǔ)器組;圖9是解釋如何分層擴(kuò)展部分共享的多端口 PE排列的示意圖;圖IO是顯示存儲(chǔ)器組如何由總線布線物理地映射(總線映射的存儲(chǔ)器) 的示意圖;圖11是顯示總線映射的存儲(chǔ)器的讀取塊如何典型地布線的示意圖;以及 圖12是顯示總線映射的存儲(chǔ)器的寫(xiě)入塊如何典型地布線的示意圖。
具體實(shí)施方式
現(xiàn)在將參照附圖來(lái)描述本發(fā)明的優(yōu)選實(shí)施例。 圖5是顯示體現(xiàn)本發(fā)明的共享的存儲(chǔ)器裝置的系統(tǒng)配置示意圖。 在圖5中,共享的存儲(chǔ)器裝置IO有直接存儲(chǔ)器存取(DMA)控制器11, 多個(gè)(例如,16個(gè))PE核心12-0到12-15,部分重疊的多端口裝置(以下稱(chēng) 為重疊多端口裝置)13,組成存儲(chǔ)器組(例如,SRAM組)14-0到14-63的 多個(gè)(例如,64個(gè))存儲(chǔ)器模塊,以及仲裁電路15。在圖5的共享的存儲(chǔ)器裝置中,存儲(chǔ)器組14-0到14-63被劃分為多個(gè)存 儲(chǔ)器系統(tǒng)M0到M15,每個(gè)存儲(chǔ)器系統(tǒng)由連續(xù)形成的八個(gè)組組成。說(shuō)明性地, 存儲(chǔ)器系統(tǒng)MO由八個(gè)存儲(chǔ)器組14-0到14-7組成。鄰近存儲(chǔ)器系統(tǒng)MO的存 儲(chǔ)器系統(tǒng)Ml由八個(gè)存儲(chǔ)器組14-4到14-11形成,并與存儲(chǔ)器系統(tǒng)M0共享 四個(gè)存儲(chǔ)器組14-4到14-7。同樣地,鄰近存儲(chǔ)器系統(tǒng)M1的存儲(chǔ)器系統(tǒng)M2 由八個(gè)存儲(chǔ)器組14-8到14-15組成,并與存儲(chǔ)器系統(tǒng)Ml共享四個(gè)存儲(chǔ)器組14-8到14-11。以此方式,每個(gè)存儲(chǔ)器系統(tǒng)M3到M15由八個(gè)存儲(chǔ)器組組成,包括與鄰 近的存儲(chǔ)器系統(tǒng)共享的四個(gè)存儲(chǔ)器組。只有存儲(chǔ)器系統(tǒng)M15由四個(gè)存儲(chǔ)器組組成。在圖5的共享的存儲(chǔ)器裝置10中,說(shuō)明性地允許每個(gè)PE核心12-0到 12-15訪問(wèn)八個(gè)存儲(chǔ)器組(16千字節(jié))。PE核心12-0到12-15可訪問(wèn)的每個(gè) 存儲(chǔ)器組有八千字節(jié)在多個(gè)PE (如那些互相鄰近的)之間共享。這不是完全 的交叉桿連接設(shè)置。對(duì)于剩下部分存儲(chǔ)器組沒(méi)有連接,并發(fā)嘗試訪問(wèn)任何給 定的SRAM組通過(guò)仲裁來(lái)解決。盡管任何一個(gè)PE核心除了可直接訪問(wèn)的存儲(chǔ)器組之外、還嘗試同時(shí)訪 問(wèn)SRAM組,可能降低效率,但是共享的存儲(chǔ)器組的數(shù)目可以如此確定,以 便使這種可能性成為罕見(jiàn)的情況。這使得有可能防止在該點(diǎn)的數(shù)據(jù)傳輸效率 的任何下降顯著地促使(contribute to )總的系統(tǒng)效率的下降。圖6是顯示體現(xiàn)本發(fā)明的共享的存儲(chǔ)器裝置中的信號(hào)路徑的典型連接示 意圖。在圖6中,為了簡(jiǎn)化和圖示的目的,所配置的每個(gè)存儲(chǔ)器系統(tǒng)由四個(gè)存 儲(chǔ)器組組成。存儲(chǔ)器系統(tǒng)M0由存儲(chǔ)器組14-0到14-3組成;存儲(chǔ)器系統(tǒng)Ml由存儲(chǔ)器 組14-2到14-5組成;存儲(chǔ)器系統(tǒng)M2由存儲(chǔ)器組14-4到14-7組成;存儲(chǔ)器 系統(tǒng)M3由存儲(chǔ)器組14-6到14-9組成。在圖6的共享的存儲(chǔ)器裝置10A中,每個(gè)PE核心12-0到12-3有用于訪 問(wèn)四個(gè)存儲(chǔ)器組的路徑。在任何給定的一對(duì)PE核心共享兩個(gè)存儲(chǔ)器組的情 形,PE核心12-n有對(duì)存儲(chǔ)器組MEM(2 x n)、 MEM(2 x n+l)、 MEM(2 x n+2)、 以及MEM(2 x n+3)的訪問(wèn);并且PE核心12-n和PE核心12-n+l在其間共享 MEM(2 x n+2)和MEM(2 x n+3)。在圖6的共享的存儲(chǔ)器裝置IOA中,DMA控制器ll有經(jīng)由重疊多端口 裝置13對(duì)所有的存儲(chǔ)器組14-0到14-9的訪問(wèn)。PE核心12-0可以有對(duì)存儲(chǔ)器組14-0到14-3的訪問(wèn)。PE核心12-1對(duì)存儲(chǔ)器組14-2到14-5。PE核心12-2對(duì)存儲(chǔ)器組14-4到14-7。PE核心12-3對(duì)存儲(chǔ)器組14-6到14-9。 在本發(fā)明的上述實(shí)施例中,來(lái)自外部用于PE核心的初始處理的數(shù)據(jù)的傳輸由DMA控制器11實(shí)現(xiàn)。用于使用DMA控制器11執(zhí)行這種數(shù)據(jù)傳輸?shù)?典型方法描述如下。在數(shù)據(jù)從外部要傳輸?shù)教囟ǖ拇鎯?chǔ)器組或要從特定的存儲(chǔ)器組輸出到外 部的情況下,PE核心12-0到12-3之一發(fā)送凄t據(jù)傳輸請(qǐng)求到DMA控制器11。 依次地(intum), DMA控制器11將傳輸數(shù)據(jù)到各指定地址的請(qǐng)求發(fā)送到仲 裁電路15,并且等待對(duì)傳輸?shù)脑S可。當(dāng)仲裁電路15給予許可時(shí),DMA控制器11將外部數(shù)據(jù)總線與特定的存 儲(chǔ)器組連接。當(dāng)接連地輸出指定的地址時(shí),DMA控制器11繼續(xù)控制數(shù)據(jù)的 傳輸,以產(chǎn)生外部數(shù)據(jù)總線和存儲(chǔ)器組之間的數(shù)據(jù)傳輸。下面是如何可以在各PE之間共享和傳輸數(shù)據(jù)的描述。在圖6中,輸入 到PE核心12-0的數(shù)據(jù)放入存儲(chǔ)器組14-0。 PE核心12-0讀取和處理在存儲(chǔ) 器14-0中所包含的。處理的結(jié)果輸出到存儲(chǔ)器組14-2和14-3。在輸出重要(significant)數(shù)據(jù)到存儲(chǔ)器組14-2或14-3后,PE核心12-0 在存儲(chǔ)器組14-2中的特定地址A-l開(kāi)啟(turn on)重要性檢查位(check bit )。在完成它自己的處理后,PE核心12-1 ;險(xiǎn)查以確定PE核心12-0是否開(kāi) 啟地址A-l。如果發(fā)現(xiàn)地址A-l開(kāi)啟,PE核心12-1開(kāi)始從存儲(chǔ)器組14-2或 14-3讀取數(shù)據(jù),并且在取回的(retrieved)數(shù)據(jù)上操作。PE核心12-1輸入和處理方文入存儲(chǔ)器組14-2和14-3的數(shù)據(jù),并且輸出處 理結(jié)果到存儲(chǔ)器組14-4。在完成它自己的處理后,PE核心12-2發(fā)送傳輸數(shù) 據(jù)到外部的請(qǐng)求到DMA控制器11。依次地,DMA控制器11在外部總線上 將重要數(shù)據(jù)從存儲(chǔ)器組14-4輸出到外部。PE核心12-0到12-3傳輸數(shù)據(jù)到存儲(chǔ)器組和從存儲(chǔ)器組傳輸數(shù)據(jù)如下 每個(gè)PE核心發(fā)送數(shù)據(jù)傳輸請(qǐng)求地址到仲裁電路15。依次地,仲裁電路15在 循環(huán)的基礎(chǔ)上(on a round-robin basis )以?xún)?yōu)先順序排列其它PE核心和DMA 控制器,并且授予請(qǐng)求PE核心傳輸數(shù)據(jù)的許可。圖7是組成訪問(wèn)仲裁過(guò)程的步驟的流程圖,該過(guò)程用于仲裁PE(n)和 PE(n+l)對(duì)存儲(chǔ)器組MEM(2n)的訪問(wèn)。下面是這個(gè)訪問(wèn)仲裁過(guò)程的描述。在隨 后的描述中,參考符號(hào)"PE"代表PE核心。在芯片復(fù)位后過(guò)程立即開(kāi)始。在步驟ST1,做檢查以確定PE(n)是否已經(jīng) 請(qǐng)求對(duì)MEM(2n)的訪問(wèn)。如果沒(méi)有發(fā)現(xiàn)這樣的請(qǐng)求,那么控制轉(zhuǎn)到步驟ST6, 并且做檢查以查看PE(n+l)是否已經(jīng)請(qǐng)求對(duì)MEM(2n)的訪問(wèn)。如果在步驟ST1發(fā)現(xiàn)PE(n)已經(jīng)請(qǐng)求對(duì)MEM(2n)的訪問(wèn),那么到達(dá)步驟 ST2。在步驟ST2, PE(n)被許可訪問(wèn)MEM(2n),并且PE(n+l)被拒絕訪問(wèn) MEM(2n)。在步驟ST3,用于計(jì)數(shù)預(yù)定時(shí)間段的計(jì)數(shù)器被初始化。初始化后,計(jì)數(shù) 器開(kāi)始倒計(jì)數(shù)。在步驟ST4,再做檢查以確定PE(n)是否已經(jīng)請(qǐng)求對(duì)MEM(2n) 的訪問(wèn)。在步驟ST5,只要從計(jì)時(shí)器的計(jì)數(shù)中沒(méi)有檢測(cè)到超時(shí),就重復(fù)檢查 以查看是否來(lái)自PE(n)對(duì)MEM(2n)訪問(wèn)的請(qǐng)求持續(xù)。如果在步驟ST5檢測(cè)到 超時(shí),那么到達(dá)步驟ST6。步驟ST6和隨后的步驟與上述步驟相似。在步驟ST6,做檢查以確定 PE(n+l)是否已經(jīng)請(qǐng)求對(duì)MEM(2n)的訪問(wèn)。如果沒(méi)有^:測(cè)到這樣的請(qǐng)求,那么 又到達(dá)步驟ST1 ,并且做檢查以查看PE(n)是否已經(jīng)請(qǐng)求對(duì)MEM(2n)的訪問(wèn)。如果在步驟ST6發(fā)現(xiàn)PE(n+l)已經(jīng)請(qǐng)求對(duì)MEM(2n)的訪問(wèn),那么到達(dá)步 驟ST7。在步驟ST7, PE(n+l)被許可訪問(wèn)MEM(2n),并且PE(n)被拒絕訪問(wèn) MEM(2n)。在步驟ST8,用于計(jì)數(shù)預(yù)定時(shí)間段的計(jì)數(shù)器被初始化。初始化后,計(jì)數(shù) 器開(kāi)始倒計(jì)數(shù)。在步驟ST9,再做檢查以確定PE(n+l)是否已經(jīng)請(qǐng)求對(duì)MEM(2n) 的訪問(wèn)。在步驟STIO,只要從計(jì)時(shí)器的計(jì)數(shù)中沒(méi)有檢測(cè)到超時(shí),就重復(fù)檢查 以查看是否來(lái)自PE(n+l)對(duì)MEM(2n)的訪問(wèn)的請(qǐng)求持續(xù)。如果在步驟ST10 檢測(cè)到超時(shí),那么控制返回到開(kāi)始階段。圖8是顯示共享的存儲(chǔ)器裝置的示意圖,其中允許三個(gè)或更多的PE核 心訪問(wèn)一個(gè)存儲(chǔ)器組。下面是這個(gè)設(shè)置的描述,其中許可三個(gè)或更多的PE核心對(duì)單個(gè)存儲(chǔ)器 組的訪問(wèn)。圖8中的共享的存儲(chǔ)器裝置IOB有存儲(chǔ)器系統(tǒng)MO,該存儲(chǔ)器系統(tǒng)由六 個(gè)存儲(chǔ)器組14-0到14-5組成。從存儲(chǔ)器單元(即,存儲(chǔ)器組)的觀點(diǎn)看,不需要保持算術(shù)單元(如PE 核心)的數(shù)目恒定,所述PE核心獲得對(duì)配置的每個(gè)存儲(chǔ)單元的訪問(wèn)。在圖8的設(shè)置中,PE核心12-0可以有對(duì)存儲(chǔ)器組14-0到14-5的訪問(wèn)。存儲(chǔ)器組14-1可以被3個(gè)PE核心12-0、 12-1和12-2訪問(wèn)。存儲(chǔ)器組14-6可以被PE核心12-2和12-3訪問(wèn)。
上面的設(shè)置未用簡(jiǎn)單的重疊公式表征。盡管該設(shè)置有四個(gè)處理單元(即, PE核心)和十個(gè)存儲(chǔ)器單元(存儲(chǔ)器組),但是這些數(shù)目不是限制本發(fā)明, 而是為了說(shuō)明的目的特別給定的。圖9是如何分層擴(kuò)展部分共享的多端口 PE安排的解釋性示意圖。 下面是如何進(jìn)行分層擴(kuò)展的描述,其中發(fā)現(xiàn)DMA傳輸成為瓶頸。 在大量數(shù)據(jù)在PE核心之間傳輸期間,歸因于爭(zhēng)用(contention)的、任何性能的下降能夠被顯著地減輕。然而,在外部和存儲(chǔ)器組之間的數(shù)據(jù)傳輸期間、PE核心同時(shí)處理多個(gè)功能的情形,爭(zhēng)用的可能性可能增加。通過(guò)在分層結(jié)構(gòu)中放置如圖8所示PE陣列,說(shuō)明性地處理這種可能性。 如對(duì)于圖5的基本結(jié)構(gòu),PE陣列由各層組成,每層由16個(gè)PE和一個(gè)DMA控制器組成。各層由AXI (Advanced Extensible Interface,高級(jí)可擴(kuò)展接口 )總線20互相連接,以形成存儲(chǔ)器裝置100。該設(shè)置中重要的是最小化這樣的AXI連接的PE層的數(shù)目。本發(fā)明提出了有助于最小化層計(jì)數(shù)的安排。圖10是顯示存儲(chǔ)器組如何由總線布線物理地映射(總線映射存儲(chǔ)器)的示意圖。圖11和12圖示了典型的總線映射存儲(chǔ)器如何布線。圖11示意性地描述 了總線映射存儲(chǔ)器的讀取塊如何典型地布線。圖12是顯示總線映射存儲(chǔ)器的 寫(xiě)入塊如何典型地布線的示意圖。參照?qǐng)D10的如下描述是總線映射存儲(chǔ)器的典型結(jié)構(gòu)和可訪問(wèn)范圍。存儲(chǔ)器系統(tǒng)M00到M15是組成存儲(chǔ)器的單元,每個(gè)存儲(chǔ)器系統(tǒng)由一個(gè) 或多個(gè)存儲(chǔ)器組(圖示的)組成??偩€結(jié)構(gòu)被布置在存儲(chǔ)器系統(tǒng)上??偩€是 由存儲(chǔ)器組上沒(méi)有使用的布線層組成。存儲(chǔ)器系統(tǒng)M00到M15對(duì)稱(chēng)地位于存儲(chǔ)器接口 IF00到IF07的兩邊。 PE核心位于存儲(chǔ)器系統(tǒng)M00到M15的外部,并且位于存儲(chǔ)器系統(tǒng)M00到 M15的兩邊。最小的系統(tǒng)配置由兩個(gè)PE、兩個(gè)存儲(chǔ)器系統(tǒng)(存儲(chǔ)器組)、和 一個(gè)存儲(chǔ)器接口組成。這個(gè)系統(tǒng)完全可擴(kuò)展,并且能夠以不受限制的方式橫向地?cái)U(kuò)展。圖10 顯示了排列為16個(gè)PE (PE00到PE15)系統(tǒng)設(shè)置的八個(gè)最小配置。存儲(chǔ)器系統(tǒng)M00、 M02、 M04、 M06、 M08、 MIO、 M12和M14在圖10 中建立的直角坐標(biāo)的X方向(第二方向)上并行排列。 類(lèi)似地,存4諸器系統(tǒng)M01、 M03、 M05、 M07、 M09、 Mll、 M13和M15 在圖10中建立的直角坐標(biāo)的X方向(第二方向)上并行排列。在圖IO提供的直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)MOO和MOl 關(guān)于存儲(chǔ)器接口 IFOO對(duì)稱(chēng)地排列(position)。在Y方向上鄰近于存儲(chǔ)器系統(tǒng) MOO安置PEOO,并且在Y方向上鄰近于存儲(chǔ)器系統(tǒng)MOl安置PEOl。存儲(chǔ)器 接口 IFOO能夠安排為被存儲(chǔ)器系統(tǒng)MOO和M01共享。在直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)M02和M03關(guān)于存儲(chǔ)器 接口IF01對(duì)稱(chēng)地排列。在Y方向上鄰近于存^I器系統(tǒng)M02安置PE02,并且 在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M03安置PE03。存儲(chǔ)器接口 IF01能夠安排為 被存儲(chǔ)器系統(tǒng)M02和M03共享。在直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)M04和M05關(guān)于存儲(chǔ)器 接口IF02對(duì)稱(chēng)地排列。在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M04安置PE04,并且 在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M05安置PE05。存儲(chǔ)器接口 IF02能夠安排為 被存儲(chǔ)器系統(tǒng)M04和M04共享。在直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)M06和M07關(guān)于存儲(chǔ)器 接口IF03對(duì)稱(chēng)地排列。在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M06安置PE06,并且 在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M07安置PE07。存儲(chǔ)器接口 IF03能夠安排為 被存儲(chǔ)器系統(tǒng)M06和M07共享。在直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)M08和M09關(guān)于存儲(chǔ)器 接口IF04對(duì)稱(chēng)地排列。在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M08安置PE08,并且 在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M09安置PE09。存儲(chǔ)器接口 IF04能夠安排為 被存儲(chǔ)器系統(tǒng)M08和M09共享。在直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)MlO和Mll關(guān)于存儲(chǔ)器 接口IF05對(duì)稱(chēng)地排列。在Y方向上鄰近于存儲(chǔ)器系統(tǒng)MIO安置PEIO,并且 在Y方向上鄰近于存儲(chǔ)器系統(tǒng)Mll安置PEll。存儲(chǔ)器接口 IF05能夠安排為 被存儲(chǔ)器系統(tǒng)MlO和Mll共享。在直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)M12和M13關(guān)于存儲(chǔ)器 接口IF06對(duì)稱(chēng)地排列。在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M12安置PE12,并且 在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M13安置PE13。存儲(chǔ)器接口 IF06能夠安排為 被存儲(chǔ)器系統(tǒng)M12和M13共享。在直角坐標(biāo)的Y方向(第一方向),存儲(chǔ)器系統(tǒng)M14和M15關(guān)于存儲(chǔ)器
接口 IF07對(duì)稱(chēng)地排列。在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M14安置PE14,并且 在Y方向上鄰近于存儲(chǔ)器系統(tǒng)M15安置PE15。存儲(chǔ)器接口 IF07能夠安排為 4皮存4諸器系統(tǒng)M14和M15共享。總線映射存儲(chǔ)器的可訪問(wèn)范圍現(xiàn)在將參照?qǐng)D10描述。 每個(gè)PE可以有對(duì)兩個(gè)縱向排列(Y方向,或第一方向)的存儲(chǔ)器組的 直接訪問(wèn),并且有到與這兩個(gè)存儲(chǔ)器組橫向鄰近的存儲(chǔ)器組的直接訪問(wèn)。就 是說(shuō),在存儲(chǔ)器組陣列極端橫向末端(X方向,或第二方向)的PEOO、 PEOl、 PE14和PE15的每一個(gè),有四個(gè)可直接訪問(wèn)的存儲(chǔ)器組;其它的PE02到PE13 每一個(gè)有六個(gè)可直接訪問(wèn)的存儲(chǔ)器組。每個(gè)EP用公用橫向總線(common lateral bus ) CBSL訪問(wèn)其它存儲(chǔ)器系 統(tǒng)的存儲(chǔ)器組??梢越?jīng)由DMA控制器依次訪問(wèn)公用橫向總線CBSL。公用橫 向總線CBSL的使用允許每一個(gè)EP有對(duì)所有存儲(chǔ)器組的間接訪問(wèn)。當(dāng)利用公用橫向總線CBSL時(shí),由于來(lái)自全部PEOO到15的訪問(wèn)嘗試的 集中,所以能夠限制總線結(jié)構(gòu)的頻帶。然而,在由多個(gè)PE組成的多處理器環(huán)境中,每個(gè)PE很少訪問(wèn)全部存儲(chǔ) 器區(qū)域。多數(shù)情況下,每個(gè)PE通過(guò)只獲取對(duì)有限的存儲(chǔ)器區(qū)域的訪問(wèn)來(lái)處理 分配給它的任務(wù)。在此意義上,上面的結(jié)構(gòu)組成了形成多數(shù)多處理器環(huán)境的系統(tǒng),保證可 擴(kuò)展性,并且減少布線資源的使用。參照?qǐng)D11和12的如下描述是總線映射存儲(chǔ)器如何典型地布線。如上所述,總線被布置在存儲(chǔ)器系統(tǒng)(存儲(chǔ)器組)上。如此布線的存儲(chǔ) 器系統(tǒng)(組)分成兩類(lèi)"偶數(shù)(even)"和"奇數(shù)(odd)"組。存在對(duì)所有存儲(chǔ)器系統(tǒng)公用的底層;頂部總線部分將存儲(chǔ)器系統(tǒng)分為"偶 數(shù)"和"奇數(shù)"存儲(chǔ)器組。安裝時(shí)兩類(lèi)存儲(chǔ)器組橫向地交替。"偶數(shù),,和"奇數(shù),,之間的區(qū)別在于橫向布線設(shè)置的地方。這個(gè)系統(tǒng)中, 如上所述,每個(gè)PE能夠有對(duì)鄰近的橫向安置的(X方向)存儲(chǔ)器組的訪問(wèn)。 如果它們位于兩個(gè)鄰近存儲(chǔ)器組上的同樣位置,那么用于從一個(gè)存儲(chǔ)器組到 另一個(gè)存儲(chǔ)器組橫向移動(dòng)數(shù)據(jù)的總線部分(segment)將會(huì)物理地沖突。在總 線結(jié)構(gòu)由"偶數(shù)"和"奇數(shù),,部分組成的情況下,它們?cè)卩徑拇鎯?chǔ)器組之 間就不沖突。前面的描述是關(guān)于根據(jù)本發(fā)明的典型存儲(chǔ)器裝置的基本構(gòu)造。依賴(lài)于總 線如何布線可以有許多其它變化。一種這樣的變化是總線被共享用于對(duì)存儲(chǔ)器接口的對(duì)邊(opposite side )的訪問(wèn)的系統(tǒng)。在這個(gè)情況下,需要用于布線的區(qū)域被減少。另一種變化,如圖11和12所述,涉及實(shí)現(xiàn)合并多個(gè)讀取和寫(xiě)入塊的系統(tǒng)。這個(gè)設(shè)置有助于提高總線性能。在圖11中,參考數(shù)字30代表選擇器,40代表讀取端口, 50代表寫(xiě)入端 口,以及60代表數(shù)據(jù)流。依賴(lài)于將實(shí)現(xiàn)此系統(tǒng)的可接受的成本和用戶(hù)要求的 性能可以采用上述的任何一種變化。如上所述,本發(fā)明的一個(gè)實(shí)施例是一種共享的存儲(chǔ)器裝置,其包括多 個(gè)處理器元件PE12-0到.12-15;多個(gè)存儲(chǔ)器模塊14-0到14-63,其配置為可 由多個(gè)處理器元件訪問(wèn);以及連接裝置13,其配置為使來(lái)自多個(gè)處理器元件 的特定處理器元件能夠訪問(wèn)來(lái)自多個(gè)存儲(chǔ)器模塊的特定存儲(chǔ)器模塊;其中允 許多個(gè)存儲(chǔ)器元件經(jīng)由連接裝置訪問(wèn)多個(gè)存儲(chǔ)器系統(tǒng)M0到M15,每個(gè)存儲(chǔ) 器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成;并且其中可由不同處理器元件訪問(wèn)的多 個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許多個(gè)存儲(chǔ)器模塊由不同處理器元件部分地共享 和訪問(wèn)。優(yōu)選地,共享的存儲(chǔ)器裝置還可以包括仲裁電路15,其配置為以?xún)?yōu) 先順序排列來(lái)自多個(gè)處理器元件的、訪問(wèn)任一存儲(chǔ)器模塊的同時(shí)請(qǐng)求,并且 使各請(qǐng)求處理器元件按照以?xún)?yōu)先順序排列的次序訪問(wèn)所述存儲(chǔ)器模塊。這些 安排提供了如下主要效果當(dāng)任何被PE使用的工作存儲(chǔ)器模塊適于在PE之間的數(shù)據(jù)傳輸時(shí),可以 減少用于通信目的的存儲(chǔ)器模塊。所需要做的全部是改變對(duì)存儲(chǔ)器訪問(wèn)的方 向。用于通信需要的時(shí)間因而接近零。當(dāng)PE數(shù)目上升時(shí),PE和存儲(chǔ)器之間的連接資源量對(duì)于PE計(jì)數(shù)線性地 增加。這使得可能可擴(kuò)展地安裝和所需一樣多的PE。當(dāng)所有PE能夠?qū)λ写鎯?chǔ)器模塊訪問(wèn)時(shí),盡管有足夠的(substantial) 利用的資源量,但好處可能顯得不成比例地少。然而,上述的實(shí)施例涉及PE 對(duì)存儲(chǔ)器訪問(wèn)的有限的嘗試的仲裁。這使得仲裁PE對(duì)任何一個(gè)存儲(chǔ)器訪問(wèn)的 爭(zhēng)用的嘗試變得簡(jiǎn)單。本發(fā)明還可以應(yīng)用于總線映射存儲(chǔ)器,并且優(yōu)點(diǎn)同樣地顯著。就是說(shuō),系統(tǒng)配置是完全可擴(kuò)展的。布線量和功消耗,兩個(gè)當(dāng)所配置的PE數(shù)目已增長(zhǎng)時(shí)可能增加的因素,
能夠被減少。即使當(dāng)PE數(shù)目升高,頻帶也不下降。本領(lǐng)域的技術(shù)人員應(yīng)該理解,各種修改、組合、子組合和替換可以根據(jù) 設(shè)計(jì)要求和其它因素出現(xiàn),只要它們?cè)跈?quán)利要求或其等價(jià)物的范圍之內(nèi)。相關(guān)專(zhuān)利申請(qǐng)的交叉引用本發(fā)明包含與在2006年9月19日向日本專(zhuān)利局提交的日本專(zhuān)利申請(qǐng)JP 2006-252390相關(guān)的主題,在此通過(guò)引用包括該申請(qǐng)的所有內(nèi)容。
權(quán)利要求
1.一種共享的存儲(chǔ)器裝置,其包括多個(gè)處理器元件;多個(gè)存儲(chǔ)器模塊,其配置為可由所述多個(gè)處理器元件訪問(wèn);以及連接裝置,其配置為使來(lái)自所述多個(gè)處理器元件的特定處理器元件能夠訪問(wèn)來(lái)自所述多個(gè)存儲(chǔ)器模塊的特定存儲(chǔ)器模塊;其中允許所述多個(gè)存儲(chǔ)器元件經(jīng)由所述連接裝置訪問(wèn)多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)存儲(chǔ)器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成;以及其中可由不同處理器元件訪問(wèn)的所述多個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許所述多個(gè)存儲(chǔ)器模塊由所述不同處理器元件部分地共享和訪問(wèn)。
2. 根據(jù)權(quán)利要求l所述的共享的存儲(chǔ)器裝置,其中所述多個(gè)存儲(chǔ)器系統(tǒng) 以這樣的方式構(gòu)造,使得定位互相臨近的處理器元件能夠訪問(wèn)共享的存儲(chǔ)器 模塊。
3. 根據(jù)權(quán)利要求1所述的共享的存儲(chǔ)器裝置,還包括仲裁電路,其配置為以?xún)?yōu)先順序排列來(lái)自多個(gè)處理器元件的、訪問(wèn)任一 存儲(chǔ)器模塊的同時(shí)請(qǐng)求,并且使各請(qǐng)求處理器元件按照以?xún)?yōu)先順序排列的次 序訪問(wèn)所述存儲(chǔ)器模塊。
4. 根據(jù)權(quán)利要求1所述的共享的存儲(chǔ)器裝置,還包括控制器,其配置為與外部實(shí)體通信,并且控制對(duì)所述多個(gè)存儲(chǔ)器模塊的 訪問(wèn),其中所述控制器能夠經(jīng)由所述連接裝置訪問(wèn)所有的存儲(chǔ)器模塊。
5. —種共享的存儲(chǔ)器設(shè)備,其包括多個(gè)共享的存儲(chǔ)器裝置,每個(gè)存儲(chǔ)器 裝置包括多個(gè)處理器元件; 多個(gè)存儲(chǔ)器模塊;連接裝置,其配置為使來(lái)自所述多個(gè)處理器元件的特定處理器元件能夠 訪問(wèn)來(lái)自所述多個(gè)存儲(chǔ)器模塊的特定存儲(chǔ)器模塊;以及控制器,其配置為與外部實(shí)體通信,并且控制對(duì)所述多個(gè)存儲(chǔ)器模塊的 訪問(wèn);其中允許所述多個(gè)存儲(chǔ)器元件經(jīng)由所述連接裝置訪問(wèn)多個(gè)存儲(chǔ)器系統(tǒng), 每個(gè)存儲(chǔ)器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成; 其中可由不同處理器元件訪問(wèn)的所述多個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許所述多個(gè)存儲(chǔ)器^t塊由所述不同處理器元件部分地共享和訪問(wèn);以及 其中所述多個(gè)共享的存儲(chǔ)器裝置的控制器由總線安排連接。
6. 根據(jù)權(quán)利要求5所述的共享存儲(chǔ)器設(shè)備,其中所述多個(gè)存儲(chǔ)器系統(tǒng)以 這樣的方式構(gòu)造,使得定位互相臨近的處理器元件能夠訪問(wèn)共享的存儲(chǔ)器模 塊。
7. 根據(jù)權(quán)利要求5所述的共享存儲(chǔ)器設(shè)備,其中每個(gè)所述共享的存儲(chǔ)器 裝置還包括仲裁電路,其配置為以?xún)?yōu)先順序排列來(lái)自多個(gè)處理器元件的、訪問(wèn)任一 存儲(chǔ)器模塊的同時(shí)請(qǐng)求,并且使各請(qǐng)求處理器元件按照以?xún)?yōu)先順序排列的次 序訪問(wèn)存儲(chǔ)器模塊。
8. 根據(jù)權(quán)利要求5所述的共享存儲(chǔ)器設(shè)備,其中所述各控制器能夠經(jīng)由 所述各連接裝置訪問(wèn)所有的存儲(chǔ)器模塊。
9. 一種共享的存儲(chǔ)器裝置,其包括 多個(gè)處理器元件;多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)存儲(chǔ)器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成,該模塊 可由所述多個(gè)處理器元件訪問(wèn);以及多個(gè)接口,其與所述多個(gè)處理器元件相連接,并與所述多個(gè)存儲(chǔ)器4莫塊相連接;其中所述多個(gè)處理器元件能夠訪問(wèn)所述多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)存儲(chǔ)器系 統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成;其中可由不同處理器元件訪問(wèn)的所述多個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許所 述多個(gè)存儲(chǔ)器模塊由所述不同處理器元件部分地共享和訪問(wèn);以及其中總線布線被映射在所述多個(gè)存儲(chǔ)器系統(tǒng)上。
10. 根據(jù)權(quán)利要求9所述的共享的存儲(chǔ)器裝置,其中所述多個(gè)存儲(chǔ)器接 口位于穿過(guò)所述多個(gè)存儲(chǔ)器系統(tǒng)的所述多個(gè)處理器元件的對(duì)面;其中組成所述多個(gè)存儲(chǔ)器系統(tǒng)的所述多個(gè)存儲(chǔ)器模塊,在與第一方向基 本上垂直的第二方向上并行排列,其中所述多個(gè)存儲(chǔ)器接口位于所述多個(gè)處 理器元件的對(duì)面;以及其中所述多個(gè)處理器元件、所述多個(gè)存儲(chǔ)器接口、以及所述多個(gè)存儲(chǔ)器 模塊由連接布線相連接,該連接布線以矩陣方式排列在所述多個(gè)存儲(chǔ)器系統(tǒng)上的所述第 一和所述第二方向。
11. 根據(jù)權(quán)利要求9所述的共享的存儲(chǔ)器裝置,還包括 在所述第二方向上布線的公用總線。
12. 根據(jù)權(quán)利要求IO所述的共享的存儲(chǔ)器裝置,還包括在所述第二方向上布線的公用總線。
全文摘要
公開(kāi)了一種共享的存儲(chǔ)器裝置,其包括多個(gè)處理器元件;多個(gè)存儲(chǔ)器模塊,其配置為可以由多個(gè)處理器元件訪問(wèn);以及連接裝置,其配置為使來(lái)自多個(gè)處理器元件的特定處理器元件能夠訪問(wèn)來(lái)自多個(gè)存儲(chǔ)器模塊的特定存儲(chǔ)器模塊;其中允許多個(gè)存儲(chǔ)器元件經(jīng)由連接裝置訪問(wèn)多個(gè)存儲(chǔ)器系統(tǒng),每個(gè)存儲(chǔ)器系統(tǒng)由至少一個(gè)存儲(chǔ)器模塊組成;并且其中可由不同處理器元件訪問(wèn)的多個(gè)存儲(chǔ)器系統(tǒng)的每一個(gè),允許多個(gè)存儲(chǔ)器模塊由不同處理器元件部分地共享和訪問(wèn)。
文檔編號(hào)G06F15/16GK101149727SQ20071015478
公開(kāi)日2008年3月26日 申請(qǐng)日期2007年9月19日 優(yōu)先權(quán)日2006年9月19日
發(fā)明者大森睦弘, 柏谷元史 申請(qǐng)人:索尼株式會(huì)社