欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對(duì)二維訪問(wèn)優(yōu)化的sdram地址映射的制作方法

文檔序號(hào):6422450閱讀:225來(lái)源:國(guó)知局
專利名稱:對(duì)二維訪問(wèn)優(yōu)化的sdram地址映射的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及SDRAM存儲(chǔ)器領(lǐng)域,更具體地涉及與SDRAM存儲(chǔ)器往來(lái)通信的領(lǐng)域。
在當(dāng)今的芯片內(nèi)系統(tǒng)(system on chips,SOC)體系結(jié)構(gòu)中,多個(gè)器件被一起集成到芯片中以提供系統(tǒng)功能。被集成的器件的范圍從可編程處理器元件到專用硬件元件。典型地,SOC具有統(tǒng)一內(nèi)存架構(gòu)(UMA),以允許芯片內(nèi)器件之間的通信和同步簡(jiǎn)單化。例如,一個(gè)器件從UMA中的某個(gè)地址A處開(kāi)始生成一系列數(shù)據(jù)元素,另一個(gè)器件從UMA中地址A處開(kāi)始使用這些數(shù)據(jù)。換句話說(shuō),SOC上的器件在尋址UMA中的數(shù)據(jù)元素時(shí)具有相同的視點(diǎn)。顯然,因?yàn)楸苊饬似骷g的地址翻譯,UMA簡(jiǎn)化了器件之間的通信。
典型地,SOC所使用的大部分存儲(chǔ)空間位于較便宜的芯片外存儲(chǔ)器件中,比如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)。這些存儲(chǔ)器以相對(duì)較低的成本為數(shù)據(jù)存儲(chǔ)提供大容量。通常SOC器件通過(guò)這些器件外的存儲(chǔ)器件相互通信。例如,如果器件1生成的數(shù)據(jù)元素存儲(chǔ)在芯片外存儲(chǔ)器件中的一個(gè)預(yù)定地址,那么器件2可以從該芯片外存儲(chǔ)器件的該預(yù)定地址處取回這些數(shù)據(jù)元素。因?yàn)樵诂F(xiàn)有技術(shù)水平的SOC上被處理的數(shù)據(jù)量巨大,進(jìn)出SDRAM存儲(chǔ)器的數(shù)據(jù)帶寬是一種關(guān)鍵資源,如果這種資源沒(méi)有被妥善管理,將導(dǎo)致SOC性能瓶頸。為了使SOC器件的處理速度盡可能高,這種有限帶寬資源的有效利用是關(guān)鍵的。
因此,存在一種利用這種有限的數(shù)據(jù)帶寬來(lái)增加可與SOC往來(lái)傳遞的數(shù)據(jù)量的需要。因此,本發(fā)明的一個(gè)目的是提供一種存儲(chǔ)器地址映射,它通過(guò)為SOC和芯片外存儲(chǔ)器件之間的事務(wù)提供增加的存儲(chǔ)器帶寬來(lái)克服現(xiàn)有技術(shù)中的缺陷。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種在外部存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)的方法,包括步驟提供數(shù)據(jù)用于存儲(chǔ)在外部存儲(chǔ)器中;將用于存儲(chǔ)的數(shù)據(jù)分割成數(shù)據(jù)區(qū)段(data portion),每個(gè)區(qū)段包括的數(shù)據(jù)元素少于用于填充包含在外部存儲(chǔ)器中的一個(gè)存儲(chǔ)體(bank)內(nèi)的數(shù)據(jù)線(dataline)的數(shù)據(jù)元素的數(shù)量;以及,將數(shù)據(jù)元素的每個(gè)區(qū)段存儲(chǔ)在位于外部存儲(chǔ)器內(nèi)的不同數(shù)據(jù)線和外部存儲(chǔ)器的不同存儲(chǔ)體內(nèi)的相同數(shù)據(jù)線的其中之一內(nèi)。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種裝置,包括第一存儲(chǔ)器存儲(chǔ)體(memory bank),該存儲(chǔ)體具有以數(shù)據(jù)線形式的用于存儲(chǔ)多個(gè)數(shù)據(jù)元素的第一存儲(chǔ)器位置;第二存儲(chǔ)器存儲(chǔ)體,該存儲(chǔ)體具有以數(shù)據(jù)線形式的用于存儲(chǔ)相同數(shù)量的數(shù)據(jù)元素的第二存儲(chǔ)器位置;以及,存儲(chǔ)控制器電路,該電路用于接收數(shù)據(jù)元素存儲(chǔ)的數(shù)據(jù)線并用于將數(shù)據(jù)元素的數(shù)據(jù)線分割成數(shù)據(jù)區(qū)段,每個(gè)區(qū)段包括的數(shù)據(jù)元素少于用于填充包含在外部存儲(chǔ)器中的第一存儲(chǔ)體和第二存儲(chǔ)體內(nèi)的數(shù)據(jù)線的數(shù)據(jù)元素的數(shù)量。
根據(jù)本發(fā)明的又另一個(gè)方面,提供了一種寫數(shù)據(jù)元素線的方法,包括步驟提供第一存儲(chǔ)器存儲(chǔ)體,該存儲(chǔ)體具有以數(shù)據(jù)線形式的用于存儲(chǔ)多個(gè)數(shù)據(jù)元素的第一存儲(chǔ)器位置;提供第二存儲(chǔ)器存儲(chǔ)體,該存儲(chǔ)體具有以數(shù)據(jù)線形式的用于存儲(chǔ)相同數(shù)量的數(shù)據(jù)元素的第二存儲(chǔ)器位置;將數(shù)據(jù)元素的數(shù)據(jù)線分割成數(shù)據(jù)區(qū)段,每個(gè)區(qū)段包括的數(shù)據(jù)元素少于用于填充包含在外部存儲(chǔ)器中的第一存儲(chǔ)體和第二存儲(chǔ)體內(nèi)的數(shù)據(jù)線的數(shù)據(jù)元素的數(shù)量;將數(shù)據(jù)元素的第一區(qū)段寫到第一存儲(chǔ)器存儲(chǔ)體內(nèi)的第一存儲(chǔ)器位置;在完全填充第一存儲(chǔ)器位置之前終止將第一區(qū)段數(shù)據(jù)元素寫到第一存儲(chǔ)器位置;切換到第二存儲(chǔ)器存儲(chǔ)體;將數(shù)據(jù)元素的第二區(qū)段寫到第二存儲(chǔ)器存儲(chǔ)體內(nèi)的第二存儲(chǔ)器位置;以及,在完全填充第二存儲(chǔ)器位置之前終止將第二區(qū)段數(shù)據(jù)元素寫到第二存儲(chǔ)器位置。
下面將參考附圖描述本發(fā)明,其中

