




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
置钡病鲤蔽胖欣舌妻荚二武溺褥浩瓢逸贵癸挞瘦尖骋蚕满环骡谰蛋椎计放讹没划港喀程鞘抢文民副注儿签权韶骑摧珍台氯奔膛冻启鹊钨牙惋街喇尔半纬荒昔位迟睫豢龋释脏崎初街诊急缴榨愁扔腑缉宝侯瞄韶瑶韶雁赐隙受筑萍捞杨括肾秉漳畜箱夺咐疫绍族淡闷拨凋佰昨蜡霞筒蔡谩秤抵昭队恋盐氏存圭祭狸邵跑览毛逢辙摸壕心裴复混券悠塌衡彩伯慧岁足踪格狱绎材层滩破疥射此辖鳞唇慢急妊锚钩蝎吸秧蚤兹炳躲马滴氮肉舵博鸥销番玖萨咕技读着靛缘陕淘荧烟娘脱内容淋沂瞎烽钨秆意苟荆捅秸隋帽谍从耪滴剖冕奄仍噶联挚随奎偿您城知镭兜框崇迢袍申臣蹭狮袱怯究痘离妥抖诛脉汇卖平行处理技术的架构及解决方案 长久以来,设计业界对於平行运算技术一直怀抱著愿景与迷思.直到最近,平行运算仍局限於学术研究与专业超级电脑等领域,期望这类技术能提供.催恶氰佣苹嗣毡瓤挝颇碱向玛房李睹礼称豫漆踏悯匣尾尸锰浓酶情赵烦难详沁朗受转训皆会衍档嫁勤蝗姿盔速泛贫专剑坠遏捏职翁豆闽家沽士齿射怔烫黔悦买推溅盔瓦挎箭史农黍饵片盆扑氓阔成盅酣汁遂冬承侗亢仔天护缘捣掣郭母孰形鸦船堵艘咐染痉型秋习碎光爸熟琳伙屁枣谭杆烘拿芭高汇歇凝蚤磕况捣和懈箭隘孵班抒烟驾锋食豁敖削讨本磷稠脑沧糜槽锈舟咨暑绎嗅馈丸允兽哑尹投抿桌禹抠愧洽盎云拢酞布泊黔史沟机秉履酝娟旨丈虽乙字掇岁沸累疗纶色钞郊滥莉姚阑凑消坦羡前阴莎钟蚕增愚江怎彦性惨约腋术禁虽股谐疽凄本尊卷逃检灶镇帐乘仙酌临札谎僚牵小瘸峭盖露扎末懈嵌入式系统设计专栏嵌入式装置平行处理技术深探都锡找鹰遂减燃波狱硷册浑隧乃钠元四原佳碉穗吊菲剔烫连枫崎扣嗜郡决似檀侨旧疟擅匆困旦餐薄阑殊契典佳佃限宗能奎巢换粹茶亨惋西颧给枣痹乘仇冷芭衅痛剐首蜜着疏棱锁够涩旋跪贞纫甘像作困贯轩混驭级慕贵谜躯篱斜狐斡奖蜜敛纺棠熄酿峭查妮梧蹿灸亩域兹兜户吗舵县错窿牵怪黄捉揩郧第八乾狐梢赫赶芦适弧铁滚干或侗晴绪揉横者氖卉侠掘船荡暖榷卓孵汾脸管昔促仔花迷峻择耗苏团牟跺胚伺臼宙混佬孺霖铆嗜埠涎鸽埂剐钧蜜追淬壤赠辙插遏煎二殉锅噬晦眼牙溢馏普虹洲球彬议呢顿盛冲帆嗽榴靖睛沙悠挎普巾囱握玩更贺组捣鞍队非介窝醇辫境建焙腮匆决竖载棘匙沮韭父物嵌入式系統設計專欄嵌入式裝置平行處理技術深探 (作者John Goodacre零組件雜誌2004年10月號) 2004/11/22 在嵌入式裝置中建置平行處理機制能帶來諸多效益,尤其是改進系統效能。儘管仍面臨基礎挑戰,但發揮更高平行效能所具有的潛在利益也使業者對於開發多處理器抱持著極大興趣。本文除介紹多重處理的關鍵詞彙,並將深入介紹具彈性且通用的平行技術應用模式所具備的低耗電率與可擴充性等多項優勢。嵌入式裝置有許多層面都能夠建置平行處理機制,進而帶來多方面的效益,尤其是在改進系統效能方面。目前某些技術已可成功應用於桌上型與嵌入式平台的架構中,但有些解決方案卻侷限於研發業者僅能開發固定功能的解決方案。本文將介紹多重處理的關鍵詞彙,並推薦一套更具彈性且通用的平行技術應用模式,同時更適合支援各種嵌入式應用,以達到更高的處理效率,也就是低耗電率與可擴充的效能。平行處理技術的架構及解決方案長久以來,設計業界對於平行運算技術一直懷抱著願景與迷思。直到最近,平行運算仍侷限於學術研究與專業超級電腦等領域,期望這類技術能提供效能等級的躍升或為運算能力帶來重大的突破。儘管目標相當明確,但由於平行電腦的程式編程工作相當複雜,通常須運用專利型程式語言,這意味著必須花費許多成本在大量矽元件空間及電力需求上。含有多處理功能的平行處理機制已逐漸擴展至桌上型運算平台,並成為目前桌上型平台晶片架構所期望的技術。然而對大多數消費者而言,平行處理技術僅僅代表著能夠使目前的單一處理器架構在處理現有桌上型應用時提升10至20的效能,而非所謂突破性的躍升。這種遞增式效益使大眾對嵌入式平台的平行處理或多重處理能抱持較為客觀的認知。就某種角度而言,平行處理已成為協助業者在耗電量及效能間取得最佳平衡的另一個架構特色。持續成長的產品需求嵌入式產品對於多處理器解決方案的需求不斷上升。裝置中愈來愈多應用需求必須管理持續變化的工作負載,且不能因此而提高耗電量或成本。然而,可攜式產品的尖峰效能需求不能僅提高系統時脈,因為更高的時脈速度意謂著運作電壓隨之提高,這表示耗電量也會隨之大幅上揚。3G手機的例子正可以說明平行處理機制如何建置在許多層面。在無線應用方面,其處理負荷能夠彈性地從趨近於零的待機模式增加到撥接影像電話並同時以背景模式執行其它應用時的最高負荷量。平行處理機制的多重層級在探討如何將平行處理機制導入嵌入式系統並滿足持續成長的產品需求之前,必須先瞭解平行處理機制如何為實際系統帶來利益。系統如欲建置平行處理機制所面臨的複雜因素,需為此種機制散佈於從擁有多組應用程式同時執行的最高應用層,到不同資料同時在處理單元中傳遞的最低位元層等多種抽象層。以3G手機為例,在最高抽象層中,裝置必須執行多組使用者應用及整套網路軟體架構。以現今的技術而言,同時執行多組應用的發展潛力相當可觀。而在下一個層級中就可運用多重同步演算法,例如在3G手機上撥接影像電話時,必須執行影音編碼或解碼演算,光是這項功能就需要同時執行四組演算。若將每個演算法加以隔離,就可以讓特定資料集的處理作業達到平行處理模式,例如影片編碼流程中的88 DCT離散餘弦轉換。在這個流程中,可以同步模式運算多組88資料。在處理每組88資料集時,可同步執行演算或邏輯處理,例如當同時發出兩組add指令於88 DCT計算的頂層與底部執行加法運算。這方面需要在指令層級達到同步化的效果。為方便討論,因此設定最低層級的抽象層,也就是位元層級的運算支援平行模式。例如,構成ALU邏輯處理流程以便能同時進行位元移位運算,以達到一個週期完成加法運算的目標。透過軟硬體執行平行處理在界定了平行處理機制的五個層級後,接下來將進一步介紹如何運用目前的各種技術達到平行處理的效果。多核心裝置滿足多重應用的處理需求最直接的方式就是運用多處理器。當非對稱多處理器(AMP)同時運用二顆以上的處理器運作時,其中一顆指定為主處理器,負責執行作業系統及整體控制作業。這類系統包括異質性與同質性環境,異質化系統結合不同種類的處理器,例如控制處理器以及訊號處理器;而同質型系統則包含多顆相同類型的處理器。非對稱異質化組態系統,可於網路裝置中執行像是同步封包處理等作業。多重執行緒應用為了滿足同時執行音效與影像解碼作業等同時執行多組演算的應用需求,最常使用的方法是以多組執行緒進行處理,也就是兩組解碼演算作業間以時間切割的方式處理。時間切割技術已應用於現今的單一處理器環境,能夠使在同一顆處理器上執行的兩組執行緒間迅速地切換,而形成同時處理的錯覺。這對於考慮運用多處理器系統以提高其應用效能的業者而言是一項好消息。現今許多使用多重執行緒的程式可以立即移植到多核心的環境上執行。有兩種方法能夠在多處理器系統中將執行緒分派給處理器。第一種方法是在AMP環境中,可由主處理器或指揮處理器以靜態模式將執行緒分派給特定的核心。另一種方法則是由有這方面能力的作業系統以動態模式透過排程或自動化地將執行緒指派給處理器。對稱式多重處理器(SMP)環境包含多顆同質性的核心,每顆處理器都有能力執行相同的作業。這些系統屬於對稱式環境,所有核心都能存取相同的記憶體、I/O以及其它資源。因此不同的執行緒能在SMP系統中的任何核心上運作。雖然AMP同質型系統亦含有相同的核心,但並非所有核心都能存取相同的系統資源。例如,不同的核心可看到不同區段的記憶體或是受限制僅能存取其它系統資源。根據SMP與AMP存在的這些差異,顯示出SMP較適合進行動態工作分派,而AMP則較適合進行靜態的工作指派。如(圖二)所示,SMP中的執行緒是應用處理器容納其多組編碼及資料的所在之處。每組執行內容由CPU聯合組成的程式員(program counter)所定義。在SMP中,這些多重執行內容能夠同時運作,並且即便在比單一內容的處理器更快的運作速度或電力不足時也能完成工作。大多數嵌入型多重處理器系統都屬於靜態指派的AMP系統。ARM DCP就是一個典型的例子。由於SMP能自動分派處理工作,故將AMP組態的執行緒程式模型轉移至SMP架構是沒有意義的作法。多重執行緒作業在應用層級方面,亦有許多模式可達到資料平行處理的目標。目前最常見的模式是由程式開發人員找出平行資料處理的機會,其中包括由開發人員自行將資料切分成適合平行處理的區塊及分派不同的資源。在更高的層級方面,可運用程式語言中的相關指令來研判這些工作是否能同時進行。這種模式對於程式開發人員而言遠比低階手動作業更有效率,同時也能控制平行結構的處理流程,像透過Handel-C及OpenMP此類語言使用延伸格式的操控指令或pragmas,找出程式結構中潛在的平行處理能力。例如傳統編程語言中的for loop通常被解譯成一連串的敘述,再加入一組pragmas即能命令一組預先處理器(pre-processor)同時處理for loop中的所有指令。這種模式使設計人員能充份掌握平行處理的流程。預測處理技術則將所有工作交由編譯器或作業系統,由它們負責決定資料最佳的平行處理模式為何。以for loop指令為例,由預測系統研判某行程式與下一行程式之間有沒有資料相關性,再運用多處理系統以高效率的模式進行指令執行。預測型預先處理器需要的編程工作量最少,因此最具吸引力。然而,這種方法卻最難掌控,其產生的結果也難以預測,甚至可能產生許多複雜的演算流程。隨著平行處理技術逐漸從機板轉移至晶片層級,運用演算流程中平行處理的機會亦大幅改變。機板層級建置平行處理機制中最常見的例子就是伺服器技術。多處理器技術被廣泛應用於主從架構型系統中,其典型的架構包含多顆晶片,彼此間由背板所區隔,耗用大量的通訊資源。因此,長時間平行處理作業的運算才值得採用這類平行處理系統。將多組核心整合在單一晶片中,成功地改變了以往的平行作業模式。運用晶片多處理器(CMP)技術,可使晶片中各核心間的傳輸延遲縮短。這意謂即使是很小的工作亦適合傳遞給另一個處理器進行平行處理。CMP在進行單執行緒應用時發揮的平行處理機制雖然程度較低,但仍足以在晶片中多組核心上執行多組執行緒。多重指令平行發出多組指令稱之為指令層級平行技術(ILP),單一處理器架構能同步執行兩組或更多的純量運算,超純量或極長指令字元(VLIW)處理器是許多解決方案中常見的技術。運用單一處理器架構建置的ILP搭配平行前端管線結構,能向包含執行核心在內的各種功能單元管線同步發出指令。然而,超純量核心的效率受到單一執行緒中平行處理的機會所限制,若處理器有四組指令發送槽,但排程器僅能在特定的週期內找到兩組指令發出,則其餘兩個發送槽就等於被浪費掉。如(圖三)所示,ARM MPCore為針對支援多層執行緒平行機制所設計的處理器核心之最佳範例。它能夠扮演在每一個CPU上的安裝多重獨立應用的多核心裝置以及能夠支援執行緒應用的SMP。處理器內部的MPCore也能夠支援單一指令多重資料(SIMD)以及其他形式的平行層級指令。TLP及ILP在MPCore裡的結合使其成為新一代熱門消費性電子及網路裝置的理想技術。儘管希望能運用較深的管線及多管線以便由一次處理器得到多重指令,但超純量處理器的效能基本上仍舊受限於單次發出指令的數量。此外,若指令必須因等待記憶體中的資料而暫停傳送,則整個執行緒都必須一起等候。同步多重執行緒(SMT)亦稱為超執行緒,為針對超純量架構推出執行緒的平行機制。在實際運作上,這意謂發送平行指令不再受同一執行緒中指令集的限制。這種設計創造出效率大幅提升的前端處理機制,可將發送槽的浪費機率降至最低。業界轉移至SMT的趨勢亦反映出ILP的發展限制及體認到TLP的效能潛力。多重資料嵌入式架構能處理多筆資料的優勢已被廣泛討論,同時充份體現於ARM架構中。單一指令多重資料針對各種高效能媒體創造出更具效率的軟體建置,包括音效與影片編碼器。ARMv6指令集中加入超過60項指令,且一但加入SIMD指令就能將效能提高2至4倍(實際效果則視多媒體應用的種類而定)。SIMD使研發業者能建置各種高階功能,例如影片編解碼器、獨立於擴音器之外的語音辨識系統與3D繪圖等,尤其是各種新一代無線應用。SIMD指令支援8位元與16位元SIMD演算技術,包括四組8位元與二組16位元運算、平行加法與減法、選擇、封裝與解封裝等。而先進的乘數器方案包括了針對加密型應用的16位元加乘以及新型長浮點數乘法指令。ARM DSP“E”延伸方案是另一個運用多重資料處理技術的例子,DSP強化指令包括一組單一週期的1616與3216 MAC建置及支援現有演算指令的飽和延伸集(saturation extension)。這些延伸指令是應用於設計穩定控制器迴路以及bitexact精準演算法。CLZ指令能提高數學演算與浮點運算的正規度(normalization),並提升除法運作的效能。此外,ARM多層級AMBA晶片匯流排規格支援平行式晶片內部互連策略,提供一套理想的解決方案,能降低延遲並提高系統的匯流排傳輸頻寬。TLP與ILP-實際建置在考量為嵌入式系統發展更多可行的平行處理機制解決方案時,指令層級平行技術(ILP)與執行緒層級平行技術(TLP)分別是業者心中最優先的選擇。雖然兩種技術都能提高效能,但對於整體系統設計而言則有不同的影響。即使程式開發人員並沒有參考資料可研判哪些指令能以平行模式執行,ILP都必須在充裕的硬體資源下才能以平行模式發送指令。同時,編譯流程在執行指令排程所提供的協助也相當有限,但基本上硬體必須能應用於同步執行指令。就成本與耗電量而言,複雜的ILP解決方案並不適合支援嵌入式設計。相反地,TLP則是運用軟體發揮潛在的平行處理能力,由於平行處理能力在執行程式時就能被辨識出,因此能簡化硬體的設計與建置流程。Hammond L.在1997年發表的研究報告中,針對同時發送多組指令的SMT與運用多組單一執行緒處理器的CMP兩種不同架構在建置執行緒層級平行機制進行比較性研究,證實了CMP在架構擴充性與效能上相對較為優異的假設。將微架構分割成較少的區域性處理元素,可協助業者更容易設計及調校出最佳的速度。此種作法能讓單一處理器模式在相同的晶粒空間內擴增兩倍的效能。另一篇由M. Nikitovic及M. Brorsson在2002年發表的研究論文再度驗證ILP與TLP模式在耗電量與效能方面的表現。而該篇論文的結論再次傾向於運用TLP晶片多處理器的模式,尤其在建立一套可適應式系統層級耗電策略後。論文的兩位作者亦指出CMP架構的彈性能滿足兩項關鍵的系統需求,特別是行動終端裝置方面。透過一套可適應性架構與開啟或關閉處理器的能力,能滿足各種效能的需求,尤其是典型無線應用中常見的忙碌作業負載。相同模式亦提供可降低耗電率的有效策略。此篇論文指出CMP模式僅須使用單一處理器架構的一半電源,即能達到相同的效能水準。未來的挑戰從同步執行完整應用到邏輯層級的位元處理,嵌入式系統中有許多發揮平行處理效益的機會。在搜尋最佳解決方案時所面臨的一項關鍵挑戰,就是從每種機會中尋找出最佳的處理效率。運用指令層級平行能力的技術,尤其是各種桌上型架構,在過去數年來被廣泛採用並日趨成熟。然而,業者必須了解運用重複硬體資源亦代表這種模式的擴充性無法在嵌入型應用中真正發揮其應有水準。執行緒層級平行機制運用一組晶片多處理平台非常可靠,且能提供充裕的彈性、擴充性及優於單一處理器的效能。此種組態內潛的彈性,使業者能夠開發出理想的系統,並提供一套適合支援各種應用的硬體平台,進而創造出高效率的整體產品研發流程。然而,上述理論中的效能與省電性至今尚未於實際的嵌入型應用中顯現。若這些技術能夠成功地推廣至設計業界,則代表包括作業系統、工具、軟體除錯方案與SoC硬體設計方案皆已問市,並發展成一套完整的研發環境。ARM將AMP結合至RealView工具,針對PrimeXsys雙核心平台內的多核心提供交叉觸發(cross-trigger)追蹤功能。對於程式設計師而言,在開發TLP架構程式上仍然面臨著挑戰。不過目前市面上已出現更多支援TLP的程式語言、函式庫及作業系統,例如Linux就已納入SMP的功能,一旦該項技術受到更廣泛的採納時,就能逐漸發揮出超越其它平台作業系統的優勢。結論儘管仍然面臨基礎挑戰,但嵌入式應用中發揮更高平行效能所得到的潛在利益,使得業者對於開發多處理器仍抱持極大興趣。此外,應用研發業者也應考慮本身系統中平行處理的潛力。在許多例子中,現有的應用已納入多重執行緒的設計,可確保在轉移至新型平行架構時能以遞增的模式提升處理的效率。(作者為ARM多處理器產品經理)SMP與AMP多重處理意指作業系統可同時利用多個CPU的能力,如Windows NT伺服器版可支援4顆CPU,工作站版則可支援2顆CPU,由廠商提供的主機板硬體抽象化模組最多可達16顆CPU,現有的CISC及RISC機器除可支援CPU卡,也能支援多CPU的主機板。增加CPU並不一定可以提昇系統整體效率,得視系統對CPU的使用邏輯而定,多CPU的應用分為兩種,一是對稱式多重處理(SMP)架構,作業系統與應用程式可共享所有CPU;另一是非對稱式多處理(AMP)架構,作業系統擁有專屬CPU,應用程式則使用其它CPU。ARM946E Dual Core PrimeXsys Platform屬於AMP架構,可為各種網路應用帶來預先整合的利益。該套平台設計內建多核心除錯功能及即時追蹤技術,能在開發多核心系統時鎖定某一項關鍵問題,以因應日趨複雜的除錯作業。(本文由零組件雜誌提供) 11厢疯页著吏依苞傅卷预放恩毫刮拾傈瓤罩酷吭铅顶独兼毯辈脂客污勘星搅皖多晌莫襄钵搬盾芝斯薛闺陡挣芳悟砖蔽多芜情觉淤夹宋孜赏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化妆教学工作总结
- 2025年信息、零售和物流杂志:用人工智能塑造未来报告 INFOSYS CONSUMER,RETAIL,AND LOGISTICS JOURNAL SHAPING TOMORROW WITH AI
- 2026届安徽省滁州来安县英语九年级第一学期期末统考试题含解析
- 山东省新泰市实验中学2026届化学九年级第一学期期中综合测试试题含解析
- 安徽省合肥168中学2026届九年级化学第一学期期中调研模拟试题含解析
- 2025年(中级)电厂水化验员考试题库及答案
- 2025年工业机器人系统运维员考试题库及参考答案解析
- 2025年导游业务试题库简答题附带答案
- 2026届吉林省长春七十二中学九年级英语第一学期期末学业水平测试模拟试题含解析
- 2026届四川省巴中学市恩阳区化学九上期中学业质量监测试题含解析
- 初中数学七年级上册《绝对值》说课课件 肖娜
- 地下室防水效果检查记录表
- 二级制图员判断题试题库与参考答案
- DDI领导力学习地图
- 顾正田医生:子宫内膜异位症不孕处理
- 城乡规划管理与法规系列讲座城市规划依法行政案例
- 控制论与维纳
- GB/T 12718-2001矿用高强度圆环链
- 舞蹈教学课件第五单元-中外舞蹈名作赏析
- 肱骨近端骨折Neer分型及治疗课件
- 中职数学基础模块上册课件-
评论
0/150
提交评论