道的示范性擴展函數(shù)。
[0021]圖4A到C說明用于N=5個通道的示范性擴展函數(shù),其中N由(L-K)/F表示。
[0022]圖5A到D說明用于N=13個通道的示范性擴展函數(shù),其中N由(L-K)/F表示。
[0023]圖6通過組合N向擴展與R向擴展說明示范性N*R向擴展。
[0024]圖7A到B說明用于在示范性實施例中選擇交錯位數(shù)目的業(yè)務(wù)量不均衡因數(shù)。
[0025]圖8為根據(jù)示范性實施例的關(guān)于存儲器的存儲器交錯的流程圖。
【具體實施方式】
[0026]在以下針對本發(fā)明特定實施例的描述及相關(guān)圖式中揭示本發(fā)明的若干方面。可在不脫離本發(fā)明的范圍的情況下設(shè)計替代性實施例。另外,將不會詳細描述或?qū)⑹÷员景l(fā)明的眾所周知元件以免混淆本發(fā)明的相關(guān)細節(jié)。
[0027]本文中使用詞“示范性”意指“充當(dāng)實例、例子或說明”。本文中描述為“示范性”的任何實施例未必應(yīng)理解為比其它實施例優(yōu)選或有利。同樣,術(shù)語“本發(fā)明的實施例”并不要求本發(fā)明的所有實施例包含所論述特征、優(yōu)勢或操作模式。
[0028]本文中所使用的術(shù)語僅僅是為了描述特定實施例的目的,且并不希望限制本發(fā)明的實施例。如本文中所使用,單數(shù)形式“一”及“所述”希望還包含復(fù)數(shù)形式,除非上下文另外清楚地指示。應(yīng)進一步理解,術(shù)語“包括(comprises、comprising)”及/或“包含(includes、including)”當(dāng)在本文中使用時指定所陳述的特征、整數(shù)、步驟、操作、元件及/或組件的存在,但并不排除一或多個其它特征、整數(shù)、步驟、操作、元件、組件及/或其群組的存在或添加。
[0029]另外,依據(jù)待由(例如)計算裝置的元件執(zhí)行的動作序列來描述許多實施例。將認識到,本文中所描述的各種動作可由特定電路(例如,專用集成電路(ASIC))、由正由一或多個處理器執(zhí)行的程序指令或由所述兩者的組合來執(zhí)行。另外,可認為本文中所描述的這些動作序列完全體現(xiàn)于任何形式的計算機可讀存儲媒體內(nèi),所述計算機可讀存儲媒體中存儲有一組對應(yīng)計算機指令,所述計算機指令在被執(zhí)行時將導(dǎo)致相關(guān)聯(lián)處理器執(zhí)行本文中所描述的功能性。因此,本發(fā)明的各種方面可以數(shù)個不同形式來體現(xiàn),預(yù)期所有形式屬于所主張的標(biāo)的物的范圍內(nèi)。另外,對于本文中所描述的實施例中的每一者,任何此類實施例的對應(yīng)形式可在本文中被描述為(例如)“經(jīng)配置以(執(zhí)行所描述動作)的邏輯”。
[0030]所揭示解決方案解決前述缺點。更具體來說,示范性實施例包含便宜且快速的可充分配置及縮放的存儲器交錯技術(shù)。示范性存儲器交錯技術(shù)還確保橫跨任何數(shù)目個兩個或兩個以上所要存儲器通道的高度均勻分布并消除可用存儲器單元的浪費/利用不足。
[0031]參看圖2,提供示范性處理系統(tǒng)200的某些方面的示意性描述。如所展示,處理系統(tǒng)200可包含一或多個處理器或中央處理單元(CPU)202a到202d。共用L2高速緩沖存儲器204說明為可由CPU 202a到202d存取,其中L2高速緩沖存儲器以通信方式耦合到系統(tǒng)總線214。另外,圖形處理單元(GPU)206、數(shù)字信號處理器(DSP)208及視頻譯碼器/解碼器(編解碼器)214也展示為耦合到系統(tǒng)總線214。系統(tǒng)總線214介接橫跨可由32位地址212(A[31:0])尋址的三個存儲器通道ChO 222_0、Chl 222_1及Ch2 222_2交錯的32位可尋址存儲器。通道擴展塊216可為(例如)存儲器控制器(未圖示)的部分且可經(jīng)配置以實施示范性通道擴展函數(shù),出于示范性交錯存取這三個存儲器通道的目的,所述函數(shù)可提供用于分別選擇性地啟用三個存儲器通道ChO 222_0、Chl 222_1或Ch2 222_2中的一者的選擇線CSO到CS2。通道內(nèi)尋址塊218可經(jīng)配置以提供用于存取三個存儲器通道ChO 222_0、Chl 222_1及Ch2 222_2中的每一者內(nèi)的存儲器單元或項的通道內(nèi)地址。大體來說,將理解實施例不限于圖2中所說明的上文所描述元件及配置,且在不脫離本發(fā)明的范圍的情況下處理系統(tǒng)200的各種替代性配置是可能的。
[0032]根據(jù)示范性方面,處理系統(tǒng)200中還提供用于在由變量“G”表示的一或多個世代中實施通道擴展函數(shù)及通道內(nèi)尋址的產(chǎn)生(G)塊220???例如)經(jīng)由寄存器(未圖示)編程可實施示范性通道擴展函數(shù)的由可編程常數(shù)“G_total”表示的總世代數(shù)目。G_total可在(例如)處理系統(tǒng)200的系統(tǒng)啟動期間配置或編程到寄存器。另外,可利用于通道擴展函數(shù)中的地址位數(shù)目也可(例如)經(jīng)由寄存器(未圖示)編程于G塊220中。盡管說明為單獨塊,但關(guān)于G塊220的邏輯/功能可注入或集成于處理系統(tǒng)200的其它邏輯塊內(nèi),例如通道擴展塊216及/或通道內(nèi)尋址塊218。在一些方面,G塊、通道擴展塊216及通道內(nèi)尋址塊218可為存儲器控制器(未圖示)的部分。
[0033]現(xiàn)將使用橫跨圖2的三個存儲器通道ChO 222_0、Chl 222_1及Ch2 222_2的存儲器交錯的基線實例在應(yīng)用通道擴展函數(shù)的可選總世代數(shù)目G_total上解釋橫跨數(shù)目“N”個存儲器通道的示范性通道擴展函數(shù)(或“N向交錯”)??捎脧?例如)G塊220獲得的在通道擴展塊216中實施通道擴展函數(shù)。更具體來說,在世代/回合中的每一者中,在G在1到6_total的范圍內(nèi)的情況下,選擇32位地址212(A[31:0])中的一或多個位以用于確定N( = 3)個存儲器通道中的哪一者將被映射到所選擇地址位的特定組合。
[0034]舉例來說,參看圖3,在第一世代(S卩,G=I)中,可選擇地址212的位A[8:7],使得關(guān)于位組合的二進制值A(chǔ)[8:7] =00可被映射到ChO 222_0 4[8:7]=01可被映射到011222_1;且A [ 8:7 ] = 1可被映射到Ch2 222_2(在此狀況下,地址位A [ 6:0 ]可用于(例如)借助于通道內(nèi)尋址塊218進行存儲器通道ChO 222_0、Chl 222_1及Ch2 222_2的通道內(nèi)尋址)。然而,將剩余關(guān)于位組合的二進制值A(chǔ)[8:7 ] = 11,其無法在不干擾均勾性的情況下被映射到三個存儲器通道ChO 222_0、Chl 222_1及Ch2 222_2中的一者。因此,當(dāng)?shù)竭_關(guān)于所選擇位的未經(jīng)映射位組合的此類剩余二進制值時,示范性技術(shù)涉及進入第二世代。因此,對于后續(xù)回合或世代G = 2,選擇鄰近于且比之前回合的地址位A[8:7]更有效的高階位A[10:9]且地址212到存儲器通道ChO 222_0、Chl 222_1及Ch2 222_2的交錯或映射是基于關(guān)于位組合A[ 10:9]的二進制值。同樣,將剩余關(guān)于位組合的二進制值六[10:9] = 11,從而因此觸發(fā)第三世代G = 3(未圖示)。反復(fù)地重復(fù)此過程直到到達關(guān)于G=G_total的最后世代為止。
[0035]大體來說,在最后世代(其中G= G_total)中,可通過確定表示執(zhí)行交錯所橫跨的存儲器通道數(shù)目將要求的最小地址位數(shù)目獲得地址212的位數(shù)目。表示存儲器通道數(shù)目N將要求的此最小地址位數(shù)目(在下文中為“min_bits”)可由數(shù)學(xué)表達式“min_bits = Ceiling(log2N)”確定?!癱eiling”函數(shù)為將實數(shù)映射到最大接下來整數(shù)的總所周知數(shù)學(xué)函數(shù)。舉例來說,關(guān)于實數(shù)“x”,ceiling(X)為不低于“X”的最小整數(shù)。因此,對于具有N = 3個存儲器通道的給定實例,ceiling(log23) = 2。因此,在最后世代(其中G = G_total)中,選擇兩個最高階位(即,位A[31:30])以用于映射通道。將認識到,在此最后世代中,一旦A[31:30] =00被映射到通道ChO 222_0,A[31:30]=01被映射到通道Chl 222_1,且A[31:30] = 10被映射到通道Ch2 222_2,關(guān)于位組合的剩余二進制值A(chǔ)[31:30] = 11將不涉及有效地址或?qū)嶋H上將指向未填充存儲器。因此,一旦此最后世代的映射或交錯完成,所有有效地址位組合將被排出,且橫跨三個存儲器通道ChO 222_0、Chl 222_1及Ch2 222_2的均勻交錯將已完成。
[0036]可通過對比示范性方面與常規(guī)技術(shù)理解上文所描述的示范性交錯技術(shù)的有利方面。舉例來說,在用于三向交錯的常規(guī)3向散列函數(shù)中,可類似地選擇兩個地址位以用于將地址映射到三個存儲器通道。同樣,關(guān)于兩個所選擇地址位的四個可能位組合中的三者的二進制值可被映射到三個存儲器通道。然而,相反于上文所描述的示范性技術(shù),如果關(guān)于所選擇兩個地址位的位組合的剩余二進制值(例如,“11”)被重新指派到三個存儲器通道中的一者(例如,第一存儲器通道),則將容易地看出相比兩個其它通道來說統(tǒng)計上較多存取將是針對第一存儲器通道。除針對第一存儲器通道的此不成比例數(shù)目個存儲器存取之外,將也需要把較高比例的整個物理存儲器空間指派給此第一存儲器通道。物理存儲器空間的此不均勻指派將帶來如先前所描述的不合需要影響。另一方面,如果按照示范性技術(shù)反復(fù)地執(zhí)行交錯過程(其中關(guān)于位組合的剩余二進制值觸發(fā)選擇用于映射的不同地址位),則避免常規(guī)技術(shù)的不成比例存取及不均勻存儲器空間指派。舉例來說,示范性技術(shù)可允許使用大小相等的動態(tài)隨機存取存儲器結(jié)構(gòu)(DRAM)而不浪費存儲器空間或不均勻地填充存儲器通道。具體來說,所有三個通道ChO 222_0、Chl 222_1及Ch2 222_2可填充有恰好相同數(shù)目個DRAM單元。換句話說,實施例克服與統(tǒng)計存取不均衡以及地址空間不均衡相關(guān)聯(lián)的問題(尤其對于例如主存儲器而非高速緩沖存儲器的真實物理存儲器,這是由于高速緩沖存儲器的填充可遵循可不對應(yīng)于物理存