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

用于并行訪問多個矢量元素的方法和設(shè)備的制作方法

文檔序號:6413608閱讀:177來源:國知局
專利名稱:用于并行訪問多個矢量元素的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計算機系統(tǒng),包括處理器;多端口存儲器,所述多端口存儲器是可由處理器訪問的。
本發(fā)明進一步涉及一種用于在所述計算機系統(tǒng)中傳輸矢量的方法。
更進一步,本發(fā)明涉及一種用于實現(xiàn)所述方法的計算機程序。
背景技術(shù)
矢量處理是一種用于處理具有大量計算需求的應(yīng)用的適用技術(shù)。矢量處理器提供對矢量(即數(shù)字的線性陣列)工作的高級運算。矢量處理器流水線傳輸矢量的單個元素上的運算。流水線不僅包括算術(shù)運算,而且包括存儲器訪問和有效地址計算。另外,大部分的高端矢量處理器都允許多個運算同時進行,在不同元素上的運算之間創(chuàng)建并行操作。矢量指令具有幾個重要的特性。第一,每個結(jié)果的計算都與先前結(jié)果的計算無關(guān),這允許很深的流水線而不會產(chǎn)生任何數(shù)據(jù)危險。第二,矢量指令相當(dāng)于執(zhí)行整個循環(huán),這降低了指令帶寬要求。第三,由于在單次訪問中檢索完整的矢量而非檢索數(shù)據(jù)元素,因而降低了存儲器訪問的開銷。為此,能讓矢量運算比對相同的數(shù)字或數(shù)據(jù)項進行的標(biāo)量運算序列更快。其中能夠使用矢量處理的典型應(yīng)用就是音頻和視頻處理的領(lǐng)域。
矢量存儲器系統(tǒng)具有大的數(shù)據(jù)寬度,這允許在一次存儲器訪問中利用單個存儲器地址來檢索數(shù)據(jù)元素的完整矢量。隨后,能夠并行地處理這些數(shù)據(jù)元素。然而,當(dāng)從矢量存儲器系統(tǒng)中檢索數(shù)據(jù)時,可能發(fā)生幾種問題。第一,矢量對齊(alignment)的問題與從矢量存儲器系統(tǒng)中讀取橫跨矢量邊界的數(shù)據(jù)有關(guān)。在那種情況下,可能通過請求兩個存儲器地址(即,兩個矢量)的內(nèi)容來檢索數(shù)據(jù),并且隨后把所請求的數(shù)據(jù)傳送到新的矢量。第二,當(dāng)需要一組矢量元素的次序與存儲它們的次序不同時出現(xiàn)了問題。假若需要矢量具有在不同的矢量中存儲的有序元素組,那么必須檢索這些矢量的內(nèi)容,需要至少兩次存儲器訪問繼之以選擇適當(dāng)?shù)臄?shù)據(jù)元素。美國專利5,933,650描述了用于矢量元素的對齊和排序的方法。在矢量元素的對齊中,將一個矢量從存儲單元加載到第一寄存器中,而將另一個矢量從存儲單元加載到第二寄存器中。確定指定對齊后的矢量的第一字節(jié)的起始字節(jié)。接下來,自第一寄存器的第一字節(jié)中的第一位起連續(xù)經(jīng)由第二寄存器中的位來從第一寄存器和第二寄存器中提取矢量。最后,將提取出的矢量復(fù)制到第三寄存器中,以便第三寄存器包含對齊后的多個元素以供矢量處理。按照矢量元素的次序,將第一矢量從存儲單元加載到第一寄存器中,而將第二矢量從存儲單元加載到第二寄存器中。然后,從第一寄存器和第二寄存器中選出元素的子集。接著,按照適合于隨后矢量處理的特定次序?qū)碜杂谧蛹脑貜?fù)制到第三寄存器中的元素中。
現(xiàn)有技術(shù)中矢量元素的對齊和排序的方法的缺點就在于需要對矢量存儲器系統(tǒng)進行一次以上的讀取訪問,這增加了獲取矢量數(shù)據(jù)的開銷。此外,需要附加的硬件,例如,用于臨時存儲矢量的附加硬件,其中必須為矢量對齊或矢量排序從所述矢量中選擇元素。

