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

用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)及方法

文檔序號(hào):6356960閱讀:122來源:國知局
專利名稱:用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)器存取的技術(shù)領(lǐng)域,尤指ー種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)和方法。
背景技術(shù)
在計(jì)算機(jī)系統(tǒng)、微電腦系統(tǒng)、消費(fèi)性電子及半導(dǎo)體技術(shù)的快速發(fā)展之下,電子產(chǎn)品的影音效能有顯著的發(fā)展,因此來源數(shù)據(jù)同步的通訊接ロ也有長足的進(jìn)步,例如DDR,DDR-II和DDR-III的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)的存取速度快速提升,同時(shí)也提供更高的存儲(chǔ)器頻寬。同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的存取速度由數(shù)年前的數(shù)百萬赫茲(xMHz)進(jìn)步到今日的數(shù)十億萬赫茲(xGHz)。非工作存儲(chǔ)體的數(shù)據(jù)存取(non-active bank memoryaccess)的潛伏周期(latency cycle)數(shù)目也逐漸增加。例如SDR的非工作存儲(chǔ)體的數(shù)據(jù)存取的潛伏周期數(shù)目為3-5,而DDR-II及DDR-III的非工作存儲(chǔ)體的數(shù)據(jù)存取的潛伏周期 數(shù)目為12-25。一電腦系統(tǒng)或ー圖像處理系統(tǒng)會(huì)包含多個(gè)系統(tǒng)總線主控裝置(system busmaster)。每一系統(tǒng)總線主控裝置具有一特定的功能,例如圖像解碼、圖像編碼、圖像回播、音頻信號(hào)解碼、音頻信號(hào)回播、直接存儲(chǔ)器存取(DMA)等功能。由于每一系統(tǒng)總線主控裝置執(zhí)行其特定的功能,故其對存儲(chǔ)器存取區(qū)域及地址則是同時(shí)操作在不一致的地址及命令格式,故由系統(tǒng)總線主控裝置所產(chǎn)生的動(dòng)態(tài)存儲(chǔ)器存取命令會(huì)使用于動(dòng)態(tài)存儲(chǔ)器的不同存儲(chǔ)體進(jìn)行存取,甚至多個(gè)存儲(chǔ)體進(jìn)行存取。由于有多個(gè)系統(tǒng)總線主控裝置會(huì)執(zhí)行存儲(chǔ)器存取,且其存取動(dòng)態(tài)存儲(chǔ)器的地址各不相同,故很難在現(xiàn)行存儲(chǔ)器存取命令中找到與前一存儲(chǔ)器存取命令是相同的主動(dòng)頁(active page)。圖I是現(xiàn)有同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的方塊圖。圖2是現(xiàn)有DDR(Double datarate)存儲(chǔ)器存取命令中對不相同的頁(page)存取的示意圖。其對一存儲(chǔ)器的A存儲(chǔ)體(Bank-A)進(jìn)行二次讀取,姆一次讀取均為連續(xù)式八筆數(shù)據(jù)的讀取(burst 8)。于時(shí)間TO時(shí),一存儲(chǔ)器控制器對該存儲(chǔ)器的A存儲(chǔ)體輸出ー預(yù)充命令(pre-charge command, PRE)。經(jīng)過3個(gè)時(shí)鐘周期(clock)后,于時(shí)間T3時(shí),存儲(chǔ)器控制器對該存儲(chǔ)器的A存儲(chǔ)體輸出ー使能命令(activate command, ACT)。此3個(gè)時(shí)序則依據(jù)該存儲(chǔ)器規(guī)格說明書中的tRP = 3來操作。經(jīng)過3個(gè)時(shí)鐘周期后,于時(shí)間T6吋,存儲(chǔ)器控制器對該存儲(chǔ)器的A存儲(chǔ)體輸出ー讀取命令(readcommand,READ)。此3個(gè)時(shí)序也依據(jù)該存儲(chǔ)器規(guī)格說明書中的tRCD = 3來操作。經(jīng)過3個(gè)時(shí)序后(CL = 3),于時(shí)間T9吋,該存儲(chǔ)器于其數(shù)據(jù)總線(data bus)輸出相對應(yīng)的數(shù)據(jù)(Al AS)。由于第二個(gè)讀取行為是對存儲(chǔ)器的A存儲(chǔ)體中不相同的頁進(jìn)行讀取,故存儲(chǔ)器控制器于時(shí)間Tll時(shí)對該存儲(chǔ)器輸出ー預(yù)充命令(Pre-charge,PRE) co_and),于時(shí)間T14時(shí)輸出一使能命令(Active,ACT)co_and)。相同存儲(chǔ)體的使能命令時(shí)序是根據(jù)規(guī)格書中的tRC = 11來操作。如圖2所示,該存儲(chǔ)器于時(shí)間T19時(shí)由其數(shù)據(jù)總線輸出相對應(yīng)的數(shù)據(jù)(A9 A16),總共需約24個(gè)時(shí)鐘周期以完成ニ個(gè)連續(xù)式八筆數(shù)據(jù)的讀取。對于非最優(yōu)化處理過的SDRAM存取命令的操作,SDRAM存取的數(shù)據(jù)頻寬損失約為50%⑴70%。此種存取存儲(chǔ)器的方式很浪費(fèi)時(shí)間且沒有效率。其中,圖2中的BAO為存儲(chǔ)體地址O (Bank addressO)、BAl 為存儲(chǔ)體地址 I (Bank addressl)、RowO 為行地址 O (Row address O)、Row2 為行地址 2 (Row address 2)、ColO 為列地址 O (Column address O)。針對上述問題,圖3是現(xiàn)有使用交錯(cuò)方式對DDR SDRAM存儲(chǔ)器存取的示意圖。其對一存儲(chǔ)器的A存儲(chǔ)體及B存儲(chǔ)體分別進(jìn)行一次讀取,每一次讀取均為連續(xù)式八筆數(shù)據(jù)的讀取(burst 8)。于時(shí)間TO時(shí),一存儲(chǔ)器控制器對該存儲(chǔ)器的A存儲(chǔ)體輸出ー預(yù)充命令。于時(shí)間T2時(shí),存儲(chǔ)器控制器對該存儲(chǔ)器的B存儲(chǔ)體輸出ー預(yù)充命令。于時(shí)間T3時(shí),存儲(chǔ)器控制器對該存儲(chǔ)器的A存儲(chǔ)體輸出ー使能命令。于時(shí)間T5時(shí),存儲(chǔ)器控制器對該存儲(chǔ)器的B存儲(chǔ)體輸出ー使能命令,此使能命令和先前一個(gè)使能命令屬于不同存儲(chǔ)體,故不受規(guī)格說明書中tRC = 11的限制。于時(shí)間T6時(shí),存儲(chǔ)器控制器對該存儲(chǔ)器的A存儲(chǔ)體輸出ー讀取命令。于時(shí)間T9吋,該存儲(chǔ)器的A存儲(chǔ)體于該存儲(chǔ)器的數(shù)據(jù)總線(databus)輸出相對應(yīng)的數(shù)據(jù)(Al AS)。由于經(jīng)過3個(gè)時(shí)序后(CL = 3),于時(shí)間T13時(shí),該存儲(chǔ)器于其數(shù)據(jù)總線輸出相對應(yīng)的數(shù)據(jù)(BI B8),故于時(shí)間TlO時(shí),存儲(chǔ)器控制器對該存儲(chǔ)器的B存儲(chǔ)體輸出ー讀取命令,總共需約18個(gè)鐘周期以完成ニ個(gè)連續(xù)式八筆數(shù)據(jù)的讀取。此種方式雖可較圖2節(jié)省數(shù)個(gè)時(shí)序,然而由于存取存儲(chǔ)器數(shù)據(jù)地址的操作為不連續(xù)性,系統(tǒng)常常會(huì)存取地址相 近的存儲(chǔ)器,或因連續(xù)的存儲(chǔ)器存取命令是來自不同的存儲(chǔ)器主控裝置(Master Device),所以常會(huì)對一存儲(chǔ)器的同一存儲(chǔ)體不同頁(Page)進(jìn)行多次存取,所以如圖3此種對不同存儲(chǔ)體交錯(cuò)存取方式機(jī)率是不高的,特別是在ー復(fù)雜系統(tǒng)。其中,圖3中的BAO為存儲(chǔ)體地址O (Bank address O)、BA1 為存儲(chǔ)體地址 I (Bank address I)、RowO 為行地址 O (Row address0)、ColO 為列地址 O (Column address 0)。另ー現(xiàn)有的存儲(chǔ)器控制器技術(shù)使用大的存儲(chǔ)器存取命令隊(duì)列(memory accesscommand queue)以暫存許多的存儲(chǔ)器存取命令,并使用一復(fù)雜的重新排序演算法以選擇最低潛伏周期(latency)或最低頻寬損失周期(penalty)的存儲(chǔ)器存取命令以作為下ー個(gè)進(jìn)入SDRAM的存取命令,由此以提高SDRAM數(shù)據(jù)頻寬使用率。另ー現(xiàn)有技術(shù)則使用多個(gè)存儲(chǔ)器存取命令隊(duì)列(multiple memoryaccesscommand queue),以選擇最高優(yōu)先次序的存儲(chǔ)器存取命令,以降低潛伏周期(latencycycle)數(shù)目。然而前述兩種現(xiàn)有技術(shù)對于某些存儲(chǔ)器讀取命令,將會(huì)大量提高讀取數(shù)據(jù)的潛伏周期,而降低效能。在同一時(shí)間,于ー個(gè)復(fù)雜的計(jì)算機(jī)系統(tǒng)中,這些機(jī)制和方法還是無法保證SDRAM的頻寬利用率。該系統(tǒng)將有ー個(gè)大SDRAM命令隊(duì)列,同時(shí)SDRAM的頻寬利用率取決于存儲(chǔ)器存取命令隊(duì)列中的命令的數(shù)量和存儲(chǔ)器命令所在的位置和種類。前述現(xiàn)有技術(shù)在是無法達(dá)到高SDRAM頻寬,同時(shí)也無法保證系統(tǒng)效能。某些計(jì)算機(jī)系統(tǒng)無法使用現(xiàn)有技術(shù)來最優(yōu)化存儲(chǔ)器存取的性能,例如,主控裝置總是在不同SDRAM的地址范圍做存取操作和復(fù)雜的位置和存儲(chǔ)器命令解碼系統(tǒng)(如ニ維視頻圖像存儲(chǔ)器地址解碼的存儲(chǔ)器控制器)。在這種系統(tǒng)下操作,在有限的存儲(chǔ)器存取命令隊(duì)列中的當(dāng)前的存儲(chǔ)器存取命令出到ー個(gè)已活動(dòng)頁命令(下ー個(gè)命令A(yù)ctive page)的機(jī)率是相當(dāng)?shù)偷摹T谝阎膶@墨I(xiàn)中,美國專利第6,629,220號(hào)揭露ー種使用ニ個(gè)隊(duì)列儲(chǔ)存不同優(yōu)先權(quán)的傳輸型態(tài)(transaction type)在依據(jù)頻寬限制以調(diào)整優(yōu)先權(quán)的技術(shù)。
于美國專利第6,629, 220號(hào)中,揭露ー種使用ニ個(gè)隊(duì)列儲(chǔ)存不同優(yōu)先權(quán)的傳輸型態(tài)(transaction type)及依據(jù)頻寬限制以調(diào)整優(yōu)先權(quán)的技術(shù)。于美國專利第7,395,448號(hào)中,揭露ー種數(shù)個(gè)將短的存儲(chǔ)器存取命令合并為ー個(gè)長的存儲(chǔ)器存取命令的技術(shù)。于美國專利第6,564, 304號(hào)中,揭露ー種使用對存儲(chǔ)器存取命令重新排序以減少娛式切換的技術(shù)(write command to read command or readcommana to write command)。于美國專利第7,069, 399號(hào)中,揭露ー種使用對存儲(chǔ)器存取命令重新排序的技術(shù),該命令重新排序的技術(shù)依據(jù)潛伏周期(latency cycle)而對存儲(chǔ)器存取命令重新排序。
于美國專利第7,281,110號(hào)中,揭露ー種對SDRAM的預(yù)充命令(PRE)、使能命令(ACT)、讀取命令(READ)、寫入命令(WRITE)重新排序的技術(shù)。然而,在命令重新排序技術(shù)中,會(huì)因系統(tǒng)對最大延遲的要求而使實(shí)際可用的SDRAM頻寬將大幅度的降低了,因此,對ー個(gè)完整需復(fù)雜的計(jì)算機(jī)系統(tǒng)而言,現(xiàn)有的命令重新排序技術(shù)不能獲得最大SDRAM的頻寬且不能保證系統(tǒng)頻寬為最大。故現(xiàn)有存儲(chǔ)器存取的控制系統(tǒng)仍有諸多缺失而有予以改善的必要。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種最優(yōu)化同步存儲(chǔ)器頻寬的存儲(chǔ)器存取系統(tǒng),從而能增進(jìn)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令存取效率,同時(shí)也可避免交錯(cuò)存取的方式(interleaving access)時(shí),因部分存取數(shù)據(jù)量太小的命令而產(chǎn)生SDRAM頻寬的損失問題。依據(jù)本發(fā)明的一特色,本發(fā)明提出一種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)(memory controller),其包括一存儲(chǔ)器命令處理器、及一同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ及協(xié)議控制器(SDRAM interfaceand protocol controller)。該存儲(chǔ)器命令處理器連接至一存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路(memory bus arbiter and dataswitch circuit),以接收由該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路所傳送的存儲(chǔ)器存取命令(memory access command)與數(shù)據(jù),并負(fù)責(zé)轉(zhuǎn)換為最優(yōu)化的排序后的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ及協(xié)議控制器連接至該存儲(chǔ)器命令處理器,以接收該排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,并依據(jù)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的協(xié)議及時(shí)序,執(zhí)行該排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令;其中,該存儲(chǔ)器命令處理器將存儲(chǔ)器存取命令解碼并儲(chǔ)存于一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令(general SDRAM command)隊(duì)列中或替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令(alternative SDRAM command)隊(duì)列中,該被解碼成替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令的存儲(chǔ)器存取命令來自某些一特定總線主控裝置(bus master)所產(chǎn)生。依據(jù)本發(fā)明的另ー特色,本發(fā)明提出一種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取方法,該存儲(chǔ)器存取方法用于ー單芯片系統(tǒng)(SoC)上,以頻寬最優(yōu)化的方式來執(zhí)行同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,該存儲(chǔ)器存取方法包括:A) —存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路選擇/授予下一存儲(chǔ)器存取命令給存儲(chǔ)器存取系統(tǒng);B)該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路將步驟A)仲裁選擇下一個(gè)存儲(chǔ)器存取命令傳送至一最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng);C)該用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)將存儲(chǔ)器存取命令解碼為同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令;D)判斷該存儲(chǔ)器存取命令是否為來自某特定總線主控裝置所產(chǎn)生;E)若步驟D)判定為是,則將同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令儲(chǔ)存至ー替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列,再執(zhí)行步驟G) ;F)若步驟D)判定為否,則將同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令儲(chǔ)存至一一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列,再執(zhí)行步驟G);G)由該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列中選取最小SDRAM頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,并儲(chǔ)存至一最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列。


