專利名稱:靠近局部輸入/輸出總線的橋接器中的輸入/輸出地址轉(zhuǎn)換的制作方法
版權(quán)通知本文所含材料受到版權(quán)保護(hù)。本版權(quán)所有者不反對(duì)任何人按專利和商標(biāo)局的專利文件或記錄中呈現(xiàn)的那樣復(fù)制本專利的公開,但是另一方面,無(wú)論如何要保留對(duì)該版權(quán)的所有權(quán)利。
背景技術(shù):
總之,由于外圍設(shè)備采用與主計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器不同的地址空間,所以需要一種稱為“地址轉(zhuǎn)換”的處理,以便把外圍設(shè)備所提供的虛擬地址映射到主存儲(chǔ)器中相應(yīng)的可能不連續(xù)的物理地址。
現(xiàn)在參考
圖1說(shuō)明地址轉(zhuǎn)換的現(xiàn)有技術(shù)的一個(gè)實(shí)例。圖1是說(shuō)明圖形地址與物理地址轉(zhuǎn)換的通用計(jì)算機(jī)系統(tǒng)100的高級(jí)框圖。計(jì)算機(jī)系統(tǒng)100包括處理裝置、如一個(gè)或多個(gè)處理器105和110,芯片組120,主存儲(chǔ)器125,存儲(chǔ)器總線124,圖形加速端口(AGP)總線130以及PCI(外圍部件互連)總線140。在此實(shí)例中,主存儲(chǔ)器包含圖形地址重定位表(GART),該表包含一些項(xiàng)目,用于把外圍設(shè)備、如圖形加速器135所用的虛擬地址映射到主存儲(chǔ)器125中的物理地址。
芯片組120提供AGP總線130、PCI總線140以及存儲(chǔ)器總線124之間的橋接功能。作為橋接功能的一部分,芯片組120利用GART 126將入站讀和寫事務(wù)(例如,由圖形加速器135始發(fā)的讀和寫事務(wù))中包含的圖形地址轉(zhuǎn)換到主存儲(chǔ)器125中對(duì)應(yīng)的物理地址。因此,在按照?qǐng)D1配置的計(jì)算機(jī)系統(tǒng)中,圖形數(shù)據(jù)的處理、如紋理映射需要對(duì)主存儲(chǔ)器125的多次存取。首先,芯片組120必須從GART 126中檢索與正在執(zhí)行的事務(wù)中指定的圖形地址對(duì)應(yīng)的項(xiàng)目。然后,在芯片組120確定了所需的物理地址之后,芯片組120必須執(zhí)行對(duì)主存儲(chǔ)器125的第二次存取,以便讀出或?qū)懭朐撌聞?wù)所指定的數(shù)據(jù)。
AGP的最大優(yōu)點(diǎn)之一是,它將視頻子系統(tǒng)與計(jì)算機(jī)系統(tǒng)的其余部分隔離,這樣幾乎不會(huì)有如采用PCI的情況那么多的I/O帶寬上的爭(zhēng)用。但是,根據(jù)上述描述,顯然存在許多與目前處理AGP事務(wù)的轉(zhuǎn)換方式有關(guān)的低效率情況。例如,首先對(duì)通常由動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)構(gòu)成的主存儲(chǔ)器125的存取與對(duì)靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)的存取相比要相對(duì)慢一些。第二,用于地址轉(zhuǎn)換的主存儲(chǔ)器125存取必須與其他存取請(qǐng)求、如由處理器105或110始發(fā)并經(jīng)系統(tǒng)總線115接收的那些請(qǐng)求、或者在PCI總線140上接收的那些請(qǐng)求競(jìng)爭(zhēng)。結(jié)果,因競(jìng)爭(zhēng)通信量而減慢AGP轉(zhuǎn)換。最后,如果轉(zhuǎn)換單元(未示出)處理多種類型的通信量,例如系統(tǒng)總線通信量、PCI通信量以及AGP通信量,則由于需要仲裁邏輯來(lái)解決各種類型的入站和出站事務(wù)中轉(zhuǎn)換單元的爭(zhēng)用問(wèn)題,所以情況會(huì)更加復(fù)雜。
因此,最好提供一種用于轉(zhuǎn)換I/O地址技術(shù),以便加速I/O事務(wù)的執(zhí)行并提供地址轉(zhuǎn)換邏輯的簡(jiǎn)化實(shí)現(xiàn)。此外,最好在與其他類型的通信量、如系統(tǒng)總線通信量或來(lái)自其他I/O裝置的通信量隔離的裝置中執(zhí)行必要的I/O地址轉(zhuǎn)換。
發(fā)明概述現(xiàn)在描述用于在輸入/輸出(I/O)擴(kuò)展橋接器中執(zhí)行地址轉(zhuǎn)換的方法和裝置。I/O擴(kuò)展橋接器包括第一接口單元、第二接口單元以及地址轉(zhuǎn)換單元。第一接口單元被配置成通過(guò)一個(gè)或多個(gè)I/O端口與系統(tǒng)存儲(chǔ)器和I/O控制器耦合。第一接口單元使數(shù)據(jù)能通過(guò)所述一個(gè)或多個(gè)I/O端口傳到計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器或者從其中傳出。第二接口單元提供總線控制信號(hào)和地址,使數(shù)據(jù)能通過(guò)總線傳遞到外圍設(shè)備或從外圍設(shè)備中傳出。地址轉(zhuǎn)換單元與第一接口單元和第二接口單元耦合。地址轉(zhuǎn)換單元通過(guò)訪問(wèn)局部存儲(chǔ)器來(lái)轉(zhuǎn)換與第二接口上接收的事務(wù)相關(guān)的地址,所述局部存儲(chǔ)器含有計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器中頁(yè)面的物理地址。
本發(fā)明的其他特征和優(yōu)點(diǎn)將從附圖和詳細(xì)描述中變得清楚明白。
附圖簡(jiǎn)介在附圖中以舉例而非限制的方式說(shuō)明本發(fā)明,圖中的類似參考標(biāo)號(hào)表示類似部分,其中圖1是說(shuō)明用于圖形地址轉(zhuǎn)換的現(xiàn)有技術(shù)方法的框圖。
圖2是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的輸入/輸出地址轉(zhuǎn)換的框圖。
圖3是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形地址轉(zhuǎn)換的框圖。
圖4是說(shuō)明可以實(shí)現(xiàn)本發(fā)明的實(shí)施例的示例芯片組的框圖。
圖5A是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形擴(kuò)展橋接器的功能單元中高級(jí)互連的簡(jiǎn)化框圖。
圖5B是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形擴(kuò)展橋接器的更詳細(xì)視圖的簡(jiǎn)化框圖。
圖6是在概念上說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的事務(wù)處理的高級(jí)流程圖。
圖7是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的入站PCI寫事務(wù)處理的流程圖。
圖8是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的出站PCI寫事務(wù)處理的流程圖。
圖9在概念上說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形(虛擬)至物理地址空間的轉(zhuǎn)換。
圖10A說(shuō)明可用來(lái)查閱駐留在主存儲(chǔ)器中4千字節(jié)頁(yè)面中的數(shù)據(jù)的示例虛擬地址格式。
圖10B說(shuō)明可用來(lái)查閱駐留在主存儲(chǔ)器中4兆字節(jié)頁(yè)面中的數(shù)據(jù)的示例虛擬地址格式。
圖11A說(shuō)明支持至主存儲(chǔ)器中4千字節(jié)頁(yè)面的地址轉(zhuǎn)換的示例GART項(xiàng)目格式。
圖11B說(shuō)明支持至主存儲(chǔ)器中4兆字節(jié)頁(yè)面的地址轉(zhuǎn)換的示例GART項(xiàng)目格式。
本發(fā)明的詳細(xì)描述現(xiàn)在描述用于在I/O擴(kuò)展橋接器中執(zhí)行地址轉(zhuǎn)換的方法和裝置。概括地講,本發(fā)明的實(shí)施例嘗試提供一種用于轉(zhuǎn)換I/O地址的技術(shù),它將I/O轉(zhuǎn)換裝置、如I/O擴(kuò)展橋接器與其他類型的通信量、如系統(tǒng)總線事務(wù)隔離,從而加速I/O事務(wù)的執(zhí)行。根據(jù)本發(fā)明的一個(gè)特征,GART可以存儲(chǔ)在局部SRAM中而不用跨過(guò)存儲(chǔ)器總線。有利的是,由于接口是局部的并且提取GART項(xiàng)目的存取不必與其他類型的通信量競(jìng)爭(zhēng),所以可以更快地完成事務(wù),而且可簡(jiǎn)化轉(zhuǎn)換裝置的實(shí)現(xiàn)。
在以下描述中,為了說(shuō)明而給出大量的特定細(xì)節(jié),以便提供對(duì)本發(fā)明的透徹理解。但是,顯然對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),沒(méi)有這些特定細(xì)節(jié)也可以實(shí)施本發(fā)明。在其他例子中,眾所周知的結(jié)構(gòu)和裝置以框圖形式表示。
本發(fā)明包括將在下面描述的各種步驟。本發(fā)明的步驟可以由硬件組件來(lái)執(zhí)行,也可以用機(jī)器可執(zhí)行指令來(lái)實(shí)現(xiàn),這可用來(lái)使以這些指令編程的通用或?qū)S锰幚砥骰蜻壿嬰娐穲?zhí)行這些步驟?;蛘?,可以通過(guò)硬件與軟件的組合來(lái)執(zhí)行這些步驟。
重要的是,雖然本發(fā)明的實(shí)施例是參照可在本地、由轉(zhuǎn)換各種AGP和PCI類事務(wù)的圖形擴(kuò)展橋接器(GXB)訪問(wèn)的圖形加速端口(AGP)和圖形地址重定位表(GART)來(lái)描述的,但是此處所述的方法和裝置同樣適用于其他類型的I/O事務(wù)和I/O擴(kuò)展橋接器、或者其中I/O總線上的裝置需要主存儲(chǔ)器的相連視圖的其他類型的總線。例如,此處所述技術(shù)被認(rèn)為在與涉及VESA(視頻電子標(biāo)準(zhǔn)協(xié)會(huì))局部總線(VLB)和/或外圍部件互連(PCI)總線的事務(wù)結(jié)合時(shí)是有用的。術(shù)語(yǔ)在描述可以實(shí)現(xiàn)本發(fā)明各種實(shí)施例的示例環(huán)境之前,先簡(jiǎn)要地定義在整個(gè)本申請(qǐng)中要用到的一些術(shù)語(yǔ)。
術(shù)語(yǔ)“總線”一般指物理通信媒體或信道,信息通過(guò)它在兩個(gè)或兩個(gè)以上裝置之間流動(dòng)。雖然有人認(rèn)為其上只有兩個(gè)裝置的總線是“端口”,但是此處所用的術(shù)語(yǔ)“總線”意在涵蓋這種端口。
術(shù)語(yǔ)“處理器總線”、“系統(tǒng)總線”或“主機(jī)總線”一般指計(jì)算機(jī)系統(tǒng)的總線分級(jí)結(jié)構(gòu)中的最高級(jí)總線。該總線通常被系統(tǒng)芯片組用于將信息發(fā)送到計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)處理器以及從這些處理器發(fā)送信息。
“存儲(chǔ)器總線”指將存儲(chǔ)器子系統(tǒng)連接到系統(tǒng)芯片組和處理器的總線。注意,在某些計(jì)算機(jī)系統(tǒng)中,處理器總線和存儲(chǔ)器總線可能是同一條總線。
“局部I/O總線”一般是用于將各種類型的外圍設(shè)備連接到計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器、系統(tǒng)芯片組和/或處理器的高速輸入/輸出(I/O)總線。例如,視頻卡、盤存儲(chǔ)裝置、高速網(wǎng)絡(luò)接口以及其他關(guān)鍵性能的外圍設(shè)備通常都與此類型的總線耦合。常用的局部I/O總線包括VESA局部總線(VLB)、外圍部件互連(PCI)總線以及圖形加速端口(AGP)總線。同樣出于本公開的目的,設(shè)計(jì)成由兩個(gè)以上裝置共用的總線和設(shè)計(jì)成僅供兩個(gè)裝置使用的端口、如I/O端口或AGP都被認(rèn)為是總線。
“圖形加速端口”(AGP)是一種高性能總線規(guī)范,如《圖形加速端口接口規(guī)范》1998年5月4日的修訂版2.0以及其后續(xù)修訂版所述,該規(guī)范是為三維圖形和視頻圖像的快速、高質(zhì)量顯示而設(shè)計(jì)的。
“PCI事務(wù)”一般指具有AGP總線上發(fā)布的AGP語(yǔ)義的PCI事務(wù)。
此處所用的“橋接器”一般指在芯片組中實(shí)現(xiàn)的邏輯和電路,例如,它用來(lái)連接兩條總線,并且使一條總線上的裝置可與另一條總線上的裝置通信,反之亦然。例如,計(jì)算機(jī)系統(tǒng)中見(jiàn)到的一種常用橋接器是PCI-ISA(工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))橋接器,它通常是系統(tǒng)芯片組的一部分。PCI總線也可以還具有一個(gè)到處理器總線的橋接器,稱為PCI擴(kuò)展橋接器(PXB)。
在此申請(qǐng)的上下文中,“事務(wù)”包括一個(gè)或多個(gè)請(qǐng)求(地址)階段和數(shù)據(jù)階段。事務(wù)通常包括開始地址、事務(wù)類型以及要傳送的數(shù)據(jù)量的指示。
特定事務(wù)的方向是從處理器的觀點(diǎn)來(lái)確定的。因此,“入站事務(wù)”一般指由外圍設(shè)備、如視頻卡、盤存儲(chǔ)裝置或高速網(wǎng)絡(luò)接口指向計(jì)算機(jī)系統(tǒng)的讀或?qū)懻?qǐng)求;而“出站事務(wù)”一般指由計(jì)算機(jī)系統(tǒng)指向外圍設(shè)備的讀或?qū)懻?qǐng)求。輸入/輸出地址轉(zhuǎn)換本發(fā)明的各種特征被認(rèn)為通常在與I/O擴(kuò)展橋接器中執(zhí)行地址轉(zhuǎn)換結(jié)合時(shí)有用。為了在上下文中闡述本發(fā)明的廣泛方面,下面參考圖2描述可用來(lái)實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施例的示例性的計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)。圖2說(shuō)明通用計(jì)算機(jī)系統(tǒng)200,其中可執(zhí)行根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法的一個(gè)或多個(gè)步驟,并且其中可設(shè)有根據(jù)本發(fā)明的一個(gè)實(shí)施例的裝置。計(jì)算機(jī)系統(tǒng)200包括處理裝置、如一個(gè)或多個(gè)處理器205和210、芯片組220、主存儲(chǔ)器225、存儲(chǔ)器總線224以及局部I/O總線230。根據(jù)本實(shí)施例,芯片組220包含地址轉(zhuǎn)換表226。地址轉(zhuǎn)換表包含許多項(xiàng)目(未示出),便于把從外圍設(shè)備235接收的虛擬地址轉(zhuǎn)換成主存儲(chǔ)器225中的物理地址。如下面進(jìn)一步描述的,芯片組220可包括一個(gè)或多個(gè)集成電路,可在其上面分布各種芯片組功能,例如系統(tǒng)總線仲裁、I/O地址轉(zhuǎn)換等。在此實(shí)例中,芯片組220起到局部I/O總線230和系統(tǒng)總線215與存儲(chǔ)器總線224之間的橋接器的作用。作為橋接操作的一部分,芯片組220訪問(wèn)局部地址轉(zhuǎn)換表226,以便將外圍設(shè)備235使用的連續(xù)I/O地址空間轉(zhuǎn)換到主存儲(chǔ)器225的物理地址空間。注意,正如以下要進(jìn)一步說(shuō)明的,通過(guò)將地址轉(zhuǎn)換表226放置對(duì)于芯片組220來(lái)說(shuō)是本地的位置(例如專用片內(nèi)或片外SRAM中),可以更為有效地執(zhí)行來(lái)自外圍設(shè)備235的入站事務(wù)。圖形地址轉(zhuǎn)換本發(fā)明的各種特征被認(rèn)為對(duì)于執(zhí)行從如AGP兼容圖形裝置使用的圖形地址空間到主存儲(chǔ)器225的物理地址空間的地址轉(zhuǎn)換特別有用。圖3是說(shuō)明其中可以實(shí)現(xiàn)根據(jù)本發(fā)明一個(gè)實(shí)施例改進(jìn)的虛擬地址轉(zhuǎn)換技術(shù)的通用計(jì)算機(jī)系統(tǒng)300的高級(jí)框圖。計(jì)算機(jī)系統(tǒng)300包括處理裝置、如一個(gè)或多個(gè)處理器305和310、芯片組320、主存儲(chǔ)器225、存儲(chǔ)器總線324、圖形加速端口(AGP)總線330以及PCI總線340。在所述實(shí)施例中,芯片組320包括圖形地址重定位表(GART)326。GART 326包含GART項(xiàng)目(以下描述),這些項(xiàng)目包含用于實(shí)現(xiàn)從圖形加速器335接收的虛擬地址到主存儲(chǔ)器325的物理地址的轉(zhuǎn)換的信息。
根據(jù)本實(shí)施例,GART 326可由芯片組320局部地訪問(wèn),而不是跨過(guò)存儲(chǔ)器總線324設(shè)置在主存儲(chǔ)器325中。芯片組320提供AGP總線330、PCI總線340與存儲(chǔ)器總線324之間的橋接功能。作為橋接功能的一部分,芯片組320利用局部GART 326將入站讀和寫事務(wù)(例如,由圖形加速器335始發(fā)的讀和寫事務(wù))中包含的圖形地址轉(zhuǎn)換成主存儲(chǔ)器325中相應(yīng)的物理地址。如上所述,參考圖2,通過(guò)將GART 326設(shè)置在芯片組320中,可以更為有效地處理和執(zhí)行來(lái)自外圍設(shè)備、如圖形加速器335的入站事務(wù)。注意,與從主存儲(chǔ)器325(例如DRAM)提取數(shù)據(jù)可能需要大約300至500毫微秒不同,從局部SRAM提取可以在大約30毫微秒或更短的時(shí)間內(nèi)完成。示例性芯片組簡(jiǎn)要描述了可采用本發(fā)明的示例性環(huán)境之后,將參考圖4描述示例性芯片組實(shí)現(xiàn)。圖4說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的多個(gè)單元(例如芯片)中功能的示范性分配。在本實(shí)例中,芯片組320包括系統(tǒng)地址控制器(SAC)415、系統(tǒng)數(shù)據(jù)控制器(SDC)420、PCI擴(kuò)展橋接器(PXB)425、圖形擴(kuò)展橋接器(GXB)410以及靜態(tài)RAM(SRAM)405。
SAC 420連接到系統(tǒng)總線315的地址和控制部分(未示出)。SAC負(fù)責(zé)對(duì)系統(tǒng)總線315對(duì)適當(dāng)I/O端口或主存儲(chǔ)器325的存取進(jìn)行轉(zhuǎn)換和定向。它還作為入站通信量的路由代理,將其定向到對(duì)等I/O端口412或427、主存儲(chǔ)器325或者系統(tǒng)總線315。
SDC連接到系統(tǒng)總線315上的數(shù)據(jù)信號(hào)(未示出),還通過(guò)存儲(chǔ)器總線324和SAC 420連接到主存儲(chǔ)器325。無(wú)論是從系統(tǒng)總線315到主存儲(chǔ)器325,還是從I/O端口412或427之一到存儲(chǔ)器或者在對(duì)等I/O端口412或427之間,所有要傳遞的數(shù)據(jù)都經(jīng)過(guò)SDC。SAC 415和SDC 420之間的連接允許同時(shí)把數(shù)據(jù)傳遞至系統(tǒng)總線315和I/O端口412或427,從而使到各個(gè)系統(tǒng)代理者的可用帶寬最大化。在另一個(gè)實(shí)施例中,SAC 420和SDC的功能可以組合成單個(gè)系統(tǒng)存儲(chǔ)器和I/O控制器421或者分布在附加的集成電路上。
PXB 425提供I/O端口427、如F16總線與PCI總線340之間的總線協(xié)議橋接功能。單個(gè)PXB 425通常連接到一個(gè)I/O端口427并且構(gòu)建兩條33兆赫的32位PCI總線?;蛘撸琍XB 425可以支持單個(gè)64位PCI總線。計(jì)算機(jī)系統(tǒng)可包括多個(gè)PXB(通常為1至4個(gè))。
GXB 410通過(guò)在I/O端口412與AGP總線330之間提供總線協(xié)議橋接功能,在I/O端口412、例如兩條F16總線和AGP總線330之間構(gòu)建橋接器。以這種方式,GXB 410為計(jì)算機(jī)系統(tǒng)添加了高性能的專用圖形端口。可以在計(jì)算機(jī)系統(tǒng)中以具體例子說(shuō)明多個(gè)GXB,從而構(gòu)建多圖形端口的工作站。GXB 410的主要功能是構(gòu)建I/O端口412與AGP總線330之間的橋接器。簡(jiǎn)要地說(shuō),GXB 410實(shí)現(xiàn)此功能是通過(guò)從I/O端口412接收出站事務(wù),將它們存儲(chǔ)在內(nèi)部,然后利用適當(dāng)信號(hào)發(fā)送協(xié)議在AGP總線330上傳遞它們。相反地,GXB 410接收AGP總線330上發(fā)出的入站事務(wù),也將它們存儲(chǔ)在內(nèi)部,轉(zhuǎn)換與該入站事務(wù)相關(guān)的圖形地址,并將所轉(zhuǎn)換的入站事務(wù)發(fā)送到I/O端口412上。正如下面將進(jìn)一步詳細(xì)描述的,GXB 410通過(guò)訪問(wèn)存儲(chǔ)在片內(nèi)或片外SRAM 405中的GART 326來(lái)執(zhí)行地址轉(zhuǎn)換。通過(guò)圖4的芯片組體系結(jié)構(gòu)得到若干優(yōu)點(diǎn)。首先,GXB 410與系統(tǒng)總線315以及相關(guān)的系統(tǒng)通信量隔離,從而消除了爭(zhēng)用GXB 410資源的原因,免除了對(duì)相關(guān)的仲裁邏輯的需要。其次,因?yàn)镚ART 326駐留在GXB410中,地址轉(zhuǎn)換處理不會(huì)影響主存儲(chǔ)器通信量,且存儲(chǔ)器總線324被更為有效地利用。另外,對(duì)GART 326的局部SRAM存取大約比GXB 410必須越過(guò)存儲(chǔ)器總線324的情況快10倍。因此,最終結(jié)果是用于服務(wù)AGP總線330上事務(wù)的改進(jìn)的協(xié)議橋接器。該改進(jìn)的協(xié)議橋接器比上述目前的橋接技術(shù)更簡(jiǎn)單、更快速和更有效。下面將描述GXB 410的示例性內(nèi)部劃分。
注意,鑒于最近集成的趨勢(shì),設(shè)想可以將一個(gè)或多個(gè)GXB 410組件集成到單個(gè)集成電路(IC)上。此外,在備選實(shí)施例中,一個(gè)或多個(gè)GXB 410組件可與處理器和/或存儲(chǔ)器集成到單個(gè)集成電路上。圖形擴(kuò)展橋接器的功能劃分現(xiàn)在將參考圖5A描述將GXB 410的各種功能劃分為特定單元的實(shí)例。圖5A是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形擴(kuò)展橋接器的功能單元中高級(jí)互連的簡(jiǎn)化框圖。在本實(shí)例中,GXB 410包括AGP總線接口單元505、數(shù)據(jù)緩沖器單元510、事務(wù)排隊(duì)單元515、GART單元520以及I/O端口接口單元525。AGP總線接口單元505可以基于66兆赫的32位PCI總線。實(shí)際應(yīng)用中,為了易于實(shí)現(xiàn),AGP總線接口單元505可以被進(jìn)一步劃分成核心PCI總線和添加AGP功能的增量邏輯。在AGP一側(cè),AGP總線接口單元505包括用于管理入站和出站事務(wù)之間的AGP總線330所有權(quán)的仲裁邏輯(未示出)。此外,AGP總線接口單元505提供總線控制信號(hào)和地址,使AGP數(shù)據(jù)能在AGP總線330上傳遞。AGP總線接口單元505還可以維持內(nèi)部事務(wù)排隊(duì)和數(shù)據(jù)緩沖器(未示出),以用于執(zhí)行任何必需的流內(nèi)重排序和用于保留某事務(wù)、直到在事務(wù)排隊(duì)單元515中有足夠的資源可用來(lái)服務(wù)于該事務(wù)。
正如下面進(jìn)一步描述的,事務(wù)排隊(duì)單元515實(shí)現(xiàn)用于入站和出站事務(wù)的一個(gè)或多個(gè)內(nèi)部事務(wù)排隊(duì)。緩沖器空間也可以在GXB 410中實(shí)現(xiàn),以便支持各種數(shù)據(jù)緩沖需要。例如,數(shù)據(jù)緩沖器單元510可包括數(shù)據(jù)緩沖器,用于暫時(shí)在GXB 410內(nèi)存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)緩沖器可作為用于各方向上的各事務(wù)類型的分立緩沖器或者作為公用緩沖器來(lái)實(shí)現(xiàn)。
如上所述,在目前的圖形地址轉(zhuǎn)換機(jī)制中,GART 126存儲(chǔ)在主存儲(chǔ)器125中。因此,在這種實(shí)現(xiàn)中,GART功能是靠近主存儲(chǔ)器125來(lái)執(zhí)行的。相反,根據(jù)本實(shí)施例,GART功能是在GXB 410內(nèi)由GART單元520執(zhí)行的。根據(jù)一個(gè)實(shí)施例,無(wú)論何時(shí)事務(wù)隊(duì)列之一中駐留有效事務(wù),GART單元就實(shí)現(xiàn)進(jìn)棧模式并且轉(zhuǎn)換事務(wù)。在這一點(diǎn)上,GART單元520負(fù)責(zé)從事務(wù)隊(duì)列中接受入站事務(wù)并按照需要轉(zhuǎn)換該事務(wù)。在所述實(shí)施例中,GART單元520耦合到包括GART 326的局部片外SRAM 405?;蛘撸珿ART 326也可以存儲(chǔ)在片內(nèi)SRAM中。GART單元520還負(fù)責(zé)對(duì)SRAM 405的內(nèi)容編程。在任何存取開始之前,SRAM 405應(yīng)該被初始化為無(wú)效的或被編程。例如,每當(dāng)啟動(dòng)新應(yīng)用程序時(shí),可以指定GART單元520來(lái)動(dòng)態(tài)地對(duì)SRAM 405編程??梢酝ㄟ^(guò)從系統(tǒng)總線315發(fā)出編程存取請(qǐng)求來(lái)實(shí)現(xiàn)編程。
I/O端口接口單元525通過(guò)在一個(gè)或多個(gè)I/O端口上啟動(dòng)請(qǐng)求和數(shù)據(jù)傳遞來(lái)為一個(gè)或多個(gè)I/O端口提供接口。例如,根據(jù)一個(gè)實(shí)施例,I/O端口接口單元525對(duì)接兩條F16總線。I/O端口接口單元525根據(jù)可用性和流優(yōu)先權(quán)從保持事務(wù)排隊(duì)單元515中保存的入站事務(wù)隊(duì)列中刪除事務(wù),并通過(guò)適當(dāng)?shù)腎/O端口412發(fā)送事務(wù)。如果該請(qǐng)求是寫,則從數(shù)據(jù)緩沖器單元510中適當(dāng)?shù)木彌_器讀取數(shù)據(jù),也將其發(fā)送。對(duì)于出站事務(wù),在保持在事務(wù)排隊(duì)單元515中的適當(dāng)出站事務(wù)隊(duì)列中添加項(xiàng)目。如果需要的話,與出站事務(wù)相關(guān)的數(shù)據(jù)被交付到數(shù)據(jù)緩沖器單元510中適當(dāng)?shù)木彌_器中。
出于說(shuō)明的目的,事務(wù)和與之相關(guān)的數(shù)據(jù)被劃分為獨(dú)立的單元。但是,還設(shè)想了各種其他替代實(shí)施例。例如,根據(jù)一個(gè)實(shí)施例,可以將相關(guān)的數(shù)據(jù)緩沖器和事務(wù)歸為一組。因此,此處任何公開不應(yīng)被認(rèn)為把本發(fā)明限定于根據(jù)特定GXB功能劃分的實(shí)施例。
圖5B是說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形擴(kuò)展橋接器410的詳細(xì)情況的簡(jiǎn)化框圖。根據(jù)本實(shí)例,在AGP規(guī)范的精神中,高和低AGP和PCI流都被作為獨(dú)立結(jié)構(gòu)一直保持到I/O端口接口單元525。事務(wù)排隊(duì)單元515包括AGP低優(yōu)先權(quán)隊(duì)列560、AGP高優(yōu)先權(quán)隊(duì)列565、PCI入站隊(duì)列570、SAC入站控制邏輯580、SAC出站控制邏輯585以及PCI出站隊(duì)列590。AGP總線接口單元505從AGP總線330接收入站AGP事務(wù),并將它們添加到適當(dāng)?shù)年?duì)列560、565或570。例如,來(lái)自AGP總線330的入站PCI事務(wù)被AGP總線接口單元505指定到PCI入站隊(duì)列570的路由。
SAC出站控制邏輯585從I/O端口412接收出站事務(wù),并將它們排列到PCI出站隊(duì)列590中。然后,PCI出站隊(duì)列590被AGP總線接口單元505卸載。注意,因?yàn)槌稣臼聞?wù)不需要地址轉(zhuǎn)換,所以它們不必經(jīng)過(guò)GART單元520。
根據(jù)本實(shí)施例,GART單元520包括仲裁單元530、執(zhí)行單元535以及回寫單元540。仲裁單元530執(zhí)行兩個(gè)主要功能(1)在來(lái)自配置控制單元595的AGP和PCI存取和SRAM存取(編程存取)之間仲裁;以及(2)產(chǎn)生SRAM地址(GART索引)。仲裁單元530的仲裁功能包括確定下一步將轉(zhuǎn)換事務(wù)隊(duì)列560、565和570開頭那些事務(wù)中的哪一個(gè)。與事務(wù)隊(duì)列560、565和570中入站事務(wù)相關(guān)的虛擬地址(在一個(gè)實(shí)施例中其寬度為40位)太寬,以致無(wú)法直接饋送到SRAM 405。因此,仲裁單元530的SRAM地址產(chǎn)生功能(GART索引產(chǎn)生功能)根據(jù)贏得仲裁的事務(wù)的虛擬地址確定SRAM地址。仲裁單元530然后可以向執(zhí)行單元535發(fā)出信息,使它應(yīng)該斷定用于SRAM操作(例如讀或?qū)?的適當(dāng)控制信號(hào)。以此方式,執(zhí)行單元535可以立即發(fā)出SRAM周期,而不必進(jìn)一步處理地址。或者,仲裁單元530可以向執(zhí)行單元535提供SRAM地址,而執(zhí)行單元535可以組裝一個(gè)完整的數(shù)據(jù)包,并將其發(fā)送到SRAM 405。
最好是,SRAM 405應(yīng)該以流水線方式運(yùn)行,并且每個(gè)時(shí)鐘,仲裁單元530都應(yīng)該能夠提供要轉(zhuǎn)換的下一個(gè)事務(wù)的地址,并且將下一個(gè)事務(wù)的可用性傳達(dá)到執(zhí)行單元535。
在一個(gè)實(shí)施例中,執(zhí)行單元535通過(guò)在適當(dāng)時(shí)間斷定和取消SRAM控制信號(hào)來(lái)啟動(dòng)和控制各種SRAM操作。在一個(gè)替代實(shí)施例中,執(zhí)行單元535可完成執(zhí)行階段,該階段包括處理來(lái)自仲裁單元530的輸入SRAM地址,以及通過(guò)將其發(fā)送到SRAM 405來(lái)執(zhí)行它。當(dāng)執(zhí)行單元535接收了GART項(xiàng)目時(shí),它們被用來(lái)執(zhí)行地址轉(zhuǎn)換或被廢棄。如果GART項(xiàng)目所對(duì)應(yīng)的入站事務(wù)地址在GART孔內(nèi),則該GART項(xiàng)目被用于執(zhí)行地址轉(zhuǎn)換。但是,如果入站事務(wù)地址在GART孔(例如,它是某個(gè)物理地址)以外,則放棄該GART項(xiàng)目,而且不執(zhí)行地址轉(zhuǎn)換。在一個(gè)替代實(shí)施例中,執(zhí)行單元535可以保留舊的轉(zhuǎn)換或者利用轉(zhuǎn)換后備緩沖器以便于地址轉(zhuǎn)換。而無(wú)論如何,“轉(zhuǎn)換的地址”,例如原入站事務(wù)地址或物理地址會(huì)被提供給回寫單元540。
回寫單元540接收?qǐng)?zhí)行單元535提供的SRAM數(shù)據(jù)和使用信息,配置控制單元595將該數(shù)據(jù)格式化,并為其指定到正確目的地的路由(例如,事務(wù)排隊(duì)單元515中的隊(duì)列的一個(gè)項(xiàng)目)。例如,根據(jù)所述實(shí)施例,回寫單元540負(fù)責(zé)以執(zhí)行單元提供的轉(zhuǎn)換地址重寫入站事務(wù)的虛擬地址。高級(jí)事務(wù)處理圖6是在概念上說(shuō)明根據(jù)本發(fā)明一個(gè)實(shí)施例的事務(wù)處理的高級(jí)流程圖。在本實(shí)例中,在步驟610,接收到事務(wù)。然后在步驟620,根據(jù)事務(wù)類型判斷是否執(zhí)行地址轉(zhuǎn)換。如果事務(wù)是入站事務(wù)(例如,從AGP總線330接收的事務(wù)),則事務(wù)處理繼續(xù)進(jìn)行步驟630。否則,如果事務(wù)是出站事務(wù)(例如,從一個(gè)或多個(gè)I/O端口412接收的事務(wù)),則事務(wù)處理繼續(xù)進(jìn)行步驟640。在步驟630,執(zhí)行轉(zhuǎn)換處理。雖然為了方便,可以投機(jī)性地從SRAM 410中提取GART項(xiàng)目,但是不是所有的入站事務(wù)都被轉(zhuǎn)換。例如,指定超出AGP范圍(例如,GART孔)的虛擬地址的入站事務(wù)將不被轉(zhuǎn)換。在步驟640,出站事務(wù)繞過(guò)轉(zhuǎn)換處理。最后,在步驟650,在適當(dāng)總線上執(zhí)行事務(wù)(例如,在一個(gè)或多個(gè)I/O端口412上執(zhí)行入站事務(wù),在AGP總線330上執(zhí)行出站事務(wù))。入站PCI寫事務(wù)處理最好,如圖5B所示,GXB 410被配置為處理AGP總線330上接收的AGP事務(wù)和PCI事務(wù),以便提供向后兼容級(jí)。通過(guò)GXB 410的處理流程,對(duì)于PCI、低優(yōu)先權(quán)的AGP以及高優(yōu)先權(quán)的AGP流中的每一個(gè)都非常類似。因此,此處將只描述示范性PCI事務(wù)的處理。
圖7是說(shuō)明根據(jù)本發(fā)明一個(gè)實(shí)施例的入站PCI寫事務(wù)處理的流程圖。在所述實(shí)例中,在步驟710,PCI周期運(yùn)行在AGP總線330上,將PCI事務(wù)遞送到GXB 410,之后是遞送與該P(yáng)CI事務(wù)相關(guān)的數(shù)據(jù)。在步驟720,把PCI事務(wù)緩存在PCI入站緩沖器570中。一旦贏得仲裁,與該P(yáng)CI事務(wù)相關(guān)的虛擬地址被轉(zhuǎn)換為主存儲(chǔ)器325中的物理地址(步驟730),下面將進(jìn)一步地說(shuō)明。在步驟740,用轉(zhuǎn)換的地址重寫PCI事務(wù)的虛擬地址。由于檢索GART項(xiàng)目的投機(jī)性,當(dāng)不要執(zhí)行轉(zhuǎn)換時(shí),轉(zhuǎn)換的地址可能與虛擬地址相同。在任何情況下,在步驟750,把轉(zhuǎn)換的PCI事務(wù)緩存在SAC入站緩沖器580中,直到可以在適當(dāng)I/O端口412上執(zhí)行該事務(wù)。最后,通過(guò)在I/O端口412上執(zhí)行寫周期來(lái)完成轉(zhuǎn)換的PCI事務(wù)。出站PCI寫事備處理如上所述,出站事務(wù)不需要由GXB 410轉(zhuǎn)換。為了進(jìn)一步說(shuō)明這一點(diǎn),現(xiàn)在參考圖8描述與出站PCI寫事務(wù)相關(guān)的處理。根據(jù)此實(shí)例,在I/O端口412上執(zhí)行寫請(qǐng)求,PCI請(qǐng)求被接收并送到SAC出站控制邏輯585(步驟810和820)。與PCI請(qǐng)求相關(guān)的數(shù)據(jù)被傳遞到數(shù)據(jù)緩沖器單元510。在步驟840,一旦贏得仲裁時(shí)隙,通過(guò)在AGP總線330上執(zhí)行寫周期來(lái)完成出站PCI寫事務(wù)。在成功完成出站PCI寫事務(wù)之后,可以提供寫完成指示(步驟850和860)。地址轉(zhuǎn)換概述圖9在概念上說(shuō)明根據(jù)本發(fā)明一個(gè)實(shí)施例的圖形(虛擬)至物理地址空間的轉(zhuǎn)換。簡(jiǎn)要地說(shuō),在此實(shí)例中,虛擬地址915包括AGP地址920和偏移量925。例如,虛擬地址915表示圖形加速器335所使用的連續(xù)邏輯地址空間中的地址。AGP地址920、它的一部分或者由AGP地址920推導(dǎo)的其他信息被用于從GART 905中檢索適當(dāng)?shù)捻?xiàng)目。包含在GART項(xiàng)目?jī)?nèi)的信息標(biāo)識(shí)了包含對(duì)應(yīng)于虛擬地址915的物理地址的主存儲(chǔ)器325中的物理頁(yè)面。GART項(xiàng)目所標(biāo)識(shí)的物理頁(yè)面和與虛擬地址915間的偏移量925組合,從而構(gòu)成主存儲(chǔ)器地址930。對(duì)多種頁(yè)面大小的支持根據(jù)一個(gè)實(shí)施例,GXB 410支持主存儲(chǔ)器325中兩種不同的頁(yè)大小。虛擬地址915的轉(zhuǎn)換取決于相應(yīng)的物理地址駐留于其中的頁(yè)面大小。在一個(gè)實(shí)施例中,對(duì)于落在GART孔內(nèi)的所有頁(yè)面使用固定的頁(yè)面大小(例如,4千字節(jié)或4兆字節(jié)),并且在系統(tǒng)引導(dǎo)期間,頁(yè)面大小的指示被存儲(chǔ)在GXB 410的控制寄存器中。目前,對(duì)于GART項(xiàng)目,AGP程序設(shè)計(jì)模型是采用4千字節(jié)頁(yè)面設(shè)計(jì)的。通過(guò)允許更大的頁(yè)面大小(例如,2兆字節(jié)、4兆字節(jié)等),GXB 410與高性能計(jì)算機(jī)系統(tǒng)兼容。
雖然上述GART孔中的所有頁(yè)面不是一種大小就是另一種大小,但是在替代實(shí)施例中,GART孔可以同時(shí)包括不同大小的頁(yè)面。在本實(shí)施例中,地址轉(zhuǎn)換需要被動(dòng)態(tài)地控制,如下所述。
圖10A說(shuō)明可用于查閱駐留在主存儲(chǔ)器中的4千字節(jié)頁(yè)面中的數(shù)據(jù)的示范性虛擬地址格式。根據(jù)本實(shí)施例,虛擬地址915是40位寬。AGP地址1020包含28位而偏移量1025包含12位。
圖10B說(shuō)明可用于查閱駐留在主存儲(chǔ)器中的4兆字節(jié)頁(yè)面中的數(shù)據(jù)的示范性虛擬地址格式。根據(jù)本實(shí)施例,虛擬地址915也是40位寬。但是,AGP地址1021被減少到18位而偏移量1025被增加到22位。設(shè)想各種其他的頁(yè)面大小也是適用的。
圖11A說(shuō)明支持地址轉(zhuǎn)換到主存儲(chǔ)器中4千字節(jié)頁(yè)面的示范性GART項(xiàng)目格式1105。在本實(shí)例中,項(xiàng)目1105有32位寬,包括奇偶位1115、相干位1120、有效位1125、新頁(yè)面地址1130以及保留區(qū)1110。每個(gè)項(xiàng)目涵蓋一個(gè)4千字節(jié)的頁(yè)面。一兆字節(jié)就足以保存256K個(gè)項(xiàng)目或者總計(jì)1GB的用于4千字節(jié)頁(yè)面的可轉(zhuǎn)換空間。
奇偶位1115涵蓋整個(gè)GART項(xiàng)目1105。它可以由硬件產(chǎn)生,經(jīng)計(jì)算,使得包括奇偶位1115的1的總數(shù)合計(jì)為偶數(shù)或奇數(shù)。
相干位1120指示來(lái)自圖形卡的通信量是否需要與系統(tǒng)總線315相干。下文會(huì)進(jìn)一步討論相干性。
有效位1125指示SRAM 405是否包含用于此項(xiàng)目的有效數(shù)據(jù)。如果有效位1125指示該數(shù)據(jù)對(duì)于該項(xiàng)目是有效的,則可以利用該項(xiàng)目進(jìn)行地址轉(zhuǎn)換。
在此實(shí)例中,新頁(yè)面地址1130是24位寬。新頁(yè)面地址1130包含主存儲(chǔ)器325中包含所需物理地址的4千字節(jié)物理頁(yè)面的起始地址。
圖11B說(shuō)明支持地址轉(zhuǎn)換至主存儲(chǔ)器中的4兆字節(jié)頁(yè)面的示范GART項(xiàng)目格式。在此實(shí)例中,如上所述,項(xiàng)目1106是32位寬,包括奇偶位1116、相干位1121、有效位1126、新頁(yè)面地址1131以及保留區(qū)1111和1136。每個(gè)項(xiàng)目涵蓋一個(gè)4兆字節(jié)的頁(yè)面。
如上所述,奇偶位1116涵蓋整個(gè)GART項(xiàng)目1106,可以經(jīng)計(jì)算使得包括奇偶位1116的1的總數(shù)合計(jì)為偶數(shù)或奇數(shù)。
相干位1121指示來(lái)自圖形卡的通信量是否需要與系統(tǒng)總線315相干。下面將進(jìn)一步討論相干性。
有效位1126指示SRAM 405是否包含可供正討論的項(xiàng)目使用的有效數(shù)據(jù)。如果有效位1126指示該數(shù)據(jù)對(duì)于該項(xiàng)目是有效的,則可以利用該項(xiàng)目進(jìn)行地址轉(zhuǎn)換。
在此實(shí)例中,新頁(yè)面地址1131是14位寬。新頁(yè)面地址1131包含主存儲(chǔ)器325中的包含所需物理地址的4兆字節(jié)物理頁(yè)面的起始地址。
在替代實(shí)施例中,位和字段的相關(guān)位置安排可能不同于圖11A和圖11B的實(shí)例所示。再者,在替代實(shí)施例中,項(xiàng)目的格式還可以包括指示目的頁(yè)面大小(例如4千字節(jié)或4兆字節(jié))的頁(yè)面模式位,從而提供地址轉(zhuǎn)換處理的動(dòng)態(tài)控制。以此方式,可以同時(shí)支持一種以上的不同頁(yè)面大小。相干性來(lái)自圖形卡(例如圖形加速器335)的通信量可能要與系統(tǒng)總線325相干,也可能不要與之相干。根據(jù)一個(gè)實(shí)施例,相干性可在逐頁(yè)基礎(chǔ)上選擇。出于公開的目的,“相干性”指地址出現(xiàn)在系統(tǒng)總線325上,使得一個(gè)或多個(gè)處理器305和310可以監(jiān)聽它們的高速緩存來(lái)獲取該地址。如果紋理映射或其他圖像數(shù)據(jù)被處理器標(biāo)為寫組合(WC),則該數(shù)據(jù)是不相干的。處理器的WC緩存器中命中的系統(tǒng)總線325上的地址不會(huì)被監(jiān)聽。或者,應(yīng)用程序可能知道主存儲(chǔ)器325中的數(shù)據(jù)未被處理器使用(例如,它來(lái)自磁盤),并且希望圖形卡提取數(shù)據(jù)而不占用系統(tǒng)總線325的帶寬,所以強(qiáng)制該存取為不相干。
如上所述,對(duì)于AGP范圍中命中的所有AGP類型的存取,每個(gè)GART項(xiàng)目都有一位來(lái)確定該地址是否相干。對(duì)于AGP范圍外的AGP類型的存取,可以從GXB 410的配置寄存器中讀取信息(例如一個(gè)位相干指示符)來(lái)確定相干性。注意,相干性或不相干性適用于僅采用AGP協(xié)議的存取。采用PCI協(xié)議的存取始終是相干地進(jìn)行的,無(wú)論它們是否命中轉(zhuǎn)換表。
在上述說(shuō)明書中,已經(jīng)參考特定實(shí)施例描述了本發(fā)明。但是,顯然,在不違背本發(fā)明更廣精神和范圍的前提下可以對(duì)其進(jìn)行各種修改和變化。因此,說(shuō)明書和附圖應(yīng)被看作說(shuō)明性而非限定性的意義。
權(quán)利要求
1.一種輸入/輸出(I/O)擴(kuò)展橋接器,它包括第一接口單元,它被配置成通過(guò)一個(gè)或多個(gè)I/O端口與系統(tǒng)存儲(chǔ)器和I/O控制器耦合,所述第一接口單元使數(shù)據(jù)能通過(guò)所述一個(gè)或多個(gè)I/O端口傳到計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器或者從計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器傳出;第二接口單元,它提供總線控制信號(hào)和地址,使數(shù)據(jù)能通過(guò)總線傳到外圍設(shè)備或者從外圍設(shè)備傳出;以及地址轉(zhuǎn)換單元,它與所述第一接口單元和所述第二接口單元耦合,所述地址轉(zhuǎn)換單元通過(guò)訪問(wèn)包含所述計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器中頁(yè)面的物理地址的局部存儲(chǔ)器來(lái)轉(zhuǎn)換與所述第二接口上接收的事務(wù)相關(guān)的地址。
2.如權(quán)利要求1所述的I/O擴(kuò)展橋接器,其特征在于所述總線包括圖形加速端口(AGP)總線。
3.如權(quán)利要求2所述的I/O擴(kuò)展橋接器,其特征在于所述局部存儲(chǔ)器中包含圖形地址重定位表(GART)。
4.如權(quán)利要求3所述的I/O擴(kuò)展橋接器,其特征在于所述局部存儲(chǔ)器包括芯片內(nèi)的靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)。
5.如權(quán)利要求3所述的I/O擴(kuò)展橋接器,其特征在于所述局部存儲(chǔ)器包括芯片外的靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)。
6.如權(quán)利要求3所述的I/O擴(kuò)展橋接器,其特征在于所述GART包括多個(gè)分別與主存儲(chǔ)器中頁(yè)面相關(guān)的項(xiàng)目,所述項(xiàng)目包括標(biāo)識(shí)是否在所述計(jì)算機(jī)系統(tǒng)的處理器總線上監(jiān)聽所述頁(yè)面內(nèi)地址的指示。
7.如權(quán)利要求3所述的I/O擴(kuò)展橋接器,其特征在于所述地址轉(zhuǎn)換單元通過(guò)根據(jù)第一格式或第二格式解釋所述GART中的項(xiàng)目來(lái)支持多種頁(yè)面大小。
8.如權(quán)利要求7所述的I/O擴(kuò)展橋接器,其特征在于所述多種頁(yè)面大小包括兩個(gè)或兩個(gè)以上的4千字節(jié)頁(yè)面、2兆字節(jié)頁(yè)面和4兆字節(jié)頁(yè)面。
9.一種圖形擴(kuò)展橋接器,它包括第一接口單元,它被配置成通過(guò)一個(gè)或多個(gè)I/O端口與系統(tǒng)存儲(chǔ)器和I/O控制器耦合,所述第一接口單元使數(shù)據(jù)能通過(guò)所述一個(gè)或多個(gè)I/O端口傳到計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器或者從計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器傳出;圖形加速端口(AGP)接口單元,它提供總線控制信號(hào)和地址,使數(shù)據(jù)能通過(guò)AGP總線傳到外圍設(shè)備或者從外圍設(shè)備傳出來(lái);以及地址轉(zhuǎn)換單元,它與所述第一接口單元和所述AGP接口單元耦合,所述地址轉(zhuǎn)換單元通過(guò)訪問(wèn)包含圖形地址重定位表(GART)的芯片外靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)來(lái)轉(zhuǎn)換與所述AGP總線上接收的入站AGP事務(wù)相關(guān)的圖形地址,所述GART包括所述計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器中頁(yè)面的物理地址。
10.如權(quán)利要求9所述的圖形擴(kuò)展橋接器,其特征在于所述GART包括多個(gè)分別與主存儲(chǔ)器中頁(yè)面相關(guān)的項(xiàng)目,而且所述項(xiàng)目包括標(biāo)識(shí)是否在所述計(jì)算機(jī)系統(tǒng)的處理器總線上監(jiān)聽所述頁(yè)面內(nèi)地址的指示。
11.如權(quán)利要求9所述的I/O擴(kuò)展橋接器,其特征在于所述地址轉(zhuǎn)換單元通過(guò)根據(jù)第一格式或第二格式解釋所述GART中的項(xiàng)目來(lái)支持多種頁(yè)面大小。
12.如權(quán)利要求11所述的I/O擴(kuò)展橋接器,其特征在于所述多種頁(yè)面大小包括4千字節(jié)和4兆字節(jié)。
13.一種芯片組,它包括橋接裝置,用于在一個(gè)或多個(gè)輸入/輸出(I/O)端口與圖形加速端口(AGP)總線之間提供總線協(xié)議橋接功能,所述橋接裝置被配置成根據(jù)存儲(chǔ)在局部存儲(chǔ)器中的圖形地址重定位表(GART)、將與入站事務(wù)相關(guān)的虛擬地址轉(zhuǎn)換為計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器內(nèi)的物理地址;以及控制器裝置,它與所述橋接裝置耦合,并且被配置成與所述計(jì)算機(jī)系統(tǒng)的系統(tǒng)總線和存儲(chǔ)器總線耦合,以便代表所述橋接裝置執(zhí)行往返于所述主存儲(chǔ)器的數(shù)據(jù)傳遞。
14.一種芯片組,它包括圖形擴(kuò)展橋接器,它在一個(gè)或多個(gè)輸入/輸出(I/O)端口與圖形加速端口(AGP)總線之間提供總線協(xié)議橋接功能,所述圖形擴(kuò)展橋接器被配置成根據(jù)存儲(chǔ)在局部存儲(chǔ)器中的圖形地址重定位表(GART)、將與入站事務(wù)相關(guān)的虛擬地址轉(zhuǎn)換為計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器內(nèi)的物理地址;以及系統(tǒng)存儲(chǔ)器和I/O控制器,它們與所述圖形擴(kuò)展橋接器耦合,并且被配置成與所述計(jì)算機(jī)系統(tǒng)的系統(tǒng)總線和存儲(chǔ)器總線連接,所述系統(tǒng)存儲(chǔ)器和I/O控制器被配置成代表所述圖形擴(kuò)展橋接器執(zhí)行往返于所述主存儲(chǔ)器的數(shù)據(jù)傳遞。
15.一種在橋接器中轉(zhuǎn)換輸入/輸出(I/O)事務(wù)的方法,所述方法包括以下步驟所述橋接器接收局部I/O總線上的I/O事務(wù);確定與所述I/O事務(wù)相關(guān)的地址和偏移量;根據(jù)所述地址從地址轉(zhuǎn)換表中檢索項(xiàng)目,所述地址轉(zhuǎn)換表被存儲(chǔ)在與所述橋接器直接耦合的局部存儲(chǔ)器中;以及根據(jù)所述項(xiàng)目和所述偏移量形成標(biāo)識(shí)計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器中的位置的物理地址。
16.如權(quán)利要求15所述的方法,其特征在于所述局部I/O總線包括圖形加速端口(AGP)總線,以及所述橋接器接收局部I/O總線上的I/O事務(wù)的步驟包括所述橋接器接收所述AGP總線上的AGP事務(wù)。
17.如權(quán)利要求15所述的方法,其特征在于所述局部存儲(chǔ)器包括靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)。
18.如權(quán)利要求15所述的方法,其特征在于所述方法還包括以下步驟確定所述位置是在所述主存儲(chǔ)器中的4千字節(jié)的頁(yè)面內(nèi)還是在4兆字節(jié)的頁(yè)面內(nèi);以及根據(jù)所述確定步驟的結(jié)果解釋所述項(xiàng)目。
19.如權(quán)利要求15所述的方法,其特征在于所述方法還包括確定對(duì)所述物理地址的存取是相干還是不相干的步驟。
全文摘要
提供一種在輸入/輸出(I/O)擴(kuò)展橋接器中執(zhí)行地址轉(zhuǎn)換的方法和裝置。該I/O擴(kuò)展橋接器包括第一接口單元、第二接口單元和地址轉(zhuǎn)換單元。第一接口單元被配置成通過(guò)一個(gè)或多個(gè)I/O端口與系統(tǒng)存儲(chǔ)器和I/O控制器耦合。第一接口單元使數(shù)據(jù)能通過(guò)一個(gè)或多個(gè)I/O端口往返于計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器進(jìn)行傳遞。第二接口單元提供總線控制信號(hào)和地址,使數(shù)據(jù)能通過(guò)總線傳遞到外圍設(shè)備或從外圍設(shè)備傳出。地址轉(zhuǎn)換單元與第一接口單元和第二接口單元連接。地址轉(zhuǎn)換單元通過(guò)訪問(wèn)包含計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器中頁(yè)面的物理地址的局部存儲(chǔ)器來(lái)轉(zhuǎn)換與第二接口上接收的事務(wù)相關(guān)的地址。
文檔編號(hào)G06F13/36GK1382277SQ00814726
公開日2002年11月27日 申請(qǐng)日期2000年8月18日 優(yōu)先權(quán)日1999年8月30日
發(fā)明者R·奈亞, D·R·莫蘭, L·W·克羅斯 申請(qǐng)人:英特爾公司