發(fā)明內(nèi)容
本發(fā)明的一個目的是,提供一種用于矢量對齊和矢量元素排序的改善后的方法,這導(dǎo)致矢量處理器的更好的性能。
這個目的是利用一種用于傳輸矢量的方法實現(xiàn)的,其特征在于所述方法包括以下步驟將存儲器基地址傳遞到地址配置裝置;通過地址配置裝置利用存儲器基地址和用于配置地址配置裝置的配置指令來定義一組存儲器地址;利用該存儲器地址組將矢量傳輸?shù)蕉喽丝诖鎯ζ?自多端口存儲器傳輸矢量。
所述方法允許利用單個存儲器基地址來將完整的矢量傳輸?shù)蕉喽丝诖鎯ζ骰蛘咦远喽丝诖鎯ζ鱾鬏斖暾氖噶?。能夠?qū)⑹噶康臄?shù)據(jù)元素傳輸?shù)酱鎯ζ鲀?nèi)的任意位置或者自存儲器內(nèi)的任意位置傳輸矢量的數(shù)據(jù)元素,這提高了靈活性并且避免了與矢量對齊和矢量元素排序有關(guān)的問題。此外,與所述地址配置裝置相結(jié)合地使用多端口存儲器減少了指令寬度??梢岳脝蝹€存儲器基地址來傳輸完整的矢量,然而多端口存儲器所使用的每個存儲器地址都應(yīng)該存在于指令中。對于某些類型的處理器而言,比如非常大的指令字處理器,減少代碼尺寸是一個重要問題。
根據(jù)本發(fā)明,一種計算機系統(tǒng)的特征在于所述計算機系統(tǒng)進一步包括地址配置裝置,其中所述地址配置裝置被設(shè)計用于利用存儲器基地址和用于配置地址配置裝置的配置指令來定義一組存儲器地址,并且其中所述多端口存儲器被設(shè)計用于使用該存儲器地址組??梢岳靡粋€存儲器基地址來將完整的矢量傳輸?shù)蕉喽丝诖鎯ζ骰蛘咦远喽丝诖鎯ζ鱾鬏斖暾氖噶浚@降低了存儲器開銷并且提高了計算機系統(tǒng)的性能。
在從屬權(quán)利要求中限定了本發(fā)明的優(yōu)選實施例。在權(quán)利要求8中限定了一種用于實現(xiàn)根據(jù)本發(fā)明的用于傳輸矢量的方法的計算機程序。
根據(jù)本發(fā)明的計算機系統(tǒng)的實施例的特征在于地址配置裝置包括設(shè)置成由配置指令來配置的多個寄存器堆,和用于計算存儲器地址組的多個地址計算單元;所述寄存器堆可由地址計算單元訪問;所述地址計算單元耦合到多端口存儲器。
所述配置指令配置多個寄存器堆,并且這些寄存器堆能夠保存這個配置直到執(zhí)行下一條配置指令。在這兩者之間,例如在執(zhí)行指令的循環(huán)期間,能夠重復(fù)地使用這個配置。
根據(jù)本發(fā)明的計算機系統(tǒng)的實施例的特征在于配置指令包括一組偏移量,每個偏移量都與定義第二存儲器地址的存儲器基地址相結(jié)合??梢詫⑺銎屏拷M直接加載到多個寄存器堆中,并為多個地址計算單元所使用,這提高了地址配置裝置的性能。


