專利名稱:用于調(diào)度命令的存儲(chǔ)器控制設(shè)備及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及命令處理,更具體地講,涉及一種用于當(dāng)多個(gè)主裝置訪問存儲(chǔ)器時(shí)控制處理來自這些主裝置的存儲(chǔ)器訪問命令的次序以提高命令處理速度的存儲(chǔ)器控制設(shè)備及方法。
背景技術(shù):
在包括處理器的系統(tǒng)中,由處理器執(zhí)行的命令代碼通常被存儲(chǔ)在存儲(chǔ)器中,并且處理器基于解釋該命令代碼的次序來工作。執(zhí)行命令并訪問存儲(chǔ)器的處理器被稱為主裝置。單個(gè)系統(tǒng)根據(jù)情況能夠包括多個(gè)主裝置。近來,系統(tǒng)被構(gòu)造在單個(gè)芯片上,這被稱為片上系統(tǒng)(SOC)。SOC也能夠包括多主裝置。
多個(gè)主裝置獨(dú)立地執(zhí)行命令,因此,多個(gè)命令代碼分別訪問存儲(chǔ)器。因此,必須控制處理多存儲(chǔ)器訪問命令的次序。執(zhí)行控制處理存儲(chǔ)器訪問命令的次序的功能的裝置被稱為命令調(diào)度器。命令調(diào)度器分析當(dāng)前處理的存儲(chǔ)器訪問命令并控制命令處理次序。命令調(diào)度器位于總線控制器中,而非位于存儲(chǔ)器控制器中。
然而,總線控制器的結(jié)構(gòu)變得復(fù)雜并且其處理速度降低,因?yàn)榧词乖谶@樣的不經(jīng)常發(fā)生的情況下,即當(dāng)多個(gè)主裝置訪問同一存儲(chǔ)器區(qū)域時(shí),命令調(diào)度器仍判斷命令處理次序是否被改變。
發(fā)明內(nèi)容
本發(fā)明提供了一種用于基于由存儲(chǔ)器訪問命令訪問的存儲(chǔ)器區(qū)域的地址控制處理這些命令的次序以提高存儲(chǔ)器訪問速度的存儲(chǔ)器控制設(shè)備和方法。
根據(jù)本發(fā)明的一方面,提供了一種存儲(chǔ)器控制器,包括命令隊(duì)列,從至少一個(gè)主裝置接收存儲(chǔ)器訪問命令,并存儲(chǔ)存儲(chǔ)器訪問命令;確定單元,分析將由接收的命令訪問的存儲(chǔ)器的地址以控制處理存儲(chǔ)的命令的次序;和命令解釋器,解釋在確定單元的控制下輸出的命令以輸出地址相關(guān)信號(hào)。
最好而非必須,由主裝置訪問的存儲(chǔ)器是DRAM。命令解釋器包括RAS(行地址選通脈沖)處理器,產(chǎn)生DRAM的RAS信號(hào);和CAS(列地址選通脈沖)處理器,產(chǎn)生DRAM的CAS信號(hào)。
最好而非必須,確定單元決定處理存儲(chǔ)在存儲(chǔ)器訪問命令隊(duì)列中的命令的次序,從而用于訪問被由命令解釋器當(dāng)前處理的存儲(chǔ)器訪問命令訪問的存儲(chǔ)器的同一存儲(chǔ)體的同一頁(yè)的存儲(chǔ)器訪問命令被首先處理。
根據(jù)本發(fā)明的另一方面,提供了一種存儲(chǔ)器控制方法,該方法包括從至少一個(gè)主裝置接收存儲(chǔ)器訪問命令并存儲(chǔ)存儲(chǔ)器訪問命令;分析將由接收的命令訪問的存儲(chǔ)器的地址以控制處理存儲(chǔ)的命令的次序;和解釋基于控制的次序輸出的命令以輸出地址相關(guān)信號(hào)。
通過結(jié)合附圖對(duì)其示例性實(shí)施例進(jìn)行詳細(xì)的描述,本發(fā)明的以上和其他特性和優(yōu)點(diǎn)將會(huì)變得更加清楚,其中圖1是包括多個(gè)主裝置的片上系統(tǒng)的方框圖;圖2是訪問DRAM所需的信號(hào)的時(shí)序圖;圖3表示響應(yīng)于圖2中顯示的存儲(chǔ)器訪問信號(hào)從DRAM存儲(chǔ)器基元(cell)輸出的數(shù)據(jù);圖4表示根據(jù)本發(fā)明示例性實(shí)施例由存儲(chǔ)器控制器改變處理來自主裝置的命令的次序的操作;圖5是根據(jù)本發(fā)明示例性實(shí)施例的存儲(chǔ)器控制器的方框圖;圖6表示包括多個(gè)存儲(chǔ)體(bank)的存儲(chǔ)器的結(jié)構(gòu);圖7是顯示RAS信號(hào)的產(chǎn)生的狀態(tài)示圖;圖8是顯示CAS信號(hào)的產(chǎn)生的狀態(tài)示圖;和圖9是根據(jù)本發(fā)明示例性實(shí)施例的存儲(chǔ)器控制方法的流程圖。
具體實(shí)施例方式
現(xiàn)在將參照附圖來更加全面地描述本發(fā)明,本發(fā)明的示例性實(shí)施例表示在附圖中,然而,本發(fā)明可以以很多不同形式來實(shí)現(xiàn),并且不應(yīng)被解釋為限于這里闡述的實(shí)施例,提供這些實(shí)施例是為了使此公開徹底和完全并向本領(lǐng)域技術(shù)人員充分傳達(dá)本發(fā)明的思想。在所有附圖中,相同的標(biāo)號(hào)表示相同部件。
圖1是包括多個(gè)主裝置的片上系統(tǒng)(SOC)100的方框圖。參照?qǐng)D1,SOC100包括多個(gè)主裝置110、112、和114。主裝置是一種讀取存儲(chǔ)在存儲(chǔ)器中的命令并執(zhí)行該命令的處理器。例如,中央處理單元、視頻/圖形處理器、音頻處理器、或網(wǎng)絡(luò)處理器可以是主裝置。
來自主裝置110、112、和114的存儲(chǔ)器訪問命令被發(fā)送給總線控制器120??偩€控制器120控制處理來自多個(gè)主裝置110、112、和114的存儲(chǔ)器訪問命令的次序??偩€控制器120包括總線仲裁器和命令調(diào)度器。
存儲(chǔ)器控制器130順序地處理從總線控制器120發(fā)送的存儲(chǔ)器訪問命令,以產(chǎn)生訪問存儲(chǔ)器140所需的信號(hào)。當(dāng)存儲(chǔ)器140是DRAM時(shí),該信號(hào)包括RAS(行地址選通脈沖)信號(hào)和CAS(列地址選通脈沖)信號(hào)。存儲(chǔ)器控制器130可位于SOC 100外部?,F(xiàn)在將解釋存儲(chǔ)器140是DRAM的情況。
圖2是訪問DRAM所需的信號(hào)的時(shí)序圖。為了訪問DRAM,需要時(shí)鐘信號(hào)210、地址信號(hào)220、RAS信號(hào)230、CAS信號(hào)240、和WE信號(hào)250。當(dāng)RAS信號(hào)230為低電平時(shí)輸出的地址值222是表示DRAM行地址的行地址。當(dāng)RAS信號(hào)230變?yōu)榈碗娖綍r(shí),與作為地址值222的行地址對(duì)應(yīng)的行的數(shù)據(jù)被讀取并被復(fù)制到讀出放大器。當(dāng)CAS信號(hào)240變?yōu)榈碗娖綍r(shí),輸出與作為當(dāng)CAS信號(hào)240為低電平時(shí)的地址值224的列地址對(duì)應(yīng)的數(shù)據(jù)260。在突發(fā)模式的情況下,對(duì)于時(shí)鐘信號(hào)210的每一個(gè)脈沖輸出預(yù)定數(shù)量的數(shù)據(jù)項(xiàng)。然后,WE信號(hào)250被轉(zhuǎn)換成低電平以執(zhí)行預(yù)充電(precharge)226。這里,預(yù)充電表示復(fù)制到讀出放大器的數(shù)據(jù)又被復(fù)制到DRAM的對(duì)應(yīng)行。
圖3表示響應(yīng)于圖2中顯示的存儲(chǔ)器訪問信號(hào)從DRAM存儲(chǔ)器基元輸出的數(shù)據(jù)。
假定單個(gè)存儲(chǔ)器基元310包括在水平方向的512個(gè)電容器和在垂直方向的1024個(gè)電容器。這里,單個(gè)電容器存儲(chǔ)1位數(shù)據(jù)。由512個(gè)電容器構(gòu)造的單元被稱為頁(yè)。頁(yè)由行地址選擇。通常,16個(gè)存儲(chǔ)器基元構(gòu)造單個(gè)存儲(chǔ)體。當(dāng)使用16個(gè)存儲(chǔ)器基元時(shí),產(chǎn)生16位數(shù)據(jù)。因此,單個(gè)頁(yè)包括512個(gè)16位數(shù)據(jù)項(xiàng)。根據(jù)情況,存儲(chǔ)器基元可在水平方向包括1024或2048個(gè)電容器。在這種情況下,單個(gè)頁(yè)對(duì)應(yīng)于2K字節(jié)或4K字節(jié)。
現(xiàn)在將解釋輸出布置在由處理器訪問的位置的數(shù)據(jù)的操作。
當(dāng)處理器的第一命令是用于訪問存儲(chǔ)器的第一行的命令時(shí),第一頁(yè)312的512字節(jié)數(shù)據(jù)根據(jù)行地址被輸入到讀出放大器320。存在16個(gè)讀出放大器,因此,由該行地址選擇的另一頁(yè)的512字節(jié)數(shù)據(jù)可被記錄。然后,存儲(chǔ)在讀出放大器320中的數(shù)據(jù)項(xiàng)之一被列地址選擇并被輸出。在突發(fā)模式的情況下,從讀出放大器輸出預(yù)定數(shù)量的數(shù)據(jù)項(xiàng)。讀出放大器通常由SRAM構(gòu)造。當(dāng)應(yīng)用預(yù)充電信號(hào)時(shí),記錄在讀出放大器320中的數(shù)據(jù)被復(fù)制到第一頁(yè)312。
當(dāng)處理器訪問第十頁(yè)314時(shí),第十頁(yè)314的數(shù)據(jù)項(xiàng)被行地址選擇并被復(fù)制到讀出放大器320。然后,與單個(gè)列對(duì)應(yīng)的數(shù)據(jù)被該列地址選擇。以這種方式,訪問DRAM的地址,從而輸出對(duì)應(yīng)數(shù)據(jù)。
圖4表示根據(jù)本發(fā)明由存儲(chǔ)器控制器改變處理來自主裝置的命令的次序的操作。
多個(gè)命令被從主裝置輸入到存儲(chǔ)器控制器410。假定存儲(chǔ)器控制器接收三個(gè)命令,第一命令用于訪問存儲(chǔ)器420的第一頁(yè)的第一列的數(shù)據(jù),第二命令用于訪問存儲(chǔ)器420的第十頁(yè)的第一列的數(shù)據(jù),并且第三命令用于訪問存儲(chǔ)器420的第一頁(yè)的第五列的數(shù)據(jù)。另外,假定存儲(chǔ)器420工作于突發(fā)模式并且輸出為突發(fā)的數(shù)據(jù)項(xiàng)的數(shù)量被設(shè)置為4。
當(dāng)這三個(gè)命令以輸入這些命令的次序被處理時(shí),不必要地消耗了時(shí)間,因?yàn)殡m然第一和第三命令訪問存儲(chǔ)器的同一頁(yè),但這些命令仍被無條件地以這些命令的輸入次序處理。如果第一命令被執(zhí)行,然后第三命令立即被執(zhí)行,則不需要為第三命令產(chǎn)生RAS信號(hào),而僅需要產(chǎn)生CAS信號(hào),這顯著地提高了處理速度。
因此,本發(fā)明的存儲(chǔ)器控制器410直接決定處理這些命令的次序。也就是說,雖然這些命令以1、2、和3的次序被從主裝置輸入,但是當(dāng)存儲(chǔ)器控制器410判斷命令1和3訪問存儲(chǔ)器420的相鄰位置時(shí),存儲(chǔ)器控制器410將命令處理次序決定為1、3、和2。
圖5是根據(jù)本發(fā)明的存儲(chǔ)器控制器的方框圖。該存儲(chǔ)器控制器包括命令隊(duì)列510、確定單元520、和命令解釋器560。命令解釋器560包括RAS處理器530、RAS隊(duì)列540、和CAS處理器550。
從主裝置輸入的命令被順序地存儲(chǔ)在命令隊(duì)列510中。這里,假定命令以1、2、和3的次序被從主裝置輸入。當(dāng)?shù)谝幻畋惠斎氲絉AS處理器530時(shí),RAS處理器530產(chǎn)生決定將被訪問的存儲(chǔ)器的行地址的RAS信號(hào),并輸出該RAS信號(hào)。然后,第一命令被發(fā)送給RAS隊(duì)列540。CAS處理器550解釋存儲(chǔ)在RAS隊(duì)列540中的第一命令以產(chǎn)生決定將被訪問的存儲(chǔ)器的列地址的CAS信號(hào),并輸出該CAS信號(hào)。如上所述,產(chǎn)生RAS信號(hào),然后產(chǎn)生CAS信號(hào)。
CAS處理器550執(zhí)行第一命令的預(yù)充電,然后處理下一個(gè)命令。然而,當(dāng)?shù)谝缓偷谌钤L問存儲(chǔ)器的同一頁(yè)時(shí),CAS處理器550不處理下一個(gè)第二命令,而是在處理第二命令之前處理第三命令。這是由確定單元520確定的。在這種情況下,由于第一和第三命令具有相同的行地址,所以不產(chǎn)生用于第三命令的RAS信號(hào),而僅再為第三命令產(chǎn)生CAS信號(hào)。
圖6表示包括多個(gè)存儲(chǔ)體的存儲(chǔ)器的結(jié)構(gòu)。在圖6中,該存儲(chǔ)器包括四個(gè)存儲(chǔ)體。這些存儲(chǔ)體獨(dú)立地工作。例如,在存儲(chǔ)體0的一頁(yè)的第五行被訪問的同時(shí),存儲(chǔ)體1的一頁(yè)的第十行可被訪問。
圖7是顯示RAS信號(hào)的產(chǎn)生的狀態(tài)示圖。
當(dāng)在RAS空閑狀態(tài)中命令隊(duì)列不為空并且用于訪問將被訪問的存儲(chǔ)器的不同存儲(chǔ)體的命令被輸入時(shí),存儲(chǔ)在命令隊(duì)列中的命令被解釋以產(chǎn)生RAS信號(hào),狀態(tài)返回至RAS空閑狀態(tài)。在自動(dòng)刷新時(shí)間,自動(dòng)刷新信號(hào)在AR狀態(tài)中產(chǎn)生并被輸出。
圖8是顯示CAS信號(hào)的產(chǎn)生的狀態(tài)示圖。
當(dāng)在CAS空閑狀態(tài)中RAS隊(duì)列不為空時(shí),命令被解釋以產(chǎn)生CAS信號(hào)。在突發(fā)模式的情況下,預(yù)充電信號(hào)在一定數(shù)量的輸出數(shù)據(jù)項(xiàng),即與突發(fā)大小對(duì)應(yīng)的一定數(shù)量的時(shí)鐘信號(hào)脈沖之后被產(chǎn)生。在突發(fā)模式之后,狀態(tài)被改變到PR狀態(tài)以產(chǎn)生預(yù)充電信號(hào)。當(dāng)在PR狀態(tài)中RAS隊(duì)列為空時(shí),預(yù)充電被執(zhí)行,然后狀態(tài)返回至CAS空閑狀態(tài)。當(dāng)存儲(chǔ)在命令隊(duì)列中的命令和先前命令訪問同一存儲(chǔ)體的同一行地址的數(shù)據(jù)時(shí),CAS信號(hào)被再次產(chǎn)生并被輸出。
圖9是根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器控制方法的流程圖。
在步驟S910中,從多個(gè)主裝置接收多個(gè)命令。在步驟S920中,確定將由接收的命令訪問的存儲(chǔ)器訪問位置的相似性。也就是說,確定第一命令和隨后的命令是否訪問存儲(chǔ)器的同一存儲(chǔ)體和同一行地址。該確定方法顯示在圖4中。然后,在步驟S930中,控制執(zhí)行命令的次序。
盡管已參照其示例性實(shí)施例具體表示和描述了本發(fā)明,但本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離由下面的權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可以對(duì)其進(jìn)行形式和細(xì)節(jié)上的各種修改。
根據(jù)本發(fā)明,處理來自主裝置的命令的次序被控制,從而用于訪問由當(dāng)前執(zhí)行的命令訪問的存儲(chǔ)器的相同地址的命令被首先執(zhí)行。因此,命令處理速度可被提高而不會(huì)增加系統(tǒng)大小。
權(quán)利要求
1.一種存儲(chǔ)器控制器,包括命令隊(duì)列,從至少一個(gè)主裝置接收存儲(chǔ)器訪問命令,并存儲(chǔ)該存儲(chǔ)器訪問命令;確定單元,分析將由接收的命令訪問的存儲(chǔ)器的地址以控制處理存儲(chǔ)的命令的次序;和命令解釋器,解釋在確定單元的控制下輸出的命令以輸出地址相關(guān)信號(hào)。
2.如權(quán)利要求1所述的存儲(chǔ)器控制器,其中,由主裝置訪問的存儲(chǔ)器是DRAM。
3.如權(quán)利要求2所述的存儲(chǔ)器控制器,其中,命令解釋器包括RAS(行地址選通脈沖)處理器,產(chǎn)生DRAM的RAS信號(hào);和CAS(列地址選通脈沖)處理器,產(chǎn)生DRAM的CAS信號(hào)。
4.如權(quán)利要求2所述的存儲(chǔ)器控制器,其中,確定單元決定處理存儲(chǔ)在命令隊(duì)列中的命令的次序,從而用于訪問被由命令解釋器當(dāng)前處理的存儲(chǔ)器訪問命令訪問的存儲(chǔ)器的同一存儲(chǔ)體的同一頁(yè)的存儲(chǔ)器訪問命令被首先處理。
5.一種存儲(chǔ)器控制方法,包括(a)從至少一個(gè)主裝置接收存儲(chǔ)器訪問命令并存儲(chǔ)該存儲(chǔ)器訪問命令;(b)分析將由接收的命令訪問的存儲(chǔ)器的地址以控制處理存儲(chǔ)的命令的次序;和(c)解釋基于控制的次序輸出的命令以輸出地址相關(guān)信號(hào)。
6.如權(quán)利要求5所述的存儲(chǔ)器控制方法,其中,由主裝置訪問的存儲(chǔ)器是DRAM。
7.如權(quán)利要求6所述的存儲(chǔ)器控制方法,其中,操作步驟(b)決定處理存儲(chǔ)的命令的次序,從而用于訪問由當(dāng)前處理的存儲(chǔ)器訪問命令訪問的存儲(chǔ)器的同一存儲(chǔ)體的同一頁(yè)的存儲(chǔ)器訪問命令被首先處理。
8.如權(quán)利要求6所述的存儲(chǔ)器控制方法,其中,操作步驟(c)包括產(chǎn)生DRAM的RAS(行地址選通脈沖)信號(hào);和產(chǎn)生DRAM的CAS(列地址選通脈沖)信號(hào)。
全文摘要
提供了一種用于當(dāng)多個(gè)主裝置訪問存儲(chǔ)器時(shí)控制處理來自這些主裝置的存儲(chǔ)器訪問命令的次序以提高處理速度的存儲(chǔ)器控制設(shè)備及方法。該存儲(chǔ)器控制器包括命令隊(duì)列,從至少一個(gè)主裝置接收存儲(chǔ)器訪問命令,并存儲(chǔ)存儲(chǔ)器訪問命令;確定單元,分析將由接收的命令訪問的存儲(chǔ)器的地址以控制處理存儲(chǔ)的命令的次序;和命令解釋器,解釋在確定單元的控制下輸出的命令以輸出地址相關(guān)信號(hào)。因此,命令處理速度被顯著提高而不會(huì)增加系統(tǒng)大小。
文檔編號(hào)G06F13/18GK1713163SQ200510077598
公開日2005年12月28日 申請(qǐng)日期2005年6月21日 優(yōu)先權(quán)日2004年6月24日
發(fā)明者姜信旭 申請(qǐng)人:三星電子株式會(huì)社