




已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀
(計算機系統(tǒng)結構專業(yè)論文)面向嵌入式異構多核體系的軟硬件協(xié)同任務調度方法.pdf.pdf 免費下載
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
浙江人學碩l 學位論文 摘要 半導體技術的發(fā)展使得基于i p 核的s o c 系統(tǒng)在嵌入式領域得到了廣泛 應用。其中主從關系架構的異構多核系統(tǒng),是擁有用于任務控制的通用處理 器核和面向應用定制的專用處理器核。 異構多核嵌入式系統(tǒng)上的操作系統(tǒng),一般運行在通用處理核上,而計算 量大的部分運行在專用處理器核上?,F(xiàn)有軟件系統(tǒng)對異構多核的支持,主要 是用驅動程序,或一組系統(tǒng)調用把輔助核抽象成可以被應用程序直接使用的 接口,應用程序一般直接編程以使用輔助核。這種方法在系統(tǒng)中運行單個應 用程序的時候能獲得很好的效果,并不適用于多個應用程序同時運行的情 況。 本文認為可以從軟硬件協(xié)同的角度,探索在該體系下的操作系統(tǒng)任務調 度方法,調度系統(tǒng)的部分功能由硬件協(xié)同完成。 本文將輔助核任務分成預處理,任務運行以及后續(xù)處理三個階段。預處 理階段生成輔助核可以運行的執(zhí)行環(huán)境,包括代碼和數(shù)據(jù);任務運行階段則 是任務在輔助核上的運行過程;后續(xù)處理則是任務運行完成的后續(xù)處理工 作。第二階段運行在輔助核上,而預處理和后續(xù)處理階段運行在主核進程上, 管理著輔助核任務的創(chuàng)建和銷毀,由操作系統(tǒng)的調度器進行調度 本文設計的硬件調度器完成第二階段輔助核任務的調度管理。這是一個 支持先來先服務和動態(tài)優(yōu)先級兩種調度策略的i p 核,可以按不同的調度策 略調度輔助核任務在輔助核上運行。 通過本文設計的軟硬件協(xié)同任務調度方法,測試可知輔助核計算任務吞 吐量提高了8 1 ,用于輔助核任務調度的時間減少了7 8 。 總之,本文設計的軟硬件協(xié)同任務調度方法,通過設計硬件調度器,配 合軟件層面的操作系統(tǒng)調度系統(tǒng),可以靈活而高效地支持異構多核的體系中 的任務調度管理。 關鍵詞多核,異構,操作系統(tǒng),編程模型,軟硬件協(xié)同,調度 浙江大學碩上學位論文 a b s t r a c t a st h ed e v e l o p m e n to fs e m i c o n d u c t o rt e c h n o l o g y , i pb a s e ds o cs y s t e mi s b e c o m i n gp o p u l a ri nt h e 鋤b e d d e ds y s t e mf i e l d o n ei st h eh e t e r o g e n e o u sm u l t i - c o r e s y s t e mi nt h em a s t e r s l a v em o d e l t h eg e n e r a lp r o c e s s o rc o r ea sm a s t e ri sr e s p o n s i b l e f o rt h ec o n t r o l l i n go fs y s t e mw h i l et h es l a v ep r o c e s s o rc o r e sw h i c ha r r ed e s i g n e df o r s p e c i f i cp u r p o s e 1 1 磚o p e r a t i n gs y s t e mf o rt h i sa r c h i t e c t u r ei sr u n n i n go nt h em a s t e rc o r e , a n dt h e p a r ti nt h ea p p l i c a t i o n 、i t l ll a r g ec o m p u t a t i o ni sr u n n i n gi nt h es l a v ec o r e s f o rt h e s l a v ec o r e s d e v i c ed r i v e ro rs y s t e mc a l l 伽b eu s e da sai n t e r f a c ef o ra p p l i c a t i o n b u t t l l e ya l en o ta p p l i c a b l ew h e nt h e r ea r em o r et h a no n ea p p l i c a t i o ni nt h es y s t e m t l l i s p a p e rd e s i g n sah a r d w a r es c h e d u l e r t or e i n f o r c et h e g e n e r a ls o f t w a r e s c h e d u l e ri nt h eo p e r a t i n gs y s t e mf o rh e t e r o g e n e o u sm u l t i c o r ea r c h i t e c t u r e i nt h i sp a p e rt h et a s kf o rs l a v ec o i ei sd e s i g ni nt h r e ep a r t s , t h ep r e - p r o c e s s i n g , r u n n i n g , p o s t - p r o c a s s i n g p r e - p r o c e s s i n gp a r ti sr e s p o n s i b l ef o rt h ec r e a t i n go ft h e c o n t e x to ft h es l a v et a s k , i n c l u d i n gt h ec o d ea n dd a t a , a n dt h ep o s t - p r o c e s s i n gp a r ti s r e s p o n s i b l ef o rp r o c e s s i n gt h er e s u l t so fc o m p u t a t i o n n mr u n n i n gp a r t , t h ec o m p u t i n g o fd a t ai st h ec o r eo fs l a v et a s k , i ss c h e d u l e db yt h eh a r d w a r es c h e d u l e rw h i l et h e p r e , - p r o c e s s i n ga n dp o s t - p r o c e s s i n gr u n n i n gi nt h em a s t e rc o r ei ss c h a d u l e db yt h e s o f t w a r es c h e d u l e r 1 1 磚h a r d w a r es c h e d u l e rt h i sp a p e rd e s i g n e di ss u p p o r tf i r s tc o m ef i s ts 盯、,i ( f c f s ) a n dd y n a m i cp r i o r i t ys c h e d u l i n gs t r a t e g i 嬲 w i t ht h i sh a r d w a r e - s o f t - w a r ec o - s c h e d u l em e t h o d , a f t e rt e s t i n ga n da n a l y z i n g , t h e s l a v et a s k st h r o u g h p u ti nt h es y s t e mi si n c r e a s e d8 1 a n dt h es c h e d u l i n gt i m ef o r s l a v et a s k si sr e d u c e d7 8 t h a nt h eg e n e r a ls c h e d u l i n gm e t h o di ns o f t w a r e i ns h o r t , t h em e t h o dt h a th a r d w a r e - s o f t w a r ec o - s c h e d u l em e t h o d , h a r d w a r e s c h e d u l e rr e i n f o r c et h es o f t w a r es c h e d u l e r , c a nb ef l e x i b l ea n de f f i c i e n ts u p p o r tt h e t a s ks c h e d u l i n go f h e t e r o g e n e o u sm u l t i - c o r es y s t e m k e y w o r d s m u l t i - c o r e , h e t e r o g e n e o u s ,o p e r a t i n gs y s t e m , p r o g r a m m i n gm o d e l , c o o p e r a t i n gw i t hh a r d w a r ea n ds e t , w a r e , s c h e d u l i n g 浙江人學碩士學位論文圖目錄 圖目錄 圖2 1c e l l 微架構的整體框架圖,引用自2 9 9 圖2 2 應用程序的執(zhí)行模式f 1 1 】1 7 圖3 1 軟硬件協(xié)同調度模型。1 9 圖3 2 嵌入式異構多核體系設計圖2 2 圖3 3s p e 結構圖2 3 圖4 1s o c 中的硬件調度器。2 5 圖4 - 2 硬件調度器的模塊設計2 6 圖4 3 新s p e 任務添加到硬件調度器任務隊列的流程3 0 圖4 4s p e 任務調度控制過程3 1 圖4 5s p e 任務的后期處理過程3 2 圖5 1 操作系統(tǒng)支持模型3 4 圖5 2s p e 程序的編程模型【5 l 】3 5 圖孓3 應用程序的執(zhí)行流程3 6 圖6 1x i l i n xv i r t e x - 4m l 4 0 3f p g a 開發(fā)板外觀1 5 0 1 3 7 圖6 - 2s o c 系統(tǒng)在e d k 中的整體設計圖3 8 圖6 3 單個應用程序基于傳統(tǒng)調度和硬件調度運行效果比較4 3 圖6 4 高優(yōu)先級應用程序基于傳統(tǒng)調度和硬件調度的運行時間比較4 3 圖6 5 兩個應用程序基于傳統(tǒng)調度和硬件調度同時運行的時間比較4 4 圖6 - 6 不同調度方法下單個應用程序中s p e 任務時間對比4 5 圖6 - 7 不同調度方法下不同數(shù)量應用程序s p e 任務時間的對比4 6 i i i 浙江大學碩士學位論文 表目錄 表目錄 表4 1s p e 任務控制模塊格式2 7 表4 - 2 存儲控制原語的格式。2 9 表4 3s p e 控制原語的格式2 9 表6 1s o c 系統(tǒng)的內存映射分配表3 9 表6 - 2 用于測試應用程序列表。4 l 表6 - 3 測試分組和測試結果匯總。4 2 表6 - 4 單個應用程序基于傳統(tǒng)調度和硬件調度運行效果比較4 2 表6 - 5 高優(yōu)先級應用程序基于傳統(tǒng)調度和硬件調度的運行時h j 比較4 3 表6 6 兩個應用程序基于傳統(tǒng)調度和硬件調度同時運行的時問比較4 4 表6 7 不同調度方法下單個應用程序中s p e 任務時日j 對比4 5 表6 8 不同調度方法下不同數(shù)量應用程序s p e 任務時問的對比4 5 i v 浙江大學碩士攀位論文 輔l 章緒論 第1 章緒論 1 。l 嵌入式舜構多核體系概述 半導體以及相應的集成電路制造工藝的迅猛發(fā)展,集成在芯片上的晶體管的 密度不斷的提高。使得越來越多的元件都可以集成剎一塊單一的芯片上。但是芯 片出于菇體鎊數(shù)量增加兩發(fā)熱爨越來越大,晶體管躺電流泄露闊題也隧乏越來越 嚴重。薅蓑菇棼管鼗量熬趲鴦鬟,務秘冬群鶼c p u 竣謗皴本震寒提秀c p u 瓣謗算 性能,但怒,晶體管數(shù)耳增加一德,所得到提升的譙能卻只有原來的3 0 【l 】處 理器的設計農工藝設計和性能提升上都面臨著巨大f i 勺挑戰(zhàn),而多核成為了解決這 些問題的一種途徑2 1 。 嵌入式系統(tǒng)往往是針對特定艨用設計豹專門的系統(tǒng),楣比通用計籀機,在系 統(tǒng)熬設詩秘突襲上罄較蕘楚攀,褒半導缽技本藏熬瓣今關,在萃令蒼麓童把各羲 不同蘑途豹功能模塊整合在一起,不毽可戳攆拜模塊聞的逶信速度,掇舞系統(tǒng)往 能,而且還w 以減少芯片的面積,從而也降低芯片的能耗【3 1 很多的專用于圖像 計算,數(shù)字信號處理的應用中,為了突破單個處理核速度的限制,都有漿用單芯 片多核心的設計方法【4 】 5 】。 有著越越多豹囂囪特定纛髑豹系統(tǒng)采用硬紛多核豹方式來提升臻統(tǒng)豹謗 算能力。褒【3 】設詩了一令撼騫多令d s p 處理核熬多核系統(tǒng)來疆舞系統(tǒng)詩舞能力。 還有在f 6 】巾寅現(xiàn)了一個基于多娥璦核的用于加速j p e g 計算的系統(tǒng)。穰f 7 】中實現(xiàn) 了一個用予加速m p e g 2 視頻編解碼的多處理器系統(tǒng),并為此硬件系統(tǒng)專門設計 了軟件編程模型以及m p e g 2 編解碼任務的調度方式。同樣在【8 】中實現(xiàn)一個用于 m p e g - - 4 計舞舷速豹嵌入式s o c 體系結構,以及翻巾是一個為h d t v 墩耀兩專 門設詩豹霧:l 奄多核系統(tǒng),多令簸壤孩孛甄騫為h d t v 謗葵專瓣設謗戇憊遴孩,氌 有運行系統(tǒng)管理和h d t v 計算強務調度的傳統(tǒng)的嵌入式通用處理挾。 可以看剿為了滿足各種各樣的應用需求,各種針對特定應用而設計的異構多 核系統(tǒng)越來越流行。在這種體系中,除了針對特定_ 陂用優(yōu)化設計的處理榱外,還 有一個負責操作系統(tǒng)運行的通用處理核。不單單是嵌入式領域,在高餓熊服務器 系統(tǒng)簇域,i b m 豹c e l l 蔣系絮擒氌采矮了這樣瓣一令募捧多菝懿設詩方式。 在這種菇梅多核的體系粱襁巾,逶常把運行搽體系統(tǒng)靜逶用鷯處璜撥稱為主 處理核或者激核。而把針對特定成用設計的處理核稱為輔助處理核或糟輔助核。 如前面提到的d s p ,還有針對j p e g ,m p e g 2 ,m p e g - 4 以及h d t v 殿用設計的 浙江大學碗上掌能論文第1 章緒論 處理核都屬予這一類。這些輔助處理核往往只能避行針對特定應用設計的專用指 令集,所以嫩行在糖助核上的輔助核任務需要主核的管理和控鍘。 1 2 多核攮俸系統(tǒng)霹編程模凝 在支持辨構多核體系的軟件系統(tǒng)中,操作系統(tǒng)運行在主核上,而輔助核娜通 過各種各樣的方式抽象成軟件接口。例如以驅動程序,系統(tǒng)調用,或者廉擬文件 系統(tǒng)的方式【lo 】_ 抽象出軟件接口供成用程序直接使用。在驅動程序支持輔助核的 方式中,從攆終系統(tǒng)靜受度素瓣,輳駒核是一個麴露濺大詩葬能力的設撂,應用 程序發(fā)揮麓麓孩強大詩算韙力懿方式羲是霞薅轆懿梭輟動鬈彥。采瑁系絞調耀方 式支持輔助核的方式中,支持輔助核的軟件接日被包裝成操作系統(tǒng)內核巾的一組 系統(tǒng)調用。而虛擬文件系統(tǒng)則是把輔助核的使用包激成一個虛擬文件系統(tǒng),通過 對文件系統(tǒng)的操作來實現(xiàn)對輔助棱的操作 在l l l 】文巾設計了一個輔助核和圭孩在編程模嬲上地位稠等的模型。在這個 摸壅孛,運露在壤蘩菝夔瘦蔫趲譬霹疆窩運學程囊孩上懿應躉程序一攆調震系 統(tǒng)調用,麗時也可以和主核上的艨用程序一樣平等的被操作系統(tǒng)調度。遨傘模型 是通過一個支持d s p 的程序稷序庫和專門的軟件巾斷及相應的中斷處理函數(shù)來 實現(xiàn)的。 異構多核體系提供了強大的計算處理能力,軟件系統(tǒng)對這種體系結構的支持 方式淡及稷纛緩瞧模型塞接關系凌硬終囂霎戇力麴涮璃率、程痔員鑊羽疆穆系統(tǒng) 酶方便往等系歹| j 闊題。 總的來說,f l l 】中所使用的方式比較靈活,從殿用程序的角度來看,輔助核 和主核地位樣,應用程序能夠使用傳統(tǒng)的編程方斌來使用異構多核中的各種不 同類型的處驥核。不過編程的方便性需要提供一緞裁雜的底層應用程序麾和軟件 孛斷及相威豹巾斷處理函數(shù)豹支持。嵌入式領域的繳孀強耨月異,如暴瓣每一種 不弱豹舅幸奄多核俸系蠡舞愛一套裁拳癢戳及孛甄及夸獲簸理丞數(shù),:| 莓怒一今j 常 大的工作薰,這必然會延長產晶的殲發(fā)周期。 而對于使用虛擬文件系統(tǒng)威者驅動程序的方式來支持輔助核的方式,在實現(xiàn) 上較為簡單。尤其是采用驅動穰序的方式在開發(fā)比較快,而虛擬文件系統(tǒng)的方式 雖然比驅動稷序的方式復雜一點,但其在編程模型上豹先進性可以使褥舞發(fā)應用 翟痔露較菇麓肇童鼴。 但是,光論采用驅動程序還怒虛投文件系統(tǒng)的蠢式支持異構多棱體系,郝是 把輔助核硬件抽象成相應的軟件接口,在應用程序巾通過使用這些軟件接口對輔 2 浙江大學碩上學位論文 第1 章緒論 助核硬件進行直接的操作。這種方式用于測試輔助核的功能完整性以及應用在單 任務的系統(tǒng)中是很合適的,實現(xiàn)方式和使用方式都很簡單,但是,當有多個應用 程序使用輔助核硬件的時候,由于這種軟件直接操作硬件的方式,使得應用程序 很難發(fā)現(xiàn)某個輔助處理核是否已經被其他程序所使用,輔助核資源使用的沖突就 發(fā)生了。 此外,定義一組系統(tǒng)調用來支持輔助核也是一種方法。通過對輔助核進行底 層抽象,輔助核在各個應用程序上的使用分配由操作系統(tǒng)內核進行調度。這樣就 可以解決輔助核管理的問題。但是從底層看,這需要復制大量的內核設施,同時 還要的大量的新系統(tǒng)調用的配合,才能提供必要的功能。這種方法在實現(xiàn)上也頗 為復雜【l o 】。 1 3 研究目的 從上一節(jié)對異構多核體系上的軟件支持模型的分析中可以看到,在支持主核 和輔助核這種體系的操作系統(tǒng) 1 2 l o p ,如何靈活而有效的調度管理應用程序任務 在輔助核運行成了一個很大的問題。無論是以驅動程序還是虛擬文件系統(tǒng)的方式 把輔助核抽象成軟件接口,都很難滿足多任務的系統(tǒng)需求。而定義一組系統(tǒng)調用 來支持的輔助核的方法卻在實現(xiàn)上比較復雜,面對各種各樣的異構多核體系,都 需要實現(xiàn)各自獨立的一組系統(tǒng)調用,軟件系統(tǒng)的可移植性上比較差。 針對這些問題,本文認為可以從軟硬件協(xié)同工作的方式來解決異構多核體系 中的任務調度問題。 1 4 本文工作 本文提出了一個面向嵌入式異構多核體系的軟硬件協(xié)同任務調度的方法。在 此方法中,把運行在異構多核體系結構上的應用程序分成運行在主核上的任務線 程及主核任務和運行在輔助核上的任務線程即輔助核任務兩種類型。對這兩種類 型的任務采用分層次的調度管理方式,兩類任務各自由相應的調度器進行調度管 理。主核任務由操作系統(tǒng)調度器進行調度管理,輔助核任務則由本文設計的一個 基于口核的連接到片上總線的硬件調度器來調度管理在本文中,重點對輔助核 的管理和調度輔助核任務的硬件調度器做了深入研究。 本文主要在以下幾個方面開展了研究工作: 1 ) 分析嵌入式異構多核體系的特性,并研究了針對異構多核體系的操作系統(tǒng)支 持以及應用程序編程模型。 浙江大學碩士學位論文第1 章緒論 2 ) 設計軟硬件協(xié)同任務調度的模型,輔助核任務由硬件調度器進行調度管理, 麗主核任務則由操作系統(tǒng)的調度器來調度管理。 3 ) 設計并實現(xiàn)了基于口核的硬件調度器,該調度器支持先來先服務和動態(tài)優(yōu)先 級兩種調度策略。并定義硬件調度器和輔助核之間的控制通訊接口。 4 ) 設計輔助核任務的編程模型。并按照此編程模型編寫測試應用程序對整個軟 硬件協(xié)同任務調度模型進行驗證。 通過軟件和硬件協(xié)同調度的方式,把多個任務有序、高效的運行在多核系統(tǒng) 中,降低操作系統(tǒng)支持異構多核系統(tǒng)的復雜度。并提供一個和現(xiàn)有編程模型相似 的,易于程序員使用的軟件編程模型,降低編程復雜度。 1 5 論文的組織 本文第一章是緒論,簡要介紹了本文所做研究的背景,本文的研究內容和目 的,還有介紹一下本文的組織結構。在第二章中,介紹了與本文相關的背景內容 和相關的技術簡介。第三章介紹了軟硬件協(xié)同的任務調度方法,并簡要的介紹了 嵌入式異構多核體系。第四章詳細介紹了硬件調度器的設計,同時介紹了硬件調 度器和輔助核之間控制通訊接口以及硬件調度器的軟件接口抽象。第五章介紹了 支持操作系統(tǒng)對軟硬件協(xié)同任務調度方法的支持,并介紹了相應的編程模型。第 六章則介紹了軟硬件協(xié)同任務調度器系統(tǒng)在f p g a 開發(fā)板上的實現(xiàn)和測試驗證。 第七章對本文的內容進行了總結,同時對未來的工作做了展望。 1 6 本章小結 本章介紹了本文研究的背景,并介紹了本文研究的主要內容以及研究目的。 同時介紹了本論文的組織結構。 4 浙江大學碩上學位論文 第2 章相關背景及技術簡介 第2 章相關背景及技術簡介 2 1 多核體系結構和嵌入式系統(tǒng) 2 1 1 多核處理器的發(fā)展狀況 按照摩爾定律的表述,集成電路上可容納的晶體管數(shù)目,約每隔1 8 個月便 會增加一倍,而價格下降一半。這個由英特爾創(chuàng)世人戈登摩爾提出的定律引領半 導體市場4 0 年之久,時至今日卻面臨著技術局限的限制。 一直以來,半導體行業(yè),尤其是處理器芯片的設計堅持不斷小型化的路線來 提升主頻,在芯片技術上直達納米級的水平。但隨著芯片電路“線寬”的越來越 小,一個芯片集成近l o 億個的晶體管,芯片中的電流也很容易泄露,芯片的功 耗和散熱成了很大的問題,阻礙了晶體管密度的進一步提升而且,僅僅通過提 高晶體管數(shù)量,提升處理器頻率的方法,已經很難實現(xiàn)性能的突破性提升體系 結構從單周期,多周期,流水線,到超標量,s i m d ,超線程( s m 陌) ,晶體管數(shù) 量越來越多,實現(xiàn)技術越來越復雜,但性能的提升卻越來越困難。s u n 微系統(tǒng)公 司的首席技術架構師m a r e t r e m b l a y 說,“增加一倍的晶體管數(shù)量,本文所能得到 的性能提升只有原基礎上的百分之二十?!薄? 】 同時,不管是服務器高吞吐的計算數(shù)據(jù)還是桌面系統(tǒng)的應用多樣化,計算機 計算對并行化的需求也越來越高。如s m t ( s i m u l t a n e o u sm u l t i t h r e a d i n g ) 技術, 又稱為超線程技術,在一個處理器上實現(xiàn)了硬件并行執(zhí)行的能力,但是不斷增加 的芯片面積提高了生產成本,而且由于技術上的越來越復雜,使得設計和驗證所 花費的時間也變得更長 1 3 】【1 4 】此外,通過在一個計算機上匯集多個處理器,各 個處理器之間共享內存子系統(tǒng)以及f o 子系統(tǒng)的對稱多處理器s m p ( s y m m e t r i c a l m u l t i p r o c e s s i n g ) 的體系結構在一定程度上提升的計算機系統(tǒng)的并行性及計算能 力o s 。但是通過此種方式,把通用處理器其構建成集群的技術難度卻非常大。 而一種稱為c m p ( c h i pm u l t i p r o e e s s o r s ,單芯片多處理器) 【1 6 】技術似乎為 處理器性能的繼續(xù)提升提供了一個方式。c m p 是指在一個芯片上集成多個處理器 核心的一種實現(xiàn)方式,c m p 技術又成為多核技術( m u l t i c o r e ) ,從實質上講,芯 片上的每一個微處理器都是一個相對簡單但是功能卻是獨立的單線程的處理器, 不過這些微處理器之間聯(lián)系較為緊密,可能共享二級c a c h e 或者一級c a c h e ,并且 常常是共享f s b 總線接口。從c m p 的設計思路上可以看到,它擁有處理器芯片 5 浙江大學碩士學位論文 第2 章相關背景及技術簡介 上的硬件多線程處理能力( s m t ) ,同時在設計上同s m p 有很多的相似之處???以通過對硬件多線程處理技術( s m t ) 以及對成多處理器系統(tǒng)的對比來進一步分 析c m p 的優(yōu)勢所在。 處理器的設計通常提高處理器性能的方法都是基于提高處理器指令集并行 ( i l p , i n s t r u c t i o n l e v e l p a r a l l e l i s i n ) 和線程級并行( t i p , t h r e a d l e v e l p a r a l l e l i s m ) , 一般是把指令的執(zhí)行分成幾步,通過使用流水線的方式讓多條指令在單個指令周 期下同時在處理器上運行。按此方法,把流水線細分為更多的部分,使得這種深 度流水線或稱超級流水線能在單位時間內執(zhí)行的指令數(shù)得到顯著的增加,從而提 高處理器的整體性能。 多發(fā)射類型的處理器一般包括超標量處理器( s u p e rs c a l a r p r o c e s s o r ) 和超長 指令字( v e r yl o n gi n s t r u c t i o nw o r d ,v l i w ) 處理器,允許在一個單位時間周期 內發(fā)射多個操作執(zhí)行以減少處理器的c p i ( c y c l e p e r i n s t r u c t i o n , 平均指令周期) , 從而更好的利用處理器的功能部件資源。超標量處理器為了能在單個時鐘周期內 發(fā)射執(zhí)行多條指令,般擁有多個功能部件,比如多個定點運算部件、浮點運算 部件和l o a d s t o r e 部件等。v l i w 與超標量不同,他是通過編譯器來尋找指令級 并行,然后編碼成一條可同時發(fā)射多條微指令組合而成的超長指令【l8 】。 當處理器速度的不斷增加,使得處理器訪問內存的時間延遲相比與處理器的 速度變得越來越不可忍受,數(shù)據(jù)的存取顯得跟不上處理器的處理速度。通過設計 使用c a c h e 可以很有效的緩解處理器速度和訪問內存時間延遲之間矛盾但是一 級c a c h e 失效( m i s s ) 的時候還是會需要處理器等待不少的時鐘周期從低級存儲 系統(tǒng)獲得數(shù)據(jù)。處理器設計中的亂序執(zhí)行( o u t - o f - o r d e r 0 0 0 ) 技術,或者稱為動 態(tài)發(fā)射超標量,可以解決這個問題,在c a c h e 失效的時候,此技術可以讓c p u 不 按順序執(zhí)行指令,而是執(zhí)行那些不需要訪問c a c h e 的指令。此外,這種處理器有 多組運算單元來支持幾組獨立指令序列的并行運行。亂序執(zhí)行技術的效率在很大 程度取決于運行的指令序列的指令級并行( i l p ) 程度,如果運行的指令序列指 令級并行程度很低,那么這種技術不會發(fā)揮很好的效果,而必須像先前一樣等待 c a c h e 失效后的許多個時鐘周期。 s m t ( s i m u l t a n e o u sm u l t i t h r e a d i n g ) 技術是亂序執(zhí)行處理技術的一種擴展技 術其本質目的是增加可供處理器執(zhí)行的指令序列。s m t 處理器可以在同一時間 從不同的線程選取指令序列來執(zhí)行。忽略高層的數(shù)據(jù)共享,不同線程的指令序列 在數(shù)據(jù)上沒有依賴性,這就增加了可供處理器運行指令級并行的獨立的指令序 列。同時,一個額外的好處是,由于不同線程指令序列的差異性,使得不同指令 6 浙江大學碩士學位論文第2 章相關背榮殿技術簡介 序列可以利用處理器的相應不同的資源器件。 傳統(tǒng)的多線程操作系統(tǒng)都支持多個進程或者線稷同時利用一個處理器,操作 系統(tǒng)逶遙把鯰壤器熬運算霹裁分裁成瓣閹篾努囂繪锫今進程或者凌程。s m t 技本 處理器可淤在麓時閥運行多個線程,在其中一個線程在等待薨熬資源褥隧塞指 令運行的時候。另外的線程可以欺享利用處理器的資源繼續(xù)運行,從而究分利用 處理器的計算時間。嚴格來說一個線程運行在s m r 技術的處理器比邀行在非 s m t 技術的c p u 上相對來說要慢一些,因為他和其他線程共享了c p u 的計算資 源。不過從宏魏戇氖度來看,s m t 技寒酶c p u 由于其詩冀資源豹裹剃鬻攀,它 靜運算效搴鑲院菲s m t 技零瓣c p u 要俠綴多【l 翻【1 9 】【2 鐨。 而對成多處理器( s m p ) 怒通過把多個通用的處理器通過一條高速的板級總 線連接在一起緊密耦合的一種體系結構1 2 2 。通用的處理器可以是支持s m t 的也 可以是不支持s m t 的。每個處理器共享同樣的全局內存、磁盤和f o 設備。在體 系結構上比較意觀,從操作系統(tǒng)鶼管理角度,系統(tǒng)將任務對了對稱分配繪多個處 理器之主,獲薅援大瓣攆裹瓣熬今系統(tǒng)魏鼗據(jù)楚理旋秀。 雖然s m p 能在一定程度上提高硬侔的計算并行餓,但是由于系統(tǒng)憨線帶寬 限制,多個處理器之叫協(xié)調的復雜性等原因,處理器的數(shù)目很難增加。遮在很大 程度上限制了s m p 性能的提升窳間。 c m p 和s 婀一樣,致力予發(fā)覺計算的線程級并行性,在大規(guī)模集成電路技 零戇發(fā)震,纛芯冀容量跫夠丈豹戇滋下,零文可以恕c 氛橙看或是對稱多處理騫毛 結構或者說分布式共享處理梳墩詩集成在霹一個芯麓攫瑟,芯片內酌備令處理器 并行執(zhí)行不問的線程或者進程。c m p 又稱為多核( m u l t i - c o r e ) ,和s m t 不同, c m p 上每個處理核心都是獨立的,他們各自執(zhí)行自融的指令級序列 2 1 1 1 2 3 1 。 2 。1 2 多核處理器分類 多孩鯰瑗囂按結穗熬不囂霹戮分戎弱撬多孩纛努構多菝囂秘,箕列凝黲標準 是根據(jù)芯盼上集成的多個處理器核心是否稆同。弼擒多核大多數(shù)由通用的處理器 組成,多個處理器核心執(zhí)行相同或者類似的任務。擇構多核除了通用處理器核心 之外,多集成了某些針對特定的威用進行設計的處瑕核心,如d s p 、a s i c 、多媒 體處理器、v l i w 處理器,網(wǎng)絡魏處理器等等。 | 、囂魏多孩處理器 美鶯瓶筑橘大學在1 9 9 6 殍發(fā)的h y d r a 處理器【2 4 】,集成了四個耨瓣豹m i p s r 3 0 0 0 處理囂核心。 i b m 稅2 0 0 1 年推出的p o w e r 4 處理器【2 6 】包含兩個處理器核心,兩個處理核 , 浙江大學碩上學位論文 第2 章相關背景及技術簡介 擁有各自的一級指令緩存以及數(shù)據(jù)緩存和共享的二級緩存,同時p o w e r 4 是第一 款集成了處理器模塊間高速f a b r i c 光纖接口控制器的處理器,處理器模塊之間帶 寬高達3 5 g b s 接著m m 又推出了包含了4 個處理器核心的服務器處理器,每個處理器核心 又支持s m t 。s u n 公司的n i a g a r a 芯片技術下推出的u l t r a s p a r ct 1 處理器【2 8 】集 成了8 個處理器內核,利用c o o l t h r e a d s 多線程技術,該多核處理器可以同時并 行處理3 2 個線程。n i a g a r ai l 將在2 0 0 7 年誕生,內核依然是8 個,不過可以同時 支持6 4 個線程,性能將會使t 1 芯片的兩到三倍。 在x 8 6 微處理器領域,a m d 在2 0 0 5 年4 月推出雙核處理器o p t e r o n 2 7 ,專 用于服務器和工作站。o p e r o n 引入h y p e r t r a n s p o r t 超傳輸技術來消除傳統(tǒng)的前端 總線瓶頸,降低了內存的訪問延遲。緊接著a m d 又推出了a t h l o n6 4x 2 雙核系 統(tǒng)產品用于p c 領域。英特爾在a m d 之后也推出了雙核至強( x e o n ) 以及雙核 p e n t i u md 【l 】在2 0 0 6 年5 月,英特爾也發(fā)布了其用于服務器的雙核處理器 d e m p s e y ,6 月份又推出升級版的雙核芯片w o o d c r e s t 。i n t e lx e o nc l o v e r t o w n 四 核芯片也已經提前上市,隨后的i n t e lx e o nt i g e r t o n 、a m db a r c e l o n a 、h a t e l d u n n i n g t o n 等眾多四核、八核服務器c p u 也都將在2 0 0 7 年登場亮相【2 5 】。 可以看到,同構多核處理器在p c 以及服務器上的得到了廣泛的應用。此外, 異構多核處理器也已經開始進入成熟的應用。 2 、異構多核處理器 多核處理器設計的個問題是處理器芯片中單個核的尺寸大小問題。比如, 服務器系統(tǒng)在同等芯片面積的情況下追求的是最大化的吞吐量。很明顯,在這種 情況下,處理器設計將采用數(shù)量較多而單個處理核結構簡單的方案。不過一些應 用情況,如桌面用戶可能更關系的是單個程序的運行速度,也就是說需要有一個 運行能力很強大的處理器核,也就是需要把多核處理器設計成數(shù)量相對較少而每 個處理核又有相對較強大的處理能力。 但是現(xiàn)實情況下,應用的需求情況并不可能像上面提到的情況這么簡單,很 多時候很多應用既希望擁有強大的計算吞吐能力,又同時擁有強大的單線程的計 算處理能力,同時有更加復雜的情況可能需要根據(jù)系統(tǒng)實際運行的上下文來判 斷。所以,如何設計處理核的大小就顯得非常的重要一種很好的選擇就是采用 異構多核的處理器設計方案,把簡單的,低功耗的處理核同復雜但高性能的處理 核整合在一起。 相比同構多核的設計的簡單,異構多核需要在處理器設計,操作系統(tǒng),編譯 浙江大學碩士學位論文 第2 章相關背景及技術簡介 技術等多個方面傲特殊的設計,不過其巨大的優(yōu)勢可以為服務器提高強大的性 能。異構多核的芯片以m mc e l l 為典型代表,它由一個或數(shù)個通用處理器核和數(shù) 量較多的協(xié)處理器核組成。通用處理器負責操作系統(tǒng)的運行一些任務的分配和調 度,而協(xié)處理器核則是對高密集的計算做特殊優(yōu)化的向量處理器核,提供強大的 計算吞吐能力。如圖2 1 所示,在c e l l 處理器中,包含了一個p o w e r 結構的處 理器核心( p p e ,p o w e rp r o c e s s o re l e m e n t ) 和8 個輔助處理核心( s p e ,s y n e r g i i s t i c p r o c 勰s o re l e m e n t ) 【2 9 3 0 3 1 】 圖2 - 1c e l l 微架構的罄體框架圖,引用臼【2 9 而在2 0 0 5 年的i d f 技術峰會上,i n t e l 對外公布了m a n yc o r e 超多核發(fā)展藍 j :。m a n yc o r e 采用的就是“主核心+ 協(xié)處理器”的異構架構,其中的某一個或幾 個內核可以被置換為若干數(shù)量的d s p 邏輯,而保留下來的x 8 6 核心執(zhí)行所有的 通用任務以及對特殊任務的分派。 2 2 嵌入式多核s o c 2 2 1 系統(tǒng)級芯片s o c 集成電路設計從晶體管的集成發(fā)展到邏輯門的集成,現(xiàn)在又發(fā)展到m 的集 成,即s o c ( s y s t e m - o n - c h i p ) 設計技術。在電子信息產品的開發(fā)過程中,使用 s o c 技術可以有效的縮短產品的開發(fā)周期。系統(tǒng)級芯片s o c 主要是在單個芯片上 集成一個完整的系統(tǒng),對所有或者部分的電子電路進行模塊封裝( 口) 【3 7 而 一個完整的系統(tǒng)通常包含微處理器,存儲器系統(tǒng),以及其他一些外圍的i o 設備 控制器等 3 3 1 。 9 浙皿人學碩 學位論文第2 章相關背景艇技術簡介 更進一步的說,s o c 就怒謹一個芯片上使用預定義模塊i p ( i n t e l l e c t u a l p r o p e r t y ) 采定制一個芯片系統(tǒng)的:過程。從方法學的角魔來看,s o c 是一爨極大規(guī) 模集或毫黲戇愛津方法學,基旗撐孩可復靂設謗,溯試方法及接疆援蕊,系統(tǒng)芯 片總線式集成浚計方法學、系筑芯片驗證和測試方法學。s o c 是一耱浚許理念, 就是將各個w 以集成在一起的模塊集成到一個芯片上,他借鑒了軟件的復用概 念,也有了繼承的概念。也可以說是包含了設計和測試等更多技術的一城新的設 計技術【3 4 】【3 5 】【3 6 】。 2 2 。2f 爭g a 稷s o c a s i c ( a p p l i c a t i o ns p e c i f i ci n t c r g r a t c dc i r c u i t s ) 銻專用集成電路,怒獵應特 定用戶要求和特定電子系統(tǒng)的需簧而設計、制造的熬成電路a s i c 的特點是面 向特定用戶的需求,品種多、批嫩少,要求設計和繳產周期短,它作為集成電路 技術與特定用戶的整機或系統(tǒng)技術緊密結合的產物,與通用集成電路榴比具有體 積受奎、重爨跫輕、葵耗更低、掰纛 生握毫、性能提湊、徐密鰉增強、成零降低 等霞點。 f p g a ( f i d d p r o g r a m m a b l e g a t e a r r a y ) 即現(xiàn)場w 編程門陣列。它是作為專用 集成電路( a s i c ) 領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足, 又克服了原商可編程器件門電路數(shù)有限的缺點。f p g a 的使用非常靈活,同一片 f p g a 通過不翮的繚程數(shù)據(jù)可以產生不同豹電路功熊。f p g a 在通信、數(shù)攢處理、 羯終、儀器、王鼗茬潮、軍事辯靛空靛天等眾多鑲域犖孽翻了廣泛痤弱。瓣整功耗 和成本酶避一步降低,f p g a 還將進入更多的應瘸鎂域。 在過去的2 0 年里,f p g a 程門數(shù)上已經提高了三個數(shù)量級,利用市場上大量 存在的i p ( 知識產權) 形式,基乎f p g a 的s o c 設計難在越來越受到設計工程師 的歡迎。f p g a 技術的發(fā)展為硬件設計提供了更為方便豹測試和驗證方式。使用 f p g a 廠褻掇供瓣e d a - i - 其黲夠綴方囊茲進行缽系結構援透,重復使弱璦騫豹硬 件m 菝縭斑? 系統(tǒng)翡開發(fā)周麓,簸鹺透過e d a 王嶷在f p g a 上透露駿誕實現(xiàn)。 2 2 3 軟硬件協(xié)同設計 嵌入式系統(tǒng)設計有兩種方式:一是針對一個特恣的硬件進行軟件開發(fā);= 是 根據(jù)一個已有的軟件把它實現(xiàn)成硬件結構。前者是個軟件開發(fā)問題,簸者是一 個較籜固化豹閼題。這囂釋設謗方法幫是稠對獨立瓣設計方式,硬 爭秘軟饞之鬻 瓣透賽綴容荔產生一些兼容往懿瓣瑟。使用軟硬 串給闋設計的方式可戳熊決這個 問題,從系統(tǒng)需求開始,對于硬件和軟件的功能劃分有一個明確的設計,在此設 計的基礎上對蹩個系統(tǒng)進行評估,從而找到一個比較理想的系統(tǒng)設計方絮。在系 1 0 浙江大學碩上學位論文第2 章相關背景及技術簡介 統(tǒng)的實現(xiàn)過程中,也始終保持硬件和軟件的同步開發(fā),這樣,在系統(tǒng)實現(xiàn)過程能 對系統(tǒng)進行實時的測試,最終實現(xiàn)滿足設計的目標系統(tǒng)【3 8 】 2 2 4 芯片內高速總線 s o c 的設計過程中,最具特色的是口復用技術。即選擇所需功能的m 核, 集成到一個芯片中用。由于m 核的設計千差萬別,口核的連接就成為構造s o c 的關鍵,對芯片內通訊的研究是一個很重要的方向【5 3 】【5 4 】。片上總線( o n - c h i p b u s ,o c b ) 是實現(xiàn)s o c 中m 核連接最常見的技術手段,它以總線方式實現(xiàn)碑 核之f h j 數(shù)據(jù)通信,。與板上總線不同,片上總線不用驅動底板上的信號和連接器, 使用更簡單,速度更快一個片上總線規(guī)范一般需要定義各個模塊之間初始化、 仲裁、請求傳輸、響應、發(fā)送接收等過程中驅動、時序、策略等關系。 目的s o c 上使用較多的三種片上總線標準a r m 的a m b a 、s i l i c o r e 的 w i s h b o n e 和i b m 的c o r e c o n n e c t 3 8 a m b a ( a d v a n c c d m i e r o e o n t r o l l e r b u s a r c h i t e c t u r e ) 總線規(guī)范是a r m 公司設 計的一種用于高性能嵌入式系統(tǒng)的總線標準。它獨立于處理器和制造工藝技術, 增強了各種應用中的外設和系統(tǒng)宏單元的可重用性。a m b a 總線規(guī)范是一個開放 標準,可免費從a r m 獲得。 w i s h b o n e 最先是由s i l i c o r c 公司提出的,現(xiàn)在已被移交給o p c n c o r e s 組織維 護。由于其開放性,現(xiàn)在已有不少的用戶群體,特別是一些免費的m 核,大多數(shù) 都采用w i s h b o n e 標準。 c o r o c o n n o e t 是由i b m 開發(fā)的片上總線通信鏈,它使多個源的芯片核相互連 接成為一個完整的新芯片成為可能。c o r c c o n n c c t 技術使整合變得更為容易,而 且在標準產品平臺設計中處理器、系統(tǒng)以及外圍的核可以重復使用,以達到更高 的整體系統(tǒng)性能。 2 2 5 嵌入式多核s o c s o c 具有較高的集成度,很適合低功耗的應用,不過很多注重成本的設計都 會在基本的系統(tǒng)上在集成包含更多的功能特性與可編程的元素。這是由于行業(yè)標 準和協(xié)議的不斷改變的事實密不可分的,可以知道,無論是g s m 電話、m p 3 、 d i v x m p e g 4 、網(wǎng)絡通訊或者其他任何產品標準,其協(xié)議都以非??斓乃俣茸兓?著,所以從生產的成本( 工具、流水線的建立等) 角度來考量,對某一特定的產 品模塊進行重復利用是一項很重要,這意味著系統(tǒng)對軟件的要求更高了,因此也 需要更多的軟硬件協(xié)作 軟硬件協(xié)同設計會使得系統(tǒng)集成的時間延長,并產生大量的、只能針對特定 浙江大學硬上學位論文 第2 章相關背景及技術簡介 硬件使用的軟件、因此大量的可編程微處理器被加入到系統(tǒng)中,雖然只要處理器 的速度足夠快,軟硬件交互引起的性能下降問題都可以迎刃而解,但是無論從成 本還是功能來看,通過提高處理器的主頻來提升系統(tǒng)性能都是一種很不經濟的解 決方法 比如在利用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 標準化管理辦法
- 安全培訓由生產經營單位負責
- 商砼安全生產會議記錄
- 電梯事故隱患排查和整治記錄模板
- 新學期安全教育課
- 2025屆北師大萬寧附中物理高二下期末質量跟蹤監(jiān)視模擬試題含解析
- 2025屆江西省上饒市廣豐區(qū)高一物理第二學期期末統(tǒng)考模擬試題含解析
- 2025年福建省莆田市名校高二物理第二學期期末檢測試題含解析
- 昌都市重點中學2025年物理高一下期末考試試題含解析
- 銀川市重點中學2025年物理高二下期末統(tǒng)考模擬試題含解析
- 操作工儀表知識培訓課件
- 高強度螺栓終擰扭矩檢查記錄表
- Python測試試題含答案
- 中小學心理健康教育骨干教師培訓考試題庫及答案
- 《古蘭》中文譯文版
- GB/T 8813-2008硬質泡沫塑料壓縮性能的測定
- GB/T 19741-2005液體食品包裝用塑料復合膜、袋
- 礦相學課程設計 -個舊錫礦
- 上海交通大學學生生存手冊
- 征信查詢委托書(共4篇)
- 勞動防護用品配備標準(國標)
評論
0/150
提交評論