国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      管理存儲器訪問請求的方法和裝置的制作方法

      文檔序號:6655373閱讀:205來源:國知局
      專利名稱:管理存儲器訪問請求的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般地涉及計算機(jī)系統(tǒng),并且更具體地,涉及管理計算機(jī)系統(tǒng)中的存儲器訪問請求。
      背景在示例性的計算機(jī)系統(tǒng)中,外圍設(shè)備可以表明(assert)訪問儲存在系統(tǒng)中的存儲器設(shè)備上的數(shù)據(jù)的請求。例如,揚聲器可以從存儲器設(shè)備接收音頻數(shù)據(jù)。為了控制外圍設(shè)備,計算機(jī)系統(tǒng)可以包括耦合到所述外圍設(shè)備的輸入/輸出控制器。輸入/輸出控制器可以包括多個控制器(例如音頻控制器),其中每一個負(fù)責(zé)某類外圍設(shè)備(例如音頻設(shè)備)。所述控制器可以代表對應(yīng)的外圍設(shè)備表明存儲器訪問請求。輸入/輸出控制器在存儲器訪問請求之間進(jìn)行仲裁,并且通過互連(例如外設(shè)部件互連Express總線)向存儲器設(shè)備發(fā)送所述請求。
      根據(jù)外設(shè)部件互連(PCI)Express協(xié)議,時間段被劃分成多個時隙(time slot)。輸入/輸出控制器內(nèi)的每個控制器被分配多個時隙。在每個分配的時隙中發(fā)送一個請求。然而,因為請求可以以不同的長度到來,所以如果請求沒有用盡整個時隙,那么時隙中超出的帶寬就被浪費。
      此外,請求可以具有不同級別的延時敏感度(latency sensitivity)。然而,現(xiàn)有的控制器不提供區(qū)分在不同延時敏感度級別上的請求以及響應(yīng)于它們的延時敏感度來管理所述請求的機(jī)制。因此,具有高級別延時敏感度的請求可能沒有被及時地發(fā)送到存儲器,從而在數(shù)據(jù)流中可能出現(xiàn)假信號(glitch)。
      附圖簡要說明從下面的詳細(xì)說明和附圖將能夠更完整地理解本發(fā)明,然而,所述詳細(xì)說明和附圖不應(yīng)該被用作把所附權(quán)利要求書限制于所示出的具體實施方案,而僅僅是用于解釋和理解。


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