欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于多處理器陣列的線程感知分布式軟件系統(tǒng)的制作方法

文檔序號:6557454閱讀:425來源:國知局
專利名稱:用于多處理器陣列的線程感知分布式軟件系統(tǒng)的制作方法
技術領域
本發(fā)明涉及單芯片陣列中的多個分布式處理器,尤其涉及用于在多處理器中執(zhí)行基本功能的并行處理的小的、基于內(nèi)核的操作系統(tǒng)。
背景技術
嵌入式系統(tǒng)包括特定目的計算系統(tǒng),典型地由其控制的設備完全封裝。嵌入式系統(tǒng)和設備越來越流行并且數(shù)量日益增加地被使用在辦公和家庭環(huán)境中。嵌入式系統(tǒng)的例子范圍從便攜式音樂播放器到對類似通信網(wǎng)絡的系統(tǒng)的實時控制。由于嵌入式系統(tǒng)變得更加智能,多處理器、分布式結構正在變成主導,而非少數(shù)。
本發(fā)明提供了一種具有多個CPU核心的單芯片結構,所述多個CPU核心是可編程的指令組處理器,每個處理器在微內(nèi)核(或外核(exokernel))分布式結構中運行非常快速的、輕量級的操作系統(tǒng)(OS)鏡像。
基于內(nèi)核(kernel)的操作系統(tǒng)通常實現(xiàn)一些操作系統(tǒng)的硬件抽象以隱藏潛在的復雜度,并為硬件提供簡單并統(tǒng)一的接口。有四種主要類型的基于內(nèi)核的操作系統(tǒng),即單內(nèi)核(monolithic kernels)、微內(nèi)核、混合內(nèi)核、以及外核。本發(fā)明涉及微內(nèi)核和/或外核。微內(nèi)核提供一小組簡單的硬件抽象并利用稱為應用軟件的服務器來提供更多的功能。外核提供最小的抽象,允許低級硬件訪問。在外核系統(tǒng)中,庫操作系統(tǒng)提供典型地存在于其他基于內(nèi)核的系統(tǒng)中的抽象。
相信沒有現(xiàn)行的解決方案提議使用帶有運行在多陣列處理器中的分布式微內(nèi)核或外核的片上結構,其中微內(nèi)核(外核)在每個處理器內(nèi)部運行。
公認的,本發(fā)明本身的每個方面,即多處理器、微內(nèi)核及分布式處理并不是獨特的,然而將這些方面結合成獨特而有用的結構的方法是新的。盡管下面的討論中使用術語微內(nèi)核,術語超微(納)內(nèi)核或外核操作系統(tǒng)可能能更確切地說明本發(fā)明的主要概念。
本發(fā)明之前,計算能力和運營商級可用性都在眾所周知的標準多架路由器結構中的不同的“包”中出現(xiàn)過,其中,計算能力通過向機架/機箱內(nèi)增加更多的處理卡或線卡而增加,而運營商級特征(高可用性、故障恢復、自愈等)從在線卡或處理卡的每個處理器上運行分布式微內(nèi)核獲得。
在可重配置的計算系統(tǒng)中有些類似的技術,該系統(tǒng)執(zhí)行一組復制的塊(tile),其中每個塊包括通過靜態(tài)二維互連連接的處理元件和少量存儲器。每個塊包括簡單的類RISC處理器、少量可配置的邏輯及用于指令和數(shù)據(jù)的一部分存儲器。每個塊具有以寬通道點對點相互連接的方式與該塊連接的關聯(lián)的可編程開關。專有的編譯器區(qū)分這些塊中的指令級并行處理并靜態(tài)地調(diào)度所述相互連接上的通信。這現(xiàn)有技術提案可以看作巨大的FPGA,由于低級硬件的細節(jié)非常清楚,使編譯器編制(orchestration)也很容易。然而,在這些塊上沒有OS微內(nèi)核運行。
在嵌入系統(tǒng)的另一現(xiàn)有技術的構思中,使用的是中央分發(fā)器而不是如本構思中使用的分布式微內(nèi)核操作系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明探索將多處理器和網(wǎng)絡處理器的計算能力與高級分布式編程技術結合起來,不需要每個處理器獨立的編碼,而提供單個的單片編程環(huán)境,這樣看起來像單CPU。
這樣,難題是在提供自動處理、共享存儲器和線程管理時,實現(xiàn)多核芯片的計算能力的增加而又不導致巨大的開發(fā)成本。
因此,根據(jù)本發(fā)明的第一方面,在集成電路上提供微處理器陣列,每個微處理器具有基于內(nèi)核的操作系統(tǒng),該操作系統(tǒng)具有用于僅執(zhí)行并行處理的基本功能的軟件原語(software primitive)。
根據(jù)本發(fā)明的第二方面,提供處理系統(tǒng),包括集成電路上的多處理器陣列,每個微處理器具有用于執(zhí)行并行處理基本功能的基于內(nèi)核的操作系統(tǒng);外部存儲器和控制器;用于在微處理器和外部存儲器及控制器之間進行通信的外圍接口。
根據(jù)本發(fā)明的另一方面,提供在通信系統(tǒng)中處理數(shù)據(jù)包的方法,該通信系統(tǒng)使用集成電路上的微處理器陣列,每個微處理器具有用于執(zhí)行并行處理基本功能的基于內(nèi)核的操作系統(tǒng),該方法包括基本的并行處理功能的協(xié)同執(zhí)行,該并行處理功能由所述陣列的獨立的微處理器執(zhí)行。