圖I是現(xiàn)有同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的方塊圖。

圖2是現(xiàn)有DDR存儲(chǔ)器存取命令中對相同的SDRAM存儲(chǔ)體不同頁存取的示意圖。圖3是現(xiàn)有使用交錯(cuò)方式對DDR存儲(chǔ)器存取的示意圖。圖4是本發(fā)明一優(yōu)選實(shí)施例關(guān)于ー種用以最優(yōu)化同步存儲(chǔ)器頻寬的存儲(chǔ)器存取系統(tǒng)的架構(gòu)示意圖。圖5是ー現(xiàn)有一般使用同步動(dòng)態(tài)隨機(jī)存取命令頻寬最優(yōu)化演算法重排后的SDRAM的命令的示意圖。圖6是使用本發(fā)明替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令架構(gòu)的頻寬最優(yōu)化演算法重排后的SDRAM的命令的示意圖。圖7是本發(fā)明一種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取方法的流程圖。圖8是本發(fā)明一優(yōu)選實(shí)施例關(guān)于ー種用以最優(yōu)化同步存儲(chǔ)器頻寬的存儲(chǔ)器存取系統(tǒng)另ー實(shí)施例的使用示意圖。主要元件符號(hào)說明單芯片系統(tǒng)400中央處理器410圖像顯示處理器420MPEG解碼器430繪圖處理器440第一熒幕選單450第二熒幕選單460存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路470用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器490存儲(chǔ)器命令處理器510同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ及協(xié)議控制器550存儲(chǔ)器總線命令接ロ単元511存儲(chǔ)器命令解碼單元512一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514、命令排序控制器515最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列516替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517多エ器518可編程控制暫存器519。
具體實(shí)施例方式本發(fā)明是關(guān)于ー種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)。圖4是本發(fā)明一優(yōu)選實(shí)施例關(guān)于ー種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500的使用示意圖。如圖4所示,本發(fā)明最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500優(yōu)選適用于ー個(gè)單芯片系統(tǒng)(System-on-a-chip, SoC)400的系統(tǒng)上。該單芯片系統(tǒng)(SoC)可包含一處理器410、一圖像顯示處理器(videodisplayprocessor) 420、一 MPEG 解碼器 430、一繪圖處理器(GraphicProcessing Unit, GPU) 440、一第一突幕選單(on screen display, 0SD1)450>一第二突幕選單(0SD2)460、一存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路470、一同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器490、及前述本發(fā)明的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500。前述處理器410、圖像顯示處理器420、MPEG解碼器430、繪圖處理器440、第一熒幕選單450、第二熒幕選單460均為特定總線主控裝置。該特定總線可為AMBA總線、OCP總線、PCI總線(PCI-bus)等相關(guān)總線的系統(tǒng)。所述主控裝置會(huì)對該存儲(chǔ)器總線仲裁器及數(shù) 據(jù)切換電路470產(chǎn)生存儲(chǔ)器存取需求命令(memory access request)。該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路470將仲裁存儲(chǔ)器存取需求命令,當(dāng)仲裁器選擇了某個(gè)總線主控裝置的需求后,就會(huì)接收該總線主控裝置所產(chǎn)生存儲(chǔ)器存取命令。該最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500包括一存儲(chǔ)器命令處理器510、及一同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ及協(xié)議控制器550。該存儲(chǔ)器命令處理器510連接至該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路440,以接收由該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路440所傳送的存儲(chǔ)器存取命令與數(shù)據(jù),并轉(zhuǎn)換成經(jīng)排序過后的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令(ordered SDRAM command)。該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ及協(xié)議控制器550連接至該存儲(chǔ)器命令處理器510,以接收該經(jīng)排序過后的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,并依據(jù)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的協(xié)議及時(shí)序,執(zhí)行該排序過后的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。該存儲(chǔ)器命令處理器510將存儲(chǔ)器存取命令解碼成一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令或替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令。該被解碼成替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令的存儲(chǔ)器存取命令來自某些特定總線主控裝置所產(chǎn)生的。為方便說明,于本實(shí)施例中,該某些特定總線主控裝置為第一熒幕選單450及第ニ熒幕選單(0SD2)460。于其他實(shí)施例中,也可選取其他主控裝置作為該特定總線主控裝置。于圖4的本發(fā)明用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500的示意圖中。進(jìn)ー步顯示該存儲(chǔ)器命令處理器510包含一存儲(chǔ)器總線命令接ロ單元(memory buscommand interface unit) 511> 一存儲(chǔ)器命令角軍石馬單兀(memory command decoder) 512>
--般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列(general SDRAM command queue) 513、一替代同
步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列(alternative SDRAM command queue) 514、一命令排序控制器(command reorder controller) 515、一最小懲罰同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列(minimun penalty SDRAM commandqueue) 516、一替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器(alternative SDRAM command and data request controller) 517、一SDRAM命令選取多エ器518、及一可編程控制暫存器519。該存儲(chǔ)器總線命令接ロ単元511連接至該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路470,以接收該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路470所傳送的存儲(chǔ)器存取命令,和處理存儲(chǔ)器存取命令的數(shù)據(jù)收送。該存儲(chǔ)器命令解碼單元512連接至該存儲(chǔ)器總線命令接ロ単元511,以對該存儲(chǔ)器存取命令解碼,而產(chǎn)生數(shù)個(gè)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令可分為該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令。該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513連接至該存儲(chǔ)器命令解碼單元512,以暫時(shí)儲(chǔ)存該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。
該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514連接至該存儲(chǔ)器命令解碼單元512,以暫時(shí)儲(chǔ)存該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令。該命令排序控制器515連接至該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514,依據(jù)ー最優(yōu)化同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ的頻寬使用率,以選擇該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令,作為下ー個(gè)重新排序過后的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。該多エ器518連接至該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514、及該命令排序控制器515,以選擇從該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514的輸出命令,而選擇該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令,作為下ー個(gè)重新排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。并輸出至該最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列516。該最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列516經(jīng)由該多エ器518連接至該命令排序控制器515、該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514,以暫存該經(jīng)重新排序過后的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517連接至該命令排序控制器515及該特定總線主控裝置450,460,并具有一要求新存儲(chǔ)器存取命令信號(hào)(request new memory access commandsignal) 521,以通知該特定總線主控裝置 450,460。當(dāng)該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514中所儲(chǔ)存的該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令耗盡或數(shù)量過少時(shí),該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517就可利用該要求新存儲(chǔ)器存取命令信號(hào),以通知該特定總線主控裝置450,460,從而產(chǎn)生和輸出存儲(chǔ)器存取命令。該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517具有ー緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào)(urgent data request signal anddata fifo near fullsignal) 523,連接至該命令排序控制器515依據(jù)該緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào)以調(diào)高該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令的優(yōu)先次序或暫時(shí)不選取替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令。
當(dāng)該特定總線主控裝置450,460急需數(shù)據(jù)時(shí),可經(jīng)由該緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào)523,來告知該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517、再通知該命令排序控制器515,該命令排序控制器515依據(jù)該緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào)以調(diào)整該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令的優(yōu)先次序。以免該特定總線主控裝置450,460產(chǎn)生數(shù)據(jù)饑渴(data starved)情形。對于該特定總線主控裝置450,460所產(chǎn)生的存儲(chǔ)器存取命令,一定會(huì)被該存儲(chǔ)器命令解碼單元512將之解碼至同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器490的某些特定SDRAM存儲(chǔ)體地址范圍。例如解碼至同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器490SDRAM的第一存儲(chǔ)體和SDRAM的第二個(gè)存儲(chǔ)體地址范圍、或同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的四個(gè)存儲(chǔ)體地址范圍。該可編程控制暫存器519連接至該命令排序控制器515,該命令排序控制器515可依據(jù)該可編程控制暫存器519的設(shè)定值,以調(diào)整該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令的優(yōu)先次序。該命令排序控制器515會(huì)將一存儲(chǔ)器存取命令解碼產(chǎn)生的所有同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令組合在一起做SDRAM命令的重排和輸出。
圖5是ー現(xiàn)有依序(inorder)執(zhí)行SDRAM的命令的時(shí)序示意圖。由圖5所示可知,多個(gè)SDRAM命令是從ー個(gè)單一存儲(chǔ)器存取命令所產(chǎn)生的。例如存儲(chǔ)器存取命令I(lǐng)可解碼成ニ個(gè)在SDRAM存儲(chǔ)體O頁2 (bank O page 2)地址的SDRAM命令,存儲(chǔ)器存取命令I(lǐng)可解碼成四個(gè)在SDRAM存儲(chǔ)體2頁3 (bank 2 page 3)地址及SDRAM存儲(chǔ)體3頁3 (bank 3 page3)地址的SDRAM命令。由于現(xiàn)有技術(shù)中沒有本發(fā)明的替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514,因此一般的具有命令重新排序的SDRAM控制器從一般命令的隊(duì)列中找到或選擇沒有或最少頻寬損失(penalty)的SDRAM存取命令,為下ー個(gè)SDRAM存取命令。利用重新排序的SDRAM命令來改善SDRAM的頻寬利用率的問題。一般情況下,姆個(gè)主控裝置有不同的行為和存儲(chǔ)器地址區(qū)間來存取存儲(chǔ)器。例如,視頻解碼器和視頻處理主控裝置將使用ニ維(區(qū)塊)模式來存取存儲(chǔ)器(X方向的起始地址、Y方向的起始地址、X方向的長度、及Y方向的長度)。而直接存取裝置(Direct Access Memory, DMA)使用連續(xù)地址方式來存取存儲(chǔ)器。RISC/DSP的處理器則多為短數(shù)據(jù)長度及不連續(xù)的地址的存取存儲(chǔ)器命令型態(tài)。因此,一般SDRAM命令隊(duì)列中是無法保證找的到無頻寬損失(no-penalty)的SDRAM存取命令以供具有SDRAM命令重新排序的SDRAM控制器使用。具有SDRAM命令重新排序的SDRAM控制器會(huì)從一般SDRAM命令隊(duì)列的SDRAM存取命令進(jìn)行重新排序,以產(chǎn)生如圖5右邊所示最小頻寬損失的SDRAM存取命令(Min. penaltySDRAM cmd.)。圖5右邊所示最小頻寬損失的SDRAM存取命令是現(xiàn)有重新排序技術(shù)所產(chǎn)生的最佳的結(jié)果。如圖5所示,在C處對SDRAM存儲(chǔ)體O的地址進(jìn)行存取、在D處對SDRAM存儲(chǔ)體I的地址進(jìn)行存取、在E處對SDRAM存儲(chǔ)體O的地址進(jìn)行存取,似有交錯(cuò)存取的效果,然而由于在D處進(jìn)行存取的數(shù)據(jù)量(長度)太小,也會(huì)產(chǎn)生頻寬損失(penalty)。而且在E處及F處均對SDRAM存儲(chǔ)體O的地址進(jìn)行存取,對不同的頁(page)存取吋,F(xiàn)處的存取命令需下預(yù)充命令(PRE)及使能命令(Active),而造成大量的潛伏周期(latency cycle)。會(huì)造成在E處及F處均對SDRAM存儲(chǔ)體O的地址進(jìn)行存取的情形主要是因?yàn)樵摡`般SDRAM命令的隊(duì)列所暫存的SDRAM存取命令數(shù)量太少的緣故?,F(xiàn)有的解決辦法是將該一般命令的隊(duì)列容量加大,以暫存大量的存儲(chǔ)器存取命令。而當(dāng)該一般命令的隊(duì)列容量加大后,會(huì)使系統(tǒng)產(chǎn)生有很大的存儲(chǔ)器存取數(shù)據(jù)潛伏周期(latency cycle)和情形,也就是存儲(chǔ)器發(fā)出ー個(gè)存儲(chǔ)器存取命令到取得數(shù)據(jù)的時(shí)間會(huì)加大很多。在這種情況下,該一般命令的隊(duì)列的儲(chǔ)存容量將被限制,因此同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令即使使用最佳的重新排序方法也會(huì)具有一定量的SDRAM頻寬損失,而降低系統(tǒng)效能。圖6是使用本發(fā)明替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514時(shí)SDRAM的命令的示意圖。本發(fā)明的替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514的設(shè)計(jì),在于用來儲(chǔ)存某些總線主控裝置會(huì)周期性地發(fā)出存儲(chǔ)器存取命令。該主控裝置的存儲(chǔ)器存取命令的對應(yīng)的SDRAM的地址范圍可預(yù)先規(guī)劃,以滿足最優(yōu)化的SDRAM命令交錯(cuò)取存演算法。如圖6所示,替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514中有一系列的存儲(chǔ)器存取命令。

于本實(shí)施例中,總線主控裝置為在ー多媒體應(yīng)用中的該第一熒幕選單450及該第ニ熒幕選單(0SD2)460。對應(yīng)至該第一熒幕選單450存儲(chǔ)器存取命令為SDRAM在存儲(chǔ)體O (bank-Ο)及存儲(chǔ)體I (bank-1)。亦即,該第一熒幕選單450存儲(chǔ)器存取命令會(huì)被解碼而存取SDRAM為在存儲(chǔ)體O (bank-Ο)及在存儲(chǔ)體I (bank-1)的SDRAM存儲(chǔ)器位置。對應(yīng)至該第二熒幕選單(0SD2) 460存儲(chǔ)器存取命令的SDRAM為在存儲(chǔ)體2 (bank-2)及存儲(chǔ)體3 (bank-3)的SDRAM存儲(chǔ)器位置。因此,在該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514中總是具有不同SDRAM存儲(chǔ)體的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。因此,該命令排序控制器515可使用儲(chǔ)存在該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514,以產(chǎn)生沒有頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令序列(no penaltySDRAM command sequence)。圖6右邊處為最佳的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令序列(SDRAMcommandsequence)。由圖6所示可知,圖6中該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令序列(SDRAM commandsequence)不會(huì)有像圖5由于在D處進(jìn)行存取的數(shù)據(jù)量太小所產(chǎn)生SDRAM頻寬損失的情形,或是圖5在E處及F處均對SDRAM存儲(chǔ)體O進(jìn)行存取而需下預(yù)充命令(PRE)及使能命令(ACT)而造成大量的SDRAM頻寬損失和潛伏周期(latency cycle)的問題。如圖4所示,本發(fā)明的存儲(chǔ)器存取系統(tǒng)500中,有一個(gè)專用的接ロ給該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514。該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517用于請求新的存儲(chǔ)器存取命令。當(dāng)該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514中沒有足夠的存取命令以維持沒有SDRAM頻寬損失的排序方法時(shí),該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517使用該要求新存儲(chǔ)器存取命令信號(hào)(request newmemory access command signal) 521,以通知該特定總線主控裝置450、460。例如當(dāng)需要對SDRAM存儲(chǔ)體2 (bank-2)或SDRAM存儲(chǔ)體3 (bank-3)執(zhí)行同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令時(shí),該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517將使用該要求新存儲(chǔ)器存取命令信號(hào)521通知該第二熒幕選單(0SD2)460發(fā)出新的存儲(chǔ)器存取命令。如圖4所示,當(dāng)該特定總線主控裝置450,460急需數(shù)據(jù)時(shí),可經(jīng)由該緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào)523,通知該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器517、及該命令排序控制器515,該命令排序控制器515依據(jù)該緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào)以暫時(shí)調(diào)低該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令的優(yōu)先權(quán)。于本實(shí)施例中,儲(chǔ)存于該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513的存儲(chǔ)器存取命令較儲(chǔ)存于該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514的存儲(chǔ)器存取命令有較高的優(yōu)先權(quán)。該命令排序控制器515使用一計(jì)時(shí)器(圖未示)來改變優(yōu)先次序,以保證某些特定總線主控裝置的服務(wù)時(shí)間和頻寬。當(dāng)該特定總線主控裝置450,460產(chǎn)生該緊急數(shù)據(jù)要求信號(hào)523時(shí),該命令排序控制器515會(huì)將儲(chǔ)存于該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514的存儲(chǔ)器存取命令有較高的優(yōu)先權(quán),以滿足該特定總線主控裝置450,460的存儲(chǔ)器存取命令的數(shù)據(jù)需求。當(dāng)該特定總線主控裝置的數(shù)據(jù)讀取暫存器(buffer)的空間達(dá)到接近滿水位吋,就會(huì)使用“FIFO data near full” (FIFO數(shù)據(jù)快滿)信號(hào)來告知命令排序控制器515,此時(shí)命令排序控制器515則只可選擇儲(chǔ)存于該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513中的存儲(chǔ)器存取命令。圖7為本發(fā)明一種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取方法的流程圖。其 用于ー單芯片系統(tǒng)(System-on-a-chip,SoC) 400上,以SDRAM頻寬最優(yōu)化的演算法和架構(gòu)對該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器490作數(shù)據(jù)的存取。首先,在步驟A中,該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路470選擇/授予下一存儲(chǔ)器存取命令給存儲(chǔ)器存取系統(tǒng)500。在步驟B中,該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路470將步驟A中選擇的下ー個(gè)存儲(chǔ)器存取命令傳送至該用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500。在步驟C中,該用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500將存儲(chǔ)器存取命令解碼為同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。在步驟D中,判斷該存儲(chǔ)器存取命令是否為特定總線主控裝置所產(chǎn)生,若是,則在步驟E中將同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令儲(chǔ)存至該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514,若否,則在步驟F中將同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令儲(chǔ)存至該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513。其中,對應(yīng)于特定總線主控裝置所產(chǎn)生的該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令被解碼到該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的某些特定存儲(chǔ)體。在步驟G中,由該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514中選取沒有或最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,并儲(chǔ)存至該最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列516。圖8是本發(fā)明的一優(yōu)選實(shí)施例關(guān)于ー種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)500另ー實(shí)施例的使用示意圖。其與圖4的差別主要在于新增一存取存儲(chǔ)器的主控裝置520。該存取存儲(chǔ)器的主控裝置520可為ー熒幕選單(OSD)或一直接存取存儲(chǔ)器(direct memoryaccess,DMA)控制器。該存取存儲(chǔ)器的主控裝置520可包含一組可編程控制器(圖未示)以設(shè)定相關(guān)存儲(chǔ)器存取參數(shù),例如讀取數(shù)據(jù)存儲(chǔ)器的起始位置、存取長度、寫入數(shù)據(jù)存儲(chǔ)器的起始位置,平均使用頻寬量。由前述說明可知,本發(fā)明提供一種用以最優(yōu)化同步存儲(chǔ)器頻寬的存儲(chǔ)器存取系統(tǒng)及方法,其提出一新的存儲(chǔ)器存取架構(gòu)及方法。本發(fā)明利用替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514以暫存來自特定總線主控裝置所產(chǎn)生的存儲(chǔ)器存取命令,該來自特定總線主控裝置所產(chǎn)生的SDRAM存儲(chǔ)器存取命令會(huì)被存儲(chǔ)器命令解碼單元512解碼至特定的SDRAM存儲(chǔ)體。由此,命令排序控制器515可由該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列513或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列514,依據(jù)ー最大同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ使用率,以選擇該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令,作為該排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。由于來自特定總線主控裝置所產(chǎn)生的存儲(chǔ)器存取命令會(huì)被解碼至特定的SDRAM存儲(chǔ)體,因此命令排序控制器515可在同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令實(shí)現(xiàn)無頻寬損失交錯(cuò)存取(no-penalty interleavingaccess),以最優(yōu)化SDRAM存取效率,同時(shí)也可有效避免在SDRAM存儲(chǔ)器交錯(cuò)存取的方式(interleaving access)時(shí),因某些SDRAM存儲(chǔ)器命令的存取數(shù)據(jù)量太小而產(chǎn)生頻寬損失的問題。由上述可知,本發(fā)明無論就目的、手段及功效,均顯示其迥異于現(xiàn)有技術(shù)的特征, 極具實(shí)用價(jià)值。但是應(yīng)注意的是,上述諸多實(shí)施例僅為了便于說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以申請專利范圍所述為準(zhǔn),而非僅限于上述實(shí)施例。
權(quán)利要求
1.一種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),包括 一存儲(chǔ)器命令處理器,其連接至一存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路,以接收由該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路所傳送的存儲(chǔ)器存取命令,并轉(zhuǎn)換成一排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令;以及 一同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器接ロ及協(xié)議控制器,其連接至該存儲(chǔ)器命令處理器,以接收該排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,并依據(jù)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的協(xié)議及時(shí)序,執(zhí)行該排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令; 其中,該存儲(chǔ)器命令處理器將存儲(chǔ)器存取命令解碼成一一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令或一替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令,該解碼成該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令的存儲(chǔ)器存取命令是由ー特定總線主控裝置所產(chǎn)生。
2.根據(jù)權(quán)利要求I所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,該存儲(chǔ)器命令處理器包含 一存儲(chǔ)器總線命令接ロ単元,連接至該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路,以接收該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路所傳送的存儲(chǔ)器存取命令,及處理數(shù)據(jù)收送; 一存儲(chǔ)器命令解碼單元,連接至該存儲(chǔ)器總線命令接ロ単元,以對該存儲(chǔ)器存取命令解碼,而產(chǎn)生同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令可分為該ー般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令; 一一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列,連接至該存儲(chǔ)器命令解碼單元,以暫時(shí)儲(chǔ)存該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令; 一替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列,連接至該存儲(chǔ)器命令解碼單元,以暫時(shí)儲(chǔ)存該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令; 一命令排序控制器,連接至該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列,依據(jù)ー最大同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器數(shù)據(jù)接ロ使用率,以選擇該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器隊(duì)列中的命令或該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令,作為下ー個(gè)排序后的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令;以及 一最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列,連接至該命令排序控制器、該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列,以暫存該排序過的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令。
3.根據(jù)權(quán)利要求2所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,該存儲(chǔ)器命令處理器還包含 一替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器,其連接至該命令排序控制器,并具有一要求新存儲(chǔ)器存取命令信號(hào),以通知該特定總線主控裝置。
4.根據(jù)權(quán)利要求3所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令及數(shù)據(jù)要求控制器具有ー緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào),該命令排序控制器依據(jù)該緊急數(shù)據(jù)要求信號(hào)及數(shù)據(jù)隊(duì)列快滿信號(hào)以調(diào)整該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令的優(yōu)先次序。
5.根據(jù)權(quán)利要求4所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,對于該特定總線主控裝置所產(chǎn)生的存儲(chǔ)器存取命令,該存儲(chǔ)器命令解碼單元將之解碼至同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的特定且單一存儲(chǔ)體地址范圍。
6.根據(jù)權(quán)利要求4所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,對于該特定總線主控裝置所產(chǎn)生的存儲(chǔ)器存取命令,該存儲(chǔ)器命令解碼單元將之解碼至同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器某特定的ニ個(gè)存儲(chǔ)體地址范圍。
7.根據(jù)權(quán)利要求6所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,對于該特定總線主控裝置所產(chǎn)生的存儲(chǔ)器存取命令,該存儲(chǔ)器命令解碼單元將之解碼至同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的四個(gè)存儲(chǔ)體地址范圍。
8.根據(jù)權(quán)利要求4所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,該存儲(chǔ)器命令處理器還包含 一可編程控制暫存器,連接至該命令排序控制器,該命令排序控制器可依據(jù)該可編程控制暫存器的設(shè)定值,以調(diào)整該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令的優(yōu)先次序。
9.根據(jù)權(quán)利要求4所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng),其中,該命令排序控制器將來自同一存儲(chǔ)器存取命令解碼產(chǎn)生的所有同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令一起做重新排列輸出至該最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列。
10.一種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取方法,該存儲(chǔ)器存取方法用于ー單芯片系統(tǒng)上,以頻寬最優(yōu)化的方式來執(zhí)行同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令,該存儲(chǔ)器存取方法包括 A)一存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路選擇/授予下一存儲(chǔ)器存取命令; B)該存儲(chǔ)器總線仲裁器及數(shù)據(jù)切換電路將步驟A)中所選擇的存儲(chǔ)器存取命令傳送至一用以最優(yōu)化同步存儲(chǔ)器頻寬的存儲(chǔ)器存取系統(tǒng); C)該用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)將存儲(chǔ)器存取命令解碼為同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令; D)判斷該存儲(chǔ)器存取命令是否為特定總線主控裝置所產(chǎn)生; E)若步驟D)判定為是,則將同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令儲(chǔ)存至ー替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列,再執(zhí)行步驟G); F)若步驟D)判定為否,則將同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令儲(chǔ)存至一一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列,再執(zhí)行步驟G);以及 G)由該一般同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列及該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列中選取最小SDRAM頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令,并儲(chǔ)存至一最小頻寬損失的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令隊(duì)列。
11.根據(jù)權(quán)利要求10所述的用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取方法,其中,對應(yīng)于特定總線主控裝置所產(chǎn)生的該替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令存取該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的特定存儲(chǔ)體。
全文摘要
本發(fā)明提供一種用以最優(yōu)化同步存儲(chǔ)器的頻寬的存儲(chǔ)器存取系統(tǒng)及方法,其將來自特定總線主控裝置所產(chǎn)生的存儲(chǔ)器存取命令解碼成可替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令,并暫存于一替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令隊(duì)列中,其中,替代同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的命令被安排存取該同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)的某些特定存儲(chǔ)體,由此,一命令排序控制器在同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令中實(shí)現(xiàn)最優(yōu)化的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器命令交錯(cuò)存取的方式,以增進(jìn)SDRAM的有效存取頻寬,也可避免交錯(cuò)存取的方式時(shí),因部分存取數(shù)據(jù)量太小的命令而產(chǎn)生SDRAM頻寬的損失問題。
文檔編號(hào)G06F13/16GK102693195SQ20111007586
公開日2012年9月26日 申請日期2011年3月24日 優(yōu)先權(quán)日2011年3月24日
發(fā)明者李家豪, 黃明權(quán) 申請人:凌陽科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
顺昌县| 会宁县| 湄潭县| 鄂托克前旗| 自治县| 博白县| 余姚市| 肃南| 华阴市| 太湖县| 德江县| 永福县| 永仁县| 新营市| 孟村| 萨嘎县| 元阳县| 普安县| 舒兰市| 宁城县| 樟树市| 灵寿县| 甘谷县| 紫云| 新宁县| 白城市| 罗江县| 左权县| 泰宁县| 开平市| 乌恰县| 邢台县| 阿鲁科尔沁旗| 西盟| 正阳县| 福清市| 张掖市| 玛曲县| 吉首市| 黄大仙区| 罗源县|