版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.1. - . 可修編.網(wǎng)絡處理器設計的復雜性華偉網(wǎng)絡處理器Network Processor,簡稱NP是面向網(wǎng)絡應用領域的專用指令處理器Application Specific Instruction Processor,是面向數(shù)據(jù)分組處理的、具有特定電路的軟件可編程器件。它將RISCReduced Instruction Set puter-精簡指令集處理器的低本錢、靈活性與ASICApplication-Specific Integrated Circuits-專用集成電路專用網(wǎng)絡處理芯片的高性能、可擴展性很好地結合在一起,提供了適應網(wǎng)絡開展新協(xié)議、新應用的能力。NP的出現(xiàn),標志著設備對
2、數(shù)據(jù)分組的處理能力從低層粗放式處理過渡到高層細化處理?;贜P開發(fā)的網(wǎng)絡系統(tǒng)可以縮短進入市場時間time-to-market,而且由于其可編程性使其具有較長的市場壽命。本文將重點圍繞網(wǎng)絡處理器設計的復雜性、設計中所需要權衡的各種因素進展分析。網(wǎng)絡處理器的功能網(wǎng)絡處理器的功能是由它所需要實施的操作以及它在目標網(wǎng)絡系統(tǒng)中的任務決定的。一方面,NP需要有足夠的分組處理能力。另一方面,NP確切的功能依賴于使用它的系統(tǒng)的體系構造?;蛘邠Q句話說,目標系統(tǒng)中NP與其他組成局部之間的分工方式?jīng)Q定了NP的功能。工業(yè)界對于協(xié)議棧中各層次協(xié)議功能及其特殊需求的實現(xiàn)已經(jīng)相當有經(jīng)歷了。然而,NP不是為*個特定的協(xié)議而設
3、計的,它的指令集并不需要包含處理*個協(xié)議所需的所有指令。NP的目標是具有足夠的功能來處理“任何協(xié)議,也就是具有網(wǎng)絡協(xié)議處理的通用性。NP的協(xié)議處理通用性不是通過設計的全面性來保障的。盡管設計人員可以針對需要處理的協(xié)議的每個特征,窮盡所需要的指令,但毫無疑問這種方式將產生笨拙的設計并帶來芯片面積的浪費。反過來,抽取最小化的功能集能夠使設計精簡并高效。為此,設計者必須分析不同協(xié)議的特征,識別它們的共性,推導出可以高效處理所有特征的最小指令集。因此,確定“最小化的功能集就成為NP設計的一大挑戰(zhàn)。1.1 分組處理功能設計一個通用的網(wǎng)絡處理器的第一步是識別多數(shù)協(xié)議所需要的功能。一般來說,完成分組處理任務
4、包括下面一些功能:檢錯和糾錯、流量測量和策略、幀和協(xié)議的分解、地址查找和包轉發(fā)、分段和重組、包分類、流量整形、定時和調度、排隊、平安認證和私有。盡管這些功能都可以在一個傳統(tǒng)的通用指令集CPU上完成,但增加特定的指令可以提高完成這些功能的性能。例如就排隊來說,NP只需要關心包的隊列,而不是其他任意的隊列,因此NP可以針對包隊列進展優(yōu)化,設計專用指令。類似的,由于大多數(shù)協(xié)議都需要CRCCyclic Redundancy Check,循環(huán)冗余校驗或校驗和進展過失檢測,NP可以包含相關的專用指令以提高運算速度。NP設計者需要考慮以下一些問題:1上述功能是否足以涵蓋所有協(xié)議處理.2哪一項功能的優(yōu)化最重要
5、.3如何將上述功能映射到一個典型網(wǎng)絡系統(tǒng)的硬件單元.4一個典型網(wǎng)絡系統(tǒng)的哪些硬件單元可以用一個NP來替代.5實現(xiàn)上述功能的最小完備指令集是什么.所有這些問題都不容易答復,它們構成了研究網(wǎng)絡處理器設計的根底問題。1.2 入口和出口處理為了降低設計的復雜性,可以將一個復雜問題分解成幾個小的子問題一一加以解決。這種分而治之divide-and-conquer的方法在很多領域都受到歡迎,NP設計也不例外。最常用的一種方式是將分組處理任務分成入口和出口處理兩局部。入口處理關注包的到達過程,出口處理關注包的離開過程。入口處理:過失檢測和平安驗證分類或協(xié)議分解流量測量和策略地址查找和包轉發(fā)*修改和傳輸層處理
6、重組或流終止轉發(fā)、排隊和調度出口處理:過失檢測碼插入地址查找和包轉發(fā)分段或分片流量整形定時、調度、排隊和緩沖*修改輸出平安處理物 理 接 口交 換 矩 陣包到達包離開圖1 典型網(wǎng)絡系統(tǒng)中入口和出口處理的示意圖圖1是典型網(wǎng)絡系統(tǒng)中入口和出口處理的示意圖。典型情況是包通過且僅通過交換矩陣一次,因此交換矩陣成為入口和出口處理自然的分水嶺。入口方面,數(shù)據(jù)包到達一個輸入端口后,首先需要進展過失檢測,然后通過協(xié)議分解或分類來確定系統(tǒng)需要對包實施何種操作。系統(tǒng)有時候需要維護一些狀態(tài)信息,例如歷史流量的記錄、數(shù)據(jù)片段的收集重組等。入口處理還需要包含對排隊、調度、轉發(fā)的支持。為了使包通過交換矩陣,有時需要將數(shù)據(jù)
7、包分成固定大小的數(shù)據(jù)塊傳送。最后,入口處理還包括的修改、傳輸層的一些處理等。出口方面,從交換矩陣獲得包,有時需要對數(shù)據(jù)片斷進展收集。出口處理包括:確定輸出端口、根據(jù)輸出端口信息對數(shù)據(jù)包進展分段、進展流量整形及相關的排隊調度操作、進展修改、過失檢測、進展加密等輸出平安處理。網(wǎng)絡處理器與網(wǎng)絡系統(tǒng)2.1 并行和分布式構造如果采用集中式設計,讓一個網(wǎng)絡處理器在快速數(shù)據(jù)通路上完成所有分組處理任務,將系統(tǒng)收到的每一個包轉發(fā)到輸出端口上,這樣所得到的NP與傳統(tǒng)的處理器一樣,可擴展性較差。即使這個NP中包含針對協(xié)議處理的優(yōu)化硬件設計,NP本身的時鐘頻率將成為限制吞吐量的關鍵因素。為了防止性能瓶頸,可以采用三種
8、通用的技術提高可擴展性。首先,一個典型的NP可以包含各種硬件單元,對每個硬件單元進展專門設計來完成一個特定的功能;第二,為了提高總的處理速度,在NP上復制多個可以獨立工作的關鍵的硬件單元,使NP可以并行或以流水線的方式實施多個操作;第三,將NP設計成分布式構造。這樣,當多個NP連接起來時,它們可以共同工作以獲得更高的總的吞吐量??偟膩碚f,對可擴展性的要求給NP的設計帶來了很大的困難,設計者必須考慮設計或選擇處理專門任務的硬件單元、能夠并行操作的可重復的硬件單元、以及支持分布式執(zhí)行的硬件。2.2 網(wǎng)絡處理器在系統(tǒng)中的角色在網(wǎng)絡系統(tǒng)的總體構造中,NP并不固定地處于單一的位置上,相反,它可以承擔系統(tǒng)
9、中多種角色任務,這使得NP的設計進一步復雜化。NP可以設計成替代網(wǎng)絡系統(tǒng)中的功能單元,或者作為附加功能單元對*項功能進展強化。一般來說,NP在網(wǎng)絡系統(tǒng)的總體構造中可以作為下述角色:替代一個傳統(tǒng)的CPU:為此,NP必須具有傳統(tǒng)的CPU指令;為了與傳統(tǒng)的CPU區(qū)別開來,NP需要增加專用的指令以實現(xiàn)優(yōu)化的分組處理功能。附加在一個傳統(tǒng)的CPU上:由傳統(tǒng)的CPU完成大多數(shù)分組處理任務。由NP完成特殊的任務。這種附加可以用預處理或協(xié)處理兩種方式實現(xiàn)。預處理一般在入口處理階段實施,例如對來自硬件端口的包進展分類,再交給傳統(tǒng)的CPU進展處理。協(xié)處理方式則功能更強大,任何可能通過專門硬件加速的分組處理功能都可以
10、設計協(xié)處理器完成。使用附加在一個傳統(tǒng)的CPU上的NP,主要好處是降低了設計的復雜性。設計者可以專注于分組處理功能而不需要考慮傳統(tǒng)的指令;其難點在于需要額外的硬件處理CPU與NP的接口問題,為CPU調用NP提供有效機制。在網(wǎng)絡接口卡的輸入通路上,承擔入口分組處理任務:NP的可編程性提供靈活的、可改變的入口處理。在網(wǎng)絡接口卡與交換矩陣之間作為網(wǎng)絡接口卡和交換矩陣的中介:NP與交換矩陣的控制器進展交互,以建立通路、傳輸數(shù)據(jù)和釋放通路。在交換矩陣和輸出接口之間控制輸出端口的:*些交換矩陣采用分布式控制機制,由每個輸出端口控制對它自己的。當一個輸入端口需要使用交換矩陣時,它需要使用一種獨立的機制例如獨立
11、的總線通知相應的輸出端口;輸出端口對需求進展調度,通知潛在的發(fā)送者發(fā)送數(shù)據(jù)。這些功能可以設計NP來完成。在網(wǎng)絡接口卡的輸出通路上承擔出口分組處理任務:NP從交換矩陣承受包、管理隊列、實現(xiàn)流量整形、發(fā)送分組到輸出端口。像其它端口一樣連接在交換矩陣上作為一個中間站:數(shù)據(jù)包可以從輸入端口通過交換矩陣到達NP,再從NP通過交換矩陣到達輸出端口。由于交換矩陣允許擴展,因此作為中間站的NP集合也很容易擴展。這樣,為了獲得最大程度的并行,系統(tǒng)可以將到達的包分布在整個NP集合中進展處理。我們可以設想一種宏觀的數(shù)據(jù)流水線,流水線的每個階段用一個NP來實現(xiàn),這些NP通過交換矩陣連接起來:NPi實現(xiàn)第i個階段的功能
12、,把處理后的包通過交換矩陣傳輸?shù)綄崿F(xiàn)第i+1個階段功能的處理器NPi+1。由于NP可在系統(tǒng)中勝任多種角色,如今它已不再局限于作為核心交換和路由設備中ASIC的取代品而向更廣泛的應用領域擴展。2003年,多效勞接入網(wǎng)和企業(yè)網(wǎng)是網(wǎng)絡處理器的主要應用領域。來自消費電子市場的需求將會延伸網(wǎng)絡處理器的涵,為其帶來新的活力。面向接入層的各種媒體網(wǎng)關,包括用于家庭的接入媒體網(wǎng)關將會是網(wǎng)絡處理器最重要的應用之一。其它存在商機的領域包括無線根底設備、IP效勞交換機、存儲區(qū)域網(wǎng)等。網(wǎng)絡處理器在平安方面也有著廣泛應用,如VPNVirtual Private Network虛擬專網(wǎng)、防火墻和入侵偵測業(yè)務等。在電信方面
13、,多效勞寬帶接入領域,如第三代無線網(wǎng)絡控制器RNC- Radio Network Controller、媒體網(wǎng)關、光纖環(huán)網(wǎng)的寬帶接入等都將是網(wǎng)絡處理器的重要應用領域。2.3 平臺NP和專用NP我們可以從NP在系統(tǒng)中的角色看到設計NP的兩種思路和目前市場上NP的兩種產品類型。一種是實現(xiàn)一個通用的網(wǎng)絡處理器,試圖解決所有分組處理任務,由此產生了平臺NP產品。另一種則針對分組處理功能中*一具體操作進展優(yōu)化,由此產生了各種專用NP產品。平臺NP應該能夠實現(xiàn)所有的分組處理功能而不是對*種具體處理功能優(yōu)化。今天,所有的NP廠商幾乎都在圍繞著性價比,以及應用功能的廣泛性進展競爭。未來將要求所有的平臺NP廠商
14、都必須能夠提供真正意義的“平臺。顧名思義,平臺NP應該能夠容納所有分組交換處理功能部件,安置第三方提供給網(wǎng)絡設備制造商的一切軟件和硬件,并成為它們運行的根底。為此,平臺NP應該為網(wǎng)絡設備制造商和第三方的開發(fā)人員提供編寫應用軟件開發(fā)環(huán)境。此外,平臺NP還應該成為連接和控制有關硬件如外圍用NP、專用協(xié)處理器、存儲器電路、PHYPhysical layer層的芯片、交換矩陣等等的樞紐。專用NP則是針對分組處理功能中*一具體操作進展了優(yōu)化的NP,它的作用僅僅限制于該項操作。例如,用于加密或壓縮的專用處理器。加密和壓縮操作要用到相當特殊的算法。這些操作最好由經(jīng)過優(yōu)化的專門適合于處理此項操作的集成電路來執(zhí)
15、行。再如查表/分類操作。如果這類操作運用比較頻繁,就有必要采用一個單獨的專用NP來處理,以便平臺NP能集中精力處理其它的分組處理操作。此外,還有一些專用NP是優(yōu)化后用在第二層協(xié)議上,處理語法分析/幀形成操作。例如,以太網(wǎng)MACMedia Access Control幀,HDLCHigh Level Data Link ControlProtocol幀,或ATMAsynchronous Transmission Mode單元。有時又把專用NP稱為外圍NP。所謂“外圍的意義在于它需要和負責處理總體分組交換處理任務的主要處理器相配合??梢該沃饕幚砥鞯钠骷蠷ISC、CPU、ASIC或者平臺NP。
16、外圍NP廠商所提供的開發(fā)工具只針對此外圍NP所擔負功能有關的操作。為外圍NP編寫的程序必須通過APIApplication Program Interface與擔負總體分組處理的處理器進展通信。例如,設計用來加速查表/分類操作的外圍NP必須將其處理結果通知平臺NP,平臺NP再根據(jù)此結果執(zhí)行一定的動作。網(wǎng)絡處理器的硬件體系構造網(wǎng)絡處理器的硬件體系構造一般具有如下一些特征:采用多核并行處理器構造:片處理器按任務分為控制平面處理器和數(shù)據(jù)分組協(xié)處理器??刂破矫嫣幚砥魍ǔX撠煼菍崟r的管理任務;數(shù)據(jù)分組處理器進展實時、線速數(shù)據(jù)分組處理。優(yōu)化指令集,設計專用硬件加速處理單元:通常采用RISC技術,結合多級流
17、水線技術,大局部指令在一個時鐘周期完成。并針對網(wǎng)絡協(xié)議處理特點,設置專用硬件加速處理單元,提供專用指令如壓縮指令、哈希查找、狀態(tài)判斷、數(shù)據(jù)讀寫指令。優(yōu)化存管理和分級存儲器組織:NP需要進展大量的數(shù)據(jù)分組的接收、存儲、復制、轉發(fā),存操作成為系統(tǒng)開銷的一大瓶頸。為了解決這個問題,通常采用塊數(shù)據(jù)移動技術和特殊的優(yōu)化存儲接口。同時對數(shù)據(jù)進展分類存儲:SRAM用于存放需要快速查找的各種表構造;SDRAM用于存放數(shù)據(jù)分組信息。支持硬件多線程:為了提高NP資源利用率,每個數(shù)據(jù)分組處理器還支持多個硬件線程。每個線程都有一套專門的硬件來存放上下文Conte*t,以獲得線程切換的零開銷。多個高速I/O接口:包括物
18、理鏈路接口、交換接口、存儲器接口、PCI總線接口??蓴U展性:多個NP之間可以互連,構成網(wǎng)絡處理器簇,以支持更為大型高速的網(wǎng)絡處理。由于一個NP上包括許多處理器共同工作,處理器層次是NP最重要的硬件特征。NP一般有如下處理器層次:1一個或多個嵌入式RISC處理器,通常工作在控制平面提供總的控制,處理高層協(xié)議,可編程; 2多個I/O處理器又稱為包引擎、微引擎,工作在數(shù)據(jù)平面,實施入口和出口線速處理,可編程;3一個或多個專用協(xié)處理器,優(yōu)化設計完成特定的分組處理功能,通常被I/O處理器調用,不可編程;4一個或多個交換矩陣接口,不可編程;5一個或多個數(shù)據(jù)傳輸單元,處理I/O設備和存儲器之間的數(shù)據(jù)移動,不
19、可編程。一個網(wǎng)絡系統(tǒng)中完全的處理層次還應包括:6傳統(tǒng)的通用CPU,工作在控制平面,處理管理任務,包括監(jiān)視系統(tǒng)性能、運行路由協(xié)議、給系統(tǒng)管理員提供配置界面等,可編程;7成幀器和物理傳輸器件,實現(xiàn)低層次I/O處理,有時也在NP中實現(xiàn),不可編程。網(wǎng)絡處理器的軟件體系構造許多NP廠商為他們的NP提供參考應用系統(tǒng),幫助用戶了解如何設計NP的軟件。用戶通常不需要從頭設計軟件,只需在廠商提供的參考軟件根底上進展修改。因此,NP設計者可以影響NP的軟件體系構造。大多數(shù)軟件體系構造遵循下面*種模式:主程序把協(xié)處理器當作子例程調用。主程序與可編程I/O處理器上運行的代碼互相作用。使用通信線程。使用事件驅動程序。使
20、用流水線。使用遠程過程調用風格程序組件分布在不同處理器上。使用上述模式的組合。很顯然,有些軟件體系構造是與底層的硬件相匹配的。例如,NP芯片上如果存在用于異步事件的硬件分派單元,則很自然地就有事件驅動的軟件體系構造。相應的,NP提供的對線程的支持和數(shù)據(jù)傳輸機制為通信線程體系構造奠定了根底。流水線體系構造則并不一定要求底層硬件使用流水線。例如,通過不同線程實現(xiàn)分組處理的不同階段,可以構建分組處理的流水線,數(shù)據(jù)包在不同線程中的相繼處理表達了它在流水線不同階段之間的移動。線程可以在一組并行處理器上執(zhí)行,這些并行處理器本身不需要配置成一條流水線,甚至完全可以在單個處理器上通過創(chuàng)立多個線程來實現(xiàn)軟件流水
21、線。遠程過程調用風格的體系構造不是創(chuàng)立互相獨立的程序,而是建立單個程序,使其不同組件運行在多個處理器上。例如,使程序的主要組件運行在一個嵌入式RISC處理器上,處理復雜計算;而它的子組件則運行在多個I/O處理器上,處理入口和出口操作。NP的軟件體系構造必須與NP在處理器層次上很好地匹配。為了獲得高性能,分配給每個處理器的任務需要和它的處理能力相匹配。數(shù)據(jù)平面任務的描述非常簡明,協(xié)議簡單、傳輸速率高,因此需要的代碼較少,但是處理能力較強。而控制平面處理的協(xié)議較為復雜,所以任務的描述也較為復雜,不需要很強處理能力,但需要執(zhí)行更多的代碼。處理層次越低往往操作速度越高。例如,物理傳輸層次決定了系統(tǒng)的線
22、速度,即數(shù)據(jù)進入和離開整個系統(tǒng)的最大速率。為了盡可能防止瓶頸存在,數(shù)據(jù)傳輸、交換矩陣接口、協(xié)處理器硬件都需要設計成以線速操作,從而保證包全速流入I/O處理器。I/O處理器上運行的指令操作的層次低于嵌入式處理器,因此前者的時鐘頻率常常高于后者。為了使性能最正確化,任務應該盡可能在I/O處理器上完成。在嵌入式處理器與外部通用處理器之間的任務分配同樣應該使任務盡可能在嵌入式處理器上完成??偟膩碚f,為了獲得最優(yōu)的性能,分組處理任務應該盡可能被分配到能夠完成該任務的最低層次處理器上。網(wǎng)絡處理器設計與軟件仿真設計一個通用的網(wǎng)絡處理器是相當復雜的。為了控制復雜性,NP設計通常需要依賴于軟件仿真。在硬件設計開
23、場之前,設計者花大量時間來建立軟件仿真器,用來驗證設計的功能和評估性能。為此,需要有運行在目標芯片上針對各種應用的基準程序,把這些程序編譯后使用軟件仿真器來測量可獲得的性能。然而,與傳統(tǒng)的處理器不同,NP的評估不能使用傳統(tǒng)的處理器基準程序。這是因為NP的設計涉及許多低層次的硬件細節(jié),不同NP的在體系構造是不同的,應用程序和基準程序無法在不同NP之間簡單地共享。因此,針對每一特定NP,必須重新設計軟件以匹配目標體系構造。而且,當軟件從一種體系構造移植到另一種體系構造時,有時甚至需要完全重組代碼,這給性能的比較帶來困難。這里,設計者還面臨類似于“雞生蛋還是“蛋生雞的問題。一旦創(chuàng)立了一個硬件體系構造
24、,程序設計人員可以設計軟件來針對這個構造,編寫優(yōu)化的程序;反過來,一旦有了軟件,硬件設計人員可以選擇一個更好的體系構造來匹配軟件設計。在設計NP時,設計者面臨多種可能的體系構造方案,軟硬件設計必須嚴密集成在一起,互相依賴。NP上運行的軟件必須和硬件一起進展設計,這進一步增加了設計的復雜性和工作量。網(wǎng)絡處理器設計需要權衡的各種因素由于網(wǎng)絡處理器是個復雜的器件,可能用于多種目的,因此設計NP需要權衡的因素相當多。作為本文的總結,這里分析其中一些重要因素,特別是我們在NP設計中遇到的一些難點??删幊绦院吞幚硭俣龋嚎删幊绦运峁┑撵`活性和高度適應性在高速開展的網(wǎng)絡領域尤其重要。另一方面,專用的硬件提供
25、了更高的處理速度。假設干年以前,可編程性和處理速度的權衡表達在選擇傳統(tǒng)的通用指令集CPU還是選擇專用芯片上,前者用在低速系統(tǒng)中,后者用在高速系統(tǒng)中?,F(xiàn)在這種選擇成為NP設計者需要考慮的重要因素,它與NP的體系構造和指令集設計息息相關。設計者需對應用目標有準確的把握,才能在體系構造的設計中對可編程性與處理速度做出恰當?shù)目紤]。速度和功能:為了高速處理網(wǎng)絡領域特定的任務,需要對NP的指令集進展優(yōu)化。隨著任務的擴展,需要增加更多的指令,這樣NP的功能就增強了。但是,不同的指令可能需要不同的執(zhí)行時間,處理器必須包含復雜的調度和同步機制,反過來增加了時間開銷和設計復雜性。因此,速度和功能之間必須有很好的折
26、衷。性能-數(shù)據(jù)速率、包速率和包的突發(fā)性的綜合考慮:在NP的系統(tǒng)設計階段,性能的評估是必不可少的。通常有兩種衡量性能的指標:最大的數(shù)據(jù)速率和最大的包速率。最大的數(shù)據(jù)速率是數(shù)據(jù)能夠到達和離開一個網(wǎng)絡系統(tǒng)的最大速率,它限制了系統(tǒng)能夠匹配的網(wǎng)絡端口的容量,一般使用的計量單位是Mbps或Gbps。如果系統(tǒng)能在所有網(wǎng)絡端口滿負荷的情況下無阻塞地完成分組處理和轉發(fā),我們稱系統(tǒng)能夠進展線速處理,并以端口容量描述線速處理的性能。另一方面,由于許多協(xié)議處理操作是以包為單位進展的,盡管每個數(shù)據(jù)包的大小是不一樣的,但對每個包的處理需要的CPU時間是固定的,因此,包速率通常比數(shù)據(jù)速率更重要。然而,準確的性能評估非常困難
27、。首先,由于NP應用的圍很廣,不存在可特征化NP操作的小任務集合,于是需要在大量的任務模式下測量NP的性能,而基準程序在不同NP之間不可重用見本文第5局部進一步給測量帶來了困難。第二,NP的測量需要在流通負載下進展,而包的突發(fā)性使得流量特征很難刻畫。穩(wěn)定的包流與現(xiàn)實網(wǎng)絡的情況是不一致的,準確的評估需要采用突發(fā)分布。不幸的是盡管這方面的研究很多,人們從來沒有對流量特征達成一致意見。網(wǎng)絡流量模型一直是困擾網(wǎng)絡領域的一大問題。于是用于性能測試的流量負載選擇的困難性就可想而知了。協(xié)處理器設計:協(xié)處理器硬件有兩種工作方式-旁路調用與數(shù)據(jù)通路。以旁路調用方式工作的協(xié)處理器類似于過程調用,由主處理器根據(jù)需要
28、調用。而數(shù)據(jù)通路上的協(xié)處理器則以流水線方式處理數(shù)據(jù),在數(shù)據(jù)通過它時對數(shù)據(jù)進展修改。后者有兩個問題。首先,為了防止成為瓶頸,數(shù)據(jù)通路上的協(xié)處理器必須以線速度工作;第二,由于這些協(xié)處理器更嚴密地集成在設計中,很難進展改變。以旁路調用方式工作的協(xié)處理器有著模塊化的優(yōu)勢,可以根據(jù)需要擴展,增加新的協(xié)處理器,不需要對體系構造作太大改動。但是,旁路調用時主處理器與協(xié)處理器之間大量數(shù)據(jù)傳輸產生的開銷將影響性能。流水線-均衡與同步:在一個均衡的流水線上,功能單元處理包的時間是一樣的,從而減少了數(shù)據(jù)緩沖和同步開銷。但是,對分組處理功能的分解很難做到完全均衡,強制的均衡結果是快速階段必須等待慢速階段??墒侨绻魉?/p>
29、線設計成不均衡的,最慢的階段會成為流水線的瓶頸。并行-吞吐量與包的亂序:并行體系構造通常都要有維護包的順序的同步機制。但另一方面,如果放寬對包序的要求,可以簡化復雜的同步操作,減少硬件需求,減少處理器的停滯和輸出端口的等待,從而提高系統(tǒng)總的吞吐量。并行-速度與狀態(tài)信息共享:并行工作的處理器為了防止干擾,必須同步共享的狀態(tài)信息。由于在任何特定時刻只有一個特定處理器可以修改共享的信息,這必然導致并行速度降低。網(wǎng)絡系統(tǒng)中狀態(tài)的頻繁更新,使得狀態(tài)信息共享對速度的影響變得更嚴重。包的分類是一個典型的例子。靜態(tài)的包分類即的值只需要與常數(shù)進展比較能夠獲得并行帶來的N倍速度;而動態(tài)的包分類即由一組數(shù)據(jù)流來決定
30、類別由于要保存狀態(tài)信息,性能必然要下降。存儲器-速度與可編程性:存儲器通常被劃分成幾個存儲體,允許同時不同的存儲體。在多數(shù)情況下,為了獲得最大的訪存速度,必須刻意地把數(shù)據(jù)放到存儲體中以防止訪存沖突。這自然會影響可編程性:程序員需要了解存儲體,給編程帶來困難。編程語言設計的權衡:對NP的編程語言來說,必須在易編程性、功能與代碼速度之間找到平衡點。如果以高速為目的,需要在易編程性與功能之間進展折衷。包含為特定任務裁減的高級構件的集合的編程語言雖然容易使用,但對任意任務的適應性差。而具有足夠的特征面向多種任務的編程語言可用性差因為程序員處理每個任務都面臨多種選擇。因此,NP設計者必須選擇既容易編程又
31、提供足夠功能的編程語言。如果想獲得強大的功能,就需要在易編程性與速度之間進展折衷。高級語言雖然容易使用,但映射到底層硬件構造時效率較低。因此,使用高級語言產生的代碼往往不如使用低級語言產生的代碼更有效。這也是為什么許多NP要求程序員使用匯編語言來獲得最大的吞吐量。如果強調易編程性,則需要在速度與功能之間進展折衷。如果將一種語言限制在*個特定應用上,編譯器能夠產生高度優(yōu)化的代碼。隨著一種語言功能的擴展,其所產生的代碼優(yōu)化也越來越困難。因此,語言設計者需要在功能與代碼的優(yōu)化之間作出權衡。多線程-吞吐量與可編程性:為了獲得較高的吞吐量NP必須支持多線程。通過允許程序員指定多個計算,使得即使在一個線程阻塞、等待協(xié)處理器或I/O處理的情形下,處理器仍然可以繼續(xù)執(zhí)行其它線程。多線程的主要缺點是程序員必須協(xié)助線程的活動,從而增加了編程的復雜性。即使在硬件能夠自動處理線程的搶占和切換時,程序員也許還是需要確保線程與共享資源使用之間的協(xié)調。因此,在高吞吐量和可編程性之間需要作出權衡。流量管理與設計本錢:對網(wǎng)絡效勞收費的ISP和其他組織需要網(wǎng)絡系統(tǒng)能夠管理流量,通過按優(yōu)先級給流量提供效勞以獲得最高的利益。從體系構造的角度來看,這意味著流量管理、速度與本錢的折衷。嵌入式RISC處理器能夠在較低的速度實施流量管理。如果需要高速的流量管理,就必須由專門的硬件來完成,這將會增加總的設計本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國堆場自動化行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球衛(wèi)生用品用生物基超吸水性聚合物(SAP)行業(yè)調研及趨勢分析報告
- 2025年全球及中國泡罩包裝用PVC硬片行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025至2031年中國復合凝固劑行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國冠脈寧片行業(yè)投資前景及策略咨詢研究報告
- 二零二五年度房地產租賃代理合同范本4篇
- 2025至2030年中國調色瓶數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國手動掃地機數(shù)據(jù)監(jiān)測研究報告
- 2025年高校兼職教師勞動權益保障協(xié)議4篇
- 二零二五版金融衍生品收益分成合同范本3篇
- 2024年高考八省聯(lián)考地理適應性試卷附答案解析
- 足浴技師與店內禁止黃賭毒協(xié)議書范文
- 中國高血壓防治指南(2024年修訂版)要點解讀
- 2024-2030年中國光電干擾一體設備行業(yè)發(fā)展現(xiàn)狀與前景預測分析研究報告
- 湖南省岳陽市岳陽樓區(qū)2023-2024學年七年級下學期期末數(shù)學試題(解析版)
- 農村自建房安全合同協(xié)議書
- 杜仲葉藥理作用及臨床應用研究進展
- 4S店售后服務6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應用
- 無線廣播行業(yè)現(xiàn)狀分析
- 漢語言溝通發(fā)展量表(長表)-詞匯及手勢(8-16月齡)
評論
0/150
提交評論