專利名稱:共享轉(zhuǎn)移地址的高速緩沖存儲器的制作方法
背景技術(shù):
本發(fā)明涉及存儲控制器集線器內(nèi)的高速緩存。
微型計算機系統(tǒng)通常包括一個或多個存儲控制集線器,控制并協(xié)調(diào)計算機系統(tǒng)存儲器、中央處理單元(CPU)和外圍設(shè)備間的數(shù)據(jù)傳送??捎煞Q作為圖形控制器的外圍設(shè)備支持圖形應(yīng)用,該圖形控制器需要一個存儲控制集線器在圖形控制器、系統(tǒng)存儲器和CPU之間傳送數(shù)據(jù)。
微型計算機系統(tǒng)設(shè)計所關(guān)心的是兩維(2D)、三維(3D)和視頻圖像(下面通稱為“圖形”)處理的質(zhì)量。高性能圖形處理要求處理器密集的計算(processor-intensive)以及大量數(shù)據(jù)的快速處理。已經(jīng)實現(xiàn)了幾種設(shè)計以便獲得高性能的圖形處理,同時也降低了整個系統(tǒng)的成本,并允許計算機系統(tǒng)具有升級的能力。
計算機系統(tǒng)可包括圖形控制器,它耦合于存儲圖形數(shù)據(jù)的本地存儲器,從而減少了必須在圖形控制器和系統(tǒng)存儲器和/或CPU之間傳送的數(shù)據(jù)量。增加圖形控制器可用的本地存儲器容量可改進圖形的性能,但也增加了計算機系統(tǒng)的成本,因為本地圖形存儲器的成本相當昂貴。然而,如果使用專用總線(例如,加速圖形端口(AGP))將控制器耦合到存儲控制集線器,則只需較少的本地存儲器,就可獲得相同的圖形性能。AGP允許控制器將部分系統(tǒng)存儲器當作專用的本地圖形存儲器,這將減少所需的本地存儲器,并降低整個系統(tǒng)的成本。
通過去除外圍圖形控制器并將其功能集成進存儲控制集線器內(nèi),也可降低計算機系統(tǒng)的成本。在這樣的配置中,最好將存儲控制集線器稱作為圖形/存儲控制集線器,因為除存儲控制和傳送功能外,存儲控制集線器還執(zhí)行圖形處理功能。另外,它包括一個或多個向外圍設(shè)備發(fā)送圖形信號的輸出端口,比如陰極射線管(CRT)和平板監(jiān)測器。圖形/存儲控制集線器可以耦合到本地存儲器,用于存儲圖形數(shù)據(jù)。
附圖簡述
圖1是計算機系統(tǒng)的示意框圖。
圖2是一張圖形存儲控制集線器的示意框圖。
圖3和圖4是圖形存儲控制集線器的加速圖形端口(AGP)的示意框圖。
詳細描述在計算機系統(tǒng)中,存儲控制集線器可以與內(nèi)部圖形控制器結(jié)合,并可以通過AGP端口將與外部圖形設(shè)備連接。因為存儲控制集線器既控制圖形又控制存儲功能,所以將它稱為圖形/存儲控制集線器(GMCH)。GMCH通過AGP接口既提供內(nèi)部圖形處理也提供縮放的圖形性能。
GMCH可用于兩種互斥模式中的一種AGP模式,在該模式下,GMCH使用其與外部圖形控制器連接的性能,而且其內(nèi)部的圖形功能被禁止;或Gfx模式,在該模式下,GMCH使用其內(nèi)部圖形的性能,而且其與外部圖形控制器連接的性能被禁止。在Gfx模式下,GMCH通過AGP端口仍舊能與本地存儲模塊連接,以提供附加的圖形存儲器,供內(nèi)部圖形使用。GMCH在AGP模式下工作還是在Gfx模式下操作,都可在計算機啟動順序期間自動確定并設(shè)置。
圖1描述了一種執(zhí)行GMCH的典型計算機系統(tǒng)1。計算機系統(tǒng)1包括耦合到GMCH 3的微處理器(例如,CPU)2,該微處理器包含一個系統(tǒng)存儲控制集線器。GMCH 3也可稱作為“芯片集”或“核心邏輯”。GMCH 3在CPU2和系統(tǒng)存儲器4之間以及CPU2和總線之間提供一個接口,比如,外設(shè)部件互連(PCI)或HublinkTM總線5。各種輸入/輸出(I/O)設(shè)備6耦合到PCI總線5,該PCI總線5經(jīng)過輸入/輸出控制集線器(ICH)11耦合于GMCH 3。計算機系統(tǒng)1還可包括圖形設(shè)備7,該圖形設(shè)備可以是耦合到本地存儲器8的圖形控制器,或者是為GMCH 3的內(nèi)部圖形功能提供外部本地存儲器的AGP在線存儲模塊(AIMM)。共享的AGP/本地存儲器接口9在GMCH 3和圖形設(shè)備7之間提供了專用接口總線。如果該計算機系統(tǒng)中有一臺圖形設(shè)備7,則可將圖形和視頻信號從圖形設(shè)備7發(fā)送到顯示裝置10,或者如果沒有圖形設(shè)備7,則可將圖形和視頻信號從GMCH 3發(fā)送到顯示裝置10。
圖2示出了GMCH 3的其它部件,包括耦合到AGP接口21的CPU接口20、本地存儲器接口22、輸入/輸出(I/O)集線器接口23以及系統(tǒng)存儲器接口24??捎蓛?nèi)部圖形部件25來執(zhí)行圖形功能,該內(nèi)部圖形部件25包括數(shù)據(jù)流和管理該數(shù)據(jù)流的調(diào)度控制器26,以及完成數(shù)據(jù)圖形操作的各種圖形引擎27。
參考圖3和圖4,AGP事務(wù)以分離事務(wù)方式(split transaction fashion)運行,在該方式中,從系統(tǒng)存儲器4傳送數(shù)據(jù)或?qū)?shù)據(jù)傳送至系統(tǒng)存儲器4的請求及時地從數(shù)據(jù)傳送的本身斷開。AGP應(yīng)允圖形設(shè)備(總線控制器)7a通過存取請求啟動事務(wù)。AGP接口21通過在稍后的時間內(nèi)指揮相應(yīng)的數(shù)據(jù)傳送來響應(yīng)該請求,從而在等待數(shù)據(jù)傳送發(fā)生的同時,允許AGP圖形設(shè)備7a對幾個存取請求進行流水化操作。作為流水化操作的結(jié)果,可能在請求隊列100中同時有幾個讀和/或?qū)懙拇嫒≌埱笪唇鉀Q。存取請求可以經(jīng)過AGP9的地址/數(shù)據(jù)總線(AD總線)105和107進行流水化操作,或者通過AGP9的邊帶地址線107傳送,并由請求隊列100接收。
調(diào)度程序102處理請求隊列100中的存取請求。從系統(tǒng)存儲器4中獲得讀取的數(shù)據(jù),且該數(shù)據(jù)通過讀數(shù)據(jù)返回隊列104并經(jīng)過AGP9的AD總線105返回到調(diào)度程序102的第一步。當在寫數(shù)據(jù)隊列108中有空間時,按調(diào)度程序102的方向,由AGP應(yīng)允圖形控制器7提供寫數(shù)據(jù)。這樣,AGP事務(wù)通常包括隔行掃描存取請求和數(shù)據(jù)傳送。
當GMCH 3與外部AGP應(yīng)允圖形控制器7a一起在AGP模式下工作,或當GMCH3使用其內(nèi)部圖形功能在Gfx模式下工作時,可將圖形數(shù)據(jù)存儲在系統(tǒng)存儲器4內(nèi)。當用系統(tǒng)存儲器4存儲圖形數(shù)據(jù)時,GMCH 3使用虛擬存儲器編址概念,用于存取圖形數(shù)據(jù)。在AGP模式下,定義32MB或64MB的圖形窗口,通過該圖形窗口,圖形控制器7a可以訪問該物理系統(tǒng)存儲器4內(nèi)的地址。雖然,分配給AGP圖形控制器7a使用的物理系統(tǒng)存儲器的地址是不連續(xù)的,但是該圖形窗口顯示為32MB或64MB連續(xù)線性存儲塊的圖形控制器7a。該圖形窗口內(nèi)的連續(xù)存儲器地址塊允許圖形控制器7a快速地訪問作為虛擬存儲器中單個實體的大型數(shù)據(jù)結(jié)構(gòu),諸如紋理位圖(通常為1KB到128KB)。
來自圖形控制器7a的存取請求對窗口范圍內(nèi)的虛擬存儲器進行編址,并隨后,GMCH 3將窗口內(nèi)的存取請求轉(zhuǎn)發(fā)給物理系統(tǒng)存儲器4。在數(shù)據(jù)流控制器26內(nèi)用圖形重復映射地址表(GART)對從圖形控制器7a送出的最初發(fā)出的地址進行轉(zhuǎn)換。GART是一使窗口范圍內(nèi)的虛擬存儲器地址與相應(yīng)的物理存儲器地址匹配的表。GART存儲在GMCH 3已知位置中的系統(tǒng)存儲器內(nèi),因為它的位置存儲在GMCH3內(nèi)的一個寄存器內(nèi)。將地址按4KB一頁從圖形窗口映射到系統(tǒng)存儲器,并將每條GART記錄轉(zhuǎn)換為4KB的一頁。這樣,當從圖形窗口內(nèi)的圖形控制器7a接收存取請求時,即刻中止該請求,同時從系統(tǒng)存儲器4中提取合適的GART記錄。用所提取的轉(zhuǎn)換表記錄對圖形窗口內(nèi)存取請求的地址進行轉(zhuǎn)換,并將該請求轉(zhuǎn)送到由所提取的GART記錄標識的系統(tǒng)存儲器4內(nèi)的物理地址。
為了加速從AGP圖形控制器7a到系統(tǒng)存儲器4的存儲器存取請求,GMCH 3提供了用于本地存儲來自GART的多達四條記錄的GART記錄高速緩沖存儲器28。GART記錄高速緩沖存儲器28也可稱作為轉(zhuǎn)換后備緩沖器(TLB)。當首先從系統(tǒng)存儲器4中的GART檢索到一條GART記錄,從而將虛擬地址轉(zhuǎn)換成物理地址時,該條記錄可被存儲在駐留于數(shù)據(jù)流控制器26中的TLB28內(nèi)。當下一次來自圖形控制器7a的地址請求需要使用相同的GART記錄是,可從本地TLB28檢索記錄,而不是從遠程系統(tǒng)存儲器4的GART進行檢索。因為GART記錄可以存儲在TLB28內(nèi),并且每條GART記錄提供對4KB一頁的存儲器地址的訪問,必須在從系統(tǒng)存儲器4檢索到一條新GART記錄之前,可用本地存儲在TLB28內(nèi)的GART記錄,對來自圖形控制器7a的高達16KB的存取請求進行轉(zhuǎn)換。如果數(shù)據(jù)流控制器26需要一條并不存儲在本地TLB28內(nèi)的GART記錄,則可以從系統(tǒng)存儲器4內(nèi)檢索到所需的記錄,并隨后存儲在TLB內(nèi)以備以后的使用,由此,替代了先前存儲在TLB28內(nèi)的記錄。
再次參考圖2,在Gfx模式下,GMCH 3的內(nèi)部圖形引擎27定義了一個64MB的邏輯地址空間,通過該邏輯空間,物理系統(tǒng)存儲器4內(nèi)的地址或AIMM可以由內(nèi)部圖形引擎27進行訪問。雖然分配給內(nèi)部圖形引擎27使用的物理系統(tǒng)存儲器4或AIMM的地址是不連續(xù)的,但該邏輯地址空間顯示為32MB或64MB的連續(xù)線性存儲器塊的圖形控制器7a。像用于AGP模式下的圖形窗口一樣,邏輯地址空間內(nèi)的連續(xù)存儲器地址塊允許內(nèi)部圖形引擎27如虛擬存儲器內(nèi)的單實體一樣,對大型數(shù)據(jù)結(jié)構(gòu)進行快速地訪問。
在數(shù)據(jù)流控制器26內(nèi),用圖形轉(zhuǎn)換表(GTT)對來自內(nèi)部圖形引擎27的存取請求進行轉(zhuǎn)換,該圖形轉(zhuǎn)換表存儲在系統(tǒng)存儲器內(nèi)的某一位置,該位置由GMCH3內(nèi)寄存器中的GMCH 3進行存儲。將邏輯地址空間內(nèi)的地址按4KB一頁映射到系統(tǒng)存儲器或AIMM內(nèi),并將每條GTT的記錄轉(zhuǎn)換為4KB一頁。如果有AIMM卡,則GTT記錄還確定是將存取請求映射到系統(tǒng)存儲器4還是映射到AIMM存儲器。用于GMCH 3中高速緩存GART記錄的相同TLB28可用于存儲來自本地GTT的多達四條記錄,從而加速訪問物理存儲器。由于可以存儲在TLB28中的GART記錄或GTT記錄的數(shù)量受TLB的物理模板區(qū)域大小的限制,所以用相同的TLB在AGP模式下存儲GART記錄并在Gfx模式下存儲GTT記錄,可有效地使存儲在TLB內(nèi)的GART或GTT的記錄數(shù),與當將分開的TLB用于GART和GTT記錄時可存儲的記錄相比增加一倍。另外,用相同的TLB在AGP模式下存儲GART記錄,并在Gfx模式下存儲GTT記錄,可簡化GMCH 3的內(nèi)部邏輯,因為單邏輯可用于TLB的兩種功能。
其他實施例落在下列權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一個存儲控制集線器,包括適合于進行圖形數(shù)據(jù)操作的圖形子系統(tǒng);和高速緩沖存儲器,適合于存儲物理存儲器內(nèi)的位置地址,該物理存儲器提供給圖形子系統(tǒng),用于存儲圖形數(shù)據(jù),提供給耦合于存儲控制集線器的圖形控制器,用于存儲圖形數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的存儲控制集線器,其特征在于,還包括一個專用總線接口,它將所述圖形控制器耦合于所述存儲控制集線器。
3.根據(jù)權(quán)利要求2所述的存儲控制集線器,其特征在于,所述專用總線接口包括加速圖形端口(AGP)。
4.根據(jù)權(quán)利要求1所述的存儲控制集線器,其特征在于,將所述存儲控制集線器配置成能提供一線性的虛擬存儲器地址塊,由所述圖形子系統(tǒng)使用,其中,所述高速緩沖存儲器適合于存儲物理存儲器內(nèi)的位置地址,該位置地址對應(yīng)于所述線性的虛擬存儲器地址塊內(nèi)的地址。
5.根據(jù)權(quán)利要求1所述的存儲控制集線器,其特征在于,將所述的存儲控制集線器配置成能提供一線性的虛擬存儲器地址塊,由所述圖形控制器使用,其中,所述高速緩沖存儲器適合于存儲物理存儲器內(nèi)的位置地址,該位置地址對應(yīng)于所述線性的虛擬存儲器地址塊內(nèi)的地址。
6.根據(jù)權(quán)利要求1所述的存儲控制集線器,其特征在于,將所述存儲控制集線器配置成能提供第一個線性的虛擬存儲器地址塊,它由所述圖形控制器使用,并適合于提供第二個線性的虛擬存儲器地址塊,該地址塊由所述圖形子系統(tǒng)使用,其中,所述高速緩沖存儲器適合于存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述第一個線性的虛擬存儲器地址塊內(nèi)的地址,并且適合于存儲物理存儲器內(nèi)的位置地址,該位置地址對應(yīng)于所述第二個線性的虛擬存儲器地址塊內(nèi)的地址。
7.一種計算機系統(tǒng),包括CPU;顯示裝置;系統(tǒng)存儲器,適合于存儲視頻數(shù)據(jù)和非視頻數(shù)據(jù);以及耦合到所述CPU并耦合到所述系統(tǒng)存儲器的存儲控制集線器,所述存儲控制集線器,包括圖形子系統(tǒng),配置成能對圖形數(shù)據(jù)進行圖形操作;以及高速緩沖存儲器,適合于存儲物理存儲器內(nèi)的位置地址,該位置地址可提供給所述圖形子系統(tǒng),用于存儲圖形數(shù)據(jù),可提供給耦合到所述存儲控制集線器的圖形控制器,用于存儲圖形數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的計算機系統(tǒng),其特征在于,還包括專用總線接口,用于將所述圖形控制器耦合到所述存儲控制集線器。
9.根據(jù)權(quán)利要求8所述的計算機系統(tǒng),其特征在于,所述專用總線接口包括加速圖形端口(AGP)。
10.根據(jù)權(quán)利要求7所述的計算機系統(tǒng),其特征在于,將所述存儲控制集線器配置成能提供一個線性的虛擬存儲器地址塊,該地址塊由所述圖形子系統(tǒng)使用;以及其中,所述高速緩沖存儲器適合于存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述線性的虛擬存儲器地址塊內(nèi)的地址。
11.根據(jù)權(quán)利要求7所述的計算機系統(tǒng),其特征在于,將所述存儲控制集線器配置成能提供一個線性的虛擬存儲器地址塊,由所述圖形控制器使用;并且其中,所述高速緩沖存儲器適合于存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述線性的虛擬存儲器地址塊內(nèi)的地址。
12.根據(jù)權(quán)利要求7所述的計算機系統(tǒng),其特征在于,將所述存儲控制集線器配置成能提供第一個線性的虛擬存儲器地址塊,該地址塊由所述圖形控制器使用并且適合于提供第二個線性的虛擬存儲器地址塊,該地址塊由所述圖形子系統(tǒng)使用;并且其中,所述高速緩沖存儲器適合于存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述第一個線性的虛擬存儲器地址塊內(nèi)的地址,并且適合于存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述第二個線性的虛擬存儲器地址塊內(nèi)的地址。
13.一種用于在存儲控制集線器高速緩沖存儲器中存儲物理位置的地址的方法,其特征在于,將物理存儲器內(nèi)的位置提供給耦合于所述存儲控制集線器的圖形控制器,或者提供給所述存儲控制集線器的圖形子系統(tǒng)。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括為由圖形子系統(tǒng)使用的存儲控制集線器提供一個線性的虛擬存儲器地址塊;并在高速緩沖存儲器內(nèi)存儲物理存儲器中位置的地址,所述位置地址對應(yīng)于所述線性虛擬存儲器地址塊內(nèi)的地址。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括在所述存儲控制集線器內(nèi)提供一塊線性的虛擬存儲器地址塊,由所述圖形控制器使用;以及在所述高速緩沖存儲器內(nèi)存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述線性的虛擬存儲器地址塊內(nèi)的地址。
16.根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括提供一個由所述圖形控制器使用的線性虛擬存儲器地址塊,并在所述高速緩沖存儲器內(nèi)存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述線性的虛擬存儲器地址塊內(nèi)的地址;或為所述存儲控制集線器提供一個由圖形子系統(tǒng)使用的線性虛擬存儲器地址塊,并在所述高速緩沖存儲器內(nèi)存儲物理存儲器內(nèi)的位置地址,所述位置地址對應(yīng)于所述線性虛擬存儲器地址塊內(nèi)的地址。
全文摘要
存儲控制集線器包括一種適合于進行數(shù)據(jù)圖形處理的圖形子系統(tǒng)以及適合于存儲物理存儲器內(nèi)位置的高速緩沖存儲器,所述物理存儲器提供給所述圖形子系統(tǒng)用于存儲圖形數(shù)據(jù),并提供給耦合到所述存儲控制集線器的圖形控制器,用于存儲圖形數(shù)據(jù)。
文檔編號G06F12/08GK1503945SQ01816559
公開日2004年6月9日 申請日期2001年9月26日 優(yōu)先權(quán)日2000年9月29日
發(fā)明者B·懷特, B 懷特 申請人:英特爾公司