將參照附圖進一步闡明并描述所述實施例的特征圖1示出了根據(jù)本發(fā)明的計算機系統(tǒng)的示意圖。
圖2示出了具有多端口存儲器和地址配置裝置的存儲系統(tǒng)的示意圖。
具體實施例方式
圖1示出了包括處理器PROC、地址配置單元ACU、多端口存儲器MEM和系統(tǒng)總線SB的計算機系統(tǒng)的框圖。處理器PROC、地址配置單元ACU和多端口存儲器MEM都經(jīng)由系統(tǒng)總線SB耦合在一起。在執(zhí)行指令期間,為了讀取或?qū)懭刖哂袛?shù)據(jù)元素的矢量,處理器PROC可以發(fā)布操作以便訪問多端口存儲器MEM。在從多端口存儲器MEM中讀取或?qū)懭胍唤M數(shù)據(jù)元素之前,應(yīng)該通過由處理器PROC發(fā)出的配置指令來對地址配置單元ACU進行配置。配置指令對地址配置單元ACU進行配置,所以它能夠利用存儲器基地址來計算對于將從多端口存儲器MEM中檢索出的數(shù)據(jù)元素組而言特定的一組存儲器地址。地址計算單元ACU的配置保持不變直到發(fā)出下一條配置指令。在對地址配置單元ACU進行配置之后,處理器發(fā)布包括存儲器基地址在內(nèi)的讀取操作,并且該存儲器基地址被發(fā)送給地址計算單元ACU。隨后,地址計算單元ACU計算一組存儲器地址。將這些存儲器地址經(jīng)由系統(tǒng)總線SB發(fā)送給多端口存儲器MEM,繼之以從多端口存儲器MEM中讀取數(shù)據(jù)元素。將這些數(shù)據(jù)元素作為單個矢量發(fā)送給處理器PROC,并且以供進一步處理使用。假若處理器PROC發(fā)布寫入操作,則就向地址配置單元ACU發(fā)送存儲器基地址。地址配置單元ACU計算一組存儲器地址,將所述存儲器地址組經(jīng)由系統(tǒng)總線SB發(fā)送給多端口存儲器MEM。還將數(shù)據(jù)元素經(jīng)由系統(tǒng)總線SB發(fā)送給多端口存儲器MEM。在下一步中,將數(shù)據(jù)元素寫入多端口存儲器MEM。在下次寫入或讀取操作之前,也許需要依據(jù)所需要的存儲器地址組來發(fā)布新的配置指令。例如,假若必須讀取的一組數(shù)據(jù)元素需要相同的存儲器地址組并且施加相同的存儲器基地址,那么不必重復(fù)配置命令。當(dāng)使用不同的存儲器基地址、但地址配置單元ACU的所需配置保持相同時,也不必發(fā)出新的配置指令。
圖2示出了包括多端口存儲器MEM和地址配置單元ACU的一個實施例的存儲系統(tǒng)MS的框圖。所述多端口存儲器MEM包括RAM存儲器、四個數(shù)據(jù)輸入端口DatIn、四個地址端口Addr和四個數(shù)據(jù)輸出端口DatOut。地址配置單元ACU包括地址端口AddIn、四個地址計算單元AU、四個寄存器堆RF和四個數(shù)據(jù)輸入端口DatIn。在這個實施例中,數(shù)據(jù)輸入Datln是用于地址配置單元ACU和多端口存儲器MEM兩者的共享數(shù)據(jù)輸入端口。地址輸入端口AddrIn耦合到地址計算單元AU,而地址計算單元AU耦合到多端口存儲器MEM的其對應(yīng)的地址端口Addr。數(shù)據(jù)輸入端口DatIn耦合到寄存器堆RF。寄存器堆RF是可由地址計算單元AU訪問的。
多端口存儲器MEM支持用于對數(shù)據(jù)進行讀取和寫入的命令。通過利用地址端口Addr,能夠經(jīng)由數(shù)據(jù)輸出端口DatOut從RAM存儲器中讀取數(shù)據(jù)??梢詫臄?shù)據(jù)輸出端口DatOut中讀取的四個數(shù)據(jù)元素合并成一個矢量??梢越?jīng)由數(shù)據(jù)輸入端口DatIn并利用用于存儲器編址的地址端口Addr來把一組四個數(shù)據(jù)元素寫入多端口存儲器。
地址配置單元ACU支持配置指令,所述配置指令相對于存儲器基地址指定了一組偏移量。當(dāng)執(zhí)行配置指令時,經(jīng)由對應(yīng)的數(shù)據(jù)輸入端口DatIn將偏移量值寫入每個寄存器堆RF。隨后,地址計算單元AU從它們對應(yīng)的寄存器堆RF中取出偏移量值,并將這個值存儲在內(nèi)部。
假若處理器PROC向存儲系統(tǒng)MS發(fā)布讀取操作,則就在地址端口Addrln處提供存儲器基地址。地址計算單元AU從地址輸入端口AddrIn中獲取存儲器基地址的值,并增加它們相應(yīng)的偏移量值。地址計算單元AU將得到的存儲器地址組發(fā)送到對應(yīng)的地址端口Addr,并隨后向多端口存儲器MEM發(fā)出讀取命令。在多端口存儲器MEM的數(shù)據(jù)輸出端口DatOut處提供得到的數(shù)據(jù)元素組。處理器PROC還可以向存儲系統(tǒng)MS發(fā)布寫入操作,以便將一組數(shù)據(jù)元素寫入RAM存儲器。地址端口AddrIn接收存儲器基地址。地址計算單元AU利用存儲器基地址以及它們相應(yīng)的偏移量值來計算一組存儲器地址。將所得到的存儲器地址組發(fā)送給多端口存儲器MEM的對應(yīng)的地址端口Addr。將數(shù)據(jù)元素發(fā)送給多端口存儲器MEM的數(shù)據(jù)輸入端口DatIn。隨后,向多端口存儲器MEM發(fā)出寫入命令,并且將所述數(shù)據(jù)元素寫入RAM存儲器。
在其它的實施例中,配置指令可以包括向地址配置單元AU發(fā)出用于計算偏移量組的的一組命令。
利用適當(dāng)?shù)呐渲弥噶?,由寄存器堆RF接收的偏移量組是這樣與存儲器基地址相結(jié)合,使得地址計算單元AU能夠定義任意的存儲器地址組。利用該存儲器地址組,能夠同時將一組數(shù)據(jù)元素寫入多端口存儲器MEM或者同時從多端口存儲器MEM中檢索出一組數(shù)據(jù)元素。因此,存儲系統(tǒng)MS起矢量存儲器系統(tǒng)的作用,它在允許利用一個存儲器基地址從任意的存儲器位置處檢索一組數(shù)據(jù)元素的方面占優(yōu)勢。此外,與多端口存儲器相比,存儲系統(tǒng)MS有下列優(yōu)點通過利用一個存儲器地址,能夠?qū)ぶ返揭唤M數(shù)據(jù)元素,而不需要來自外部源的一組存儲器地址。其結(jié)果是,能夠減小指令寬度,這對于非常大的指令字處理器而言是尤其關(guān)心的,在所述指令字處理器中代碼尺寸的縮小是個重要問題。
應(yīng)當(dāng)注意的是,上述實施例舉例說明了本發(fā)明而非限制本發(fā)明,而且本領(lǐng)域的技術(shù)人員將在不背離所附權(quán)利要求的范圍的情況下能設(shè)計許多可替換的實施例。在權(quán)利要求中,不應(yīng)將位于括號內(nèi)的任何參考標(biāo)記視作為是限制權(quán)利要求。單詞“包括”不排除除了那些列在權(quán)利要求中的元件或步驟之外的其它元件或步驟的存在。元件前的單詞“一”或“一個”不排除多個這類元件的存在。可以通過包括幾個不同元件的硬件并借助于適當(dāng)編程的計算機來實現(xiàn)本發(fā)明。在枚舉幾個裝置的裝置權(quán)利要求中,這些裝置中的幾個都能夠由同一個硬件項來實現(xiàn)。在相互不同的從屬權(quán)利要求中敘述的某些措施的純粹事實不表示這些措施的組合就不具備優(yōu)勢。
權(quán)利要求
1.用于在計算機系統(tǒng)中傳輸矢量的方法,所述計算機系統(tǒng)包括處理器;可由處理器訪問的多端口存儲器,其特征在于所述方法包括以下步驟將存儲器基地址傳遞到地址配置裝置;通過地址配置裝置利用存儲器基地址和用于配置地址配置裝置的配置指令來定義一組存儲器地址;利用所述存儲器地址組將矢量傳輸?shù)蕉喽丝诖鎯ζ?自多端口存儲器傳輸矢量。
2.根據(jù)權(quán)利要求1所述的方法,其中地址配置裝置包括由配置指令配置的多個寄存器堆,和用于計算所述存儲器地址組的多個地址計算單元;所述寄存器堆可由地址計算單元訪問;所述地址計算單元耦合到多端口存儲器。
3.根據(jù)權(quán)利要求1所述的方法,其中所述配置指令包括一組偏移量,每個偏移量與存儲器基地址相結(jié)合來定義第二存儲器地址。
4.一種計算機系統(tǒng),包括處理器;多端口存儲器,所述多端口存儲器可由處理器訪問,其特征在于所述計算機系統(tǒng)進一步包括地址配置裝置,其中所述地址配置裝置被設(shè)計用于利用存儲器基地址和用于配置地址配置裝置的配置指令來定義一組存儲器地址,并且其中所述多端口存儲器被設(shè)計用于使用所述存儲器地址組。
5.根據(jù)權(quán)利要求4所述的計算機系統(tǒng),其中所述地址配置裝置包括設(shè)置成由配置指令來配置的多個寄存器堆,和用于計算所述存儲器地址組的多個地址計算單元;所述寄存器堆可由地址計算單元訪問;所述地址計算單元耦合到多端口存儲器。
6.根據(jù)權(quán)利要求4所述的計算機系統(tǒng),其中所述配置指令包括一組偏移量,每個偏移量與存儲器基地址相結(jié)合來定義第二存儲器地址。
7.根據(jù)權(quán)利要求4所述的計算機系統(tǒng),其中所述多端口存儲器和地址配置裝置都包含在存儲系統(tǒng)中。
8.一種包括計算機程序代碼裝置的計算機程序,所述計算機程序代碼裝置用于指示計算機系統(tǒng)執(zhí)行如權(quán)利要求1所述的方法的步驟。
全文摘要
矢量處理是一種用于處理具有大量計算需求的應(yīng)用的適用技術(shù)。矢量處理器提供了對矢量(即數(shù)字的線性陣列)工作的高級運算。能夠讓矢量運算比對相同數(shù)字或數(shù)據(jù)項的標(biāo)量運算序列更快。其中能夠使用矢量處理的典型應(yīng)用就是音頻和視頻處理的領(lǐng)域。矢量存儲器系統(tǒng)具有大的數(shù)據(jù)寬度,這允許利用單個存儲器地址在一次存儲器訪問中檢索數(shù)據(jù)元素的完整矢量。隨后,能夠并行地處理這些數(shù)據(jù)元素。然而,當(dāng)使用矢量存儲器系統(tǒng)時,可能會發(fā)生矢量對齊和一組矢量元素的排序的問題。本發(fā)明提供了一種用于計算機系統(tǒng)中的矢量對齊和矢量元素的排序的改善后的方法,所述計算機系統(tǒng)包括處理器(PROC)和多端口存儲器(MEM),所述方法導(dǎo)致了更好的性能。第一步包括將存儲器基地址傳遞到地址配置單元(ACU)。接下來,通過地址配置單元(ACU)利用存儲器基地址和用于對地址配置單元進行配置的配置指令來定義一組存儲器地址。最后,利用所述存儲器地址組將矢量傳輸?shù)蕉喽丝诖鎯ζ?MEM)或自多端口存儲器(MEM)傳輸矢量。
文檔編號G06F17/16GK1672128SQ03817860
公開日2005年9月21日 申請日期2003年7月10日 優(yōu)先權(quán)日2002年7月26日
發(fā)明者A·A·M·范維爾 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1