大型互聯(lián)架構(gòu)相關(guān)申請本申請根據(jù)35U.S.C.§119(e)要求提交于2011年3月10日的U.S.臨時專利申請No.61/451301的權(quán)益,該申請被通過引用結(jié)合于此。技術(shù)領(lǐng)域本公開一般地涉及網(wǎng)絡(luò)交換機,并且更具體地涉及互聯(lián)交換機架構(gòu)。
背景技術(shù):網(wǎng)絡(luò)交換機是將數(shù)據(jù)分組從源網(wǎng)絡(luò)組件轉(zhuǎn)發(fā)至目的地網(wǎng)絡(luò)組件的數(shù)據(jù)交換設(shè)備。通常,網(wǎng)絡(luò)交換機通過輸入端口從源網(wǎng)絡(luò)組件接收分組,并且通過輸出端口向目的地網(wǎng)絡(luò)組件發(fā)送分組。附圖說明圖1示出了在帶緩沖的縱橫交叉交換結(jié)構(gòu)(bufferedcrossbar)上利用分散-聚合(scatter-gather)方案來發(fā)送數(shù)據(jù)分組的示例性的方法。圖2A示出了示例性的簡化交換機架構(gòu)。圖2B示出了另一個示例性的簡化交換機架構(gòu)。圖3示出了示例性的具有分散-聚合的帶緩沖的縱橫交叉交換結(jié)構(gòu)。圖4示出了示例性的交換機系統(tǒng)。圖5示出了示例性的計算機系統(tǒng)。具體實施方式縱橫交叉交換結(jié)構(gòu)交換機是在不緩沖的情況下直接將分組從輸入端口轉(zhuǎn)發(fā)到輸出端口的交換設(shè)備。在帶緩沖的縱橫交叉交換結(jié)構(gòu)中,輸入直接連接到存儲器,并且數(shù)據(jù)可以在沒有延遲的情況下被寫。即,存儲器被寫以便在針對每個輸出的單條總線的仲裁之后輸出。當(dāng)存儲器滿了時,存在在外部存儲器中存儲或進行回壓(back-pressuring)的選擇,這特定于輸出端口。由于每個輸入和輸出具有到所有它的存儲器的專用總線,所以不存在資源沖突。帶緩沖的縱橫交叉交換結(jié)構(gòu)可以是非阻塞(non-blocking)的。在特定實施例中,分散/聚合I/O是一種輸入和輸出的方法,通過這種方法單個過程調(diào)用順序地將來自多個緩沖器的數(shù)據(jù)寫到單個數(shù)據(jù)流,或者從數(shù)據(jù)流讀數(shù)據(jù)到多個緩沖器。分散/聚合指從給定的緩沖器集合聚合數(shù)據(jù)或者將數(shù)據(jù)分散到給定的緩沖器集合的過程。分散/聚合可以同步地或異步地操作?;ヂ?lián)架構(gòu)是所有交換機的基礎(chǔ)。隨著被連接的節(jié)點的數(shù)量上升,架構(gòu)的復(fù)雜性也上升了。特定實施例包括維護或改善關(guān)鍵度量(例如功率、成本和延遲)的大規(guī)?;ヂ?lián)。在特定實施例中,交換機包括N×N雙向串行端口,N×N雙向串行端口是通過在每個具有N個端口的N個芯片間對端口進行劃分而得到的。特定實施例將芯片與兩個雙向串行信道連接,從而每個芯片具有到達另外的芯片中的每個芯片的兩個雙向信道。在特定實施例中,串行信道被進行時間片劃分為至少N路,每個時間片用于一個信道。在特定實施例中,每個芯片內(nèi)是具有N×N條水平線和N×N條垂直線的交叉開關(guān)。特定實施例在水平線和垂直線的每個交叉處包括存儲器。特定實施例使用帶緩沖的縱橫交叉交換結(jié)構(gòu)和分散-聚合方案來將數(shù)據(jù)從輸入發(fā)送到輸出。特定實施例利用大型帶緩沖的縱橫交叉交換結(jié)構(gòu),該交叉開關(guān)使用了被進行時間片劃分的串行信道來分散輸入數(shù)據(jù)和聚合輸出數(shù)據(jù)的方案。特定實施例消除了對跨架構(gòu)流量、請求-授權(quán)或仲裁的需要。因此在特定實施例中,流控制決定和仲裁決定都可以在沒有額外架構(gòu)流量的情況下做出。在特定實施例中,當(dāng)任何輸入端口接收到數(shù)據(jù)分組時,該分組使用為該輸入端口指定的時隙而被劃分成片段并且遍布系統(tǒng)的N個芯片。在特定實施例中,在芯片內(nèi),每個片斷被存儲在存儲器中的輸入和預(yù)計輸出的交叉點處。在特定實施例中,該分組在每個芯片中的存儲器位置是相同的,但每個存儲器位置保持該分組的不同部分。具有相應(yīng)輸出端口的芯片的特定實施例考慮針對該芯片而排列在其自身的存儲器中的所有分組,選擇(例如在位置L處的)一個。在特定實施例中,選定分組的其余部分使用串行信道和針對該特定輸出的具體時隙而在其它存儲器的位置L處被讀出。在特定實施例中,得到的重構(gòu)分組通過所述輸出端口被發(fā)送出。特定實施例導(dǎo)致非常低的延遲。但是,分組按順序沿著架構(gòu)運送,這可消除對復(fù)雜的亂序方案的需要。在特定實施例中,實現(xiàn)方式的成本和功率是低的。在特定實施例中,可以僅使用一種芯片來構(gòu)建交換機。圖1示出了用于跨越帶緩沖的縱橫交叉交換結(jié)構(gòu)交換機分散和聚合數(shù)據(jù)分組的示例性方法。在特定實施例中,數(shù)據(jù)分組可以來自多個不同的流,例如單播、多播以及每個的多個優(yōu)先級或者質(zhì)量,例如低質(zhì)量(LQ)或高質(zhì)量(HQ)流量。除了交叉開關(guān)架構(gòu)以外,特定實施例還包括交換機或路由器系統(tǒng)的內(nèi)部組件。圖4示出了示例性交換機或路由器系統(tǒng)。在圖4的示例中,交換機400包括前面板端口402、MAC/PCS404、輸入邏輯406、外部存儲器控制器408、外部存儲器410、分散/聚合端口412、交叉點414、輸出邏輯418、優(yōu)先級解析420和統(tǒng)計422。在特定的實施例中,一個或多個系統(tǒng)400執(zhí)行本文描述或示出的一種或多種方法的一個或多個步驟。特定實施例包括一個或多個系統(tǒng)400的一個或多個部分。在特定實施例中,數(shù)據(jù)分組在前面板端口402處通過物理連接接收。MAC/PCS404包括可兼容10G、40G和100G的輸入端口。輸入端口可以被配置為耦合到各種硬件和網(wǎng)絡(luò)協(xié)議。輸入端口可以包括到網(wǎng)絡(luò)的一個或多個物理接口。輸入端口可以被配置為接收和發(fā)送數(shù)據(jù)分組或數(shù)據(jù)分組的片段。方法可以開始于圖1中的步驟110,其中數(shù)據(jù)分組在輸入邏輯模塊處被接收。數(shù)據(jù)分組可以在輸入邏輯406處被接收。輸入邏輯406可以包括接收傳入的數(shù)據(jù)分組的邏輯。在步驟120,數(shù)據(jù)分組可以被分撥為數(shù)據(jù)片段。在特定實施例中,每一個數(shù)據(jù)片段可以是尺寸大致相同的。在特定實施例中,數(shù)據(jù)片段的總數(shù)可以有賴于多個芯片中的芯片數(shù)量。即,可以為每個芯片分撥一個數(shù)據(jù)片段。在特定實施例中,如果數(shù)據(jù)分組沒有大到足以被分割成相等尺寸的分組,每個芯片一個,則數(shù)據(jù)片段可以仍然針對盡可能多的芯片是相等尺寸的。輸入邏輯406包括可以將數(shù)據(jù)分組分撥為數(shù)據(jù)片段的邏輯,即,輸入邏輯406可以將數(shù)據(jù)分組分割為單元和子單元。在特定實施例中,輸入邏輯406可以包括將數(shù)據(jù)分組分割為單元和子單元的單元分割器(cellulizer)。輸入邏輯406可以通過檢查頭部、位奇偶性或者使用地址故障檢測(AFD)邏輯,來嘗試檢測每個數(shù)據(jù)分組中的錯誤。在特定實施例中,輸入邏輯406通過執(zhí)行架構(gòu)出口端口(FPOE)查找來確定數(shù)據(jù)片段將被發(fā)送至的芯片地址以及芯片。輸入邏輯406可以作為交換端口分析器(SPAN)來選擇用于由網(wǎng)絡(luò)分析器分析的流量。在特定實施例中,SPAN將流量從一個或多個源端口鏡像到目的端口以用于分析。外部存儲器控制器408管理數(shù)據(jù)流,并且支持圖4中所示的交換機系統(tǒng)400的輸入邏輯406與外部存儲器410之間的傳輸。外部存儲器410可以具有與交叉點414不同的單獨的基地址和地址范圍。在步驟130,數(shù)據(jù)分組可以利用分散方案被分發(fā)至帶緩沖的縱橫交叉交換結(jié)構(gòu)。在特定實施例中,數(shù)據(jù)片段可以利用分散方案并且遍布單個帶緩沖的縱橫交叉交換結(jié)構(gòu)的多個芯片而被分發(fā)以存儲到每個芯片上的特定地址??梢栽诓粎⒖挤纸M的最終的網(wǎng)絡(luò)端口目的地的情況下分發(fā)分組。在特定實施例中,子單元被分散到特定芯片和芯片地址,多個芯片中的每個芯片被分散了一個子單元。在特定實施例中,單個帶緩沖的縱橫交叉交換結(jié)構(gòu)處理所有類型的傳入和傳出流量,例如單播、多播以及每個的根據(jù)服務(wù)質(zhì)量(QoS)的多個優(yōu)先級。在特定實施例中,單個帶緩沖的縱橫交叉交換結(jié)構(gòu)可以根據(jù)QoS來處理傳入和傳出流量。在特定實施例中,每個芯片上的一些位置可以保留用于不同類型的傳入和傳出流量,例如單播、多播,并且基于QoS。在特定實施例中,可以存在兩個帶緩沖的縱橫交叉交換結(jié)構(gòu),一個帶緩沖的縱橫交叉交換結(jié)構(gòu)用于低質(zhì)量流量并且一個帶緩沖的縱橫交叉交換結(jié)構(gòu)用于高質(zhì)量流量。分散/聚合端口412可以在輸入邏輯406和交叉點414之間包括一個或多個物理接口。分散/聚合端口412可以被配置為耦合到各種硬件和網(wǎng)絡(luò)協(xié)議。分散/聚合端口412可以被配置為接收和傳輸數(shù)據(jù)分組或數(shù)據(jù)分組的片段。分散/聚合端口412可以是10G,或更高的速度,如40G和100G的。分散/聚合端口412可被用來利用分散方案跨越多個芯片分發(fā)數(shù)據(jù)片斷以便存儲于每個芯片上的特定地址空間。交叉點414包括通信地耦合在一起的多個芯片,并且包括帶緩沖的縱橫交叉交換結(jié)構(gòu)。交叉點414中的每個芯片可以耦合到彼此,并且可以包括帶緩沖的縱橫交叉交換結(jié)構(gòu)架構(gòu)的一部分。在特定實施例中,每個芯片是相互排斥的。在特定實施例中,每個芯片內(nèi)是具有N×N條水平線和N×N條垂直線的縱橫交叉交換結(jié)構(gòu),其中N是大于1的整數(shù)。雖然出于說明目的示出了簡化的帶緩沖的縱橫交叉交換結(jié)構(gòu),但在實踐中,帶緩沖的縱橫交叉交換結(jié)構(gòu)可以具有超過1000個的輸入和超過1000個的輸出,如3000、4000、8000或10000個輸入/輸出。在特定實施例中,例如,4000端口的交換機可以具有帶有64個前面板端口的64個芯片。圖2A和圖2B示出了示例性的簡化交換機架構(gòu)。在圖2A和圖2B的示例中,以簡單的形式示出了架構(gòu)。圖2A的示例性交換機架構(gòu)具有四個彼此耦合的節(jié)點202A、204A、206A、208A,輸入節(jié)點為202A且輸出節(jié)點為208A。在特定實施例中,當(dāng)在輸入節(jié)點202A處接收到了數(shù)據(jù)分組時,該數(shù)據(jù)分組可以被片段化(fragment)成四個相等的部分。第一片段(該片段是數(shù)據(jù)分組的四分之一)可以保持在輸入節(jié)點202A處,而其它三個數(shù)據(jù)片段(每個片段都是數(shù)據(jù)分組的四分之一)可以被發(fā)送到其它節(jié)點204A、206A、208A中的每個。在特定實施例中,每個節(jié)點202A、204A、206A和208A用于四分之一的容量,這可降低連接密度。當(dāng)數(shù)據(jù)分組準(zhǔn)備好被發(fā)送出時,已經(jīng)具有四分之一的數(shù)據(jù)分組的輸出節(jié)點208A從節(jié)點202A、204A和206A收集其它三個數(shù)據(jù)片段中的每個,從四個片段重構(gòu)數(shù)據(jù)分組,并且傳輸數(shù)據(jù)分組。圖2B的示例性架構(gòu)具有通過兩個雙向串行通道210彼此耦合的四個節(jié)點202B、204B、206B、208B。在具有M個節(jié)點或芯片,每個具有N個輸入/輸出的特定實施例中,可以存在總計N*(M-1)條雙向信道。在具有帶有N個輸入/輸出的N個芯片的特定實施例中,可以存在N*(N-1)條耦合芯片的線路。在特定實施例中,雙向串行信道210可以包括10G的銅標(biāo)準(zhǔn)連接器或光連接器,例如光纖分布式數(shù)據(jù)接口(FDDI)連接器或其它類型的光連接器。交換機架構(gòu)可以具有其它N×M的密度,其中N和M都是大于1的整數(shù)。在特定實施例中,例如交換機架構(gòu)可以是2×4的交換機架構(gòu)。在特定實施例中,四個節(jié)點202B、204B、206B、208B中的任何節(jié)點可以作為輸入節(jié)點或輸出節(jié)點。當(dāng)在輸入節(jié)點(例如節(jié)點204B)處接收到了數(shù)據(jù)分組時,數(shù)據(jù)分組可以被片段化成四個相等的部分。第一數(shù)據(jù)片段可以保持在輸入節(jié)點204B處,而其它三個數(shù)據(jù)片段被分別發(fā)送到節(jié)點202B、206B、208B。類似地,數(shù)據(jù)分組可以在節(jié)點202B、206B、208B處接收,隨后被片段化成四個相等的部分,并且被分發(fā)至其它剩余的節(jié)點。參考圖2B,當(dāng)數(shù)據(jù)分組準(zhǔn)備好被發(fā)送出時,已經(jīng)具有四分之一的數(shù)據(jù)分組的輸出節(jié)點(例如206B)從節(jié)點202B、204B、208B收集其它三個數(shù)據(jù)片段中的每個,從四個片段重構(gòu)數(shù)據(jù)分組,并且傳輸數(shù)據(jù)分組。收集數(shù)據(jù)片段、重構(gòu)數(shù)據(jù)分組以及傳輸數(shù)據(jù)分組也可能會發(fā)生在不是初始輸入節(jié)點的其它三個節(jié)點中的任何一個節(jié)點處。圖3示出了示例性的具有分散-聚合的帶緩沖的縱橫交叉交換結(jié)構(gòu)。在圖3的示例中,交叉開關(guān)被分為四個平面。示出了四個芯片302、304、306、308,每一個芯片具有N個輸入和N個輸出。每個芯片302、304、306、308都具有整個系統(tǒng)的概念。為了簡化圖3的示例,每個芯片被示出為具有四個輸入和四個輸出。例如,芯片302具有四個輸入302A和四個輸出302B,芯片304具有四個輸入304A和四個輸出304B,芯片306具有四個輸入306A和四個輸出306B,并且芯片308具有四個輸入308A和四個輸出308B。在特定實施例中,當(dāng)在輸入302A處接收數(shù)據(jù)分組時,例如,數(shù)據(jù)分組可以被片段化成四個相等的部分。一個數(shù)據(jù)片段可以保留在芯片302上,其它片段中的每個可以被分別分發(fā)至芯片304、306和308上的特定位置。在特定實施例中,芯片304、306和308可以看上去像主芯片302的存儲器。替代地,基于哪個輸入端口接收了數(shù)據(jù)分組,每個芯片302、304、306、308可以作為其它芯片的主芯片。在特定實施例中,這些片段可以被分發(fā)到其它芯片上的相同地址。當(dāng)數(shù)據(jù)分組準(zhǔn)備好發(fā)送出時,已經(jīng)具有四分之一的數(shù)據(jù)分組的輸出節(jié)點308B從節(jié)點304、306、302收集其它三個數(shù)據(jù)片段中的每個,從這些片段重構(gòu)數(shù)據(jù)分組,并且傳輸數(shù)據(jù)分組??梢酝ㄟ^仲裁來確定輸出302B、304B、306B、308B。在步驟140,通過從多個芯片擷取一個或多個數(shù)據(jù)片斷來從帶緩沖的縱橫交叉交換結(jié)構(gòu)擷取數(shù)據(jù)分組。輸出邏輯模塊被耦合到多個芯片。輸出邏輯模塊被配置為從多個芯片擷取并重組數(shù)據(jù)分組。在步驟150,在輸出端口處根據(jù)聚合方案來從數(shù)據(jù)片斷重構(gòu)數(shù)據(jù)分組。在特定實施例中,子單元被組合以形成單元,并且單元被組合以重創(chuàng)建數(shù)據(jù)分組。數(shù)據(jù)分組是從多個不同流重組的,例如單播、多播以及每個的多個優(yōu)先級。在特定實施例中,針對每個輸入端口存在一個輸出端口。在特定實施例中,針對每個輸入端口可以存在超過一個輸出端口。輸出邏輯模塊418可以從單元和子單元重組數(shù)據(jù)分組。可以基于數(shù)據(jù)流類型或QoS來重組數(shù)據(jù)分組。優(yōu)先級解析模塊420可以基于數(shù)據(jù)流類型或QoS來確定哪些數(shù)據(jù)分組將被重組。統(tǒng)計模塊422可以監(jiān)視通過交換機400路由的所有流量,并且收集與硬件和軟件信息相關(guān)的數(shù)據(jù)流的統(tǒng)計信息。硬件信息可以包括例如分組和字節(jié)計數(shù)、開始和結(jié)束時間戳、源IP地址和目的地IP地址、IP協(xié)議,源端口號和目的地端口號的信息。軟件信息可以包括例如輸入標(biāo)識符、輸出標(biāo)識符、包括下一跳地址的路由信息、原流量和對等(peer)出口流量以及源前綴掩碼和目的地前綴掩碼的信息。在步驟150中,數(shù)據(jù)分組被傳輸至網(wǎng)絡(luò)中的其它節(jié)點,方法可以在這一點結(jié)束。可以通過前面板端口402上的物理連接和MAC/PCS404將數(shù)據(jù)分組發(fā)送至目的地端點。在適當(dāng)?shù)那闆r下特定實施例可以重復(fù)圖1的方法的步驟。此外,盡管本公開描述和示出了按特定的順序發(fā)生的圖1的方法的特定步驟,本公開設(shè)想了圖1的方法的任何合適步驟以任何合適的順序發(fā)生。此外,盡管本公開描述和示出了執(zhí)行圖1的方法的特定步驟的特定組件、設(shè)備或系統(tǒng),本公開設(shè)想了執(zhí)行圖1的方法的任何合適步驟的任何組件、設(shè)備或系統(tǒng)的任意組合。特定實施例可以在一個或多個網(wǎng)絡(luò)設(shè)備上實現(xiàn)。圖5示出了示例性網(wǎng)絡(luò)設(shè)備500。在特定實施例中,一個或多個設(shè)備500執(zhí)行本文描述或示出的一個或多個方法的一個或多個步驟。在特定實施例中,一個或多個設(shè)備500提供本文描述或示出的功能。在特定實施例中,運行在一個或多個設(shè)備500上的軟件執(zhí)行本文描述或示出的一個或多個方法的一個或多個步驟,或者提供本文描述或示出的功能。特定實施例包括一個或多個設(shè)備500的一個或多個部分。本公開設(shè)想了任何合適數(shù)量的設(shè)備500。本公開設(shè)想了采用任何合適的物理形式的設(shè)備500。示意性而非限制性地,設(shè)備500可以是嵌入式設(shè)備、片上系統(tǒng)(SOC)、單板計算機系統(tǒng)(SBC,例如模塊上計算機(COM)或模塊上系統(tǒng)(SOM))、臺式電腦系統(tǒng),膝上型電腦或筆記本電腦系統(tǒng)、交互式自主服務(wù)終端、大型機、計算機系統(tǒng)的網(wǎng)格、移動電話、個人數(shù)字助理(PDA)、服務(wù)器,或這些中的兩個或更多的組合。在適當(dāng)?shù)那闆r下,設(shè)備500可以包括一個或多個設(shè)備500;是單一式或分布式的;跨越多個地點;跨越多種機制;或者駐留在云中,這可以包括一個或多個網(wǎng)絡(luò)中一個或多個云組件。在適當(dāng)?shù)那闆r下,一個或多個設(shè)備500可以在沒有實質(zhì)的空間或時間限制的情況下執(zhí)行本文描述或示出的一個或多個方法的一個或多個步驟。示意性而非限制性地,一個或多個設(shè)備500可以實時地或按照批處理模式來執(zhí)行本文描述或示出的一個或多個方法的一個或多個步驟。在適當(dāng)?shù)那闆r下,一個或多個設(shè)備500可以在不同時間或不同位置執(zhí)行本文描述或示出的一個或多個方法的一個或多個步驟。在特定實施例中,網(wǎng)絡(luò)設(shè)備500包括處理器502、存儲器504、存儲裝置506、輸入/輸出(I/O)接口508、通信接口510以及總線512。雖然本公開描述和示出了具有特定排布地特定數(shù)量的組件的特定設(shè)備,本公開設(shè)想了具有以任何合適方式排布的任何數(shù)量的任何合適組件的任何合適設(shè)備。在特定實施例中,處理器502包括用于執(zhí)行指令(例如那些構(gòu)成計算機程序的指令)的硬件。示意性而非限制性地,為了執(zhí)行指令,處理器502可以擷取(或讀取)來自內(nèi)部寄存器、內(nèi)部緩存器、存儲器504或存儲裝置506的指令;解碼并執(zhí)行它們;并且隨后將一個或多個結(jié)果寫入內(nèi)部寄存器、內(nèi)部緩存器、存儲器504或存儲裝置506。在特定實施例中,處理器502可以包括用于數(shù)據(jù)、指令或地址的一個或多個內(nèi)部緩存器。在適當(dāng)情況下,本公開設(shè)想處理502包括任何合適數(shù)量的任何合適內(nèi)部緩存器。示意性而非限制性地,處理器502可以包括一個或多個指令緩存器、一個或多個數(shù)據(jù)緩存器以及一個或多個轉(zhuǎn)換后援緩沖器(TLB)。指令緩存器中的指令可以是存儲器504或存儲裝置506中的指令的副本,并且指令緩存器可以提升由處理器502對那些指令的擷取的速度。數(shù)據(jù)緩存器中的數(shù)據(jù)可以是存儲器504或存儲裝置506中的數(shù)據(jù)的副本,以用于在處理器502處執(zhí)行的指令在其上操作;用于由在處理器502處執(zhí)行的后續(xù)指令訪問或者用于寫到存儲器504或存儲裝置506的在處理器502處執(zhí)行先前指令的結(jié)果;或者其它合適的數(shù)據(jù)。數(shù)據(jù)緩存器提升了處理器502的讀或?qū)懖僮鞯乃俣?。TLB可以提升處理器502的虛擬地址轉(zhuǎn)換的速度。在特定實施例中,處理器502可以包括用于數(shù)據(jù)、指令或地址的一個或多個內(nèi)部寄存器。在適當(dāng)情況下,本公開設(shè)想處理器502包括任何合適數(shù)量的任何合適的內(nèi)部寄存器。在適當(dāng)?shù)那闆r下,處理器502可以包括一個或多個算術(shù)邏輯單元(ALU);是多核處理器;或者包括一個或多個處理器502。雖然本公開描述和示出了特定處理器,本公開設(shè)想了任何合適的處理器。在特定實施例中,存儲器504包括主存儲器,存儲用于由處理器502執(zhí)行的指令或者用于由處理器502在其上操作的數(shù)據(jù)。示意性而非限制性地,設(shè)備500可以從存儲裝置506或另外的源(例如另外的設(shè)備500)加載指令到存儲器504。處理器502隨后可以從存儲器504加載指令到內(nèi)部寄存器或內(nèi)部緩存器。為了執(zhí)行指令,處理器502可以從內(nèi)部寄存器或內(nèi)部緩存器擷取指令并且對它們進行解碼。在執(zhí)行的指令期間或之后,處理器502可以將一個或多個結(jié)果(可以是中間或最終結(jié)果)寫入到內(nèi)部寄存器或內(nèi)部緩存器。處理器502隨后可以將那些結(jié)果中的一個或多個寫入存儲器504。在特定實施例中,處理器502僅執(zhí)行一個或多個內(nèi)部寄存器或內(nèi)部緩存器中的指令或者存儲器504中的指令(與存儲裝置506或其它地方相反),并且僅對一個或多個內(nèi)部寄存器或內(nèi)部緩存器中的數(shù)據(jù)或者存儲器504中的數(shù)據(jù)(與存儲裝置506或其它地方相反)進行操作。一個或多個存儲器總線(每一個可以包括地址總線和數(shù)據(jù)總線)可以將處理器502耦合至存儲器504。如下所述,總線512可以包括一個或多個存儲器總線。在特定實施例中,一個或多個存儲器管理單元(MMU)駐留在處理器502和存儲器504之間,并且促進由處理器502請求的對存儲器504訪問。在特定實施例中,存儲器504包括隨機存取存儲器(RAM)。在適當(dāng)?shù)那闆r下,RAM可以是易失性存儲器。在適當(dāng)?shù)那闆r下,RAM可以是動態(tài)RAM(DRAM)或靜態(tài)RAM(SRAM)。此外,在適當(dāng)?shù)那闆r下,RAM可以是單端口RAM或多端口RAM。本公開設(shè)想了任何合適的RAM。在適當(dāng)?shù)那闆r下,存儲器504可以包括一個或多個存儲器504。雖然本公開描述和示出了特定的存儲器,本公開設(shè)想了任何合適的存儲器。在特定實施例中,存儲裝置506包括用于數(shù)據(jù)或指令的海量存儲裝置。示意性而非限制性地,存儲裝置506可以包括HDD、軟盤驅(qū)動器、閃速存儲器、光盤、磁光盤、磁帶或通用串行總線(USB)驅(qū)動器或者它們中的兩種或更多種的組合。在適當(dāng)情況下,存儲裝置506可以包括可移動或者不可移動的(或固定的)的介質(zhì)。在適當(dāng)情況下,存儲506可以在設(shè)備500的內(nèi)部或外部。在特定實施例中,存儲器506是非易失性的固態(tài)存儲器。在特定實施例中,存儲裝置506包括只讀存儲器(ROM)。在適當(dāng)?shù)那闆r下,ROM可以是掩模編程ROM、可編程ROM(PROM)、可擦除PROM(EPROM)、電可擦除PROM(EEPROM)、電可改寫ROM(EAROM)或者閃速存儲器或者它們中的兩種或更多種的組合。本公開設(shè)想了海量存儲裝置506采用任何合適的形式。在適當(dāng)情況下,存儲506裝置可以包括促進處理器502和存儲裝置506之間的通信的一個或多個存儲控制單元。在適當(dāng)情況下,存儲裝置506可以包括一個或多個存儲506裝置。雖然本公開描述和示出了特定的存儲,本公開考慮了任何合適的存儲裝置。在特定實施例中,I/O接口508包括提供用于設(shè)備500與一個或多個I/O設(shè)備之間的通信的一個或多個接口的硬件、軟件或者硬件和軟件。在適當(dāng)情況下,設(shè)備500可以包括一個或多個這些I/O設(shè)備。這些I/O設(shè)備中的一個或多個可以使能人和設(shè)備500之間的通信。示意性而非限制性地,I/O設(shè)備可以包括鍵盤、鍵區(qū)、麥克風(fēng)、監(jiān)視器、鼠標(biāo)、打印機、掃描儀、揚聲器、靜物照相機、手寫筆、平板、觸摸屏、軌跡球、視頻攝像機、其它合適的I/O設(shè)備或者它們中的兩種或更多種的組合。I/O設(shè)備可以包括一個或多個傳感器。本公開考慮了任何合適的I/O設(shè)備和用于它們的任何合適的I/O接口508。在適當(dāng)?shù)那闆r下,I/O接口508可以包括使得處理器502能夠驅(qū)動這些I/O設(shè)備中的一個或多個的一個或多個設(shè)備或軟件驅(qū)動器。在適當(dāng)情況下,I/O接口508可以包括一個或多個I/O接口508。雖然本公開的描述和示出了特定的I/O接口,本公開也設(shè)想了任何合適的I/O接口。在特定實施例中,通信接口510包括提供用于設(shè)備500與一個或多個其他設(shè)備500或者一個或多個網(wǎng)絡(luò)之間的通信(例如基于分組的通信)的一個或多個接口的硬件、軟件或者硬件和軟件。示意性而非限制性地,通信接口510可以包括網(wǎng)絡(luò)接口控制器(NIC)或者用于與以太網(wǎng)或其它基于有線的網(wǎng)絡(luò)通信的網(wǎng)絡(luò)適配器或無線NIC(WNIC)或用于與無線網(wǎng)絡(luò)(例如Wi-Fi網(wǎng)絡(luò))通信的無線適配器。本公開設(shè)想了任何合適的網(wǎng)絡(luò)和用于它的任何合適的通信接口510。示意性而非限制性地,設(shè)備500可以與adhoc網(wǎng)絡(luò)、個人區(qū)域網(wǎng)(PAN)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)或互聯(lián)網(wǎng)的一個或多個部分或者它們中的兩種或更多種的組合通信。一種或多種這些網(wǎng)絡(luò)的一個或多個部分可以是有線的或者無線的。作為示例,設(shè)備500可以與無線PAN(WPAN,例如藍牙WPAN)、Wi-Fi網(wǎng)絡(luò)、Wi-MAX網(wǎng)絡(luò)、蜂窩電話網(wǎng)絡(luò)(例如全球移動通信(GSM)網(wǎng)絡(luò)系統(tǒng))或其它合適的無線網(wǎng)絡(luò)或者它們中的兩種或更多種的組合通信。在適當(dāng)情況下,設(shè)備500可以包括任何這些網(wǎng)絡(luò)的任何適合的通信接口510。在適當(dāng)情況下,通信接口510可以包括一個或多個通信接口510。雖然本公開的描述和示出了特定的通信接口,本公開也設(shè)想了任何合適的通信接口。在特定實施例中,總線512包括將設(shè)備500的組件彼此耦合的硬件、軟件或者硬件和軟件。示意性而非限制性地,總線512可以包括加速圖形端口(AGP)或其它圖形總線、增強工業(yè)標(biāo)準(zhǔn)架構(gòu)(EISA)總線、前側(cè)總線(FSB)、超傳輸(HT)互連、工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、無限帶寬互連、低引腳數(shù)(LPC)總線、存儲器總線、微通道架構(gòu)(MCA)總線、外部組件互連(PCI)總線、PCI快速總線(PCI-X)、串行高級連接技術(shù)(SATA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會的本地總線(VLB)或其它合適的總線或者它們中的兩種或更多種的組合。在適當(dāng)情況下,總線512可以包括一個或多個總線512。雖然本公開描述和示出了特定總線,本公開也設(shè)想了任何合適的總線或互連。本公開設(shè)想了實現(xiàn)任何合適存儲裝置的一種或多種計算機可讀存儲介質(zhì)中。在特定實施例中,計算機可讀存儲介質(zhì)在適當(dāng)情況下實現(xiàn)處理器502的一個或多個部分(例如,一個或多個內(nèi)部寄存器或緩存器),存儲器504的一個或多個部分的,存儲裝置506的一個或多個部分,或者這些的組合。在特定實施例中,計算機可讀存儲介質(zhì)實現(xiàn)RAM或ROM。在特定實施例中,計算機可讀存儲介質(zhì)實現(xiàn)易失性或持久性存儲。在特定實施例中,一種或多種計算機可讀存儲介質(zhì)體現(xiàn)為軟件。在適當(dāng)情況下,本文對軟件的提及可以包含一個或多個應(yīng)用、字節(jié)碼、一個或多個計算機程序、一個或多個可執(zhí)行文件、一個或多個指令、邏輯、機器代碼,一個或多個腳本或源代碼,反之亦然。在特定實施例中,軟件包括一個或多個應(yīng)用編程接口(API)。本公開設(shè)想了寫出或者以任何合適的編程語言或編程語言的組合表達出的任何合適的軟件。在特定的實施例中,軟件被表達為源代碼或目標(biāo)代碼。在特定的實施例中,在更高級別的編程語言中表達軟件,例如C、Perl或它們的任何合適的擴展。在特定的實施例中,在更低級別的編程語言中表達軟件,例如匯編語言(或機器代碼)。在特定的實施例中,軟件以JAVA、C或C++來表達。在特定的實施例中,軟件以超文本標(biāo)示語言(HTML)、可擴展標(biāo)記語言(XML)或其它合適的標(biāo)記語言來表達。本文中,在適當(dāng)?shù)那闆r下,計算機可讀非短暫性存儲介質(zhì)或媒介可以包括一種或多種以半導(dǎo)體為基礎(chǔ)的集成電路或其它的集成電路(IC,例如現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC))、硬盤驅(qū)動器(HDD)、混合硬盤驅(qū)動器(HHD)、光盤、光盤驅(qū)動器(ODD)、磁光盤、磁光盤驅(qū)動器、軟盤、軟盤驅(qū)動器(FDDS)、磁帶、固態(tài)硬盤(SSD)、RAM驅(qū)動器、安全數(shù)字卡或驅(qū)動器、任何其它合適的計算機可讀非短暫性存儲介質(zhì)或媒介或者它們中的兩種或更多種的組合。在適當(dāng)?shù)那闆r下,計算機可讀非短暫性存儲介質(zhì)或媒介可以是易失性的、非易失性或者易失性和非易失性的組合。本文中,除非明確地另行指出或者由上下文另行指出,“或”是包含性而不是排斥性的。因此除非明確地另行指出或者由上下文另行指出,本文中“A或B”是指“A、B或者A和B兩者”。此外,除非明確地另行指出或者由上下文另行指出,“和”是共同以及單獨的。因此除非明確地另行指出或者由上下文另行指出,本文中“A和B”指“A和B,共同地或單獨地”。本公開涵蓋了針對本文的示例性實施例的、本領(lǐng)域普通技術(shù)人員將會理解的所有變化、替換、變型、替代和修改。此外,雖然本公開描述和示出了包括特定的組件、元件、功能、操作或步驟的本文的各個實施例,這些實施例中的任何一個可以包括本領(lǐng)域普通技術(shù)人員將會理解的、在本文任意處描述和示出的組件、元件、功能、操作或步驟的任何組合或排列。此外,只要設(shè)備,系統(tǒng)或組件是被如此適應(yīng)、安排、支持、配置、使能、可操作或操作的,參考所附權(quán)利要求中的裝置或系統(tǒng)或者裝置或系統(tǒng)的組件可以被適應(yīng)、安排、支持、配置、使能、可操作或操作的來執(zhí)行包含在該裝置、系統(tǒng)、組件中的特定功能,而無論該特定功能是否被激活、開啟或鎖定。