專利名稱:管理存儲器訪問請求的方法和裝置的制作方法
技術領域:
本發明一般地涉及計算機系統,并且更具體地,涉及管理計算機系統中的存儲器訪問請求。
背景在示例性的計算機系統中,外圍設備可以表明(assert)訪問儲存在系統中的存儲器設備上的數據的請求。例如,揚聲器可以從存儲器設備接收音頻數據。為了控制外圍設備,計算機系統可以包括耦合到所述外圍設備的輸入/輸出控制器。輸入/輸出控制器可以包括多個控制器(例如音頻控制器),其中每一個負責某類外圍設備(例如音頻設備)。所述控制器可以代表對應的外圍設備表明存儲器訪問請求。輸入/輸出控制器在存儲器訪問請求之間進行仲裁,并且通過互連(例如外設部件互連Express總線)向存儲器設備發送所述請求。
根據外設部件互連(PCI)Express協議,時間段被劃分成多個時隙(time slot)。輸入/輸出控制器內的每個控制器被分配多個時隙。在每個分配的時隙中發送一個請求。然而,因為請求可以以不同的長度到來,所以如果請求沒有用盡整個時隙,那么時隙中超出的帶寬就被浪費。
此外,請求可以具有不同級別的延時敏感度(latency sensitivity)。然而,現有的控制器不提供區分在不同延時敏感度級別上的請求以及響應于它們的延時敏感度來管理所述請求的機制。因此,具有高級別延時敏感度的請求可能沒有被及時地發送到存儲器,從而在數據流中可能出現假信號(glitch)。
附圖簡要說明從下面的詳細說明和附圖將能夠更完整地理解本發明,然而,所述詳細說明和附圖不應該被用作把所附權利要求書限制于所示出的具體實施方案,而僅僅是用于解釋和理解。
圖1示出用于管理存儲器訪問請求的過程的一個實施方案的流程圖。
圖2圖示輸入/輸出控制器的一個實施方案。
圖3A圖示確定數據請求長度的電路的一個實施方案。
圖3B圖示確定緩沖區描述符(buffer descriptor)請求長度的電路的一個實施方案。
圖3C圖示優先級狀態機的一個實施方案的狀態圖。
圖3D圖示仲裁器(arbiter)的一個實施方案。
圖4圖示計算機系統的示例性實施方案。
詳細說明在下面的描述中,已經公開了管理存儲器訪問請求的方法和裝置。下面闡述了各種具體細節。然而,可以理解,無需這些具體的細節可以實踐本發明。此外,公知的電路、結構和技術沒有詳細示出,以免模糊對本描述的理解。
在說明書中提及“一個實施方案”或“實施方案”意味著結合該實施方案描述的具體特征、結構或特性被包括在本發明的至少一個實施方案中。因此,短語“在一個實施方案中”在說明書中不同地方的出現不一定全是指同一實施方案。
下面的詳細描述的一些部分是根據對計算機存儲器中的數據位的操作的符號表示來介紹的。這些描述和表示是數據處理領域技術人員用來將他們工作的實質傳達給本領域其他技術人員的工具。算法在這里,并且一般地,被認為是導致期望結果的自我一致的(self-consistent)操作序列。所述操作是要求物理量的物理操縱的那些操作。雖然不是必須的,這些量通常采取能夠被儲存、傳輸、組合、比較和以其他方式其他操縱的電信號或者磁信號的形式。主要出于通用的原因,將這些信號稱為位、值、元素、符號、字符、項、數等已常常證明是方便的。
然而,應該記住所有這些和類似的術語都是與適當的物理量相關聯的,并且僅僅是應用于這些量的簡便標記。除非另外特別指出,正如從以下討論中可以認識到,在整篇說明書中,使用諸如“處理”、“計算”、“運算”、“確定”或“顯式”等術語的討論是指計算機系統或者類似的電子計算設備的動作和過程,所述動作和過程將表示為計算機系統的寄存器和存儲器內的物理量(例如,電子量)的數據操縱和轉換為類似地表示為計算機系統的存儲器或寄存器或其他這樣的信息儲存、傳輸或顯示設備內的物理量的其他數據。
本發明的實施方案還涉及用于進行本文所述操作的裝置。該裝置可以按照要求的用途被特別地構造,或者它可以包括被儲存在計算機中的計算機程序可選擇地激活或重新配置的通用計算機。這樣的計算機程序可以被儲存在計算機可讀儲存介質中,所述計算機可讀儲存介質例如但不限于包括軟盤、光盤、CD-ROM和磁光盤的任何類型的盤、只讀存儲器(ROM)、隨機訪問存儲器(RAM)、EPROM、EEPROM、磁或光卡、或適于儲存電子指令的任何類型的介質,并且其中的每個被耦合到計算機系統總線。
本文介紹的操作和顯示并不固有地與任何特定的計算機或者其他裝置相關。各種通用系統可以根據本文的教導與程序一起使用,或者,可以證明構造更專業化的裝置來進行所描述的操作是方便的。用于各種這些系統的所要求的結構將出現在以下的描述中。另外,本發明的實施方案沒有參照任何特定程序設計語言來描述。應該可以理解,各種不同的編程語言可以被用來實現本文描述的本發明的教導。
如在本文獻中使用的術語,“機器可讀介質”包括以機器(例如計算機)可讀的形式儲存和傳輸信息的任何機制。例如,機器可讀介質包括ROM;RAM;磁盤儲存介質;光儲存介質;閃存存儲器設備;電、光、聲或其他形式的傳播信號(例如載波、紅外信號、數字信號等);等等。
圖1圖示了用于管理存儲器訪問請求的過程的一個實施方案的流程圖。所述過程由處理邏輯來進行,所述處理邏輯可以包括硬件(例如電路、專用邏輯等)、軟件(例如運行在通用計算機系統或專用機器上的軟件)或兩者的組合。
處理邏輯使用多個存儲器訪問控制器來表明訪問存儲器設備的多個請求(處理框110)。響應于來自計算機系統中的中央處理單元的指令,請求可以被表明。請求可以包括讀和/或寫數據請求以及緩沖區描述符請求。存儲器訪問控制器可以包括直接存儲器訪問(DMA)控制器,例如數據DMA控制器(內向和外向)和緩沖區描述符(BD)DMA控制器。在一個實施方案中,數據DMA控制器負責訪問存儲器設備中的數據,而BD DMA控制器負責訪問BD列表中的BD。每個BD包括在存儲器設備中的一塊數據的地址和大小。在一個實施方案中,每個數據DMA控制器具有對應的BD DMA控制器。
在一個實施方案中,DMA控制器是計算機系統中的輸入/輸出控制器內的音頻控制器的一部分。音頻控制器可以控制一個或更多個音頻編碼器-解碼器與存儲器設備之間的數據傳輸。這樣的音頻編碼器-解碼器可以是頭戴式耳機和送話器(headset)、揚聲器、電話等的一部分。
回頭參照圖1,處理邏輯動態地修改請求中的每一個的屬性(處理框120)。例如,響應于請求的延時敏感度,處理邏輯動態地修改請求的優先級。延時敏感度與針對請求的數據傳輸必須達到的速度有關。當請求的延時敏感度更高時,該請求要求更快的數據傳輸。
在一個實施方案中,處理邏輯將請求的延時敏感度分成兩級,即高級和低級。當可以從DMA控制器的緩沖區中被取得或逐出的數據達到第一閾值時,處理邏輯可以導致DMA控制器表明具有低級延時敏感度的請求。此外,當緩沖區中可用的空間數達到第二閾值時,處理邏輯可以導致DMA控制器將請求的延時敏感度提高到高級。第二閾值不依賴于第一閾值。
參照圖1,響應于所述屬性,處理邏輯在請求之間仲裁,以選擇要在時隙中發送到存儲器設備的請求(處理框130)。處理邏輯可以在每個時鐘周期上仲裁,以選擇具有最高延時敏感度的請求。處理邏輯可以采用各種仲裁方案,例如先到先服務(FCFS)、加權輪轉(Weighted Round Robin,WRR)等。在下面討論各種仲裁方案的細節。此外,時隙可以由例如數字多媒體互連(DMI)控制器的互連控制器來分配,所述互連控制器與把音頻控制器耦合到存儲器設備的互連(例如DMI)接口。
除優先級化(prioritize)請求之外,響應于時隙的大小,處理邏輯可以動態地改變請求的長度(處理框140)。例如,當要被取出或逐出的可用數據的數量增加時,處理邏輯可以增加請求的長度直至時隙的大小。
在一個實施方案中,響應于各種因素,處理邏輯確定請求的長度。例如,所述因素可以包括在DMA控制器的緩沖區中可用的空間以及要從對應BD中讀取/要寫到對應BD的數據的剩余字節。此外,處理邏輯可以不允許數據請求長度超過該請求被發送所通過的互連的隙(slot)大小的上限。可能的話,通過動態地改變請求長度,處理邏輯可以把較小的請求組合成較大的請求,以更好地利用分配給音頻控制器的每個時隙。因此,處理邏輯可以提高音頻控制器的效率。
最后,處理邏輯向存儲器設備發送所選擇的請求(處理框150)。如上面提到的,處理邏輯可以通過DMI向存儲器設備發送所述請求。在一個實施方案中,處理邏輯遵循支持等時數據傳輸的外設部件互連(PCI)Express協議。根據請求的延時敏感度動態地改變請求長度以及動態地優先級化請求的能力允許等時數據傳輸,以在相關時間段上接收分派的帶寬,而不會使非等時流量枯竭(starve)。
圖2圖示輸入/輸出控制器的一個實施方案。輸入/輸出控制器200包括互連控制器210(例如DMI控制器)、多個外圍設備控制器220和230、以及把外圍設備控制器220和230耦合到互連控制器210的總線215。互連控制器210驅動互連208(例如DMI)。存儲器設備通過互連208耦合到輸入/輸出控制器200。互連控制器210和總線215還可以被共同地稱為輸入/輸出控制器200的“主干(back bone)”。外圍設備控制器220和230可以包括通用串行總線(USB)控制器、音頻控制器230等。
在一個實施方案中,音頻控制器230包括仲裁器240、多個外向DMA引擎250和多個內向DMA引擎260。例如,音頻控制器230可以具有四個外向DMA引擎和四個內向DMA引擎。外向和內向引擎250和260驅動一個或更多個外圍設備中的一個或更多個音頻編碼器-解碼器270,所述外圍設備例如揚聲器、電話、頭戴式耳機和送話器等。注意到在圖2中僅示出一個外向DMA引擎250和一個內向DMA260引擎,以免模糊本發明的實施方案。
每個外向DMA引擎250可以包括BD DMA控制器252和數據DMA控制器254。BDDMA控制器252可以包括優先級狀態機2521、確定BD請求長度的電路2523、以及BD緩沖區2525。BD緩沖區2525可以包括先進先出(FIFO)緩沖區。類似地,數據DMA控制器254可以包括優先級狀態機2541、確定數據請求長度的電路2543、以及外向數據緩沖區2545。外向數據緩沖區2545可以包括FIFO緩沖區。
每個內向DMA引擎260可以包括BD DMA控制器262和數據DMA控制器264。BDDMA控制器262可以包括優先級狀態機2621、確定BD請求長度的電路2623、以及BD緩沖區2625。BD緩沖區2625可以包括先進先出(FIFO)緩沖區。在一個實施方案中,數據DMA控制器264可以包括優先級狀態機2641、確定數據請求長度的電路2643、以及外向數據緩沖區2645。外向數據緩沖區2645可以包括FIFO緩沖區。
BD DMA控制器252和262,以及數據DMA控制器254和264中的每一個表明訪問存儲器設備的請求,并且向仲裁器240發送該請求。響應于這些請求的延時敏感度,仲裁器240從這些請求中選擇一個請求,并且把該請求呈遞給輸入/輸出控制器230的骨干。互連控制器210周期性地給控制器220和230中的每一個分配時隙。當音頻控制器230被分配了一個時隙時,所選擇的請求在該分配的時隙內通過互連208被發送。
為了提高音頻控制器230的效率,BD和數據DMA控制器252、262、254和264中的每一個包括優先級狀態機(例如優先級狀態機2521、2541、2621和2641),所述優先級狀態機響應于請求的延時敏感度來動態地優先級化DMA控制器的請求。在一個實施方案中,延時敏感度被劃分成兩級,即高級和低級。響應于對應的DMA控制器的緩沖區中可用的空間,優先級狀態機可以改變延時敏感度的級別。下面討論了優先級狀態機的更多細節。
此外,DMA控制器252、262、254和264中的每一個包括響應于分配給音頻控制器230的時隙的大小來確定請求長度的電路。例如,多個較小的請求可以被組合成在單個時隙內被發送的單個請求。因此,通過動態地改變請求長度,DMA控制器252、262、254和264可以更好地利用所分配時隙來發送請求。
雖然所公開的技術在上面是參照音頻控制器230來示出的,應該意識到,所述技術可以應用到計算機系統中的其他控制器,以管理存儲器訪問請求。
圖3A圖示數據DMA控制器中確定數據請求長度的電路的一個實施方案。電路310包括多個復用器3110-3170和觸發器3180。復用器3110-3160中的每一個的輸出是到復用器3170的輸入。復用器3170的輸出是到觸發器3180的輸入。觸發器3180可以包括延遲觸發器(D觸發器)。觸發器3180的輸出是所確定的數據請求長度req_byte_len[7:0]。控制信號(例如max_len[31:0]>=x80)是到復用器3110-3160的輸入。
在一個實施方案中,定義三個變量,即REQ_LEN、REM_DESC_LEN和FIFO_SPACE,來確定數據請求長度。REQ_LEN是請求長度。REM_DESC_LEN是要從對應緩沖區中讀取/要寫到對應緩沖區的數據的剩余字節數。FIFO_SPACE是用于觸發讀/寫請求的可用的緩沖區空間。
REQ_LEN可以根據三個規則來確定。第一,請求長度不能超過該請求被發送所通過的互連的最大隙大小。例如,采用PCI Express協議的互連允許的最大隙大小為128字節,并因此PCI Express系統中的請求長度不能超過128字節。第二,REQ_LEN長度不能超過REM_DESC_LEN。第三,REQ_LEN被設置為基本上等于FIFO_SPACE,而且受上面兩個規則的支配。在一個實施方案中,如果FIFO_SPACE是8字節并且8字節模式被使能(enable),那么REQ_LEN是8字節。如果FIFO_SPACE是16字節并且16字節模式被使能,那么REQ_LEN是16字節。如果FIFO_SPACE是32字節,那么REQ_LEN是32字節。如果FIFO_SPACE是64,那么REQ_LEN是64字節。如果FIFO_SPACE是96字節,那么REQ_LEN是96字節。如果FIFO_SPACE是128字節,那么REQ_LEN是128字節。上面的規則可以由圖3A中示出的公式來表示。然而,應該意識到,這些具體的規則和附圖僅僅是出于舉例說明的目的來描述的。其他實施方案可以采用不同的規則和附圖來實現所公開的思想。
圖3B圖示BD DMA控制器中確定BD請求長度的電路的一個實施方案。電路320包括復用器3210和觸發器3220。復用器3210的輸出被耦合到鎖存復用器3210的輸出的觸發器3220。觸發器3220的輸出是所確定的BD請求長度bd_req_len[1:0]。在一個實施方案中,BD列表中的每個BD有16字節。因此,BD讀的長度可以是16字節的倍數(例如16字節、32字節、48字節等),取決于BDDMA控制器的緩沖區大小。
在一個實施方案中,定義三個變量來確定BD請求的請求長度,即REQ_LEN、REM_BD_LEN和FIFO_SPACE。REQ_LEN是BD請求長度。REM_BD_LEN是要從對應BD列表中讀取的剩余BD的數量。REQ_LEN可以根據三個規則來確定。第一,REQ_LEN不能超過該請求被發送所通過的互連的最大隙大小。例如,采用PCI Express協議的互連允許的最大隙大小為128字節,并因此PCI Express系統中的請求長度不能超過128字節。第二,REQ_LEN長度不能超過REM_BD_LEN。第三,REQ_LEN被設置為基本上等于FIFO_SPACE,而且受上面兩個規則的支配。具體地,假設每個BD的長度是16字節,并且如果FIFO_SPACE是1BD長,那么REQ_LEN是1BD,即16字節。類似地,如果FIFO_SPACE是2BD長,那么REQ_LEN是32字節;并且如果FIFO_SPACE是3BD長,那么REQ_LEN是48字節。然而,應該意識到,這些具體的規則和附圖僅僅是出于舉例說明的目的來描述的。其他實施方案可以采用不同的規則和附圖來實現所公開的思想。
圖3C圖示DMA控制器(例如BD DMA控制器或數據DMA控制器)中優先級狀態機的一個實施方案的狀態圖。參照圖3C,狀態機具有兩個狀態,即低優先級332和高優先級334。在一個實施方案中,當狀態機被重置時,狀態機進入低優先級狀態332。當請求被DMA控制器表明,或者在下一個時鐘周期中要被DMA控制器表明,并且請求已經變得延時敏感時,狀態機可以進入高優先級狀態334。例如,當BD DMA控制器中的BD緩沖區為空時,BD請求變得延時敏感。當數據DMA控制器的數據緩沖區中的數據低于預先確定的閾值(例如一幀數據)時,讀數據請求可以變得延時敏感。當數據DMA控制器的數據緩沖區中的可用空間降到預定的閾值(例如一幀數據)之下時,寫數據請求可以變得延時敏感。
在一個實施方案中,當請求被輸入/輸出控制器200的互連控制器210(參照圖2)接受時,狀態機從低優先級狀態332前進到高優先級狀態334。
圖3D圖示音頻控制器中的仲裁器(例如圖2中的音頻控制器230中的仲裁器240)的一個實施方案。仲裁器340包括兩級。第一級具有四個仲裁器3410-3416,并且第二級具有固定優先級仲裁器3420。第一級仲裁器可以包括三個先來先服務(FCFS)仲裁器3410-3416和一個輪轉仲裁器3416,用于在具有基本相同的延時優先級的請求之間仲裁。第二級仲裁器3420在第一級仲裁器3410-3416的輸出之間仲裁。
在一個實施方案中,BD取仲裁器3410在來自BD DMA控制器(例如圖2中的BDDMA控制器252和262)的BD請求之間仲裁。每個BD DMA控制器向BD取仲裁器3410發送請求。例如,如果音頻控制器具有八個BD DMA控制器,那么仲裁器3410接收八個請求。
參照圖3D,仲裁器3412在來自數據DMA控制器(例如圖2的數據DMA控制器254)的具有高延時敏感度的讀數據請求(也被稱為數據取請求)之間仲裁。例如,在具有四個讀數據DMA控制器的音頻控制器中,可以存在輸入到仲裁器3412的具有高延時敏感度的四個讀數據請求。類似地,仲裁器3414在來自數據DMA控制器(例如圖2的數據DMA控制器264)的具有高延時敏感度的數據寫請求(也被稱為數據逐出請求)之間仲裁。在一個實施方案中,具有低延時敏感度的讀和寫數據請求兩者都由輪轉仲裁器3416來仲裁。
FCFS仲裁器3410-3414中的每一個可以使用隊列來實現,以維持高延時請求的表明的順序(order)。輪轉仲裁器3416可以采用加權輪轉(WRR)方案,所述加權輪轉方案使用固定優先級仲裁,在被選擇的DMA控制器上具有請求掩蔽。例如,當DMA控制器表明請求,所述被表明的請求未被掩蔽,沒有高延時請求是活動的,并且沒有其他更高優先級的非掩蔽低延時敏感DMA控制器正在請求時,可以選擇該DMA控制器。
在一個實施方案中,第一級仲裁器3410-3416每個時鐘周期(例如時鐘周期X)在DMA控制器之間仲裁,并且在接著的時鐘周期(例如時鐘周期X+1)選擇來自所述DMA控制器中一個的一個請求。第二級仲裁器3420在時鐘周期(X+1)選擇一個請求。此外,被選擇的請求的屬性在時鐘周期(X+1)被發送到互連控制器210(參照圖2)。因此,仲裁器340可以確保請求是掛起的(pending)并且實際上隨時準備解除掛起,以防止浪費分配給音頻控制器的時隙圖4示出計算機系統400的示例性實施方案。計算機系統400包括中央處理單元(CPU)410、存儲器控制器(MCH)420、多個雙列直插式存儲器模塊(DIMM)425、多個存儲器設備427、PCI Express圖形端口430、輸入/輸出控制器(ICH)440、多個通用串行總線(USB)端口445、音頻編碼器-解碼器460、超級輸入/輸出(超級I/O)450和固件中心(firmware hub,FWH)470。
在一個實施方案中,CPU 410、PCI Express圖形端口430、DIMM 425和ICH 440被耦合到MCH 420。在MCH 420和ICH 440之間的鏈路435可以包括DMI鏈路。MCH 420通過DIMM 425從存儲器設備427路由數據和把數據路由到存儲器設備427。存儲器設備427可以包括各類存儲器,例如動態隨機訪問存儲器(DRAM)、同步動態隨機訪問存儲器(SDRAM)、雙倍數據率(DDR)SDRAM或閃存存儲器。在一個實施方案中,DIMM425中的每一個通過DIMM連接器(未示出)被安裝在同一主板(未示出)上,以便耦合到MCH 420。在一個實施方案中,USB端口445、音頻編碼器-解碼器460和超級I/O 450被耦合到ICH 440。超級I/O 450可以進一步被耦合到固件中心470、軟盤驅動器451、諸如鍵盤、鼠標等的數據輸入設備453、多個串行端口455和多個并行端口457。
在一個實施方案中,ICH 440包括音頻控制器442,所述音頻控制器442包括仲裁器、多個BD DMA控制器以及多個外向和內向數據DMA控制器。響應于來自CPU 410的指令,DMA控制器表明訪問存儲器設備的請求。所述請求可以包括數據讀/寫請求和BD讀請求。DMA控制器可以動態改變屬性。響應于所述屬性,仲裁器可以在請求之間進行仲裁以選擇請求。上面已經討論了DMA控制器和仲裁器的一些實施方案的細節。
注意到,圖4中示出的組件和相關聯的硬件的一些和全部可以在計算機系統400的各種實施方案的方式被用到。然而,應該意識到,計算機系統的其他配置可以包括一個或更多個未在圖4中示出的額外的設備。此外,應該意識到,所公開的技術適用于不同類型的系統環境,例如多分支(multi-drop)環境或點對點環境。同樣地,所公開的技術適用于移動和桌面計算系統兩者。
前面的討論僅僅描述了本發明的一些示例性實施方案。從這樣的討論、附圖和權利要求書中,本領域技術人員將容易地認識到,可以做出各種修改而不背離所附權利要求書的精神和范圍。因此說明書被認為是示例性而非限制性的。
權利要求
1.一種方法,包括動態地修改訪問一個或更多個存儲器設備的多個請求中每一個的一個或更多個屬性;以及基于所述一個或更多個屬性在所述多個請求之間進行仲裁,以選擇要在時隙中發送到所述一個或更多個存儲器設備的請求。
2.如權利要求1所述的方法,其中動態地修改所述一個或更多個屬性的操作包括響應于所述多個請求中每一個的延時敏感度,動態地優先級化所述多個請求。
3.如權利要求2所述的方法,其中,所述多個請求中每一個的所述延時敏感度響應于儲存對應請求的緩沖區中的可用空間而發生改變。
4.如權利要求1所述的方法,還包括響應于所述時隙的大小,動態地改變所述多個請求中每一個的長度。
5.如權利要求1所述的方法,其中所述多個請求包括一個或更多個數據讀請求、一個或更多個數據寫請求以及一個或更多個緩沖區描述符讀請求。
6.如權利要求1所述的方法,還包括通過數字多媒體互連向所述存儲器設備發送所述被選擇的請求。
7.如權利要求1所述的方法,還包括響應于來自處理器的指令,使用多個直接存儲器訪問(DMA)控制器來表明所述多個請求。
8.一種提供指令的機器可訪問介質,如果所述指令被處理器執行,導致所述處理器進行操作,所述操作包括基于訪問一個或更多個存儲器設備的多個請求的一個或更多個屬性,在所述多個請求之間進行仲裁,以選擇要在時隙中發送到所述一個或更多個存儲器設備的請求;以及響應于所述時隙的大小,動態地改變所述多個請求中每一個的長度。
9.如權利要求8所述的機器可訪問介質,其中所述操作還包括響應于所述多個請求中每一個的延時敏感度,動態地優先級化所述多個請求。
10.如權利要求9所述的機器可訪問介質,其中,所述多個請求中每一個的所述延時敏感度響應于儲存對應請求的緩沖區中的可用空間而發生改變。
11.如權利要求8所述的機器可訪問介質,其中所述多個請求包括一個或更多個數據讀請求、一個或更多個數據寫請求以及一個或更多個緩沖區描述符讀請求。
12.如權利要求8所述的機器可訪問介質,其中所述操作還包括通過數字多媒體互連向所述一個或更多個存儲器設備發送所述被選擇的請求。
13.一種裝置,包括多個存儲器訪問控制器,所述多個存儲器訪問控制器表明訪問存儲器設備的多個請求,其中所述多個請求的一個或更多個屬性是動態可改變的;以及第一仲裁器,所述第一仲裁器基于所述多個請求的所述一個或更多個屬性在所述多個請求之間進行仲裁,以選擇請求。
14.如權利要求13所述的裝置,其中所述多個存儲器訪問控制器中的每一個還包括暫時地儲存一個或更多個請求的緩沖區、動態地優先級化所述一個或更多個請求的優先級狀態機、以及確定所述一個或更多個請求的長度的請求長度確定電路。
15.如權利要求14所述的裝置,其中所述請求長度確定電路包括多個復用器。
16.如權利要求15所述的裝置,其中所述請求長度確定電路還包括耦合到所述多個復用器的一個或更多個觸發器。
17.如權利要求13所述的裝置,其中所述第一仲裁器包括第一多個仲裁器和第二仲裁器,所述第一多個仲裁器的輸出被耦合到所述第二仲裁器的輸入。
18.如權利要求17所述的裝置,其中所述第一多個仲裁器包括多個先來先服務(FCFS)仲裁器。
19.如權利要求17所述的裝置,其中所述第二仲裁器包括固定優先級仲裁器。
20.如權利要求14所述的裝置,其中基于所述多個存儲器訪問控制器中每一個的所述緩沖區中的可用空間,所述優先級狀態機優先級化所述多個請求。
21.一種系統,包括多個動態隨機訪問存儲器(DRAM)設備;一個或更多個音頻編碼器-解碼器;以及輸入/輸出控制器,所述輸入/輸出控制器被耦合在所述DRAM設備和所述一個或更多個音頻編碼器-解碼器之間,所述輸入/輸出控制器具有音頻控制器,所述音頻控制器包括多個存儲器訪問控制器,所述多個存儲器訪問控制器表明訪問所述DRAM設備中的一個或更多個的多個請求,其中所述多個請求的一個或更多個屬性是動態可改變的;以及第一仲裁器,所述第一仲裁器基于所述多個請求的所述一個或更多個屬性在所述多個請求之間進行仲裁,以選擇請求。
22.如權利要求21所述的系統,其中所述多個存儲器訪問控制器中的每一個還包括暫時地儲存一個或更多個請求的緩沖區、動態地優先級化所述一個或更多個請求的優先級狀態機、以及確定所述一個或更多個請求的長度的請求長度確定電路。
23.如權利要求22所述的系統,其中所述請求長度確定電路包括多個復用器;以及耦合到所述多個復用器的一個或更多個觸發器。
24.如權利要求21所述的系統,其中所述第一仲裁器包括第一多個仲裁器和第二仲裁器,所述第一多個仲裁器的輸出被耦合到所述第二仲裁器的輸入。
25.如權利要求24所述的系統,其中所述第一多個仲裁器包括多個先來先服務(FCFS)仲裁器。
26.如權利要求24所述的系統,其中所述第二仲裁器包括固定優先級仲裁器。
27.如權利要求22所述的系統,其中基于所述多個存儲器訪問控制器中每一個的所述緩沖區中的可用空間,所述優先級狀態機優先級化所述多個請求。
28.如權利要求21所述的系統,還包括耦合到所述DRAM設備的存儲器控制器,以及數字多媒體互連,所述數字多媒體互連被耦合在所述存儲器控制器和所述輸入/輸出控制器之間,其中所述被選擇的請求通過所述數字多媒體互連和所述存儲器控制器被發送到所述DRAM設備中的一個或更多個。
29.如權利要求28所述的系統,還包括被耦合到所述存儲器控制器的中央處理單元,所述中央處理單元向所述輸入/輸出控制器發送指令以導致所述多個存儲器訪問控制器表明所述多個請求。
全文摘要
已經公開了用于管理存儲器訪問請求的方法和裝置。所述方法的一個實施方案包括動態地修改訪問一個或更多個存儲器設備的多個請求中每一個的屬性,并且基于所述屬性在所述請求之間進行仲裁,以選擇要在時隙中發送到所述存儲器設備的請求。描述了其他實施方案并且主張對它們的權利要求。
文檔編號G06F13/16GK1934549SQ200580008912
公開日2007年3月21日 申請日期2005年1月10日 優先權日2004年1月20日
發明者佐哈爾·博金, 小阿瑟·亨特, 克里舍納默西·凡卡塔拉曼納 申請人:英特爾公司