下面參考附圖對本發(fā)明進行更加詳細的描述,其中附圖為單芯片結構的高級視圖。
具體實施例方式
如圖1所示,多處理器被分布在單芯片結構上。與每個微處理器相關聯(lián)的是本地數(shù)據(jù)存儲器、總線接口和數(shù)據(jù)緩存及指令緩存。每個處理器具有基于內(nèi)核的操作系統(tǒng)。此外,芯片外元件包括存儲器控制器和外部RAM。
本發(fā)明廣泛涉及為多處理器設備提供基于微內(nèi)核的“操作系統(tǒng)”的芯片結構、硬件和軟件機制。本發(fā)明中的術語操作系統(tǒng)指帶有用于支持線程構造、通信和硬件接口的設備的簡單硬件抽象層。
該結構努力實現(xiàn)更通用的硬件和軟件解決方案,在性能上比普通的結構更高級,并且足夠的通用以適用于各種類型的軟件應用和快速應用程序開發(fā)。該軟件系統(tǒng)似乎就是向程序員隱藏了分布式計算和多處理器技術的單一的鏡像操作系統(tǒng)。
本發(fā)明不是關于并行處理方式(即,將單一任務分成多個部分)而是多重處理方式(用于同時處理多個不同的包)。本發(fā)明是關于允許在很多小CPU上同時執(zhí)行多個分布式線程,每個CPU具有小內(nèi)核,同時允許該設備作為單個單片系統(tǒng)進行編程。這里沒有用于線程的中央分發(fā)/調(diào)度,它以協(xié)同、對等的方式完成。
前面提到的現(xiàn)有技術NPU并不具有這種能力并且在其核上不運行小O/S(即,沒有用戶模式指令空間并且所有程序駐留在數(shù)據(jù)存儲器中)。在本發(fā)明中,小OS具有能使線程透明地運行、停止、初始化、復制和移動的功能,從數(shù)據(jù)存儲器中讀出線程代碼以使該設備能夠執(zhí)行的應用程序不受到限制。
本發(fā)明考慮的小OS內(nèi)核是小于8K的軟件內(nèi)核,速度快并且其僅包含用于分布處理的最基本的軟件原語進程/線程庫、調(diào)度、消息傳送服務、計時器、信號、時鐘、中斷處理器、信標(semaphore)、任務發(fā)現(xiàn)和發(fā)送以及代碼加載。全部其他OS部件,例如驅(qū)動器、文件系統(tǒng)、協(xié)議棧等,如果在運行時間需要的話就加載,并且在用戶空間、微內(nèi)核外部作為后臺駐留程序程序(daemon)/服務器來運行,如同獨立的受保護存儲器的進程。芯片上的微內(nèi)核協(xié)同決定誰來運行這些應用軟件&用戶程序中的哪一個。
如圖1所示,芯片中的每個處理器獨立地執(zhí)行來自本地指令和數(shù)據(jù)存儲器的微內(nèi)核代碼。微內(nèi)核具有固定的數(shù)據(jù)資源,因此數(shù)據(jù)存儲器具有小的固定的容量。消息傳送和其他分布式計算機制用來使設備執(zhí)行其功能并且將這些并行操作對程序員隱藏。處理器通過硬件支持的軟件中的共用資源共享算法來共享一些資源。
通過消息接發(fā),每個微處理器確定其已經(jīng)完成了處理任務,并且可能有下一個需要處理的任務。對等的處理器將接收并確定其能夠繼續(xù)處理任務并且接受用于當前數(shù)據(jù)的堆棧。由于初始處理器已經(jīng)完成處理,它將開始監(jiān)聽將要承擔的下一任務的消息。每個處理器不需要接受全部任務,因為處理工作的分布可以在程序設計層或者在資源管理層確定。如果處理器要改變?nèi)蝿?,可以通過向庫管理消息請求代碼塊來加載新的應用程序代碼。
多陣列處理器結構不排除在每個CPU中使用外核,代替微內(nèi)核鏡像。外核是將微內(nèi)核概念發(fā)揮到極點的一種嘗試,使內(nèi)核除了對硬件進行多路復用外幾乎不做什么事情。
在外核方法中,內(nèi)核僅以安全方式通過低級接口簡單地輸出硬件資源。高級分離和功能由在用戶級上執(zhí)行的庫操作系統(tǒng)提供。這種結構通過對庫進行擴展、專業(yè)化或替代,允許操作系統(tǒng)服務的特定于應用程序的用戶定制,得到性能上的好處。
本發(fā)明的結構從微內(nèi)核(外核)操作系統(tǒng)和多處理器設備帶來益處,提供了新的有益效果。這些包括1、大規(guī)模計算能力和多處理。通過增加處理器的數(shù)量,帶來了巨大的計算能力,并且更重要的是大規(guī)模的數(shù)據(jù)通信和數(shù)據(jù)存儲,這對單片存儲器、單片操作系統(tǒng)和單個處理器結構來說是不可能的。
2、自愈。每個處理器上的微內(nèi)核為芯片提供在運行時恢復軟件組件的能力,而不防礙微內(nèi)核或其他應用程序,這就允許建成運營商級、高可用的、可重啟動的系統(tǒng)。
3、可靠性。芯片可以不間斷運行,并且在運行時間新建升級的、刪除的和安裝的OS模塊、移動并安裝。
4、可伸縮性。系統(tǒng)可以很好地伸縮,因為基于微內(nèi)核的操作系統(tǒng)隱藏了在應用程序下有多少個處理器在運行的詳細內(nèi)容,因此用相同的軟件鏡像支持核數(shù)量為任意個的單芯片和多芯片。執(zhí)行任意特定任務的處理器的數(shù)量可以根據(jù)通信量和處理負荷的需要增加或減少。如果一系列數(shù)據(jù)包需要額外查找處理,微處理器可以加載新的應用程序按照要求加快總的處理速率。
5、通用目的處理。由于網(wǎng)絡節(jié)點要求更智能,開發(fā)需要的綜合應用程序變得驚人的昂貴。網(wǎng)絡節(jié)點需要這樣的系統(tǒng),既能在性能上又能在可靠性上提供一種通用目的的開發(fā)環(huán)境,與現(xiàn)在的例如可以既執(zhí)行又可靠的通用目的開發(fā)環(huán)境的系統(tǒng),以應對現(xiàn)在的目的建設和客戶環(huán)境。
6、分布式處理。處理器上的任何資源或進程可以根據(jù)資源可用性被移到/分散到另一處理器上。任意資源或進程可以從芯片上任何位置(處理器)訪問,而不需要寫代碼連接器使資源實現(xiàn)通信。
7、解決了出現(xiàn)在單處理器單時序指令流結構中的帶寬瓶頸。
8、允許同一傳統(tǒng)單鏡像程序設計范例應用到新興的多處理器陣列中。
本發(fā)明將在微處理器芯片結構上的已有成果推廣到用多處理器片上結構取代芯片平鋪式微處理器設計。
多處理器方法提供了更通用的硬件系統(tǒng)設計和軟件設計方法學,適于實現(xiàn)用高級語言編程的新的和傳統(tǒng)的軟件應用程序,,不需要特殊的編程技能,而不是基于硬件的系統(tǒng)。
本發(fā)明提供構建計算密集系統(tǒng)的解決方案,如下一代路由器、服務器等。
這也是為下一代分布式網(wǎng)絡構建分布式開關/路由器系統(tǒng)結構的出發(fā)點。這是多服務箱(multi-services box)的完美方法,那里完全不同的軟件應用程序(路由、MPLS、BRAS、會話邊沿控制器等)都可以在同一芯片上得到支持。。
雖然已經(jīng)描述并舉例說明了本發(fā)明的詳細實施例,顯然,本領域技術人員可以在不背離基本概念的前提下作出各種改變。然而,可以理解這些改變都屬于后附權利要求所定義的本發(fā)明的全部范圍。
權利要求
1.一種集成電路上的微處理器陣列,每個所述微處理器具有基于內(nèi)核的操作系統(tǒng),所述操作系統(tǒng)具有用于執(zhí)行多重處理方式的基本功能的軟件原語。
2.如權利要求1所述的微處理器陣列,其中基于內(nèi)核的操作系統(tǒng)是微內(nèi)核。
3.如權利要求1所述的微處理器陣列,其中于內(nèi)核的操作系統(tǒng)是外核。
4.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括進程/線程庫功能。
5.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括調(diào)度功能。
6.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括消息傳遞功能。
7.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括計時器功能。
8.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括信令功能。
9.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括時鐘功能。
10.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括中斷處理器功能。
11.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括信標功能。
12.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括發(fā)現(xiàn)和發(fā)送功能
13.如權利要求1所述的微處理器陣列,其中內(nèi)核的基本功能包括代碼加載功能。
14.如權利要求1所述的微處理器陣列,其中每個微處理器包括用于本地指令和數(shù)據(jù)的本地存儲器和緩存。
15.一種處理器系統(tǒng),包括在集成電路上的多處理器陣列,每個微處理器具有基于內(nèi)核的操作系統(tǒng),用于執(zhí)行多重處理方式的基本功能;外部存儲器和控制器;及外圍接口,用于微處理器和外圍存儲器及控制器之間進行通信。
16.一種在通信系統(tǒng)中處理數(shù)據(jù)包的方法,所述通信系統(tǒng)使用集成電路上的微處理器陣列,每個微處理器具有用于執(zhí)行基本的并行處理的基于內(nèi)核的操作系統(tǒng),所述方法包括由陣列中的單個微處理執(zhí)行的基本的并行處理功能的協(xié)同執(zhí)行。
17.如權利要求16所述的方法,其中陣列中的每個微處理器通過消息接發(fā)確定何時完成任務的處理。
18.如權利要求17所述的方法,其中每個微處理器完成任務的處理時,監(jiān)聽用來確定其要承擔的下一個任務的消息。
19.如權利要求18所述的方法,其中要處理的任務的分配在程序設計層確定。
20.如權利要求18所述的方法,其中要處理的任務的分配在資源管理層確定。
21.如權利要求18所述的方法,其中當微處理器正在改變?nèi)蝿諘r,其通過向庫管理實體請求代碼塊,加載新的應用程序代碼。
全文摘要
本發(fā)明涉及一種具有多可編程處理器的單芯片結構。每個處理器具有小的并且快速的基于內(nèi)核的操作系統(tǒng),該系統(tǒng)具有僅執(zhí)行多重處理方式的基本功能的原語。很多分布式線程可以在很多處理器上同時執(zhí)行,并允許設備象單個單片系統(tǒng)一樣進行編程。
文檔編號G06F15/76GK101013415SQ200610064430
公開日2007年8月8日 申請日期2006年11月16日 優(yōu)先權日2005年11月16日
發(fā)明者L·M·塞爾吉, B·麥克布賴德, D·J·威爾松, G·哈內(nèi)斯 申請人:阿爾卡特公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
什邡市| 徐汇区| 额济纳旗| 焉耆| 长宁县| 于田县| 黎平县| 和田县| 岚皋县| 林芝县| 台南县| 邢台县| 淮北市| 琼结县| 当阳市| 弥渡县| 双柏县| 江西省| 英山县| 滦平县| 皋兰县| 武乡县| 中方县| 兰坪| 龙胜| 万荣县| 石景山区| 大姚县| 察雅县| 洛阳市| 茌平县| 郑州市| 阳高县| 德令哈市| 阳新县| 集安市| 巴青县| 容城县| 青河县| 田东县| 高雄县|