陳芳園,丁亞軍,張冬松,吳 飛,任秀江
(1.江南計算技術研究所,江蘇 無錫 214083;2.中國人民解放軍鎮(zhèn)江船艇學院,江蘇 鎮(zhèn)江 212000;3.上海工程技術大學電子電氣工程學院,上海 201620)
面向WCET分析的實時多核體系結構研究
陳芳園1,丁亞軍1,張冬松2,吳 飛3,任秀江1
(1.江南計算技術研究所,江蘇 無錫 214083;2.中國人民解放軍鎮(zhèn)江船艇學院,江蘇 鎮(zhèn)江 212000;3.上海工程技術大學電子電氣工程學院,上海 201620)
隨著工藝技術的發(fā)展以及嵌入式實時應用范圍的不斷擴大和需求的不斷提升,多核處理器必將憑其高性能和低功耗特性應用到嵌入式實時領域中。但是,多核處理器體系結構很難甚至無法滿足實時系統(tǒng)的實時限制和對WCET的可預測性要求。從多核中的共享資源入手,分析多核中的片上共享資源(共享Cache、片上互連)和片外共享資源(片外存儲)對WCET分析的影響,探討了各種干擾下的WCET分析方法。介紹了兩種多核WCET分析模型:多核靜態(tài)WCET分析模型和多核混合WCET分析模型;同時,針對嵌入式實時應用提出了多核設計原則。
多核體系結構;嵌入式實時系統(tǒng);實時任務;WCET
現實世界的實際需求促進了實時系統(tǒng)的產生和發(fā)展,隨著電子技術和計算機技術的飛速發(fā)展,實時系統(tǒng)的應用范圍也在不斷擴大,如汽車、航空、遠程通訊、空間系統(tǒng)、醫(yī)療圖像和消費類電子設備等。這些領域的發(fā)展迫切需要提供性能更強大、操作更靈活、效能比更高的微處理器系統(tǒng),以滿足實時應用的需求。而當今處理器市場中的片上多核處理器[1]已以其強大的優(yōu)勢成為主流,其多核結構也必將應用到嵌入式實時系統(tǒng),以滿足實時系統(tǒng)日益增長的需求。當前,高端嵌入式應用正朝著多核處理器平臺的方向不斷發(fā)展[2]。例如,ARM11 MPCore[3]已經完成多核實現,包括8段流水線、Cache和動態(tài)分支預測等;IBM/Sony/Toshiba Cell體系結構[1, 4]也被應用于高性能嵌入式多核處理器中??梢灶A見,隨著技術的發(fā)展和應用需求的增加,多核處理器也必將進入到嵌入式實時領域中,以促進嵌入式實時應用的大力發(fā)展。
盡管多核處理器可以為嵌入式系統(tǒng)帶來諸多好處,但目前多核處理器卻很難甚至不能應用于嵌入式實時系統(tǒng)中。這是因為實時系統(tǒng)必須保證任務滿足時間限制,也就是說,實時系統(tǒng)的正確性不僅僅體現在程序執(zhí)行的結果,還體現在任務的執(zhí)行時間不能超過截止期的要求。其任務的執(zhí)行如果不能滿足對截止時間的要求,會降低系統(tǒng)服務的級別,甚至造成系統(tǒng)崩潰。因此,獲得任務安全、準確的最壞情況執(zhí)行時間WCET(Worst Case Execution Time)是至關重要的。通常研究者可以使用靜態(tài)分析方法和基于測量的方法來計算WCET。但是,這些方法的精確性和有效性高度依賴于實際處理器平臺的可預測性,也就是說,處理器體系結構決定了這些方法的實際可行性以及結果的精確性。研究表明,工業(yè)界仍在使用的WCET分析方法對于復雜的處理器結構,例如多核處理器體系結構,不再適用。這種對處理器體系結構的高度依賴性引起了設計者對WCET分析的關注。
事先獲知任務的WCET估值是實時系統(tǒng)調度及可調度性分析的前提,也是檢查實時系統(tǒng)的性能是否滿足要求的依據。研究者已經對WCET分析深入研究了幾十年[5],然而,這些研究都假設每個任務的WCET是可確定的,然后基于WCET進行全局的調度分析[6]。這種方法對于單核處理器系統(tǒng)和傳統(tǒng)的具有獨立存儲的多處理器來說是有效的。隨著處理器體系結構的發(fā)展,研究者開始考慮Cache、流水線和分支預測對單個任務執(zhí)行時間的影響[7,8]。然而,此時的WCET分析仍然假設任務是獨立的,不會產生相關性或資源共享。文獻[9,10]也只考慮了單核結構中任務搶占引起的Cache效果。隨著復雜的多核體系結構的出現以及多核在嵌入式實時中應用的必然趨勢,嵌入式實時系統(tǒng)的WCET的分析變得越來越復雜,無法再保證WCET的可確定性。在當前的具有共享資源的多核結構中,例如對共享的、復雜存儲結構的訪問,每個任務的WCET取決于全局系統(tǒng)調度,任務之間對共享資源的干擾給時序分析提出了挑戰(zhàn),以往傳統(tǒng)的WCET分析將不再適用于多核結構。
多核的片上共享資源和片外共享資源的處理方式對時間的可預測性有著重要的影響,例如共享二級Cache、片上互連、片外存儲等,這些硬件共享資源使得實時系統(tǒng)中的WCET分析越來越復雜,隨著多核處理器在嵌入式實時應用領域中的應用越來越廣泛,這個問題亟待解決。
處理器和主存儲器間的速度差距對多核而言是一個突出的矛盾,為了緩解訪存性能瓶頸,多核處理器通常設置包括Cache和局部存儲器等在內的多級存儲層次。但是,在多核處理器中內核共享Cache等存儲資源,對于嵌入式實時系統(tǒng)而言,對這些資源的共享和競爭除了會進一步影響到處理器性能的提高外,多核中并行任務在共享存儲上的競爭還會導致任務間的干擾,這種干擾使得多核系統(tǒng)的時序可預測性變得更加復雜。
在多核結構中,運行在一個核上的任務可能會破壞二級Cache中的一些數據,而這些數據正是運行在另一個核上的任務所需要的。因此,在多核結構中,任務的最壞情況執(zhí)行時間不能與其他任務分離開孤立地進行估計,這一點與單核處理器系統(tǒng)截然不同。從本質上講,多核面臨的挑戰(zhàn)是模擬和預測運行在不同核上的并行程序的Cache行為(這不同于單核處理器系統(tǒng)中的順序程序),實時多核系統(tǒng)中WCET估計的最大問題就是如何預測Cache行為。因此,任務的WCET不能再與其他任務分離開獨立地進行分析,無法利用單核針對Cache的WCET分析方法。
目前還很少有研究考慮多核平臺中的WCET分析。在多核結構中,有一些任務在執(zhí)行時會產生大量的存儲到二級Cache的訪問,如果在調度時減少這種線程的同時調度,則可以降低二級Cache競爭[11]。Anderson J H等人[12,13]使用這種策略來提高Cache性能,以滿足實時限制。這些工作假設實時線程的WCET事先已知。然而,事實上盡管提高Cache性能可以直接降低平均執(zhí)行代價,但是在這些系統(tǒng)模型中仍然很難獲得每個實時線程的WCET。
WCET領域的研究者認為,在共享Cache的多核結構中,設計一個可以精確捕捉多核競爭的分析方法非常困難。當前,只有文獻[14~16]研究了共享Cache的多核中的WCET。
文獻[14]為了避免多核中由二級Cache引起的干擾問題,利用page-coloring技術以及調度策略將Cache進行了劃分,該研究將并行運行的硬實時任務的Cache分離開來,從而消除了任務間的干擾。文獻[15]基于共享Cache的多核平臺分析了線程間的Cache沖突,探討了共享二級Cache的多核結構中的WCET分析問題。但是,該研究基于的是一個直接映射的二級指令Cache,當今的多核結構一般采用的是組相連Cache;其次該研究只探討了雙核結構、兩個任務(一個硬實時任務,一個非硬實時任務)下的WCET估計,當核的數量和任務數量增加時其分析不再有效。文獻[16]描述的方法無法擴展任務大小和任務數量。
多核中共享Cache導致最壞情形的不可預測性和不可分析性主要是由體干擾[15]引起的。在Cache結構中為了可以進行并行操作通常將Cache劃分為多個體,當兩個存儲請求試圖同時訪問同一個體時,片上互連仲裁器為了避免沖突將把一個訪問操作延遲一段時間。這種影響稱為體干擾或者體沖突。如圖1所示。
Figure 1 Bank interruption圖1 體干擾
在圖1中,兩個線程同時訪問同一個存儲體M1,在仲裁器的仲裁下第二個線程被延遲了數個時鐘周期。針對這種干擾設計者需要確定這種干擾引起的上界延遲UBD(Upper Bound Delay)的大小。該延遲要根據任務的類型(實時任務、非實時任務)區(qū)別分析。一般對于實時系統(tǒng)而言,實時任務的優(yōu)先級高于非實時任務的優(yōu)先級,在這個原則下實時任務不會受到非實時任務的影響。但是,也存在一種情況使得非實時任務影響實時任務的訪問:在實時任務訪問Cache的前一個時鐘周期恰好有一個非實時任務對Cache進行了訪問。此時,該實時任務必須等待非實時任務完成才可以開始Cache訪問,則實時任務由于非實時任務的影響而延遲的時間為:
UBDNHRT=Lbank-1
(1)
其中,Lbank指Cache體訪問時間。
另一方面,實時任務由于其他實時任務而需要等到其他實時任務請求完成,則由實時任務引起的上界延遲為:
UBDHRT=(NHRT-1)·Lbank
(2)
其中,NHRT指多核中的核數目或Cache仲裁中的緩沖隊列大小。
綜合兩種影響可以得到當前實時任務由于共享Cache訪問競爭而引起的上界延遲為:
UBD=(NHRT-1)×Lbank+
Lbank-1 =NHRT×Lbank-1
(3)
公式(2)中考慮的任務優(yōu)先級仲裁策略使用的是Round-Robin。而在嵌入式實時系統(tǒng)中,任務的優(yōu)先級一般是固定的,此時實時任務的延遲應與其優(yōu)先級相關,優(yōu)先級最大的實時任務無論何時都會優(yōu)先執(zhí)行,其延遲只會出現公式(1)中的情況,并且此時該任務可以是非實時任務也可以是實時任務。而對于優(yōu)先級最低的實時任務,其延遲可以由公式(3)確定,對于中間級別的實時任務需要針對其優(yōu)先級來分析,但是其延遲大小卻無法確定。
在多核結構中,多個任務可以在每個核上并行執(zhí)行,并行任務會同時對片上互連發(fā)出請求。當片上互連接受某個任務的訪問請求時,根據互連的方式來決定訪問請求的授權。此時,一個線程可能會延遲另一個線程的執(zhí)行時間,即產生互連干擾(或通信沖突)。這種干擾使得在進行多核的WCET估計時,相對于單核中的獨占總線而言,變得比較復雜。
目前針對總線干擾復雜化WCET分析的問題主要有兩種解決方法:一是消除總線競爭,二是簡化總線仲裁策略。
對于消除總線競爭,文獻[17]提出了一個系統(tǒng)級任務映射與調度的框架。在這個研究中,為了避免有關總線競爭的問題,設計者使用了所謂的附加總線模型,即假定任務的執(zhí)行時間與總線內存訪問競爭影響很小。在這種模型下設計者忽略了總線競爭對任務執(zhí)行時間的影響。作者的實驗表明,在總線負載小于50%時這種模型具有較好的近似性。但是,這種方法存在兩個嚴重的問題:(1)為了使附加模式可用必須保持較低的總線利用率;(2)即使在較低的總線利用率情況下也無法對任何最壞的行為提供可靠的保證。
線程由于總線干擾所引起的延遲與總線仲裁策略密切相關??梢哉埱笤L問總線的實例稱為總線Master。目前有設計者對簡化總線仲裁策略展開了研究,由多種總線仲裁策略來處理多個總線Master請求,控制總線訪問順序的中央總線仲裁器具有一定的確定性。每個請求訪問總線的Master必須獲得仲裁器的授權才可以開始訪問總線。
對于Round-Robin仲裁策略,一個實時任務的最大延遲界定于同時請求總線的任務總數。圖2顯示了多個實時任務同時向總線發(fā)出請求的情形。
Figure 2 Bus interruption圖2 總線干擾
此時實時任務的等待時間取決于其在請求隊列中的位置。對于HRTk而言,必須等待前面的任務都完成了才會獲得總線使用權,并且在這期間其他任何新的總線請求都會在HRTk之后執(zhí)行。所以,對于一個實時任務,當該任務恰好處于實時任務請求隊列的最后時,其延遲最大。所以,一個實時任務的上界延遲為:
UBDHRT=(NHRT-1)×Lbus
(4)
其中,NHRT是同時運行的硬實時任務數,一般是多核結構中的內核數量;Lbus是總線完成一個請求的時間。
一般對于實時系統(tǒng)而言,實時任務的優(yōu)先級高于非實時任務的優(yōu)先級,在這個原則下實時任務不會受到非實時任務的影響。但是,與Cache中類似,也存在一種情況使得非實時任務影響實時任務的訪問:在實時任務訪問總線前一個時鐘周期恰好有一個非實時任務對總線進行了訪問。則此時實時任務由于非實時任務而延遲的時間為:
UBDNHRT=Lbus-1
(5)
綜合實時任務和非實時任務請求,實時任務的上界延遲為:
UBD=Lbus-1+(NHRT-1)×
Lbus=NHRT×Lbus-1
(6)
根據底層硬件結構分析中得到的這個總線請求上界延遲,在靜態(tài)分析的計算階段加入這個影響即可得到一個實時任務安全的WCET。
在多核結構中,基于總線的WCET估計方法已經展開了初步的研究;對于其他互連方式,由于實際應用的限制,目前并未有相關的研究。但是,隨著工藝和計算機技術的高速發(fā)展,多核中的核數目將越來越多,其互連結構也將由簡單的、只能處理單一請求的總線轉變?yōu)榻Y構復雜、可以同時處理多個請求的片上網絡、交叉開關、點到點通信等片上互連結構。
之前的研究都是集中在由訪問片上資源而引起的干擾(共享二級Cache、片上互連),而在多核結構中片外共享存儲對任務執(zhí)行時間以及WCET估計也有很大的影響。文獻[15,16]等關注于WCET估計中由片上共享資源引起的干擾,例如Cache和總線。然而,在多核結構中由片外共享存儲系統(tǒng)引起的干擾對任務的執(zhí)行時間和WCET估計也有著非常重要的影響[18],所以在多核的WCET分析中設計者需要考慮由片外存儲引起的干擾影響。
目前針對片外共享存儲也有相關的研究,AkessonB等人[19]設計了一個片上多處理器的存儲控制器Predator,該存儲控制器給每個任務分配了指定的帶寬,同時要求用戶指定每個任務的優(yōu)先級,PaolieriM等人在硬實時多核系統(tǒng)設計了一個可預測的存儲控制器AMC,該控制器可以減少WCET估計中的存儲干擾因素,提供了一個可預測的存儲訪問時間,可以實現緊湊的WCET估計計算。
基于多核的片外共享存儲資源,研究者展開了片外存儲可預測控制器的研究,針對某種常用的存儲設備設計一個存儲控制器,在保證可預測的前提下獲得一個較好的性能。研究者在其設計中分析存儲請求的執(zhí)行時間,計算存儲請求的上界延遲UBD對WCET估值的影響,最后進行WCET分析。
(1)存儲請求的執(zhí)行時間。
不同的存儲操作有不同的延遲,存儲讀操作和存儲寫操作的延遲已在特定的存儲設備中設定。定義tIL為存儲請求由于前一個請求而延遲的最大時間值。tIL的大小與下列兩個因素密切相關:①在同一體中激活兩個連續(xù)的行的最小時間間隔tIB;②數據總線用于傳輸請求的時間,即tBURST×Nbanks(Nbanks是指存儲設備的體個數)。所以,對于同一體的兩個活動間的最小間隔時間tIB至少等于tRC。然而,根據之前的請求類型的不同(例如讀或寫操作),tIB會隨之改變,因此產生了四種類型的延遲:tILRR:前一個請求是讀操作,當前操作也是讀操作;:tILRW前一個請求是讀操作,當前操作是寫操作;tILWW前一個請求是寫操作,當前操作也是寫操作;tILWR前一個請求是寫操作,當前操作是讀操作。
(2)計算存儲請求UBD。
在計算WCET估計時需要考慮每個存儲請求最大可能的tIL,定義為:
tILWORST=max{(tILRR,tILRW,tILWW,tILWR}
(7)
此時無需再考慮所有任務的存儲訪問序列在WCET計算中引起的存儲干擾影響,因為最壞情形已經考慮過。因此,存儲請求的UBD取決于tILWORST和同時運行的實時任務和非實時任務產生的干擾。假定實時任務的優(yōu)先級高于非實時任務的優(yōu)先級,而在實時任務間采用循環(huán)策略,則上界延遲UBD可以定義為:
①針對實時任務,最壞的情況是多核中同時執(zhí)行的所有實時任務同時發(fā)出訪存請求,此時任務的最大延遲由同時執(zhí)行的實時任務數界定,即:
UBDHRT=(NHRT-1)×tILWORST
(8)
②即使實時任務的優(yōu)先級高于非實時任務,但是也有可能恰好在非實時任務請求發(fā)送到主存后一個時鐘周期時到達,此時最大延遲由tILWORST界定,即:
UBDNHRT=tILWORST-1
(9)
綜上所述,實時任務存儲請求的最大延遲為:
UBD=UBDNHRT+UBDHRT=
NHRT×tILWORST-1
(10)
利用WCET計算模式在WCET分析中加入UBD因素,即在分析實時任務時,將每個任務獨立運行,但是存儲控制器在該任務進行存儲訪問時總是將該操作延遲UBD。此時,該任務的執(zhí)行模式考慮了該任務所有可能受到的、來自其他任務的、最壞情況下的最大延遲。
對于多核而言,傳統(tǒng)的針對單核結構的WCET估計技術不再適用于現在復雜的多核處理器結構,因此,需要對WCET針對新的體系結構特性進行分析。對于復雜的硬件結構而言,動態(tài)硬件模擬仍然存在很多問題,WCET估計分析時間較長,并且有可能產生較大的WCET估計。而靜態(tài)WCET分析可以獲得安全的上限值。因此研究者試圖使用靜態(tài)分析方法或者混合的方法來進行多核的WCET估計,在混合方法中使用測量的方法來增強或替代底層靜態(tài)分析。針對多核復雜的硬件結構和已有的成熟的單核WCET估計方法,可以通過采用混合的WCET估計方法來對多核結構進行WCET估計,這樣不僅可以節(jié)約時間,有效利用已有技術和方法,而且可以使設計者更專注于底層硬件結構的分析。文獻[13]采用以下步驟設計了一個多核系統(tǒng)中的混合WCET估計模型:
(1)針對多核中的共享資源(片上共享資源Cache和總線、片外共享存儲資源),分析這些共享資源給任務執(zhí)行帶來的影響,計算任務最大延遲時間:上界延遲UBD。
(2)在多核硬件結構中設置一個延遲表和一個延遲部件,延遲表用于記錄上界延遲UBD,延遲部件用于將任務訪問貢獻資源的操作進行延遲,延遲大小為對應的延遲表中記錄的UBD。
(3)使用WCET計算模型進行WCET估計,即:在底層硬件多核結構中將每個任務單獨執(zhí)行(與任務在單核中獨立執(zhí)行一樣),但是在執(zhí)行的過程中將任務每個訪問共享資源的操作延遲一定的時間。
在該WCET估計模型中將任務在最壞情形下執(zhí)行:任務每次訪問共享資源都受到干擾,都需要延遲一段時間,這種計算模型考慮了該任務所有可能受到的、來自其他任務的、最壞情況下的最大延遲,所以在該情形下一定可以保證WCET估計的有效性。
雖然上述模型可以得到一個有效的WCET估計,但是對其精度和效率都還沒有進行研究和比較,所以還需要對WCET分析的精度和WCET分析方法的性能進行研究。
實時系統(tǒng)必須保證任務滿足時間限制,通常研究者可以使用靜態(tài)分析方法和基于測量的方法來計算WCET。但是,這些方法的精確性和有效性高度依賴于實際處理器平臺的可預測性,也就是說,處理器體系結構決定了這些方法的實際可行性以及結果的精確性。工業(yè)界仍在使用的WCET估計分析方法對于復雜的處理器,例如多核處理器,不再適用,這是由于多核結構中的共享資源使得實時任務間互相產生了干擾,任務的執(zhí)行時間和WCET不能再獨立進行分析。多核中的多任務在同時運行時由于競爭共享資源,例如共享Cache、片上互連、片外存儲,使得任務的最壞情況下執(zhí)行時間無法再利用單核中的WCET分析方法得到,設計者需要針對多核中的共享資源重新進行WCET分析。
對于一個應用于實時系統(tǒng)的多核結構而言,其最重要的一個因素是要保證可預測性,即一個任務在多核中運行可以預測出其WCET以進行后續(xù)的實時任務調度。多核時序可預測結構的設計原則是要在嵌入式硬實時系統(tǒng)中保證可預測性、較好的最壞情況下性能。在進行可預測實時多核設計時應盡量遵循如下原則[20]:
(1)結構與應用相關,即針對特定的嵌入式硬實時系統(tǒng)進行多核結構設計,在提高最壞情況下性能的同時保證可靠的、精確的可預測性。
(2)簡化設計中的部件結構,在保證可預測性的前提下將那些與性能無關的特性取消。例如,在以存儲系統(tǒng)性能界定系統(tǒng)性能的系統(tǒng)中可以盡量簡化流水線結構。
(3)盡量減少系統(tǒng)中共享資源的干擾,可以在不影響性能的前提下盡量避免構建共享Cache或存儲。
在將應用程序集映射到目標體系結構中時盡量避免引入應用程序間的共享干擾。
[1] International technology roadmap for semiconductors 2008 update[EB/OL].[2008-08-21]. http://public.itrs.net.
[2] Davis R I, Burns A. A survey of hard real-time scheduling algorithms and schedulability analysis techniques for multiprocessor systems[R]. Technical Report YCS-2009-443, Department of Computer Science University of York, 2009.
[3] Hirata K, Goodacre J. Arm mpcore:The streamlined and scalable arm11 processor core[C]∥Proc of Design ASP-DAC’07, 2007:747-748.
[4] Pham D C, Aipperspach T, Boerstler D, et al. Overview of the architecture, circuit design, and physical implementation of a first-generation cell processor[J]. IEEE Journal of Solid-State Circuits, 2006,41(1):179-196.
[5] Puschner P, Burns A. A review of worst-case execution-time analysis[J]. Real-Time Systems, 2000,18(2/3):115-127.
[6] Thiele L, Wilhelm R. Design for timing predictability[J]. Real-Time Systems, 2004,28(2/3):157-177.
[7] Li Y T S, Malik S, Wolfe A. Cache modeling for real-time software:Beyond direct mapped instruction caches[C]∥Proc of IEEE Real-Time Systems Symposium, 1996:254-263.
[8] Theiling H,Ferdinand C,Wilhelm R.Fast and precise WCET prediction by separated cache and path analysis [J]. Real-Time Systems, 2000,18(2/3):157-179.
[9] Ramaprasad H, Mueller F. Bounding preemption delay within data cache reference patterns for real-time tasks[C]∥Proc of Real-Time and Embedded Technology and Applications Symposium, 2005:71-80.
[10] Staschulat J, Schliecker S, Ernst R. Scheduling analysis of real-time systems with precise modeling of cache related preemption delay[C]∥Proc of ECRTS’05, 2005:41-48.
[11] Fedorova A, Seltzer M, Small C, et al. Throughput-oriented scheduling on chip multithreading systems[R]. Technical Report TR-17-04, Cambridge:Harvard University, 2005.
[12] Anderson J H, Calandrino J M. Parallel real-time task scheduling on multicore platforms[C]∥Proc of RTSS’06, 2006:89-100.
[13] Calandrino J M, Anderson J H. Cache-aware real-time scheduling on multicore platforms:Heuristics and a case study[C]∥Proc of ECRTS’08, 2008:299-308.
[14] Nan Guan, Stigge M, Wang Yi, et al. Cache-aware scheduling and analysis for multicores[C]∥Proc of EMSOFT’09, 2009:245-254.
[15] Paolieri M, Quinones E, Cazorla F J, et al. Hardware support for WCET analysis of hard real-time multicore systems[J]∥ACM SIGARCH Computer Architecture News, 2009,37(3):57-68.
[16] Rosen J, Andrei A, Eles P, et al. Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip[C]∥Proc of Real-Time Systems Symposium, 2007:49-60.
[17] Bertozzi D, Guerri A, Milano M, et al. Communication-aware allocation and scheduling framework for stream-oriented multi-processor systems-on-chip[C]∥Proc of DATE’06, 2006:3-8.
[18] Burger D, Goodman J R, K?gi A. Memory bandwidth limitations of future microprocessors[C]∥Proc of ISCA’96, 1996:78-89.
[19] Akesson B,Goossens K,Ringhofer M.Predator:A predictable SDRAM memory controller[C]∥Proc of CODES+ISSS, 2007:251-256.
[20] Wilhelm R, Grund D, Reineke J, et al. Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems[J]. IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems, 2009,28(7):966-978.
CHEN Fang-yuan,born in 1982,PhD,engineer,her research interests include computer architecture, and real-time system.
Research of real-time multi-core architecture for WCET analysis
CHEN Fang-yuan1,DING Ya-jun1,ZHANG Dong-song2,WU Fei3,REN Xiu-jiang1
(1.Jiangnan Institute of Computing Technology,Wuxi 214083;2.Zhenjiang Watercraft College of PLA,Zhenjiang 212000;3.College of Electronic and Electrical Engineering,Shanghai University of Engineering Science,Shanghai 201620,China)
With the development of technology and the increasing growth of applications and requirements in embedded real-time systems, multi-core processors will be adopted in embedded real-time systems for its high performance and low power features. However, the multi-core architecture is hard, even impossible to satisfy the requirement of real-time and the predictability of WCET. Starting with the shared resources, we analyze the influence of on-chip shared resources and off-chip resources on WCET analysis, and discuss various WCET methods. Two WCET models are introduced: multi-core static WCET model and multi-core hybrid WCET model. At last, the multi-core design rule for the real-time application is proposed.
multi-core architecture;embedded real-time system;real-time task;WCET
2013-10-12;
2013-12-20
國家自然科學基金資助項目(61272097);上海市教委科研創(chuàng)新重點基礎研究項目(12ZZ182)
1007-130X(2014)03-0393-06
TP303
A
10.3969/j.issn.1007-130X.2014.03.003
陳芳園(1982-),女,湖北鐘祥人,博士,工程師,研究方向為計算機體系結構和實時系統(tǒng)。E-mail:fychen@nudt.edu.cn
通信地址:214083 江蘇省無錫市江南計算技術研究所
Address:Jiangnan Institute of Computing Technology,Wuxi 214083,Jiangsu,P.R.China