圖1說(shuō)明了在芯片內(nèi)器件、外部存儲(chǔ)控制器和芯片外外部存儲(chǔ)器之間通信的現(xiàn)有技術(shù)概觀;圖2說(shuō)明了使用8數(shù)據(jù)元素存儲(chǔ)體交織的現(xiàn)有技術(shù)的SDRAM地址映射,它假定了12位的行地址和10位的列地址;圖3說(shuō)明了使用1024數(shù)據(jù)元素存儲(chǔ)體交織的現(xiàn)有技術(shù)的SDRAM地址映射,它假定了12位的行地址和10位的列地址;圖4概括了將芯片內(nèi)的事務(wù)映射到芯片外事務(wù)所采取的步驟;以及圖5說(shuō)明了一個(gè)根據(jù)本發(fā)明的實(shí)施例的用于將芯片內(nèi)事務(wù)映射到芯片外事務(wù)的裝置。
圖1說(shuō)明了芯片內(nèi)系統(tǒng)(SOC)器件103之間通信的現(xiàn)有技術(shù)概觀,包括一個(gè)外部存儲(chǔ)控制器102和以SDRAM形式的芯片外外部存儲(chǔ)器104。外部存儲(chǔ)控制器102處理往來(lái)于芯片外外部存儲(chǔ)器104的通信,芯片外外部存儲(chǔ)器104具有多個(gè)存儲(chǔ)器存儲(chǔ)體105a-105d。外部存儲(chǔ)控制器102接收來(lái)自SOC器件101a-101d的請(qǐng)求,以讀取來(lái)自芯片外外部存儲(chǔ)器104的數(shù)據(jù)元素和將數(shù)據(jù)元素寫到芯片外外部存儲(chǔ)器104。按照芯片內(nèi)總線事務(wù)定義這些請(qǐng)求。外部存儲(chǔ)控制器將這些芯片內(nèi)總線事務(wù)翻譯成外部存儲(chǔ)器總線事務(wù)。外部存儲(chǔ)器總線事務(wù)典型地沒(méi)有芯片內(nèi)總線事務(wù)那么普遍。芯片內(nèi)總線事務(wù)通常允許多個(gè)不同類型的芯片內(nèi)器件101a-101d具有不同類型的通信請(qǐng)求。然而,外部存儲(chǔ)器事務(wù)是不同的,它是基于外部存儲(chǔ)器104的特性被構(gòu)造的,以允許對(duì)其高效的使用。
將芯片內(nèi)總線事務(wù)翻譯成外部存儲(chǔ)器總線事務(wù)影響了用于訪問(wèn)外部存儲(chǔ)器104的帶寬效率。在一個(gè)特定的時(shí)鐘頻率CLK_FREQ上工作并且在每個(gè)時(shí)鐘周期傳輸N比特?cái)?shù)據(jù)的外部存儲(chǔ)器104具有的理論帶寬是CLK_FREQ*N比特/秒。理論帶寬給出了實(shí)際帶寬的上限。實(shí)際帶寬效率主要依賴于外部存儲(chǔ)控制器102將芯片內(nèi)總線事務(wù)翻譯成外部存儲(chǔ)器總線事務(wù)的翻譯過(guò)程。效率越高,特定時(shí)鐘頻率的存儲(chǔ)器帶寬就越高。因此,如果翻譯效率更高,那么就允許使用較低工作頻率的存儲(chǔ)器部件,以便達(dá)到相同的所期望的存儲(chǔ)器帶寬。當(dāng)然,眾所周知較低操作頻率的存儲(chǔ)器部件較便宜,因此,這是有利的。
雙數(shù)據(jù)速率SDRAM存儲(chǔ)器(DDR SDRAM)能夠在每個(gè)時(shí)鐘周期傳輸N比特?cái)?shù)據(jù)而僅僅使用外部存儲(chǔ)器總線接口上的N/2個(gè)數(shù)據(jù)引腳。
以SDRAM形式的具有多個(gè)存儲(chǔ)體的外部存儲(chǔ)器104通常工作在本領(lǐng)域的技術(shù)人員所周知的兩個(gè)數(shù)據(jù)傳輸工作模式的其中之一一頁(yè)面模式和突發(fā)模式。在頁(yè)面工作模式中,使用單個(gè)SDRAM事務(wù)可傳輸多達(dá)在預(yù)定SDRAM存儲(chǔ)體內(nèi)的預(yù)定行中駐留的所有數(shù)據(jù)元素。然而,傳輸少于在預(yù)定行中駐留的所有數(shù)據(jù)元素需要明確的終止指令。在突發(fā)工作模式中,在單個(gè)SDRAM事務(wù)中可傳輸駐留在SDRAM存儲(chǔ)體頁(yè)面中有限數(shù)量的數(shù)據(jù)元素-稱為突發(fā)尺寸。然而,傳輸少于突發(fā)尺寸的數(shù)據(jù)元素需要明確的終止指令。對(duì)于典型的SDRAM而言,突發(fā)尺寸在長(zhǎng)度上為4、8或16個(gè)數(shù)據(jù)元素。
外部存儲(chǔ)器事務(wù)典型地由兩部分組成事務(wù)設(shè)置開(kāi)銷和事務(wù)數(shù)據(jù)傳輸。事務(wù)設(shè)置開(kāi)銷包括外部存儲(chǔ)器104的預(yù)充電和用于使存儲(chǔ)器電路104準(zhǔn)備好讀/寫訪問(wèn)的激活操作。當(dāng)然,這些操作的必要性依賴于SDRAM內(nèi)將要向其傳輸數(shù)據(jù)或已經(jīng)從其傳輸了數(shù)據(jù)的存儲(chǔ)體的現(xiàn)有狀態(tài)。事務(wù)數(shù)據(jù)傳輸包括SDRAM讀或?qū)懖僮?。在下面的例子中將使用?個(gè)數(shù)據(jù)元素-burst_size(突發(fā)尺寸)=8-進(jìn)行數(shù)據(jù)傳輸?shù)耐话l(fā)工作模式。
將芯片內(nèi)地址“A”從SOC的統(tǒng)一內(nèi)存架構(gòu)(UMA)映射到SDRAM地址是由存儲(chǔ)體地址(BA)、行地址(RA)和列地址(CA)定義的。將芯片內(nèi)地址映射到SDRAM地址嚴(yán)重地影響了進(jìn)出SDRAM 104的帶寬效率。芯片內(nèi)地址到SDRAM地址的有效映射確定了SDRAM事務(wù)設(shè)置開(kāi)銷可以對(duì)某些芯片內(nèi)事務(wù)類型隱藏的程度。因此,如果進(jìn)行了有效映射,那么就同步地向/從外部存儲(chǔ)器傳輸數(shù)據(jù),而同時(shí)設(shè)置另一個(gè)外部存儲(chǔ)器事務(wù)。
例如,一種芯片內(nèi)事務(wù)可能偏愛(ài)某種SDRAM地址映射,另一種芯片內(nèi)事務(wù)可能偏愛(ài)一種不同的SDRAM地址映射。典型地,當(dāng)芯片內(nèi)事務(wù)引用的數(shù)據(jù)元素的地址位于某個(gè)存儲(chǔ)器存儲(chǔ)體105a的同一行中(限制預(yù)充電和激活操作的次數(shù)最大為1)時(shí),或者當(dāng)芯片內(nèi)事務(wù)引用的數(shù)據(jù)元素位于不同的存儲(chǔ)體中(允許事務(wù)設(shè)置和事務(wù)數(shù)據(jù)傳輸操作的重疊)時(shí),能夠獲得最好的性能,即最優(yōu)效率。
圖2和圖3說(shuō)明了兩個(gè)不同的現(xiàn)有技術(shù)地址映射方案。圖2說(shuō)明了使用8數(shù)據(jù)元素存儲(chǔ)器存儲(chǔ)體交織的SDRAM地址映射,圖3說(shuō)明了使用1024數(shù)據(jù)元素存儲(chǔ)器存儲(chǔ)體交織的SDRAM地址映射。在這些例子的兩種情況下,使用了12位行地址(4096行)和10位列地址(1024列)。
在現(xiàn)有技術(shù)圖2中,連續(xù)的8個(gè)數(shù)據(jù)元素系列位于外部存儲(chǔ)器104的不同的存儲(chǔ)器存儲(chǔ)體中。在現(xiàn)有技術(shù)圖3中,連續(xù)的8個(gè)數(shù)據(jù)元素系列位于相同的存儲(chǔ)器存儲(chǔ)體中。在這種情況下,一旦一個(gè)存儲(chǔ)器存儲(chǔ)體的行是滿的,后續(xù)的數(shù)據(jù)元素被寫到下一個(gè)存儲(chǔ)器存儲(chǔ)體的行。
對(duì)于圖2,使用12位RA和10位CA(8字節(jié)交織)來(lái)應(yīng)用下列的映射方案
BA=A[4:3]RA=A[23:12]CA={A[11:5],A[2:0]}對(duì)于圖3,使用12位RA和10位CA(1024字節(jié)交織)來(lái)應(yīng)用下列的映射方案BA=A[10:11]RA=A[23:12]CA=A[9:0]兩種映射方案在切換到相同存儲(chǔ)體的下一行之前完全填充存儲(chǔ)體的一行(對(duì)于存儲(chǔ)體105a-105d)。這可以通過(guò)以下實(shí)事得以反映,即使用比列地址高的芯片內(nèi)地址“A”的有效地址位來(lái)構(gòu)建行地址。
例如,一個(gè)芯片內(nèi)事務(wù)正請(qǐng)求位于芯片內(nèi)地址從地址“A”開(kāi)始的32個(gè)數(shù)據(jù)元素,這是32個(gè)對(duì)齊的數(shù)據(jù)元素。外部存儲(chǔ)控制器102將芯片內(nèi)事務(wù)分成8數(shù)據(jù)元素(突發(fā)尺寸)的4個(gè)SDRAM事務(wù),即數(shù)據(jù)元素[A,A+7]、[A+8,A+15]、[A+16,A+23]和[A+24,A+31]。
在圖2所示的SDRAM映射中,SDRAM事務(wù)訪問(wèn)不同的存儲(chǔ)器存儲(chǔ)體。結(jié)果,通過(guò)將稍后SDRAM事務(wù)的預(yù)充電和激活操作與先前SDRAM事務(wù)的數(shù)據(jù)傳輸重疊,來(lái)在一定程度上隱藏SDRAM事務(wù)設(shè)置開(kāi)銷,從而導(dǎo)致更高的帶寬效率。由于32個(gè)數(shù)據(jù)元素對(duì)齊的限制,假設(shè)所有這些芯片內(nèi)事務(wù)都遵循相同的存儲(chǔ)器存儲(chǔ)體訪問(wèn)方式,由稍后芯片內(nèi)事務(wù)產(chǎn)生的事務(wù)設(shè)置與由先前芯片內(nèi)事務(wù)產(chǎn)生的數(shù)據(jù)傳輸重疊,從而增加了帶寬效率。
在圖3的SDRAM映射中,4個(gè)SDRAM事務(wù)訪問(wèn)相同的存儲(chǔ)器存儲(chǔ)體105a。由于32個(gè)數(shù)據(jù)元素對(duì)齊的限制和存儲(chǔ)器存儲(chǔ)體行的大小是32個(gè)數(shù)據(jù)元素的整數(shù)倍的假設(shè),4個(gè)SDRAM事務(wù)訪問(wèn)一個(gè)存儲(chǔ)體內(nèi)相同的行。其結(jié)果是,由于對(duì)于所有4個(gè)SDRAM事務(wù)最多只需執(zhí)行一次預(yù)充電和激活操作,因而限制了SDRAM事務(wù)開(kāi)銷,從而導(dǎo)致高的帶寬效率。但是,在這種情況中,由稍后芯片內(nèi)事務(wù)產(chǎn)生的事務(wù)設(shè)置開(kāi)銷與由先前芯片內(nèi)事務(wù)產(chǎn)生的數(shù)據(jù)傳輸?shù)闹丿B必然是不可能的。假設(shè)芯片內(nèi)事務(wù)的起始地址是統(tǒng)一分布的,因?yàn)樵赟DRAM存儲(chǔ)器中存在4個(gè)存儲(chǔ)器存儲(chǔ)體,因此有25%的幾率使得后續(xù)的事務(wù)映射到相同的存儲(chǔ)體上。后續(xù)的芯片內(nèi)事務(wù)映射到相同存儲(chǔ)體的相同行上的幾率很小。因此,由稍后芯片內(nèi)事務(wù)產(chǎn)生的事務(wù)設(shè)置開(kāi)銷與由先前芯片內(nèi)事務(wù)產(chǎn)生的數(shù)據(jù)傳輸重疊的可能性變得小于圖2的前一個(gè)映射。換句話說(shuō),第二個(gè)映射方案(圖3)具有比第一個(gè)映射方案(圖2)更低的帶寬效率。
表格1針對(duì)不同存儲(chǔ)體交織數(shù)量的32個(gè)數(shù)據(jù)元素對(duì)齊事務(wù)的帶寬效率在表格1中給出了使用工作在200MHz頻率上的DDR SDRAM模擬不同存儲(chǔ)體交織數(shù)量得到的結(jié)果。注意1024字節(jié)交織(81.7%)相對(duì)于8字節(jié)交織(89.9%)的較低效率。
除了線性事務(wù),芯片內(nèi)器件可能生成二維事務(wù)。二維事務(wù)對(duì)于執(zhí)行視頻運(yùn)動(dòng)估計(jì)和補(bǔ)償功能的視頻加速器是典型的,但不限于此。一個(gè)芯片內(nèi)二維事務(wù)的例子是請(qǐng)求位于芯片內(nèi)地址從芯片內(nèi)地址“A”處開(kāi)始的24乘5的數(shù)據(jù)元素塊。所述塊具有24的線尺寸,因而請(qǐng)求5條線。二維事務(wù)具有與其關(guān)聯(lián)的一個(gè)跨距,用以指示事務(wù)內(nèi)連續(xù)的線之間的間距。假設(shè)一個(gè)2048的跨距,上面指出的二維事務(wù)請(qǐng)求在地址[A,A+23]、[A+2048,A+2071]、[A+4096,A+4119]、[A+6144,A+6167]和[A+8192,A+8215]處的數(shù)據(jù)元素。外部存儲(chǔ)控制器將芯片內(nèi)事務(wù)分成8個(gè)或更少數(shù)據(jù)元素的多個(gè)SDRAM事務(wù),在本例中8個(gè)數(shù)據(jù)元素是突發(fā)尺寸。使用等于4的起始地址“A”,外部存儲(chǔ)控制器生成下列外部事務(wù)對(duì)于第一條線,[4,7]、[8,15]、[16,23]、[24,27],以及對(duì)于第二條線,[2052,2055]、[2056,2063]、[2064,2071]、[2072,2075]等等。每條線導(dǎo)致4個(gè)外部事務(wù),這些事務(wù)的第一和最后一個(gè)傳輸4個(gè)數(shù)據(jù)元素。
在現(xiàn)有技術(shù)圖2的SDRAM映射中,我們的二維SDRAM事務(wù)訪問(wèn)多個(gè)SDRAM存儲(chǔ)體,并且可能訪問(wèn)一個(gè)SDRAM存儲(chǔ)體內(nèi)的多個(gè)行。結(jié)果,SDRAM事務(wù)開(kāi)銷很大,因?yàn)轭A(yù)充電和激活操作都需要被執(zhí)行,這導(dǎo)致低的帶寬效率。
在現(xiàn)有技術(shù)圖3的SERAM映射中,我們的二維SDRAM事務(wù)訪問(wèn)多個(gè)SDRAM存儲(chǔ)體,并且可能訪問(wèn)一個(gè)SDRAM存儲(chǔ)體內(nèi)的多個(gè)行。雖然該映射不同于圖2的映射,由于事務(wù)跨距的、非順序的特性,出現(xiàn)了相似的問(wèn)題。結(jié)果,SDRAM事務(wù)開(kāi)銷很大,因?yàn)轭A(yù)充電和激活操作都需要被執(zhí)行,這導(dǎo)致低的帶寬效率。
不幸的是,對(duì)于兩個(gè)映射(圖2和圖3),二維事務(wù)具有較差的帶寬效率。在表格2中給出了模擬不同存儲(chǔ)體交織數(shù)量的結(jié)果。這些數(shù)據(jù)是使用工作在200MHz頻率上的DDR SDRAM獲得的。
表格2針對(duì)不同存儲(chǔ)體交錯(cuò)數(shù)量,二維24乘5事務(wù)(2048元素跨距)的帶寬效率注意針對(duì)1024字節(jié)交織(63.2%)和8字節(jié)交織(60.4%),二維24乘5事務(wù)(2048元素跨距)的較低效率。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,提出了一種提高二維事務(wù)效率的地址映射。對(duì)于該地址映射,給出的跨距為2N,其中N是整數(shù),并且2N大于或等于4*burst_size。在本例中,N≥5,因?yàn)?5≥(4*8)=(4*burst_size)。
根據(jù)在圖5中所示的裝置和在圖4中說(shuō)明的方法步驟,顯示了本發(fā)明的一個(gè)實(shí)施例。芯片內(nèi)器件508的事務(wù)生成對(duì)單數(shù)據(jù)線507的存儲(chǔ)器401的請(qǐng)求,該存儲(chǔ)器401在外部存儲(chǔ)器510內(nèi)的一個(gè)位置處具有數(shù)據(jù)元素存儲(chǔ),該位置由芯片內(nèi)地址“A”管理。芯片內(nèi)器件508將用于存儲(chǔ)器507的單數(shù)據(jù)線提供給外部存儲(chǔ)控制器506。芯片內(nèi)器件508和外部存儲(chǔ)控制器506都位于芯片內(nèi),即位于芯片內(nèi)邊界509內(nèi)。外部存儲(chǔ)控制器506將用于存儲(chǔ)器507的數(shù)據(jù)線分割402成數(shù)據(jù)區(qū)段(504和505)。每個(gè)區(qū)段包括的數(shù)據(jù)元素少于用于填充包含在以SDEAM形式的外部存儲(chǔ)器510中存儲(chǔ)體511內(nèi)的數(shù)據(jù)線501或503的數(shù)據(jù)元素的數(shù)量。使用尺寸小于或等于3*burst_size的數(shù)據(jù)線,外部存儲(chǔ)控制器506為單數(shù)據(jù)線(504和505)生成外部存儲(chǔ)器請(qǐng)求,單數(shù)據(jù)線(504和505)訪問(wèn)不同的存儲(chǔ)器存儲(chǔ)體(511和512)。數(shù)據(jù)元素(504或505)的每個(gè)數(shù)據(jù)區(qū)段存儲(chǔ)403在位于外部存儲(chǔ)器510內(nèi)的不同數(shù)據(jù)線(501和502和503)和外部存儲(chǔ)器510的不同存儲(chǔ)體(511和512)內(nèi)的相同數(shù)據(jù)線(501或502)的其中之一。BA、CA和RA管理這些數(shù)據(jù)區(qū)段的位置。BA、CA和RA是外部存儲(chǔ)器特定的,并且如下所述是根據(jù)芯片內(nèi)地址“A”確定的。另外,BA、CA和RA依賴于用于由外部存儲(chǔ)控制器506將數(shù)據(jù)區(qū)段504和505分開(kāi)的跨距值。
當(dāng)然,為了從外部存儲(chǔ)器510讀取數(shù)據(jù)元素,可以相反地執(zhí)行前面提到的過(guò)程。由此,外部存儲(chǔ)控制器506訪問(wèn)外部存儲(chǔ)器510并讀取位于其上的數(shù)據(jù)區(qū)段504和505。一旦讀取,將數(shù)據(jù)區(qū)段504和505組合成芯片內(nèi)器件508使用的單數(shù)據(jù)線507。外部存儲(chǔ)器控制器仍然使用BA、CA和RA訪問(wèn)外部存儲(chǔ)器,用以在將外部存儲(chǔ)器中的數(shù)據(jù)區(qū)段重新組合成芯片內(nèi)器件508使用的單數(shù)據(jù)線507之前對(duì)其定位。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,該過(guò)程有利地允許將事務(wù)設(shè)置和數(shù)據(jù)傳輸操作重疊。與此同時(shí),外部存儲(chǔ)器對(duì)不同數(shù)據(jù)線的請(qǐng)求遵循相同的存儲(chǔ)器存儲(chǔ)體訪問(wèn)圖案。
使用1024個(gè)數(shù)據(jù)元素(N=10)的跨距,提出下列用于定位數(shù)據(jù)區(qū)段504和505的映射方案,用于使用12位行地址和10位列地址在外部存儲(chǔ)器510中存儲(chǔ)和讀回
BA=A[4:3]RA={A[23:17],A[9:5]}CA={A[16:10],A[2:0]}該映射方案確保了相距1024個(gè)數(shù)據(jù)元素即跨距尺寸的線可能被映射到相同的行。例如,如果事務(wù)的第一條線起始于地址2048(BA=0,RA=0,CA=0x010),那么事務(wù)的第二條線起始于地址3072(BA=0,RA=0,CA=0x018),事務(wù)的第三條線起始于地址4096(BA=0,RA=0,CA=0x020)等等。因?yàn)橄嗤男斜挥糜诙S事務(wù)的多個(gè)線,所以限制了事務(wù)設(shè)置開(kāi)銷。
對(duì)于突發(fā)模式交織,使用下列映射模式BA=A[4:3]RA=A[23:12]CA={A[11:5],A[2:0]}在該情況下,對(duì)于突發(fā)模式交織,事務(wù)的第一條線位于地址2048(BA=0,RA=0,CA=0x800),并且事務(wù)的第二條線位于地址3072(BA=0,RA=0,CA=0xc00)。但是,在地址4096(BA=0,RA=0,CA=0x000)處事務(wù)的第三條線位于不同的行,導(dǎo)致了事務(wù)設(shè)置開(kāi)銷。
使用2048個(gè)數(shù)據(jù)元素(N=11)的跨距,提出下列用于定位數(shù)據(jù)區(qū)段504和505的映射方案,用于使用12位行地址和10位列地址在外部存儲(chǔ)器510中存儲(chǔ)和讀回BA=A[4:3]RA={A[23:18],A[10:5]}CA={A[17:11],A[2:0]}對(duì)于該方案,相同的行用于二維事務(wù)的多條線。對(duì)于兩種跨距尺寸,提出的映射方案對(duì)于所有存儲(chǔ)體,在切換到下一行502之前,不會(huì)完全填滿某個(gè)行501,這和兩種現(xiàn)有技術(shù)映射方案(圖2和圖3)一樣。這可以通過(guò)以下實(shí)事得以反映,即使用芯片內(nèi)地址“A”的一些地址位來(lái)構(gòu)建行地址,這些位的有效性低于用來(lái)構(gòu)建列地址的那些地址位。
在表格3中給出了模擬2048個(gè)數(shù)據(jù)元素跨距數(shù)量的結(jié)果。這些數(shù)據(jù)是使用工作在200MHz頻率上的DDR SDRAM獲得的。
表格3使用提出的映射方案的二維24乘5事務(wù)(2048元素跨距)的帶寬效率所提方案75.9%的效率顯著地高于8字節(jié)交織(60.4%)和1024字節(jié)交織(63.2%)所獲得的效率。因此,提出的映射方案優(yōu)化了二維2048跨距尺寸事務(wù)的帶寬效率并為許多不同類型的事務(wù)提供了功能正確性。
所提出的用于二維事務(wù)的優(yōu)化映射方案獲得了比傳統(tǒng)映射方案顯著提高的帶寬效率。這種改進(jìn)的帶寬效率允許系統(tǒng)配被工作在較低頻率的存儲(chǔ)器部件。傳統(tǒng)交織映射方案提供的最大帶寬效率為64.4%,然而根據(jù)本發(fā)明的實(shí)施例的映射方案提供的帶寬效率為75.9%。結(jié)果,對(duì)于32位200MHz DDR存儲(chǔ)器,獲得了200*106*32*2*0.759≥9.7*109位/秒的有效帶寬,并且傳統(tǒng)方案將要求存儲(chǔ)器部件工作在9.7*109/(32*2*0.644)~235MHz,當(dāng)然假設(shè)了在這個(gè)頻率上可獲得64.4%的效率。本領(lǐng)域的技術(shù)人員都知道,典型地,頻率較高的存儲(chǔ)器部件通常比頻率較低的部件更加昂貴,特別是當(dāng)它們的用途在主流市場(chǎng)上不廣泛時(shí)。
除了允許系統(tǒng)成本降低外,所提出的映射方案還允許SOC功能,這對(duì)于配備傳統(tǒng)映射方案的系統(tǒng)來(lái)說(shuō)是做不到的。當(dāng)某個(gè)SOC功能要求一個(gè)9.7*109位/秒的有效帶寬,并且存儲(chǔ)器部件的最高可用頻率為200MHz時(shí),這將變得明顯。正如前面計(jì)算所顯示的,傳統(tǒng)方案不能夠在200MHz上提供所需的帶寬。諸如那些用于高清晰MPEG-2視頻支持的現(xiàn)代SOC使用二維事務(wù)并因而典型地需要大量的存儲(chǔ)器帶寬。
除了地址映射方案的效率和存儲(chǔ)器部件的頻率外,另一個(gè)獲得高存儲(chǔ)器帶寬的方式是增加數(shù)據(jù)總線尺寸。從32位數(shù)據(jù)總線遷移到64位數(shù)據(jù)總線當(dāng)然使存儲(chǔ)器帶寬增倍。但是,這種獲得更高存儲(chǔ)器帶寬的解決方案要求至少32個(gè)新的數(shù)據(jù)總線引腳,這些要求直接轉(zhuǎn)化成了更高的芯片包裝成本以及附加的制造復(fù)雜度。
所提出的方案有利地降低了系統(tǒng)成本,因?yàn)檫@要么降低了存儲(chǔ)器部件的成本,要么降低了與模具關(guān)聯(lián)的包裝成本。另外,系統(tǒng)支持SOC功能,這是傳統(tǒng)現(xiàn)有技術(shù)方案所不能做到的。
當(dāng)然,所提出的映射方案是用于二維事務(wù)的,它仍然能保證不同類型事務(wù)的功能正確性,但是效率可能下降。就是說(shuō),使用與這里給出的類似的思想,可以將該映射方案外推/一般化到不同跨距值,這對(duì)于本領(lǐng)域的技術(shù)人員是顯而易見(jiàn)的。
在不偏離本發(fā)明的精神或范圍的情況下,可設(shè)想出多個(gè)其它的實(shí)施例。
權(quán)利要求
1.一種在外部存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)的方法,包括步驟提供數(shù)據(jù)用于存儲(chǔ)在外部存儲(chǔ)器中(401);將用于存儲(chǔ)的數(shù)據(jù)分割(402)成數(shù)據(jù)區(qū)段,每個(gè)區(qū)段包括的數(shù)據(jù)元素少于用于填充包含在外部存儲(chǔ)器中的一個(gè)存儲(chǔ)體內(nèi)的數(shù)據(jù)線的數(shù)據(jù)元素的數(shù)量;以及,將數(shù)據(jù)元素的每個(gè)區(qū)段存儲(chǔ)(403)在位于外部存儲(chǔ)器內(nèi)的不同數(shù)據(jù)線和外部存儲(chǔ)器的不同存儲(chǔ)體內(nèi)的相同數(shù)據(jù)線的其中之一內(nèi)。
2.根據(jù)權(quán)利要求1的存儲(chǔ)數(shù)據(jù)的方法,其中數(shù)據(jù)元素的每個(gè)區(qū)段由具有2N的值的跨距彼此分隔,其中N是不為0的整數(shù)。
3.根據(jù)權(quán)利要求2的存儲(chǔ)數(shù)據(jù)的方法,其中2N的值大于4倍的用于訪問(wèn)外部存儲(chǔ)器的突發(fā)尺寸。
4.根據(jù)權(quán)利要求1的存儲(chǔ)數(shù)據(jù)的方法,包括步驟提供外部存儲(chǔ)控制器用于執(zhí)行分割步驟。
5.根據(jù)權(quán)利要求1的存儲(chǔ)數(shù)據(jù)的方法,其中外部存儲(chǔ)器包括同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)。
6.根據(jù)權(quán)利要求4的存儲(chǔ)數(shù)據(jù)的方法,包括步驟提供外部存儲(chǔ)控制器以執(zhí)行從外部存儲(chǔ)器讀取數(shù)據(jù)元素的步驟。
7.根據(jù)權(quán)利要求6的存儲(chǔ)數(shù)據(jù)的方法,其中在從外部存儲(chǔ)器讀取數(shù)據(jù)元素的步驟期間,外部存儲(chǔ)控制器生成向外部存儲(chǔ)器的對(duì)單個(gè)線的單個(gè)請(qǐng)求,這導(dǎo)致要從外部存儲(chǔ)器取回多個(gè)數(shù)據(jù)元素,數(shù)據(jù)元素的數(shù)量大于用來(lái)填充位于外部存儲(chǔ)器中存儲(chǔ)體內(nèi)的線的數(shù)據(jù)元素?cái)?shù)量。
8.根據(jù)權(quán)利要求7的存儲(chǔ)數(shù)據(jù)的方法,其中在從外部存儲(chǔ)器讀取單個(gè)線的步驟期間,在外部存儲(chǔ)器中多于一個(gè)存儲(chǔ)體被訪問(wèn)。
9.根據(jù)權(quán)利要求6的存儲(chǔ)數(shù)據(jù)的方法,其中在從外部存儲(chǔ)器讀取數(shù)據(jù)元素和將數(shù)據(jù)元素存儲(chǔ)到外部存儲(chǔ)器的步驟期間,外部存儲(chǔ)控制器包括步驟事務(wù)設(shè)置和事務(wù)數(shù)據(jù)傳輸。
10.根據(jù)權(quán)利要求4的存儲(chǔ)數(shù)據(jù)的方法,包括步驟向外部存儲(chǔ)控制器提供一個(gè)芯片內(nèi)地址;以及,使用該芯片內(nèi)地址來(lái)確定存儲(chǔ)體地址、行地址和列地址,其中存儲(chǔ)體地址被用于在存儲(chǔ)器中尋址存儲(chǔ)體,并且行地址被用于訪問(wèn)包含在存儲(chǔ)體內(nèi)的線。
11.根據(jù)權(quán)利要求10的存儲(chǔ)數(shù)據(jù)的方法,包括步驟使用來(lái)自芯片內(nèi)地址的地址位的第一集合和第二集合,根據(jù)芯片內(nèi)地址構(gòu)建行地址;和使用來(lái)自芯片內(nèi)地址的地址位的第三集合和第四集合,根據(jù)芯片內(nèi)地址構(gòu)建列地址,其中地址位的第一集合比地址位的第三集合的有效性高,并且地址位的第二集合比地址位的第四集合的有效性高。
12.一種裝置,包括第一存儲(chǔ)器存儲(chǔ)體(511),該第一存儲(chǔ)器存儲(chǔ)體具有以數(shù)據(jù)線(501,502)形式的用于存儲(chǔ)多個(gè)數(shù)據(jù)元素的第一存儲(chǔ)器位置;第二存儲(chǔ)器存儲(chǔ)體(512),該第二存儲(chǔ)器存儲(chǔ)體具有以數(shù)據(jù)線形式的用于存儲(chǔ)相同數(shù)量數(shù)據(jù)元素的第二存儲(chǔ)器位置;以及,存儲(chǔ)控制器電路(506),該存儲(chǔ)控制器電路用于接收用于存儲(chǔ)的數(shù)據(jù)元素的數(shù)據(jù)線并用于將數(shù)據(jù)元素的數(shù)據(jù)線分割成數(shù)據(jù)區(qū)段(504,505),每個(gè)區(qū)段包括的數(shù)據(jù)元素少于用于填充包含在外部存儲(chǔ)器中的第一存儲(chǔ)體和第二存儲(chǔ)體內(nèi)的數(shù)據(jù)線的數(shù)據(jù)元素的數(shù)量。
13.根據(jù)權(quán)利要求12的裝置,包括一種支持跨距的存儲(chǔ)器訪問(wèn)電路,該跨距將存儲(chǔ)在外部存儲(chǔ)器存儲(chǔ)體中的每個(gè)數(shù)據(jù)區(qū)段進(jìn)行分隔,該跨距的值為2N,其中N是不為0的整數(shù)。
14.根據(jù)權(quán)利要求12的裝置,包括一種支持跨距的存儲(chǔ)器訪問(wèn)電路,該跨距將存儲(chǔ)在外部存儲(chǔ)器存儲(chǔ)體中的每個(gè)數(shù)據(jù)區(qū)段進(jìn)行分隔,該跨距的值為2N,其中N是不為0的整數(shù),以及一種支持突發(fā)尺寸的存儲(chǔ)器訪問(wèn)電路,其中跨距的值是突發(fā)尺寸。
15.根據(jù)權(quán)利要求13的裝置,其中外部存儲(chǔ)器包括同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)。
16.根據(jù)權(quán)利要求13的裝置,其中外部存儲(chǔ)器包括一個(gè)芯片內(nèi)地址存儲(chǔ)位置,其中存儲(chǔ)在該芯片內(nèi)地址存儲(chǔ)位置內(nèi)的數(shù)據(jù)被用于確定在訪問(wèn)外部存儲(chǔ)器中使用的存儲(chǔ)體地址、行地址和列地址中的至少一個(gè)。
17.一種寫數(shù)據(jù)元素線的方法,包括步驟提供第一存儲(chǔ)器存儲(chǔ)體,該第一存儲(chǔ)器存儲(chǔ)體具有以數(shù)據(jù)線形式、用于存儲(chǔ)多個(gè)數(shù)據(jù)元素的第一存儲(chǔ)器位置;提供第二存儲(chǔ)器存儲(chǔ)體,該第二存儲(chǔ)器存儲(chǔ)體具有以數(shù)據(jù)線形式、用于存儲(chǔ)相同數(shù)量的數(shù)據(jù)元素的第二存儲(chǔ)器位置;將數(shù)據(jù)元素的數(shù)據(jù)線分割成數(shù)據(jù)區(qū)段,每個(gè)區(qū)段包括的數(shù)據(jù)元素少于用來(lái)填充位于外部存儲(chǔ)器中的各第一存儲(chǔ)體和第二存儲(chǔ)體內(nèi)的數(shù)據(jù)線的數(shù)據(jù)元素的數(shù)量;將數(shù)據(jù)元素的第一區(qū)段寫到第一存儲(chǔ)器存儲(chǔ)體內(nèi)的第一存儲(chǔ)器位置;在完全填充第一存儲(chǔ)器位置之前終止將第一區(qū)段數(shù)據(jù)元素寫到第一存儲(chǔ)器位置;切換到第二存儲(chǔ)器存儲(chǔ)體;將數(shù)據(jù)元素的第二區(qū)段寫到第二存儲(chǔ)器存儲(chǔ)體內(nèi)的第二存儲(chǔ)器位置;以及,在完全填充第二存儲(chǔ)器位置之前終止將第二區(qū)段數(shù)據(jù)元素寫到第二存儲(chǔ)器位置。
全文摘要
典型地,SOC所使用的大部分存儲(chǔ)空間位于較便宜的芯片外存儲(chǔ)器件,比如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)。這些存儲(chǔ)器以相對(duì)較低的成本為數(shù)據(jù)存儲(chǔ)提供了大容量。通常SOC器件通過(guò)這些芯芯片外存儲(chǔ)器件互相通信。因?yàn)樵诂F(xiàn)有技術(shù)水平的SOC上被處理的數(shù)據(jù)量巨大,進(jìn)出SDRAM存儲(chǔ)器的數(shù)據(jù)帶寬是一種關(guān)鍵資源,如果這種資源沒(méi)有被妥善管理將導(dǎo)致瓶頸。因此,提出了一種獨(dú)創(chuàng)的地址映射方案,該方案已經(jīng)改善了二維存儲(chǔ)器事務(wù)的效率,用于將芯片內(nèi)存儲(chǔ)器事務(wù)映射到芯芯片外存儲(chǔ)器事務(wù)。這種獨(dú)創(chuàng)的映射方案致力于通過(guò)將數(shù)據(jù)序列分割成小于一塊SDRAM存儲(chǔ)器的一行大小的區(qū)段來(lái)減少這些瓶頸。
文檔編號(hào)G06F12/02GK1714401SQ200380103636
公開(kāi)日2005年12月28日 申請(qǐng)日期2003年11月14日 優(yōu)先權(quán)日2002年11月20日
發(fā)明者J·-W·范德瓦爾德特 申請(qǐng)人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新绛县| 和顺县| 辽阳县| 廉江市| 永年县| 北流市| 武定县| 兰州市| 咸阳市| 米林县| 梓潼县| 资溪县| 荆门市| 瑞金市| 阿拉尔市| 盈江县| 德清县| 安远县| 芒康县| 宜城市| 大新县| 云安县| 长沙县| 扎兰屯市| 渝北区| 环江| 长沙县| 麟游县| 乳山市| 时尚| 房山区| 仙桃市| 漳浦县| 会宁县| 繁峙县| 新和县| 高要市| 冷水江市| 中西区| 彰化县| 贞丰县|