專利名稱::管芯上系統(tǒng)結(jié)構(gòu)塊的控制的制作方法
技術(shù)領(lǐng)域:
:本申請一般涉及電子學(xué)領(lǐng)域。尤其,本發(fā)明的一個實施例涉及管芯上系統(tǒng)結(jié)構(gòu)(0SF)塊的控制技術(shù)。
背景技術(shù):
:在電子設(shè)計中,半導(dǎo)體知識產(chǎn)權(quán)(IP)塊(也稱之為“IP核”或“邏輯核”或更一般地稱之為“邏輯塊”)是邏輯電路、單元或芯片布局設(shè)計的可重復(fù)使用的單元。例如,可以使用或重復(fù)使用這種邏輯塊,作為各種芯片或邏輯設(shè)計中的構(gòu)造模塊。當(dāng)IP塊的數(shù)量增加時,把它們集成到系統(tǒng)中就變得更具挑戰(zhàn)性。同樣,通過設(shè)計,IP塊可能不包括復(fù)雜的電路(例如,為了使成本下降)。為此,需要通過主處理器而不是IP塊中的邏輯來執(zhí)行一些與地址處理相關(guān)聯(lián)的任務(wù)。例如,通過在用戶和主處理器的內(nèi)核模式之間進行頻繁切換,這可以引起與地址處理相關(guān)聯(lián)的延遲。參考附圖提供詳細的說明。在附圖中,標(biāo)號的最左數(shù)字表示該標(biāo)號首次出現(xiàn)的那幅附圖。在不同附圖中使用相同標(biāo)號表示相似的或等同的項。圖1和6-7示出計算系統(tǒng)的實施例的方框圖,可以利用這些計算系統(tǒng)來實現(xiàn)這里討論的各個實施例。圖2示出根據(jù)一個實施例的用戶級代碼段。圖4示出根據(jù)一些實施例的在OS頁面表和TLB中的樣本條目。圖3和5示出根據(jù)一些實施例的方法的流程圖。具體實施例方式在下面的說明中,闡明了許多特定的細節(jié),以便提供對于各個實施例的透徹理解。然而,可以實現(xiàn)一些實施例而無需這些特定的細節(jié)。在其它情況中,未曾詳細地描述眾知的方法、過程、組件和電路,為的是不使特定實施例模糊不清。某些實施例涉及這樣一些技術(shù),這些技術(shù)用于控制經(jīng)由管芯上系統(tǒng)結(jié)構(gòu)(0SF)而耦合的IP或邏輯塊。在一個實施例中,可以按用戶級來確立控制。此外,0SF可以使處理器核與IP塊對接(諸如在一些實施例中的輸入/輸出設(shè)備)。IP塊一般可能由于成本原因而不包括存儲器管理單元(MMU),所以0SF需要把物理地址傳送給IP塊。對于IP塊,提供對地址處理的支持的一個方式是使用內(nèi)核中設(shè)備驅(qū)動器。這種設(shè)備驅(qū)動器可以具有基于物理地址而操作的特權(quán)。然而,由于在用戶和內(nèi)核模式和/或頁面表移動(pagetablewalk)之間進行頻繁切換的成本很高,所以這個模型對于更細粒度的加速度可能是無效的。然而,用戶級的控制面對著如何把物理地址傳送到IP塊這一挑戰(zhàn)。至此,一個實施例利用物理地址陰影來應(yīng)對這個挑戰(zhàn)。例如,可以在操作系統(tǒng)(OS)中實施系統(tǒng)調(diào)用,以創(chuàng)建物理頁碼數(shù)字或地址的陰影(例如,使用其它無效的物理地址范圍),這里也把這稱之為“重新映射”。此外,硬件(例如,在與0SF進行通信的一個位置處)可以從陰影地址(這里還稱之為“重新映射―1”)獲取真實物理地址。在一個實施例中,用于“重新映射―1”的硬件可以包含使該地址最高的一或二位翻轉(zhuǎn)或逆反。在一個實施例中,應(yīng)用程序(例如,按用戶級執(zhí)行的)可以使用來自用戶空間的普通x86存儲,以把存儲器地址和其它參數(shù)傳送到IP塊。這將比捕獲到內(nèi)核中訪問頁面表快一個數(shù)量級,并且比在IP塊中構(gòu)建額外的MMU便宜好幾個數(shù)量級。此外,在一些實施例中,用戶應(yīng)用程序可以觸發(fā)具有四個特征的IP塊執(zhí)行(1)無指令集架構(gòu)(ISA)擴展;⑵無過多的用戶內(nèi)核模式轉(zhuǎn)換;(3)無額外的MMU;和/或⑷處理器核和IP塊可以共享多個并非固定但只在運行時間才知道的地址。這些特征可以導(dǎo)致限制更少的IP塊的使用。這還允許通過0SF的細粒度加速器的推廣應(yīng)用??梢园堰@里討論的技術(shù)應(yīng)用于各種計算系統(tǒng),諸如參考圖1和6、7所討論的那些計算系統(tǒng)。尤其,圖1示出根據(jù)本發(fā)明一個實施例的計算系統(tǒng)100的方框圖。系統(tǒng)100可以包括一個或多個代理102-1到102-M(這里統(tǒng)稱為“多個代理102”或更一般地稱為“代理102”)。在一個實施例中,一個或多個代理102可以是計算系統(tǒng)(諸如參考圖6-7所討論的計算系統(tǒng))的任何組件。如圖1所示,代理102可以經(jīng)由結(jié)構(gòu)104(諸如0SF)進行通信。因此,在一個實施例中,代理102和結(jié)構(gòu)104可以出現(xiàn)在同一個集成電路管芯上。如這里所討論的,“0SF”是指管芯上系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)是可調(diào)整的、可配置的和/或針對特定產(chǎn)品的。例如,每個代理102可以是橋路(例如,用于耦合到另一個結(jié)構(gòu))、IP塊或經(jīng)由結(jié)構(gòu)104而耦合的電子設(shè)備的另一個組件。在一個實施例中,結(jié)構(gòu)104可以包括計算機網(wǎng)絡(luò),該網(wǎng)絡(luò)允許各個代理(諸如計算設(shè)備)傳送數(shù)據(jù)。在一個實施例中,結(jié)構(gòu)104可以包括經(jīng)由串行(例如,點對點)鏈路和/或共享通信網(wǎng)絡(luò)進行通信的一個或多個互連(或互連網(wǎng)絡(luò))。例如,一些實施例可以促進鏈路上的組件調(diào)試或驗證,這些鏈路允許與全緩沖的雙列直插式存儲器模塊(FBD)進行通信,例如,其中FBD鏈路是用于把存儲器模塊耦合到主控制器設(shè)備(諸如處理器或存儲器樞紐)的串行鏈路??梢詮腇BD信道主機發(fā)送調(diào)試信息,以致可以通過信道業(yè)務(wù)跟蹤捕獲工具(諸如一個或多個邏輯分析器)沿該信道觀察調(diào)試信息。在一個實施例中,系統(tǒng)100可以支持分層的協(xié)議方案,它可以包括物理層、鏈路層、路由層、傳輸層和/或協(xié)議層。對于點對點或共享網(wǎng)絡(luò),結(jié)構(gòu)104可以進一步促進從一個協(xié)議(例如,高速緩存處理器或高速緩存知道存儲器控制器)到另一個協(xié)議的數(shù)據(jù)傳輸(例如,以分組的形式)。同樣,在一些實施例中,結(jié)構(gòu)104可以提供遵守一個或多個高速緩存一致性協(xié)議的通信。另一方面,結(jié)構(gòu)104可以遵守非一致性協(xié)議。此外,如圖1中箭頭方向所示,代理102可以經(jīng)由結(jié)構(gòu)104發(fā)送和/或接收數(shù)據(jù)。因此,一些代理可以利用單向鏈路進行通信,而其它代理可以利用雙向鏈路進行通信。例如,一個或多個代理(諸如代理102-M)可以發(fā)送數(shù)據(jù)(例如,經(jīng)由單向鏈路106),其它代理(諸如代理102-2)可以接收數(shù)據(jù)(例如,經(jīng)由單向鏈路108),而一些代理(諸如代理102-1)可以發(fā)送和接收數(shù)據(jù)(例如,經(jīng)由雙向鏈路110)。在一些實施例中,鏈路106-110可以是0SF界面,這些界面提供協(xié)議和/或信令以允許IP塊跨越多個設(shè)計而進行互操作。在一個實施例中,使代理102耦合的0SF界面(例如,鏈路106-110)可以提供稱之為基本信道和邊帶信道的兩個端口?;拘诺揽梢?a)是用于在對等層和/或上游之5間傳送數(shù)據(jù)的高性能界面;(b)支持存儲器(例如,32位、64位)、輸入/輸出(10)、配置和消息交易;(c)支持外圍組件互連(PCI)排序規(guī)則和/或枚舉;(d)支持分離交易協(xié)議;和/或(e)使PCI-e標(biāo)頭信息映射。邊帶信道可以(i)提供標(biāo)準(zhǔn)界面以傳送所有的邊帶信息且消除專用引線;(ii)提供點對點網(wǎng)絡(luò);(iii)用于狀態(tài)、功率管理、配置陰影、測試模式等;和/或(iv)用于低性能(例如,不打算用于基本數(shù)據(jù)傳輸)。圖2示出根據(jù)本發(fā)明一些實施例的用戶級代碼段,用于有和沒有0SF-附加IP塊的快速傅里葉變換(FFT)。通過本發(fā)明的一個實施例使部分c)成為可能,如這里進一步討論的那樣。內(nèi)核中設(shè)備驅(qū)動器、IP塊可以通過諸如0SF之類的基于分組的互連,與處理器核進行通信。OS的設(shè)備驅(qū)動器可以控制IP塊。在特定的情況(諸如網(wǎng)絡(luò)接口卡(NIC)驅(qū)動器)中,可以固定存儲器緩沖器,以致向驅(qū)動器傳送開始地址的任務(wù)是無實際意義的。在一些實施例中,處理更一般的使用情況,例如,每當(dāng)在IP塊上調(diào)用一個功能時,“緩沖器”地址就改變。為了調(diào)用IP塊上從任意的用戶空間虛擬地址(VA)開始的執(zhí)行,用戶應(yīng)用程序可以進行系統(tǒng)調(diào)用,這捕獲到內(nèi)核中并且觸發(fā)設(shè)備驅(qū)動器(例如,見圖2b))。通過在存儲器的頁面表中進行查找(而不是用轉(zhuǎn)換后備緩沖器(TLB)),設(shè)備驅(qū)動器(諸如圖6的設(shè)備驅(qū)動器)得到物理地址(PA)。然后把PA傳送到IP塊。然而,頻繁的用戶-內(nèi)核模式切換和頁面表移動很容易花費數(shù)千個處理器時鐘,嚴(yán)重地偏離了IP塊中加速度的性能優(yōu)點。此外,一些10設(shè)備的用戶級設(shè)備驅(qū)動器可以約束該應(yīng)用程序和內(nèi)核,以共享一些預(yù)先分配的、固定的存儲器緩沖器,或需要存儲系統(tǒng)中額外的MMU來把應(yīng)用程序虛擬地址轉(zhuǎn)換成物理地址。參考圖2,部分c)示出根據(jù)一個實施例提供的編程模型。例如,應(yīng)用程序在mallocO之后作出一個系統(tǒng)調(diào)用。此后,能夠使用到用戶空間虛擬地址(圖2中的va_alias)的普通(例如,x86)存儲指令把數(shù)據(jù)地址傳送到IP塊。下一幅圖將示出IP塊如何接收物理存儲器地址的一個例子,所述物理存儲器地址支持應(yīng)用程序虛擬地址。更具體地,圖3示出根據(jù)一個實施例的、執(zhí)行重新映射操作的方法300的流程圖。該重新映射操作可以被實現(xiàn)成OS中的系統(tǒng)調(diào)用,以創(chuàng)建物理頁碼或物理地址的陰影,例如,使用其它無效的或未使用的物理地址范圍。在一個實施例中,可以通過參考圖1所討論的基本信道來執(zhí)行參考方法300所討論的數(shù)據(jù)或命令通信。在一個實施例中,在圖3的重新映射的性能之后,“重新映射―1”操作可以使用0SF中的硬件,該硬件從陰影地址中獲取真實物理地址。在一個實施例中,可以通過使該地址的最高位中的一位或兩位翻轉(zhuǎn)(或在一些實施例中,使不止兩位翻轉(zhuǎn))而實現(xiàn)“重新映射―1”操作。在一些實施例中,任何時候當(dāng)使用物理地址時(諸如在系統(tǒng)互連中或在IP塊內(nèi)部),可以執(zhí)行“重新映射―1”操作、陰影到真實物理轉(zhuǎn)換。在一些情況中,在系統(tǒng)互連中執(zhí)行這個操作把這個操作置于不旨在于IP塊的存儲器交易的關(guān)鍵路徑上。在加速器內(nèi)部執(zhí)行這個操作可能需要把“重新映射―1”邏輯構(gòu)建在每一個IP塊中。另一方面,可以在0SF中提供這樣的硬件。具有如此的支持,應(yīng)用程序可以使用單個X86存儲指令來指明IP塊使用的存儲器地址。參考圖1-3,在操作302處,對于VA的別名(Alias_VA,這里也可互換地稱之為“VA_Alias”),可以在用戶地址空間中分配許多字節(jié)(例如,圖2c中的“大小)。在操作304處,可以確定VA的PA。在操作306處,可以根據(jù)PA確定SA(陰影地址)。例如,在操作306處,Remap_t0_Shad0W()(重新映射_到_陰影())可以提供一種具有簡單反函數(shù)的映射,以致0SF可以容易地獲取真實物理地址。在一些系統(tǒng)中,實際安裝的存儲器要少于物理地址空間的一半。在如此的機器中,可以通過使該地址的最高的一或兩位翻轉(zhuǎn)而實現(xiàn)Remap()和重新映射―乂)這兩者,例如,其中Remap(PA)=0x80000000XORPARemap-1(SA)=0x80000000XORSA在一些實施例中,應(yīng)用程序的未經(jīng)加速的部分可以繼續(xù)使用原始的VA。此外,在mallocO之后可以僅僅執(zhí)行SySCall_0SF_remap()—次,例如,在應(yīng)用程序初始化階段(例如,見圖2c))。在一個實施例中,通過0SF硬件可以在每次調(diào)用IP塊功能時執(zhí)行重新映射―1(SA)(Remap—1(SA))。在一個實施例中,OS需要使陰影頁面表與原始的陰影頁面表保持一致。在操作308處,可以添加用于Alias_VA和SA的頁面表條目。在一個實施例中,可以在操作308處將該條目的頁面屬性設(shè)置為不可高速緩存的(諸如參考圖4所討論的)。在操作310處,如果已達到操作302的分配大小的結(jié)束處,則可以返回Alias_VA;否則,可以在操作314處更新VA和Alias_VA(例如,可以通過選擇頁面大小來遞增VA和Alias_VA)。在操作314之后,方法300重新開始操作304。圖4示出根據(jù)一些實施例的0S頁面表和TLB中的樣本條目。例如,0x0200400是通過syscall_0SF_remap()分配的用戶虛擬地址。作為VA0x0000b000的別名,物理頁面0x30a07000作為其后盾。但是在頁面表中,我們故意地使最高位翻轉(zhuǎn),所以物理頁面變成0xb0a0700(0x80000000X0R0x30a0700=0xb0a07000)。在一個實施例中,TLB和TLB錯過處理器并不關(guān)心PA是否是陰影。如圖4所示,作為作出系統(tǒng)調(diào)用的結(jié)果,改變用于調(diào)用應(yīng)用程序的地址映射。在該例子中,比0x40000000高的任何PA在基線平臺中是無效的。把所有的別名虛擬地址都映射到物理地址空間402的無效區(qū)域。兩個系統(tǒng)中的有效的PA范圍0x00x40000000(包括所安裝的存儲器和存儲器映射I0(MMI0))。圖5示出當(dāng)應(yīng)用程序在有或沒有0SF中的特定邏輯的平臺上執(zhí)行X86存儲指令“stregister->0x02004000"時的比較(分別為圖5的部分(B)和(A))。在兩種情況中,處理器(CPU)MMU根據(jù)圖4(B)所示的頁面表把VA轉(zhuǎn)換成PA0xb0a07000o因為頁面的屬性位表示不可高速緩存的,所以上述寫入會繞過處理器高速緩存并且直接到達系統(tǒng)互連(圖5中的操作2)。在圖5(A)中,由于PA超過有效的PA地址范圍(例如,有效的PA范圍為0x00x40000000(包括所安裝的存儲器和MMI0)),所以硬件引發(fā)異常。在圖5(B)中,0SF拾取其它無效的物理地址0xb0a07000(操作3),對其執(zhí)行“重新映射―1”(操作4),并且把寫入交易轉(zhuǎn)換成命令分組,IP塊將從該命令分組得到真實物理地址0X30a07000(操作5)。可以使用各種類型的計算系統(tǒng)來執(zhí)行這里討論的各個實施例(諸如參考圖1-5所討論的實施例)。例如,圖6示出計算系統(tǒng)600的一個實施例的方框圖。圖1的一個或多個代理102可以包括計算系統(tǒng)600的一個或多個組件。計算系統(tǒng)600可以包括耦合到互連網(wǎng)絡(luò)(或總線)604的一個或多個中央處理單元(CPU)602(這里可以把它們統(tǒng)稱為“多個處理器602”,或更一般地,稱為“處理器602”)。處理器602可以是任何類型的處理器,諸如通用處理器、網(wǎng)絡(luò)處理器(它可以處理在計算機網(wǎng)絡(luò)605上傳送的數(shù)據(jù))等(包括減少指令集計算機(RISC)處理器或復(fù)雜指令集計算機(CISC))。此外,處理器602可以具有單核或多核設(shè)計。具有多核設(shè)計的處理器602可以與不同類型的處理器核集成在同一集成電路(IC)管芯上。同樣,具有多核設(shè)計的處理器602可以被實現(xiàn)成對稱或不對稱的多處理器。處理器602可以包括一個或多個高速緩存和/或存儲器管理單元(MMU,諸如參考圖1-5所討論的)(未示出)。在各個實施例中,高速緩存可以是專用的和/或共享的。一般,高速緩存存儲與存儲在其它地方或早先計算的原始數(shù)據(jù)相對應(yīng)的數(shù)據(jù)。為了減小存儲器訪問延遲,一旦把數(shù)據(jù)存儲在高速緩存中,就可以通過訪問高速緩存拷貝而非再取得或重新計算原始數(shù)據(jù),進行將來的使用。高速緩存可以是任何類型的高速緩存,諸如一級(L1)高速緩存、二級(L2)高速緩存、三級(L3)高速緩存、中級高速緩存、最后一級高速緩存(LLC)等,以存儲由系統(tǒng)600的一個或多個組件使用的電子數(shù)據(jù)(例如,包括指令)。如圖6所示,0SF104可以耦合在一個或多個IP塊603和處理器602之間(例如,通過互連604)。如參考圖1-5所討論,0SF104可以包括用于執(zhí)行“重新映射―1”操作的邏輯??梢园研酒M606附加地耦合到互連網(wǎng)絡(luò)604。此外,芯片組606可以包括存儲器控制樞紐(MCH)608。MCH608可以包括耦合到存儲器612的存儲器控制器610。存儲器612可以存儲數(shù)據(jù),例如,包括由處理器602或與計算系統(tǒng)600的組件進行通信的任何其它設(shè)備所執(zhí)行的指令序列。在一個實施例中,可以使用存儲器612來存儲數(shù)據(jù),諸如參考圖1-5所討論的那樣(諸如頁面表)。同樣,在本發(fā)明的一個實施例中,存儲器612可以包括一個或多個易失性存儲(或存儲器)設(shè)備,諸如隨機存取存儲器(RAM)、動態(tài)RAM(DRAM)、同步DRAM(SDRAM)、靜態(tài)RAM(SRAM)等。還可以使用非易失性存儲器,諸如硬盤??梢园蚜硗獾脑O(shè)備耦合到互連網(wǎng)絡(luò)604,諸如多個處理器和/或多個系統(tǒng)存儲器。MCH608還可以包括耦合到顯示設(shè)備616的圖形接口614(例如,在一個實施例中,經(jīng)由圖形加速器進行耦合)。在一個實施例中,圖形接口614可以經(jīng)由加速的圖形端口(AGP)耦合到顯示設(shè)備616。在本發(fā)明的一個實施例中,例如,顯示設(shè)備616(諸如平板顯示器)可以通過信號轉(zhuǎn)換器而耦合到圖形接口614,該信號轉(zhuǎn)換器把存儲在存儲設(shè)備(諸如視頻存儲器或系統(tǒng)存儲器(例如,存儲器612))中的圖像的數(shù)字表示轉(zhuǎn)換成通過顯示器616解譯和顯示的顯示信號。如圖6所示,樞紐接口618可以把MCH608耦合到輸入/輸出控制樞紐(ICH)620。ICH620可以提供到輸入/輸出(I/O或10)設(shè)備的接口,輸入/輸出設(shè)備耦合到計算系統(tǒng)600。ICH620可以通過外圍橋路(或控制器)624耦合到總線622,所述外圍橋路可以是符合PCIe規(guī)格的外圍組件互連(PCI)橋路、通用串行總線(USB)控制器等。橋路624可以提供在處理器602和外圍設(shè)備之間的數(shù)據(jù)路徑??梢岳闷渌愋偷牟季帧M瑯?,可以使多根總線耦合到ICH620,例如,通過多個橋路或控制器。例如,總線622可以符合PCI本地總線規(guī)格,修訂版本3.0,2004,可從美國Oregon州Portland的PCI特別興趣小組得到(此后稱之為“PCI總線”)。另一方面,總線622可以包括符合PCI-X規(guī)格(Rev.3.0a,2003)(此后稱之為“PCI-X總線”)和/或可從上述PCI特別興趣小組得到的PCI特別(PCIe)規(guī)格(PCIe規(guī)格,修訂版本2.0,2006)的總線。此外,總線622可以包括總線系統(tǒng)的其它類型和配置。此外,在本發(fā)明的各個實施例中,耦合到ICH620的其它外圍設(shè)備可以包括集成的驅(qū)動電子線路(IDE)或小型計算機系統(tǒng)接口(SCSI)硬驅(qū)動、USB端口、鍵盤、鼠標(biāo)、并行端口、串行端口、軟盤驅(qū)動、數(shù)字輸出支持(例如,數(shù)字視頻接口(DVI))等??偩€622可以耦合到音頻設(shè)備626、一個或多個盤驅(qū)動628以及網(wǎng)絡(luò)適配器630(在一個實施例中,是NIC)。在一個實施例中,耦合到總線622的網(wǎng)絡(luò)適配器630或其它設(shè)備可以經(jīng)由切換邏輯612(在一些實施例中,可以與圖4的邏輯412相同或相似)與芯片組606進行通信。其它設(shè)備可以耦合到總線622。同樣,在本發(fā)明的一些實施例中,各個組件(諸如網(wǎng)絡(luò)適配器630)可以耦合到MCH608。此外,可以將處理器602和MCH608組合起來以形成單個芯片。另外,計算系統(tǒng)600可以包括易失性和/或非易失性存儲器(或存儲)。例如,非易失性存儲器可以包括下列的一個或多個只讀存儲器(ROM)、可編程ROM(PR0M)、可擦除PROM(EPROM)、電EPROM(EEPROM)、盤驅(qū)動(例如,628)、軟盤、光盤ROM(CD-ROM)、數(shù)字通用盤(DVD)、閃存、磁光盤或能夠存儲電子數(shù)據(jù)(例如,包括指令)的其它類型的非易失性機器可讀出介質(zhì)。在一個實施例中,存儲器612可以包括下列的一個或多個操作系統(tǒng)(0/S)632、應(yīng)用程序634和/或設(shè)備驅(qū)動器636(諸如參考圖1-5討論的0S、應(yīng)用程序和/或設(shè)備驅(qū)動器)。存儲器612還可以包括專用于MMI0操作的區(qū)域。作為存儲器管理操作的一部分,可以把存儲在存儲器612中的程序和/或數(shù)據(jù)交換到盤驅(qū)動628中。應(yīng)用程序634可以執(zhí)行(例如,在處理器602上)而與一個或多個計算設(shè)備進行一個或多個分組的通信,所述計算設(shè)備與網(wǎng)絡(luò)605耦合。在一個實施例中,分組可以是一個或多個碼元和/或值的序列,所述一個或多個碼元和/或值可以通過從至少一個發(fā)送器發(fā)送到至少一個接收機(例如,在諸如網(wǎng)絡(luò)605這樣的網(wǎng)絡(luò)上)的一個或多個電信號進行編碼。例如,每個分組可以具有標(biāo)頭,所述標(biāo)頭包括在路由和/或處理分組中可以利用的各種信息,諸如源地址、目的地地址、分組類型等。每個分組還具有有效負荷,所述有效負荷包括上述分組正在計算機網(wǎng)絡(luò)(諸如網(wǎng)絡(luò)605)上的各個計算設(shè)備之間傳送的原始數(shù)據(jù)(或內(nèi)容)。在一個實施例中,應(yīng)用程序634可以利用0/S632與系統(tǒng)600的各個組件進行通信,例如,通過設(shè)備驅(qū)動器636。因此,設(shè)備驅(qū)動器636可以包括網(wǎng)絡(luò)適配器(530)特定命令,以提供0/S632和網(wǎng)絡(luò)適配器630或耦合到系統(tǒng)600(例如,經(jīng)由芯片組606進行耦合)的其它1/0設(shè)備之間的通信接口。在一個實施例中,0/S632可以包括網(wǎng)絡(luò)協(xié)議棧。協(xié)議棧一般是指一組過程或程序,可以執(zhí)行所述過程或程序以處理在網(wǎng)絡(luò)(605)上發(fā)送的分組,其中所述分組可以符合特定的協(xié)議。例如,可以使用TCP/IP棧來處理TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)分組。設(shè)備驅(qū)動器636可以,例如,經(jīng)由協(xié)議棧,指示要處理的緩沖器638。網(wǎng)絡(luò)605可以包括任何類型的計算機網(wǎng)絡(luò)。網(wǎng)絡(luò)適配器630還可以包括直接存儲器存取(DMA)引擎652,它把分組寫入被分配給可用的描述符的緩沖器(例如,存儲在存儲器612)中,以在網(wǎng)絡(luò)605上發(fā)送和/或接收數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,圖7示出安排在點對點(PtP)配置中的計算系統(tǒng)700。尤其,圖7示出一個系統(tǒng),其中通過許多點對點接口而使處理器、存儲器和輸入/輸出設(shè)備互連。可以通過系統(tǒng)700的一個或多個組件,來執(zhí)行參考圖1-6所討論的操作。如圖7所示,系統(tǒng)700可以包括若干個處理器,為了清楚起見,只有示出其中的兩個處理器702和704。處理器702和704的每一個都可以包括本地存儲器控制器樞紐(MCH)706和708,以啟動與存儲器710和712(可以存儲匪10區(qū)域,諸如參考權(quán)利要求2_3所討論)的通信。存儲器710和/或712可以存儲各種數(shù)據(jù),諸如參考圖6的存儲器612所討論的那些數(shù)據(jù)。如圖7所示,處理器702和704還可以包括一個或多個高速緩存,諸如參考圖4和6所討論的那些。在一個實施例中,處理器702和704可以是參考圖6所討論的處理器602中的一個。處理器702和704可以分別使用PtP接口電路716和718,經(jīng)由點對點(PtP)接口714來交換數(shù)據(jù)。同樣,處理器702和704的每一個可以使用點對點接口電路726、728、730和732,經(jīng)由獨立的PtP接口722和724,與芯片組720交換數(shù)據(jù)。芯片組720還可以,例如,使用PtP接口電路737經(jīng)由高性能圖形接口736與高性能圖形電路734交換數(shù)據(jù)。在至少一個實施例中,0SF104可以把處理器702、704(例如,通過PtP接口)耦合到一個或多個IP塊603。然而,本發(fā)明的其它實施例可以存在于圖7的系統(tǒng)700中的其它電路、邏輯單元或設(shè)備中。此外,在圖7中描述的若干個電路、邏輯單元或設(shè)備中,可以分布本發(fā)明的其它實施例。同樣,處理器702、704可以包括MMU(諸如參考圖5所討論的)。此外,0SF104可以包括重新映射―1邏輯,或可以使邏輯位于系統(tǒng)700中的其它地方,諸如在芯片組720、通信設(shè)備746、耦合到總線740/744的設(shè)備等中。芯片組720可以使用PtP接口電路741與總線740進行通信。總線740可以具有與其通信的一個或多個設(shè)備,諸如總線橋路742和I/O設(shè)備743??偩€橋路742可以經(jīng)由總線744與其它設(shè)備(諸如鍵盤/鼠標(biāo)745、通信設(shè)備746(諸如調(diào)制解調(diào)器、網(wǎng)絡(luò)接口設(shè)備或可以與計算機網(wǎng)絡(luò)605通信的其它通信設(shè)備)、音頻I/O設(shè)備和/或數(shù)據(jù)存儲設(shè)748)進行通信。數(shù)據(jù)存儲設(shè)備748可以存儲代碼749,處理器702和704可以執(zhí)行代碼749。在本發(fā)明的各個實施例中,例如,可以把這里參考圖1-7所討論的操作實施為硬件(例如,電路)、軟件、固件、微碼或它們的組合,可以提供這些作為計算機程序產(chǎn)品,例如,包括其上存儲有用于對計算機進行編程以執(zhí)行這里討論的過程的指令(或軟件過程)的機器可讀出或計算機可讀出介質(zhì)。同樣,通過舉例的方式,術(shù)語“邏輯”可以包括軟件、硬件或軟件和硬件的組合。機器可讀出介質(zhì)可以包括存儲設(shè)備,諸如相對于圖1-7所討論的那些。另外,可以下載如此的計算機可讀出介質(zhì)作為計算機程序產(chǎn)品,其中可以經(jīng)由通信鏈路(例如,總線、調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)通過在載波或其它傳播介質(zhì)中提供的數(shù)據(jù)信號把程序從遠程計算機(例如,服務(wù)器)傳送到請求計算機(例如,客戶)。參考說明書,“一個實施例”或“實施例”意味著可以在至少一個實施方式中包括聯(lián)系實施例描述的特定特征、結(jié)構(gòu)或特性。在說明書中各處出現(xiàn)的短語“在一個實施例中”可以涉及或可以不涉及同一實施例。同樣,在說明書和權(quán)利要求中,可以使用術(shù)語“耦合”和“連接”以及它們的衍生物。在本發(fā)明的一些實施例中,可以使用“連接”來表示兩個或多個元件是相互直接物理接觸或電接觸的。“耦合”意味著兩個或多個元件直接物理接觸或電接觸。然而,“耦合”還意味著兩個或多個元件可能相互沒有直接接觸,但是仍相互合作或交互作用。因此,雖然已經(jīng)以對于結(jié)構(gòu)特征和/或方法行為為特定的語言來描述了本發(fā)明的各個實施例,但是應(yīng)該理解,要求權(quán)益的主題不局限于所描述的特定特征或行為。而是,揭10示特定特征和行為作為實施所要求的主題的示例形式。權(quán)利要求一種裝置,包括管芯上系統(tǒng)結(jié)構(gòu)(OSF),用于把處理器耦合至邏輯塊;以及存儲器,用于響應(yīng)于用戶級請求而存儲與物理地址對應(yīng)的陰影地址,其中OSF包括從陰影地址確定物理地址的邏輯。2.如權(quán)利要求1所述的裝置,其特征在于,所述存儲器存儲與物理地址對應(yīng)的虛擬地址以及與陰影地址對應(yīng)的別名虛擬地址。3.如權(quán)利要求2所述的裝置,其特征在于,所述存儲器存儲頁面表,其中所述頁面表包括與別名虛擬地址和陰影地址對應(yīng)的條目。4.如權(quán)利要求1所述的裝置,其特征在于,所述存儲器存儲用于陰影地址和物理地址的可高速緩存的指示。5.如權(quán)利要求1所述的裝置,其特征在于,所述處理器和邏輯塊共享僅在運行時間才知道的地址。6.如權(quán)利要求1所述的裝置,其特征在于,所述處理器和邏輯塊共享不固定的且僅在運行時間才知道的地址。7.如權(quán)利要求1所述的裝置,其特征在于,所述邏輯使陰影地址的一個或多個最高位逆反以確定物理地址。8.如權(quán)利要求1所述的裝置,其特征在于,所述存儲器存儲應(yīng)用程序以產(chǎn)生用戶級請求。9.如權(quán)利要求1所述的裝置,其特征在于,所述存儲器存儲應(yīng)用程序以產(chǎn)生用于把存儲器地址或其它參數(shù)傳送到邏輯塊的存儲操作。10.如權(quán)利要求1所述的裝置,其特征在于,所述OSF和存儲器在同一集成電路管芯上。11.如權(quán)利要求1所述的裝置,其特征在于,所述處理器包括經(jīng)由OSF與邏輯塊進行通信的多個處理器。12.如權(quán)利要求11所述的裝置,其特征在于,多個處理器核、存儲器和OSF在同一集成電路管芯上。13.如權(quán)利要求1所述的裝置,其特征在于,還包括用于使OSF與處理器耦合的第一接口以及用于使OSF與邏輯塊耦合的第二接口,其中第一接口和第二接口各自包括基本信道和邊帶信道,并且其中邏輯塊和處理器通過第一和第二接口的基本信道進行通信。14.一種方法,包括響應(yīng)于用戶級請求,分配用于存儲與物理地址對應(yīng)的陰影地址的存儲器的一部分;以及在OSF處,從陰影地址確定物理地址。15.如權(quán)利要求14所述的方法,其特征在于,還包括在存儲器中存儲與所述物理地址對應(yīng)的虛擬地址以及與所述陰影地址對應(yīng)的別名虛擬地址。16.如權(quán)利要求15所述的方法,其特征在于,還包括在存儲器中存儲頁面表,其中所述頁面表包括與所述別名虛擬地址和所述陰影地址對應(yīng)的條目。17.如權(quán)利要求14所述的方法,其特征在于,分配存儲器的一部分包括分配無效物理地址范圍。18.如權(quán)利要求14所述的方法,其特征在于,還包括在存儲器中存儲用于所述陰影地址和所述物理地址的可高速緩存的指示。19.如權(quán)利要求14所述的方法,其特征在于,還包括使所述陰影地址的一個或多個最高位逆反以確定所述物理地址。20.如權(quán)利要求14所述的方法,其特征在于,還包括在所述存儲器中存儲應(yīng)用程序;以及所述應(yīng)用程序產(chǎn)生用戶級請求。21.如權(quán)利要求14所述的方法,其特征在于,還包括在所述存儲器中存儲應(yīng)用程序;以及所述應(yīng)用程序產(chǎn)生用于把存儲器地址或其它參數(shù)傳送到邏輯塊的存儲操作。22.如權(quán)利要求21所述的方法,其特征在于,還包括經(jīng)由所述OSF使處理器與邏輯塊相華禹合。23.—種系統(tǒng),包括輸入/輸出(IO)設(shè)備;管芯上系統(tǒng)結(jié)構(gòu)(OSF),用于使處理器與IO設(shè)備相耦合;以及存儲器,用于響應(yīng)于用戶級請求而存儲與物理地址對應(yīng)的陰影地址,其中所述OSF包括用于從陰影地址確定物理地址的邏輯。24.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述存儲器存儲與物理地址對應(yīng)的虛擬地址以及與陰影地址對應(yīng)的別名虛擬地址。25.如權(quán)利要求24所述的系統(tǒng),其特征在于,所述存儲器存儲頁面表,其中所述頁面表包括與別名虛擬地址和陰影地址對應(yīng)的條目。26.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述存儲器存儲用于陰影地址和物理地址中的每一個的可高速緩存的指示。27.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述處理器和邏輯塊共享僅在運行時間才知道的地址。28.如權(quán)利要求1所述的裝置,其特征在于,所述邏輯使陰影地址的一個或多個最高位逆反以確定物理地址。29.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述存儲器存儲應(yīng)用程序以產(chǎn)生用戶級請求。30.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述存儲器存儲應(yīng)用程序以產(chǎn)生用于把存儲器地址或其它參數(shù)傳送到IO設(shè)備的存儲操作。全文摘要描述了用于控制管芯上系統(tǒng)結(jié)構(gòu)(OSF)塊的方法和裝置。在一個實施例中,可以根據(jù)用戶級請求來存儲與物理地址對應(yīng)的陰影地址,并且邏輯電路(例如,存在于OSF中的)可以從陰影地址來確定物理地址。還揭示了其它實施例。文檔編號G06F15/167GK101853226SQ20101015728公開日2010年10月6日申請日期2010年3月30日優(yōu)先權(quán)日2009年3月31日發(fā)明者J·阿賈諾維克,M·E·艾斯皮格,M·沃什,R·艾耶,方震申請人:英特爾公司