數(shù)據(jù)處理設(shè)備和存儲器設(shè)備的制作方法
【專利摘要】本發(fā)明涉及一種數(shù)據(jù)處理設(shè)備和存儲器設(shè)備。數(shù)據(jù)處理設(shè)備包括總線主控件和存儲器控制器。每個總線主控件包括數(shù)據(jù)緩沖器,并且發(fā)布存儲器命令以指定對存儲器的訪問并且取決于數(shù)據(jù)緩沖器的空閑空間而生成第一優(yōu)先級信息,其中第一優(yōu)先級信息與存儲器命令相關(guān)聯(lián)并且指示存儲器命令的優(yōu)先級。存儲器控制器基于與存儲器命令相對應(yīng)的第一優(yōu)先級信息來確定由多個總線主控件發(fā)布的存儲器命令的處理順序,并且按照由處理順序確定單元確定的處理順序來執(zhí)行從多個總線主控件傳輸?shù)南鄳?yīng)的存儲器命令。
【專利說明】數(shù)據(jù)處理設(shè)備和存儲器設(shè)備
[0001]相關(guān)申請的交叉引用
[0002]本申請基于并且要求于2013年5月20日提交的日本專利申請N0.2013-105872的優(yōu)先權(quán),其內(nèi)容通過引用被整體包含在此。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明涉及一種數(shù)據(jù)處理設(shè)備和存儲器設(shè)備,其控制對存儲器的訪問,諸如動態(tài)隨機(jī)存取存儲器(DRAM)。
【背景技術(shù)】
[0004]近年來,在許多情況下動態(tài)隨機(jī)存取存儲器(DRAM)已經(jīng)被用作數(shù)據(jù)處理器設(shè)備中的大容量和高速訪問存儲器。然而,在DRAM中,由于跨存儲單元的訪問、寫入和讀取之間的切換等等導(dǎo)致減少吞吐量。
[0005]鑒于這些,已知數(shù)據(jù)處理設(shè)備,參考每個存儲器命令的類型和要被訪問的存儲器地址通過重新排列存儲器命令的處理順序其抑制吞吐量的減少,該存儲器命令指定通過總線主控件發(fā)布的數(shù)據(jù)的寫入或者讀取。然而,因為由于重新排列由此增加訪問延時的存儲器命令出現(xiàn),所以存在增加訪問延時的最壞值的問題。
[0006]因此,已知用于為每個總線主控件事先設(shè)置要被發(fā)布的存儲器命令的處理的優(yōu)先級的技術(shù)。根據(jù)此技術(shù),基于以對于每個總線主控件的固定方式事先設(shè)置的優(yōu)先級,重新排列和執(zhí)行存儲器命令。該技術(shù)旨在基于為每個總線主控件設(shè)置的優(yōu)先級通過向每個總線主控件發(fā)布存儲器命令實現(xiàn)短的延時。
[0007]另外,作為用于抑制當(dāng)通過多個總線主控件進(jìn)行的存儲器訪問的競爭出現(xiàn)時出現(xiàn)的存儲器訪問延時的增加的技術(shù),例如,在JP-A-2007-48274中公開下述技術(shù)。即,在JP-A-2007-48274中公開的技術(shù)中,響應(yīng)于通過多個總線主控件發(fā)布的存儲器訪問請求,比存儲器訪問請求的傳輸單元小的多個命令被生成。然后,多個命令被交替地發(fā)布到用于存儲器的存儲器訪問請求的每個請求源。即,JP-A-2007-48274公開在時分中并行地執(zhí)行多個存儲器訪問請求的存儲器控制器。
【發(fā)明內(nèi)容】
[0008]當(dāng)使每個總線主控件基于為每個總線主控件設(shè)置的優(yōu)先級發(fā)布存儲器命令時,因為優(yōu)先級被固定并且沒有被改變所以可以發(fā)布高優(yōu)先級的大量的存儲器命令。結(jié)果,在DRAM中能夠出現(xiàn)接近于隨機(jī)數(shù)據(jù)訪問的狀態(tài)。另外,該狀態(tài)可以導(dǎo)致頻繁的訪問懲罰。即,如果要求短的延時的大量的存儲器命令被發(fā)布,則數(shù)據(jù)處理設(shè)備的吞吐量被減少。另外,在JP-A-2007-48274中公開的技術(shù)僅在時分中并行地發(fā)出多個存儲器訪問請求。因此,不能夠抑制其中發(fā)布高優(yōu)先級的存儲器命令的情形。
[0009]本發(fā)明的目的之一是為了通過抑制高優(yōu)先級的存儲器命令的發(fā)布的數(shù)目避免其中接近于對存儲器的隨機(jī)數(shù)據(jù)訪問的狀態(tài)出現(xiàn)的情形并且實現(xiàn)具有簡單的配置的高的吞吐量和短的延時的數(shù)據(jù)處理設(shè)備。
[0010]本發(fā)明的第一方面提供一種數(shù)據(jù)處理設(shè)備,包括:多個總線主控件;以及存儲器控制器,存儲器控制器被連接到多個總線主控件和其中存儲數(shù)據(jù)的存儲器以傳輸數(shù)據(jù),其中,存儲器控制器適于控制將數(shù)據(jù)寫入到存儲器和從存儲器讀取數(shù)據(jù)中的至少一個,其中多個總線主控件中的每一個包括:命令發(fā)布單元,命令發(fā)布單元適于發(fā)布存儲器命令以指定對存儲器的訪問;數(shù)據(jù)緩沖器;以及優(yōu)先級信息生成單元,優(yōu)先級信息生成單元適于取決于數(shù)據(jù)緩沖器的空閑空間而生成第一優(yōu)先級信息,其中,第一優(yōu)先級信息與存儲器命令相關(guān)聯(lián)并且指示存儲器命令的優(yōu)先級,并且存儲器控制器包括:處理順序確定單元,處理順序確定單元適于基于與存儲器命令相對應(yīng)的第一優(yōu)先級信息來確定由多個總線主控件發(fā)布的存儲器命令的處理順序;以及命令處理單元,命令處理單元適于按照由處理順序確定單元確定的處理順序來執(zhí)行從多個總線主控件傳輸?shù)南鄳?yīng)的存儲器命令。
[0011]根據(jù)在本發(fā)明的第一方面中的數(shù)據(jù)處理設(shè)備,通過每個總線主控件發(fā)布與第一優(yōu)先級信息相關(guān)聯(lián)的存儲器命令,該第一優(yōu)先級信息指示根據(jù)被設(shè)置在每個總線主控件中的數(shù)據(jù)緩沖器的空閑空間而確定的處理順序。在這樣的情況下,即使在通過多個總線主控件發(fā)布的多個存儲器命令之間出現(xiàn)競爭,以適當(dāng)?shù)捻樞驁?zhí)行存儲器命令。因此,數(shù)據(jù)處理設(shè)備的吞吐量整體上被提高。
[0012]S卩,根據(jù)第一方面中的數(shù)據(jù)處理設(shè)備,根據(jù)被設(shè)置在每個總線主控件中的數(shù)據(jù)緩沖器的空閑空間來檢測適于發(fā)布存儲器命令的時序,并且使用時序發(fā)布存儲器命令。因此,與沒有發(fā)布存儲器命令直到數(shù)據(jù)緩沖器變成空,換言之,在總線主控件的處理處于待機(jī)狀態(tài)的現(xiàn)有技術(shù)的數(shù)據(jù)處理設(shè)備相比較,能夠大大地增加存儲器命令的發(fā)布的數(shù)目。因此,在上面描述的方面也能夠被應(yīng)用于包括所謂的延時臨界總線主控件的數(shù)據(jù)處理設(shè)備。
[0013]S卩,根據(jù)在第一方面中的數(shù)據(jù)處理設(shè)備,能夠抑制其中大量的高優(yōu)先級的存儲器命令被發(fā)布。結(jié)果,能夠避免其中接近于對存儲器的隨機(jī)數(shù)據(jù)訪問的狀態(tài)出現(xiàn)的情形并且實現(xiàn)具有簡單配置的高吞吐量和短的延時的數(shù)據(jù)處理設(shè)備。在其中寫入數(shù)據(jù)緩沖器中不存在空閑空間的狀態(tài)和其中讀取數(shù)據(jù)緩沖器完全空的狀態(tài)是劣化數(shù)據(jù)處理設(shè)備的吞吐量和延時的因素之一。在根據(jù)第一方面的數(shù)據(jù)處理設(shè)備中,通過減少這樣的狀態(tài)出現(xiàn)的頻率來實現(xiàn)高的吞吐量和短的延時。
[0014]本發(fā)明的第二方面提供根據(jù)第一方面的數(shù)據(jù)處理設(shè)備,其中存儲器控制器包括優(yōu)先級信息獲取單元,優(yōu)先級信息獲取單元適于獲取第二優(yōu)先級信息,第二優(yōu)先級信息限定了對于發(fā)布存儲器命令的每個總線主控件用于優(yōu)先地處理存儲器命令的順序,并且響應(yīng)于來自存儲器控制器的外部的指令,處理順序確定單元基于第一優(yōu)先級信息或者第二優(yōu)先級信息來確定存儲器命令的處理順序。
[0015]通過采用這樣的配置,數(shù)據(jù)處理設(shè)備能夠在其中基于第一優(yōu)先級信息確定存儲器命令的處理順序的模式和其中基于第二優(yōu)先級信息確定存儲器命令的處理順序的模式之間執(zhí)行切換。結(jié)果,考慮到除了整體提高數(shù)據(jù)處理設(shè)備的吞吐量的觀點之外的觀點能夠設(shè)置存儲器命令的處理順序。即,除了關(guān)于整體提高數(shù)據(jù)處理設(shè)備的吞吐量的處理之外,能夠始終以預(yù)定的優(yōu)先級處理由特定總線主控件發(fā)布的存儲器命令。例如,作為預(yù)定的優(yōu)先級,最高的優(yōu)先級能夠被提及。
[0016]本發(fā)明的第三方面提供根據(jù)第一或者第二方面的數(shù)據(jù)處理設(shè)備,其中數(shù)據(jù)緩沖器包括寫入數(shù)據(jù)緩沖器,在寫入數(shù)據(jù)緩沖器中存儲要被寫入存儲器中的寫入數(shù)據(jù),當(dāng)寫入數(shù)據(jù)被寫入到存儲器時,命令發(fā)布單元發(fā)布寫入命令作為存儲器命令,并且優(yōu)先級信息生成單元生成第一優(yōu)先級信息,第一優(yōu)先級信息限定了優(yōu)先于當(dāng)寫入數(shù)據(jù)緩沖器的空閑空間大時發(fā)布的寫入命令而執(zhí)行當(dāng)空閑空間小時發(fā)布的寫入命令。
[0017]通過采用這樣的配置,能夠基于寫入數(shù)據(jù)緩沖器的空閑空間適當(dāng)?shù)刂匦屡帕袑懭朊畹奶幚眄樞?。即,?dāng)寫入數(shù)據(jù)緩沖器的空閑空間小時,換言之,當(dāng)寫入命令應(yīng)被快速地處理時,總線主控件發(fā)布與高優(yōu)先級的第一優(yōu)先級信息相關(guān)聯(lián)的寫入命令。即,能夠大大地減少其中在寫入數(shù)據(jù)緩沖器中不存在空閑空間的狀態(tài)出現(xiàn)的頻率。相反地,當(dāng)寫入數(shù)據(jù)緩沖器的空閑空間大時,換言之,當(dāng)沒有必要快速地處理寫入命令時,總線主控件發(fā)布與低優(yōu)先級的第一優(yōu)先級信息相關(guān)聯(lián)的寫入命令。因此,因為在存儲器命令的重新排列中的自由度被增加,所以數(shù)據(jù)處理設(shè)備的吞吐量整體上被提高。
[0018]本發(fā)明的第四方面提供根據(jù)第一至第三方面中的任意一個的數(shù)據(jù)處理設(shè)備,其中數(shù)據(jù)緩沖器包括讀取數(shù)據(jù)緩沖器,在讀取數(shù)據(jù)緩沖器中存儲要從存儲器讀取的讀取數(shù)據(jù),當(dāng)從存儲器讀取讀取數(shù)據(jù)時,命令發(fā)布單元發(fā)布讀取命令作為存儲器命令,并且優(yōu)先級信息生成單元生成第一優(yōu)先級信息,第一優(yōu)先級信息限定了優(yōu)先于當(dāng)讀取數(shù)據(jù)緩沖器的空閑空間小時發(fā)布的讀取命令而執(zhí)行當(dāng)空閑空間大時發(fā)布的讀取命令。
[0019]通過采用這樣的配置,當(dāng)在讀取數(shù)據(jù)緩沖器中生成空閑空間時,總線主控件取決于空閑空間的大小發(fā)布優(yōu)先級的讀取命令。即,總線主控件發(fā)布讀取命令使得在讀取數(shù)據(jù)緩沖器中生成的小空閑空間是有用的。因此,能夠大大地減少其中讀取數(shù)據(jù)緩沖器完全地空的狀態(tài)出現(xiàn)的頻率。另外,能夠發(fā)布與低優(yōu)先級的第一優(yōu)先級信息相關(guān)聯(lián)的讀取命令。即,能夠在適當(dāng)?shù)臅r序處發(fā)布大量的低優(yōu)先級的讀取命令替代如在現(xiàn)有技術(shù)中的數(shù)據(jù)處理設(shè)備中偶發(fā)地發(fā)布高優(yōu)先級的讀取命令。
[0020]本發(fā)明的第五方面提供根據(jù)第一至第四方面的數(shù)據(jù)處理設(shè)備,其中存儲器是動態(tài)隨機(jī)存取存儲器(DRAM)。
[0021]本發(fā)明的第六方面提供存儲器設(shè)備,包括:存儲器,在存儲器中存儲數(shù)據(jù);多個總線主控件;以及存儲器控制器,存儲器控制器被連接到多個總線主控件和存儲器以傳輸數(shù)據(jù),其中,存儲器控制器適于控制將數(shù)據(jù)寫入到存儲器和從存儲器讀取數(shù)據(jù)中的至少一個,其中多個總線主控件中的每一個包括:命令發(fā)布單元,命令發(fā)布單元適于發(fā)布存儲器命令以指定對存儲器的訪問;數(shù)據(jù)緩沖器;以及優(yōu)先級信息生成單元,優(yōu)先級信息生成單元適于取決于數(shù)據(jù)緩沖器的空閑空間而生成第一優(yōu)先級信息,其中,第一優(yōu)先級信息與存儲器命令相關(guān)聯(lián)并且指示存儲器命令的優(yōu)先級,并且存儲器控制器包括:處理順序確定單元,處理順序確定單元適于基于與存儲器命令相對應(yīng)的第一優(yōu)先級信息來確定由多個總線主控件發(fā)布的存儲器命令的處理順序;以及命令處理單元,命令處理單元適于按照由處理順序確定單元確定的處理順序來執(zhí)行從多個總線主控件傳輸?shù)南鄳?yīng)的存儲器命令。
【專利附圖】
【附圖說明】
[0022]在附圖中:
[0023]圖1是示出根據(jù)本發(fā)明的實施例的數(shù)據(jù)處理設(shè)備的配置的示例的框圖;
[0024]圖2是示出在圖1中示出的數(shù)據(jù)處理設(shè)備中設(shè)置的總線主控件的配置的示例的圖;
[0025]圖3是示出根據(jù)本發(fā)明的實施例的通過數(shù)據(jù)處理設(shè)備執(zhí)行的優(yōu)先級信息生成處理的不例的時序圖;
[0026]圖4是在多個總線主控件中設(shè)置的每個讀取數(shù)據(jù)緩沖器的空閑空間中的臨時變化的視圖;
[0027]圖5是示出用于當(dāng)在多個讀取命令之間出現(xiàn)競爭時通過DRAM控制器執(zhí)行的讀取命令的處理順序的重新排列的處理的概念的圖。
【具體實施方式】
[0028]在下文中,將會參考附圖描述根據(jù)本發(fā)明的實施例的數(shù)據(jù)處理設(shè)備。
[0029]圖1是示出根據(jù)本發(fā)明的實施例的數(shù)據(jù)處理設(shè)備的配置的示例的框圖。數(shù)據(jù)處理設(shè)備I是與DRAM(動態(tài)隨機(jī)存取存儲器)21有關(guān)的執(zhí)行數(shù)據(jù)的寫入和讀取的設(shè)備,并且包括多個總線主控件和DRAM控制器31。在本示例中,第一總線主控件10-1、第二總線主控件10-2、以及第三總線主控件10-3被采用作為多個總線主控件。然而,總線主控件的類型或者總線主控件的數(shù)目不限于此。通過控制線和數(shù)據(jù)線,諸如內(nèi)部總線,這些組件被可通信地相互連接。另外,包括數(shù)據(jù)處理設(shè)備I和DRAM21(存儲器)的設(shè)備可以被稱為“存儲器設(shè)奮O
[0030]例如,第一總線主控件10-1是中央處理單元(CPU)。例如,第二總線主控件10-2是執(zhí)行圖像處理的模塊。例如,第三總線主控件10-3是執(zhí)行聲音處理的模塊。在下文中,當(dāng)描述對于第一至第三總線主控件10-1至10-3公共的問題時,這些被統(tǒng)稱為“總線主控件10”。稍后將會參考圖2詳細(xì)地描述總線主控件10的配置。DRAM21接收在數(shù)據(jù)處理設(shè)備I中設(shè)置的由多個總線主控件發(fā)布的存儲器命令。
[0031]DRAM控制器31是根據(jù)由總線主控件10發(fā)布的存儲器命令控制DRAM21的存儲器控制器。即,DRAM控制器31控制將數(shù)據(jù)寫入到DRAM21和讀取來自DRAM21的數(shù)據(jù)。DRAM控制器31通過控制線和數(shù)據(jù)線被連接到總線主控件10和DRAM21??刂凭€被用于諸如存儲器命令的控制信號的傳輸和接收,并且數(shù)據(jù)線被用于要被寫入/讀取的數(shù)據(jù)的傳輸和接收。S卩,DRAM控制器31基于通過控制線傳送和接收的控制信號通過數(shù)據(jù)線輸入和輸出數(shù)據(jù)。
[0032]DRAM控制器31起到處理順序確定單元的作用,該處理順序確定單元基于與存儲器命令相關(guān)聯(lián)的優(yōu)先級信息,確定通過多個總線主控件10發(fā)布的存儲器命令的處理順序;并且起到命令處理單元的作用,該命令處理單元按照通過處理順序確定單元確定的處理順序執(zhí)行從多個總線主機(jī)10發(fā)布的每個存儲器命令。
[0033]“優(yōu)先級信息”是確定存儲器命令的執(zhí)行順序的信息,并且是由總線主控件10生成的信息。在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,與存儲器命令相關(guān)聯(lián)生成其中基于寫入數(shù)據(jù)緩沖器12和讀取數(shù)據(jù)緩沖器13的空閑空間而限定優(yōu)先級的優(yōu)先級信息。因此,能夠大大地減少寫入數(shù)據(jù)緩沖器12變滿的頻率和讀取數(shù)據(jù)緩沖器13變空的頻率(參考圖2)。
[0034]其中在寫入數(shù)據(jù)緩沖器12中不存在空閑空間的狀態(tài)和其中讀取數(shù)據(jù)緩沖器13完全空的狀態(tài)是劣化數(shù)據(jù)處理設(shè)備的吞吐量和延時的因素之一。在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,通過減少這樣的狀態(tài)出現(xiàn)的頻率來實現(xiàn)高的吞吐量和短的延時。
[0035]圖2是示出總線主控件10的配置的示例的框圖。如在圖2中所示,總線主控件10包括處理單元11、寫入數(shù)據(jù)緩沖器12、第一檢測電路14、讀取數(shù)據(jù)緩沖器14、以及第二檢測電路15。
[0036]處理單元11發(fā)布用于將數(shù)據(jù)寫入到DRAM21的命令(在下文中,被稱為寫入命令)和用于讀取來自DRAM21的數(shù)據(jù)的命令作為存儲器命令(在下文中,被稱為讀取命令)。換言之,處理單元11起到命令發(fā)布單元的作用,該命令發(fā)布單元發(fā)布存儲器命令以指定對DRAM21的訪問。
[0037]當(dāng)將數(shù)據(jù)寫入到DRAM21時,處理單元11從總線主控件10輸出要被寫入的寫入數(shù)據(jù)、包括DRAM21中的寫入目的地的地址信息的寫入命令、以及相互關(guān)聯(lián)地通過第一檢測電路14生成的優(yōu)先級信息。
[0038]當(dāng)從DRAM21讀取數(shù)據(jù)時,處理單元11從總線主控件10輸出包括關(guān)于其中存儲要被讀取的讀取數(shù)據(jù)的DRAM21的地址信息的讀取命令、和相互關(guān)聯(lián)地通過第二檢測電路15生成的優(yōu)先級信息。
[0039]另外,例如,對于總線主控件10-1、10-2、以及10-3中的每一個的處理單元11特定的處理是下述處理。第一總線主控件10-1的處理單元11根據(jù)數(shù)據(jù)處理設(shè)備I的每個單元塊執(zhí)行控制處理。第二總線主控件10-2的處理單元11執(zhí)行圖像處理。第三總線主控件10-3的處理單元11執(zhí)行聲音處理。
[0040]寫入數(shù)據(jù)緩沖器12在發(fā)布寫入命令之前臨時地存儲從處理單元11輸出的寫入數(shù)據(jù),并且然后通過DRAM控制器31將寫入數(shù)據(jù)輸出到DRAM21。讀取數(shù)據(jù)緩沖器13臨時地存儲基于通過處理單元11發(fā)布的讀取命令從DRAM21讀取并且從DRAM控制器31傳送的讀取數(shù)據(jù),并且然后將讀取數(shù)據(jù)輸出到處理單元11。
[0041]第一檢測電路14檢測寫入數(shù)據(jù)緩沖器12的空閑空間,取決于該空閑空間生成優(yōu)先級信息,并且將優(yōu)先級信息輸出到處理單元11和DRAM控制器31。
[0042]S卩,第一檢測電路14起到優(yōu)先級信息生成單元的作用,該優(yōu)先級信息生成單元取決于寫入數(shù)據(jù)緩沖器12的空閑空間,生成與每個存儲器命令相關(guān)聯(lián)并且指示每個存儲器命令的優(yōu)先級的優(yōu)先級信息。即,當(dāng)檢測到寫入數(shù)據(jù)緩沖器12的空閑空間時,第一檢測電路14向存儲器命令給予取決于空閑空間的優(yōu)先級。
[0043]第二檢測電路15檢測讀取數(shù)據(jù)緩沖器13的空閑空間,取決于空閑空間生成優(yōu)先級信息,并且將優(yōu)先級信息輸出到處理單元11和DRAM控制器31。
[0044]S卩,第二檢測電路15起到優(yōu)先級信息生成單元的作用,取決于讀取數(shù)據(jù)緩沖器13的空閑空間,該優(yōu)先級信息生成單元生成與每個存儲器命令相關(guān)聯(lián)并且指示每個存儲器命令的優(yōu)先級的優(yōu)先級信息。即,當(dāng)檢測到讀取數(shù)據(jù)緩沖器13的空閑空間時,第二檢測電路15向存儲器命令給予取決于空閑空間的優(yōu)先級。
[0045]通過第一檢測電路14和第二檢測電路15生成優(yōu)先級信息的處理是根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I的特征之一。即,在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,寫入數(shù)據(jù)緩沖器12和讀取數(shù)據(jù)緩沖器13的空閑空間被監(jiān)控,并且當(dāng)空閑空間被生成時與存儲器命令相關(guān)聯(lián)地生成取決于空閑空間的大小的優(yōu)先級信息。
[0046]該點是非常不同于現(xiàn)有技術(shù)的數(shù)據(jù)處理設(shè)備的點,該數(shù)據(jù)處理設(shè)備沒有向總線主控件發(fā)布存儲器命令直到總線主控件的讀取數(shù)據(jù)緩沖器13是空的并且當(dāng)讀取數(shù)據(jù)緩沖器13變空的時集中地發(fā)布存儲器命令。與執(zhí)行這樣的處理的現(xiàn)有技術(shù)的數(shù)據(jù)處理設(shè)備相比較,根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I能夠大大地減少寫入數(shù)據(jù)緩沖器12變滿的頻率和讀取數(shù)據(jù)緩沖器13變空的頻率。因此,如稍后參考圖3將會描述的,能夠發(fā)布將低優(yōu)先級的優(yōu)先級信息和讀取數(shù)據(jù)緩沖器13的空閑空間相關(guān)聯(lián)的讀取命令。
[0047]S卩,在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,通過抑制要求短的延時的存儲器命令的發(fā)布的數(shù)目,即,高優(yōu)先級的存儲器命令的發(fā)布的數(shù)目,增加通過是存儲器控制器的DRAM控制器31的存儲器命令的重新排列處理的自由度。結(jié)果,數(shù)據(jù)處理設(shè)備的吞吐量整體上被提聞。
[0048]當(dāng)在多個存儲器命令之間出現(xiàn)競爭時,DRAM控制器31優(yōu)先于其它的存儲器命令,執(zhí)行與指示比其它存儲器命令更高的優(yōu)先級的優(yōu)先級信息相關(guān)聯(lián)的存儲器命令。
[0049]S卩,在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,當(dāng)通過總線主控件10發(fā)布存儲器命令時,DRAM控制器31重新排列多個存儲器命令使得參考與每個存儲器命令相關(guān)聯(lián)的優(yōu)先級信息按照從高優(yōu)先級的存儲器命令開始的順序被處理。
[0050]圖3是示出根據(jù)本發(fā)明的實施例的通過被設(shè)置在數(shù)據(jù)處理設(shè)備中的總線主控件執(zhí)行的優(yōu)先級信息生成處理的示例的時序圖。在此,將會描述基于讀取命令生成優(yōu)先級信息的處理。
[0051]在圖3的上部分中示出的視圖中,水平軸指示“時間”,并且垂直軸指示“數(shù)據(jù)緩沖器(讀取數(shù)據(jù)緩沖器13)中的使用的數(shù)據(jù)量”。在圖3的上部分中示出的視圖中,虛線Lm示出讀取數(shù)據(jù)緩沖器13的最大存儲容量,并且實線Ld示出在讀取數(shù)據(jù)緩沖器13中使用的數(shù)據(jù)量的變化。在圖3的下部分中示出的視圖中,水平軸指示“時間”,并且垂直軸指示“與讀取命令相關(guān)聯(lián)的優(yōu)先級”。在圖3的下部分中示出的視圖中,實線Lp示出在通過優(yōu)先級信息指示的優(yōu)先級的等級的變化。
[0052]第二檢測電路15在相應(yīng)的時間處檢測空閑空間dl、d2、d3、…,取決于空閑空間基于在相對應(yīng)的時間處發(fā)布的讀取命令通過確定優(yōu)先級生成優(yōu)先級信息,并且將優(yōu)先級信息輸出到處理單元11和DRAM控制器31。具體地,第二檢測電路15如下地生成優(yōu)先級信肩、O
[0053]在圖3中示出的周期T1、T3、以及T9中,在讀取數(shù)據(jù)緩沖器13中不存在空閑空間。因此,可以說,在周期Tl、Τ3、以及T9中不需要考慮讀取數(shù)據(jù)緩沖器13將會變空的的可能性。因此,是指示最小優(yōu)先級的優(yōu)先級信息的“優(yōu)先級信息PO”與在周期Τ1、Τ3、以及T9中發(fā)布的讀取命令相關(guān)聯(lián)。
[0054]在周期Τ2、Τ4、以及Τ8中,在讀取數(shù)據(jù)緩沖器13中生成空閑空間dl。因此,在周期T2、T4、以及Τ8中第二檢測電路15生成并且輸出指示與空閑空間dl相對應(yīng)的優(yōu)先級的優(yōu)先級信息。在此,為了便于解釋,與空閑空間dl相對應(yīng)的優(yōu)先級信息被稱為“優(yōu)先級信息P1”。即,優(yōu)先級信息Pl與在周期T2、T4、以及T8中發(fā)布的讀取命令相關(guān)聯(lián)。
[0055]在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,如在圖3中所示,當(dāng)在讀取數(shù)據(jù)緩沖器13中生成空閑空間時,即使空閑空間小,總線主控件10的處理單元11發(fā)布與空閑空間的大小相對應(yīng)的優(yōu)先級的讀取命令。
[0056]另一方面,在現(xiàn)有技術(shù)的數(shù)據(jù)處理設(shè)備中,沒有發(fā)布讀取命令直到讀取數(shù)據(jù)緩沖器13變成完全空的。因此,讀取命令的延時被增加。在現(xiàn)有技術(shù)的數(shù)據(jù)處理設(shè)備中,因為高優(yōu)先級的大量的存儲器命令被發(fā)布,所以存在對于通過是存儲器控制器的DRAM控制器的讀取命令的處理順序的重新排列的限制。結(jié)果,因為重新排列的自由度被減少,所以設(shè)備的吞吐量整體上被減少。
[0057]在根據(jù)鑒于這樣的情形已經(jīng)提出的本實施例的數(shù)據(jù)處理設(shè)備I中,如圖3所示,讀取命令被發(fā)布使得甚至在讀取數(shù)據(jù)緩沖器13中產(chǎn)生的小的空閑空間是有用的。因此,因為讀取數(shù)據(jù)緩沖器13變空的頻率被大大地減少,所以數(shù)據(jù)處理設(shè)備I的吞吐量整體上被提聞。
[0058]在周期T5和T7中,在讀取數(shù)據(jù)緩沖器13中生成是比空閑空間dl大的空閑空間的空閑空間d2。因此,第二檢測電路15在周期T5和T7中生成和輸出指示與空閑空間d2相對應(yīng)的優(yōu)先級的優(yōu)先級信息。在本示例中,為了便于解釋,與空閑空間d2相對應(yīng)的優(yōu)先級信息被稱為“優(yōu)先級信息P2”。即,優(yōu)先級信息P2與在周期T5和T7中發(fā)布的讀取命令相關(guān)聯(lián)。
[0059]在周期T6中,在讀取數(shù)據(jù)緩沖器13中生成是比空閑空間d2大的空閑空間的空閑空間d3。因此,第二檢測電路15在周期T6中生成和輸出指示與空閑空間d3相對應(yīng)的優(yōu)先級的優(yōu)先級信息。在本示例中,例如,為了便于解釋,與空閑空間d3相對應(yīng)的優(yōu)先級信息被稱為“優(yōu)先級信息P3”。即,優(yōu)先級信息P3與在周期T6中發(fā)布的讀取命令相關(guān)聯(lián)。
[0060]在優(yōu)先級信息PO至P3中,在P之后給予的更大編號指示更高的優(yōu)先級。如上所述,空閑空間dl至d3的大小滿足dl〈d2〈d3關(guān)系。即,在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,與讀取數(shù)據(jù)緩沖器13的空閑空間的大小相對應(yīng)的優(yōu)先級信息被生成,并且從總線主控件10中輸出與優(yōu)先級信息相關(guān)聯(lián)的讀取命令。
[0061]因此,在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,被發(fā)布的讀取命令的優(yōu)先級是與在發(fā)布時的讀取數(shù)據(jù)緩沖器13的空閑空間相對應(yīng)的優(yōu)先級。因此,因為以適當(dāng)?shù)膬?yōu)先級發(fā)布每個讀取命令,所以設(shè)備的吞吐量整體上也被提高。
[0062]在下文中,將會描述當(dāng)在讀取命令之間出現(xiàn)競爭時重新排列通過多個總線主控件10-1、10-2、以及10-3發(fā)布的讀取命令的示例。圖4是被設(shè)置在多個總線主控件10-1、10-2、以及10-3中的每個讀取數(shù)據(jù)緩沖器的空閑空間的臨時變化的視圖。在圖4中示出的視圖中,垂直軸指示總線主控件10的空閑空間,并且水平軸指示時間。
[0063]實線LI示出被設(shè)置在第一總線主控件10-1中的讀取數(shù)據(jù)緩沖器的空閑空間的臨時變化。虛線L2示出被設(shè)置在第二總線主控件10-2中的讀取數(shù)據(jù)緩沖器的空閑空間的臨時變化。一點連線L3示出被設(shè)置在第三總線主控件10-3中的讀取數(shù)據(jù)緩沖器的空閑空間的臨時變化。
[0064]在周期TlO和T13中,第一總線主控件10-1的空閑空間是d2,第二總線主控件10-2的空閑空間是d3,并且第三總線主控件10-3的空閑空間是dl。
[0065]因此,在周期TlO和T13中,優(yōu)先級信息P2與由第一總線主控件10_1發(fā)布的讀取命令相關(guān)聯(lián),優(yōu)先級信息P3與由第二總線主控件10-2發(fā)布的讀取命令相關(guān)聯(lián)并且,優(yōu)先級信息Pl與由第三總線主控件10-3發(fā)布的讀取命令相關(guān)聯(lián)。
[0066]S卩,按照第二總線主控件10-2、第一總線主控件10-1、以及第三總線主控件10-3的順序,在周期TlO和T13中發(fā)布的讀取命令的優(yōu)先級高。
[0067]在周期Tll和T12中,第一總線主控件10-1的空閑空間是d3,第二總線主控件10-2的空閑空間是d2,并且第三總線主控件的空閑空間是dl。
[0068]因此,在周期Tll和T12中,優(yōu)先級信息P3與由第一總線主控件10_1發(fā)布的讀取命令相關(guān)聯(lián),優(yōu)先級信息P2與由第二總線主控件10-2發(fā)布的讀取命令相關(guān)聯(lián)并且,并且優(yōu)先級信息Pl與由第三總線主控件10-3發(fā)布的讀取命令相關(guān)聯(lián)。
[0069]S卩,按照第一總線主控件10-1、第二總線主控件10-2、以及第三總線主控件10-3的順序,在周期Tll和T12中發(fā)布的讀取命令的優(yōu)先級高。
[0070]在下文中,將會通過示例描述通過上述處理基于與每個讀取命令相關(guān)聯(lián)的優(yōu)先級信息P的讀取命令的處理順序的重新排列。圖5是示出當(dāng)在多個讀取命令之間出現(xiàn)競爭時通過DRAM控制器31執(zhí)行的讀取命令的處理順序的重新排列的概念的圖。
[0071]在圖5中示出的示例中,在五個讀取命令Ra、Rb、Re、RcU以及Re之間存在競爭。優(yōu)先級信息P3與讀取命令Ra相關(guān)聯(lián)。優(yōu)先級信息P3與讀取命令Rb相關(guān)聯(lián)。優(yōu)先級信息P2與讀取命令Re相關(guān)聯(lián)。優(yōu)先級信息Pl與讀取命令Rd相關(guān)聯(lián)。優(yōu)先級信息P2與讀取命令Re相關(guān)聯(lián)。
[0072]另外,在圖5中示出的示例是其中在此狀態(tài)下四個讀取命令Ra、Rb、Rc、以及Rd已經(jīng)被輸入到DRAM控制器31并且讀取命令Re重新被輸入到DRAM控制器31的示例。
[0073]如上所述,在本示例中的優(yōu)先級信息P中,在P后面給予的更高的編號指示更高的優(yōu)先級。因此,與重新被輸入到DRAM控制器31的讀取命令Re相關(guān)聯(lián)的優(yōu)先級信息P2具有比已經(jīng)被輸入到DRAM控制器31的優(yōu)先級信息Pl更高的優(yōu)先級。
[0074]在此情形下,DRAM控制器31改變重新被輸入到DRAM控制器31的讀取命令Re和與比讀取命令Re低的優(yōu)先級的優(yōu)先級信息P相關(guān)聯(lián)的讀取命令Rd的處理順序,盡管讀取命令Rd先前已經(jīng)被輸入到DRAM控制器31。S卩,DRAM控制器31基于優(yōu)先級信息P重新排列讀取命令Re和Rd的處理順序。
[0075]雖然讀取命令的重新排列處理已經(jīng)被描述為存儲器命令的重新排列處理的示例,但是對于寫入命令的重新排列處理來說點“取決于被設(shè)置在總線主控件中的寫入數(shù)據(jù)緩沖器12的空閑空間的大小生成優(yōu)先級信息,并且基于優(yōu)先級信息重新排列處理順序”是相同的。然而,在下述點中生成優(yōu)先級信息的方法不同于讀取命令的情況。
[0076]S卩,在讀取命令的情況下,隨著讀取數(shù)據(jù)緩沖器13的空閑空間變大,通過第二檢測電路15生成更高優(yōu)先級的優(yōu)先級信息。然而,在寫入命令的情況下,隨著寫入數(shù)據(jù)緩沖器12的空閑空間變得較小,通過第一檢測電路14生成更高優(yōu)先級的優(yōu)先級信息。因此,在寫入命令的情況下,當(dāng)寫入數(shù)據(jù)緩沖器12的空閑空間是零時,最高優(yōu)先級的優(yōu)先級信息被生成。
[0077]基于如上所述的被生成的優(yōu)先級信息,DRAM控制器31重新排列寫入命令的處理順序使得按照從較高優(yōu)先級的寫入命令開始的順序處理。
[0078]另外,通過以對于讀取命令和寫入命令共同的比例設(shè)置優(yōu)先級信息,可以為其中混合讀取命令和寫入命令的存儲器命令組重新排列處理順序。
[0079]如上所述,根據(jù)本發(fā)明的實施例,取決于被設(shè)置在總線主控件10-1、10-2、10-3、…中的每個數(shù)據(jù)緩沖器的空閑空間來確定通過相應(yīng)的總線主控件10-1、10-2、10-3、…發(fā)布的存儲器命令的優(yōu)先級,并且DRAM控制器31基于優(yōu)先級重新排列存儲器命令的執(zhí)行順序。因此,因為通過抑制高優(yōu)先級的存儲器命令的發(fā)布的數(shù)目存儲器訪問控制的效率變高,所以能夠提供具有簡單配置的實現(xiàn)高吞吐量和短的延時的數(shù)據(jù)處理設(shè)備。
[0080]在現(xiàn)有技術(shù)的數(shù)據(jù)處理設(shè)備中,通過發(fā)布存儲器命令的總線主控件以混合的方式設(shè)置存儲器命令的優(yōu)先級。另一方面,在根據(jù)本實施例的數(shù)據(jù)處理設(shè)備I中,取決于寫入數(shù)據(jù)緩沖器12和讀取數(shù)據(jù)緩沖器13的空閑空間設(shè)置存儲器命令的優(yōu)先級。因此,抑制其中高優(yōu)先級的存儲命令被集中地發(fā)布的情形。另外,考慮到讀取和寫入的類型或者存儲器地址DRAM控制器31重新排列存儲器地址。因此,即使在通過多個總線主控件發(fā)布的多個存儲器命令之間出現(xiàn)競爭,響應(yīng)于跨存儲單元的訪問、在寫入和讀取之間的切換等等,按照適當(dāng)?shù)捻樞驁?zhí)行這些存儲命令。結(jié)果,具有高吞吐量和短的延時的數(shù)據(jù)處理設(shè)備I被實現(xiàn)。
[0081]雖然參考實施例已經(jīng)描述本發(fā)明,但是不言而喻的是,本發(fā)明不受到上述示例的限制并且在本發(fā)明的范圍內(nèi)能夠進(jìn)行各種修改和應(yīng)用。
[0082](第一修改)
[0083]例如,當(dāng)如在圖3中示出的周期T1、T3、以及T9中在讀取數(shù)據(jù)緩沖器13中不存在空閑空間時,第二檢測電路15可以被配置成生成“禁止讀取命令的發(fā)布的信息”替代發(fā)布指示最小的優(yōu)先級的“優(yōu)先級信息PO”并且將其輸出到處理單元11。在這樣的情況下,在周期Τ1、Τ3、以及T9中,接收從第二檢測電路15輸出的“禁止讀取命令的發(fā)布的信息”的處理單元11沒有發(fā)布讀取命令。
[0084](第二修改)
[0085]例如,替代使用取決于在上面描述的數(shù)據(jù)緩沖器12和13的空閑空間設(shè)置的優(yōu)先級信息(在下文中,被稱為第一優(yōu)先級信息),其中通過為每個總線主控件基于事先由每個總線主控件發(fā)布的存儲器命令設(shè)置優(yōu)先級獲得的優(yōu)先級信息(在下文中,被稱為第二優(yōu)先級信息)被使用的模式(在下文中,被稱為優(yōu)先級固定模式)可以被設(shè)置使得在優(yōu)先級固定模式和其中執(zhí)行對上述實施例特定的處理的模式(在下文中,被稱為“優(yōu)先級變化模式”)之間的切換是可能的。例如,在優(yōu)先級固定模式中,DRAM控制器31可以被配置成包括寄存器(未示出),并且優(yōu)選的是,使用寄存器(未示出)為每個總線主控件設(shè)置第二優(yōu)先級信息。
[0086]因此,通過配置要在其間切換的優(yōu)先級固定模式和優(yōu)先級變化模式,考慮到除了整體地提高數(shù)據(jù)處理設(shè)備I的吞吐量的觀點之外的觀點能夠設(shè)置存儲器命令的處理順序。即,除了關(guān)于整體地提高數(shù)據(jù)處理設(shè)備I的吞吐量的處理之外,能夠始終以預(yù)定的優(yōu)先級(例如,最高的優(yōu)先級)處理通過特定總線主控件發(fā)布的存儲器命令。
[0087]在此修改中,DRAM控制器31起到設(shè)置信息獲取單元的作用,該設(shè)置信息獲取單元獲取限定用于優(yōu)先地處理用于發(fā)布存儲器命令的每個總線主控件的存儲器命令的順序的第二優(yōu)先級信息。另外,DRAM控制器31起到處理順序確定單元的作用,該處理順序確定單元響應(yīng)于來自數(shù)據(jù)處理設(shè)備的外部的指令基于第一優(yōu)先級信息或者第二優(yōu)先級信息確定存儲器命令的處理順序。
[0088]各種階段的發(fā)明被包括在上述實施例和修改中,并且通過適當(dāng)?shù)亟M合被公開的多個組成元件能夠提取本發(fā)明的各種方面。例如,當(dāng)在本發(fā)明的說明書中描述的問題能夠被解決時,即使從在實施例中示出的所有組成元件中刪除一些組成元件,其中組成元件被刪除的配置也能夠被提取作為本發(fā)明的一個方面。
【權(quán)利要求】
1.一種數(shù)據(jù)處理設(shè)備,包括: 多個總線主控件;以及 存儲器控制器,所述存儲器控制器被連接到所述多個總線主控件和其中存儲數(shù)據(jù)的存儲器以傳輸所述數(shù)據(jù),其中,所述存儲器控制器適于控制將數(shù)據(jù)寫入到所述存儲器和從所述存儲器讀取數(shù)據(jù)中的至少一個,其中 所述多個總線主控件中的每一個包括: 命令發(fā)布單元,所述命令發(fā)布單元適于發(fā)布存儲器命令以指定對所述存儲器的訪問; 數(shù)據(jù)緩沖器;以及 優(yōu)先級信息生成單元,所述優(yōu)先級信息生成單元適于取決于所述數(shù)據(jù)緩沖器的空閑空間而生成第一優(yōu)先級信息,其中,所述第一優(yōu)先級信息與所述存儲器命令相關(guān)聯(lián)并且指示所述存儲器命令的優(yōu)先級,并且 所述存儲器控制器包括: 處理順序確定單元,所述處理順序確定單元適于基于與所述存儲器命令相對應(yīng)的所述第一優(yōu)先級信息來確定由所述多個總線主控件發(fā)布的存儲器命令的處理順序;以及 命令處理單元,所述命令處理單元適于按照由所述處理順序確定單元確定的所述處理順序來執(zhí)行從所述多個總線主控件傳輸?shù)南鄳?yīng)的存儲器命令。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中 所述存儲器控制器包括優(yōu)先級信息獲取單元,所述優(yōu)先級信息獲取單元適于獲取第二優(yōu)先級信息,所述第二優(yōu)先級信息限定了對于發(fā)布所述存儲器命令的每個總線主控件用于優(yōu)先地處理所述存儲器命令的順序,并且 響應(yīng)于來自所述存儲器控制器的外部的指令,所述處理順序確定單元基于所述第一優(yōu)先級信息或者所述第二優(yōu)先級信息來確定所述存儲器命令的所述處理順序。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中 所述數(shù)據(jù)緩沖器包括寫入數(shù)據(jù)緩沖器,在所述寫入數(shù)據(jù)緩沖器中存儲要被寫入所述存儲器中的寫入數(shù)據(jù), 當(dāng)所述寫入數(shù)據(jù)被寫入到所述存儲器時,所述命令發(fā)布單元發(fā)布寫入命令作為所述存儲器命令,并且 所述優(yōu)先級信息生成單元生成所述第一優(yōu)先級信息,所述第一優(yōu)先級信息限定了優(yōu)先于當(dāng)所述寫入數(shù)據(jù)緩沖器的空閑空間大時發(fā)布的寫入命令而執(zhí)行當(dāng)所述空閑空間小時發(fā)布的寫入命令。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中 所述數(shù)據(jù)緩沖器包括讀取數(shù)據(jù)緩沖器,在所述讀取數(shù)據(jù)緩沖器中存儲要從所述存儲器讀取的讀取數(shù)據(jù), 當(dāng)從所述存儲器讀取所述讀取數(shù)據(jù)時,所述命令發(fā)布單元發(fā)布讀取命令作為所述存儲器命令,并且 所述優(yōu)先級信息生成單元生成所述第一優(yōu)先級信息,所述第一優(yōu)先級信息限定了優(yōu)先于當(dāng)所述讀取數(shù)據(jù)緩沖器的空閑空間小時發(fā)布的讀取命令而執(zhí)行當(dāng)所述空閑空間大時發(fā)布的讀取命令。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中 所述存儲器是動態(tài)隨機(jī)存取存儲器(DRAM)。
6.—種存儲器設(shè)備,包括: 存儲器,在所述存儲器中存儲數(shù)據(jù); 多個總線主控件;以及 存儲器控制器,所述存儲器控制器被連接到所述多個總線主控件和所述存儲器以傳輸所述數(shù)據(jù),其中,所述存儲器控制器適于控制將數(shù)據(jù)寫入到所述存儲器和從所述存儲器讀取數(shù)據(jù)中的至少一個,其中 所述多個總線主控件中的每一個包括: 命令發(fā)布單元,所述命令發(fā)布單元適于發(fā)布存儲器命令以指定對所述存儲器的訪問; 數(shù)據(jù)緩沖器;以及 優(yōu)先級信息生成單元,所述優(yōu)先級信息生成單元適于取決于所述數(shù)據(jù)緩沖器的空閑空間而生成第一優(yōu)先級信息,其中,所述第一優(yōu)先級信息與所述存儲器命令相關(guān)聯(lián)并且指示所述存儲器命令的優(yōu)先級,并且所述存儲器控制器包括: 處理順序確定單元,所述處理順序確定單元適于基于與所述存儲器命令相對應(yīng)的所述第一優(yōu)先級信息來確定由所述多個總線主控件發(fā)布的存儲器命令的處理順序;以及 命令處理單元,所述命令處理單元適于按照由處理順序確定單元確定的所述處理順序來執(zhí)行從所述多個總線主控件傳輸?shù)南鄳?yīng)的存儲器命令。
【文檔編號】G11C11/4063GK104183267SQ201410213229
【公開日】2014年12月3日 申請日期:2014年5月20日 優(yōu)先權(quán)日:2013年5月20日
【發(fā)明者】西岡直俊 申請人:雅馬哈株式會社