《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > S698P4 SoC芯片多時鐘及多核調度機制的研究
S698P4 SoC芯片多時鐘及多核調度機制的研究
陳炳成,唐芳福,蔣曉華,顏 軍
(珠海歐比特控制工程股份有限公司,廣東 珠海 519080)
摘要: 介紹了S698P4 SoC多核處理器的體系結構,及多時鐘機制、多核調度機制,討論了芯片工作時,多時鐘機制及多核調度機制對其性能的影響。相關的技術在工程實踐中已經得到驗證,獲得了良好的效果。
Abstract:
Key words :

摘  要: 介紹了S698P4 SoC多核處理器的體系結構,及多時鐘機制多核調度機制,討論了芯片工作時,多時鐘機制及多核調度機制對其性能的影響。相關的技術在工程實踐中已經得到驗證,獲得了良好的效果。
關鍵詞: S698P4;并行處理;多時鐘機制;多核調度機制

 由于性能上的需求,當前嵌入式系統已經不滿足于使用單核處理器系統,許多設計者開始考慮多核處理。但多核處理系統在帶來性能提升的同時,也面臨著一系列需要考慮的問題,如數據一致性問題[1]、多時鐘控制問題和多核調度問題等。如果一個多核、多任務系統無法合理處理多任務需求,無法合理分配各核間的資源及工作,多核處理的優勢將得不到很好的體現,嚴重時甚至會出現災難性的后果。
本文以S698P4 SoC處理器為例,介紹在多核處理器系統中,多時鐘機制及多核調度機制對芯片性能的影響。
1 S698P4 SoC簡介
 S698P4 SoC是基于SPARCV8架構[2]的高性能的32 bit RISC嵌入式4核處理器,采用SMP[3]“對稱多處理”技術,在一個內核里集成4個功能一樣的處理器核心,各CPU之間共享內存子系統及總線結構。總線競爭核仲裁由硬件自動完成,不需要用戶進行設置。該處理器專為嵌入式應用而設計,具有高性能、低復雜度和低功耗的特點。
 S698P4支持多核并行處理機制[4-5],采用eCos實時嵌入式操作系統。eCos將任務隊列對稱地分布于多個CPU之上,從而極大地提高了整個系統的數據處理能力。所有的處理器都可以平等地訪問內存[6]、I/O口和外部中斷。系統資源被系統中所有CPU共享,工作負載能夠均勻地分配到所有可用處理器之上,運算速度快,數據處理量大、功耗低,性能和可靠性遠高于單核處理器。
 圖1為S698P4結構圖,S698P4處理器內部集成了CPU0、CPU1、CPU2和CPU3 4個S698P核,每個S698P CPU內部又分別集成32 bit整形數處理單元、32 bit/64 bit浮點數處理單元及8 KB數據緩存(data cache)和指令緩存(instruction cache)。針對實時應用的嵌入式領域,S698P4提供了內部看門狗、定時器、中斷控制器、通用I/O口以及串行通信接口;針對航空航天領域,S698P4提供了CAN總線接口、以太網接口以及1553B總線。同時,為了芯片調試,芯片內部還集成了硬件調試專用接口DSU。用戶通過DSU可以訪問CPU內部所有寄存器和存儲器資源,也可訪問外部所有存儲器和I/O外設,為基于S698P4的硬件/軟件調試提供方便[7]。

 S698P4處理器可廣泛應用于航空航天的高端電子設備、海量數據處理、大規模網絡應用、復雜科學計算及大型圖形建模為特征的企業或行業等領域。
2 多時鐘機制
 S698P4單核最高運行速度可達到400 MHz,如果整個芯片都采用同一個時鐘,則所有外設和板級設備都要求運行在400 MHz的頻率上,這會增大系統設計的難度,并增加系統功耗,降低系統的穩定性。
 S698P4采用多時鐘機制來平衡高速CPU內核和低速的外部設備之間的矛盾,在提高芯片性能的同時,避免對板級設備提出過高的要求。
 S698P4的時鐘電路產生高速的CPU時鐘CPU_CLK,CPU_CLK除了供給4個CPU內核使用外,還經過4分頻電路,產生HCLK供給AMBA總線和外設使用。
 S698P4 4個內核采用同樣的時鐘,它們全部從CPU_CLK得來,并且與CPU_CLK同頻、同相。
 CPU_CLK、CPU0_CLK到CPU3_CLK和HCLK之間的相位關系如圖2所示。


 HCLK的頻率是CPU_CLK的四分之一。在CPU需要訪問AMBA總線和外設時,信號的時序需要按照HCLK的時序進行。如果CPU_CLK運行在400 MHz,則HCLK只需要運行在100 MHz。在板級設備上,普通的SDRAM即可滿足要求。對于其他慢速設備,則可以通過配置存儲器控制器寄存器的讀寫等待周期解決。
3 多核調度機制
3.1 S698P4多核中斷控制

 S698P4在一個處理器上匯集了4個CPU,各CPU之間共享一個操作系統、內存子系統、總線結構和I/O系統等。同時使用多個CPU時,從管理的角度來看,它們的表現如同一臺單機。正常啟動后,所有的CPU無主從之分,都可以平等地訪問內存、I/O和外部中斷。S698P4各CPU之間的通信是通過多核中斷控制器(MP IRQCTRL)的中斷來實現的,其結構如圖3所示。

 S698P4中的每個CPU都可以通過多核中斷控制器向其他CPU發中斷請求,每個CPU都可以響應其他CPU的中斷請求。在多核中斷控制器中,有一個稱為多處理器狀態寄存器(Multi-processor status register),其后4位(STATUS[3:0])分別控制4個CPU的狀態,寫入1,其相應的CPU就會被激活;寫入0,其相應的CPU就會進入休眠。S698P4啟動時,CPU有主CPU(CPU0)和從CPU之分,啟動完之后,所有CPU不分主從。CPU0的啟動順序和其他CPU的啟動順序是不同的,上電或者軟復位后,S698P4先啟動CPU0,其他CPU處于power down狀態。在CPU0初始化完成后,通過設置多處理器狀態寄存器啟動、初始化其他CPU,之后所有CPU無主從之分。多處理器狀態寄存器如圖4所示。

 在SMP系統中,系統資源被系統中所有處理器共享,工作負載能夠均勻地分配到所有可用處理器之上。并且因為結構共享存儲器、統一地址空間,使得系統編程比較容易。系統將任務隊列對稱地分布于多個CPU之上,從而極大地提高了整個系統的數據處理能力。
3.2 S698P4中斷源處理

 


 S698P4中的AMBA系統提供一個中斷方案,中斷線排成一行連同剩余的AHB/APB總線信號線,形成一個中斷總線。來自AHB和APB單元的中斷通過總線連結在一起被發送。多處理器中斷控制器附屬到AMBA總線,作為一個APB從設備,而且監視組合的中斷信號。在中斷總線上產生的中斷全部被轉送給中斷控制器,中斷控制器通過優先級區分,中斷屏蔽選擇,把最高優先級的中斷送給處理器。
 中斷監視器監視中斷總線中的1~15個中斷,通過設置中斷電平寄存器,每個中斷可以被指定0或者1兩個電平。電平1中斷的優先級比電平0中斷的優先級高。而每個電平的中斷也是有優先級區分的,中斷15優先級最高;中斷1則優先級最低。電平1的優先級最高中斷將會被轉送到處理器。如果電平1沒有非屏蔽掛起中斷存在,來自電平0的最高非屏蔽掛起中斷將會轉送到處理器。
 當多個處理器單獨屏蔽和轉送時,中斷在系統電平上有區分。多處理器系統的每個處理器有單獨的中斷屏蔽和強制寄存器。當一個中斷在中斷總線上被告知時,中斷掛起寄存器的相應位置1,將中斷信號發送到每個CPU屏蔽寄存器,為每個CPU進行中斷屏蔽,然后對中斷進行優先級選擇,把優先級高的中斷送到CPU。
當有一個CPU應答中斷后,對應的中斷掛起位將會自動地被清除,中斷也可以通過設置中斷強制寄存器產生對應的中斷。由此處理器應答后將清除強制位,而并非掛起位。復位之后,中斷屏蔽寄存器全部被設定為0,剩余的控制寄存器是不確定的。注意:中斷15能被S698P4處理器屏蔽,使用時大部分操作系統不能正確處理這個中斷。
 S698P4中斷控制器把S698P4內部和外部的所有中斷按照優先級先后順序排列,并傳送給IU。S698P4總共有15個中斷,如表1所示。

3.3 S698P4調度算法
 eCos支持對稱多處理器(SMP)系統,多CPU之間的任務調度采用多級隊列調度,主要調度算法有時間片輪轉調度算法和搶占式優先權調度算法。
多級隊列調度的優先級數目在調度器配置的時候給出,最多有32個優先級,0為最高優先級。每個優先級上都有一個隊列。每個隊列支持多個線程。單個隊列中各線程優先級相同,同優先級線程可支持時間片輪轉。
任務調度僅在激活的CPU上進行,其他的調度在4個CPU都處于激活狀態。當前任務數小于等于4個時,系統將每個任務分配一個CPU上,之后系統不會進行CPU間任務調度,一直運行到結束;當前任務數大于4個時,系統才會在CPU間進行任務調度。
 當任務大于4個時,系統將進行CPU間的任務調度。調度算法采用時間片輪轉調度算法和搶占式優先權調度算法。系統將任務就緒隊列中優先級最高的4個任務分配到4個CPU上,每個CPU開始執行任務,任務執行時間以時間片為單位。當時間片時間到達時會產生一個定時器中斷,當系統定時器中斷產生時,由其中一個CPU(不確定)接收定時中斷,接收定時中斷的CPU必須為所有的CPU的時間片計數器進行操作。當某個CPU的時間片計數器到達0時,它將給該CPU發送一個時間片中斷。當其他CPU接收到時間片中斷時(S698P4每個CPU都必須處理時間片),該CPU比較當前任務和任務就緒表中最高優先級的任務,如果后者的優先級比前者的優先級高,則系統就會產生調度。CPU把任務就緒表中最高優先級的任務調到該CPU上運行,把先前的任務重新在任務就緒表排隊。只要出現了另一個優先權更高的任務,調度程序就在下一個時間片中斷暫停原最高優先權任務的執行,而將CPU分配給新出現的優先權最高的任務。直到當前任務數小于等于4個時,系統才停止CPU間調度。
 目前S698P4處理器已經成功實現了量產,在航空航天、工業控制等領域中得到廣泛的應用。實踐證明,S698P4多時鐘及多核調度機制能夠在發揮處理器整體性能上起到很關鍵的作用。
參考文獻
[1] 梁寶玉,顏軍,侯雄,等.多核處理器S698P-SoC的數據一致性[J].航天控制,2008,26:82-86.
[2] 珠海歐比特控制工程股份有限公司.S698P4芯片用戶手冊(V2.0)[K],2011.
[3] ZHAO Y, HU C, WANG S, et al. An extended openMP targeting on the hybrid architecture of SMP-cluster[M], Advances in Computer Science and Technology, 2006.
[4] 季振洲.并行處理與體系結構講義[Z].哈爾濱:哈爾濱工業大學,2005.
[5] BYOUNGRO S, ANWAR M G, YOUFENG W. Optimizing data parallel operations on many-core platforms[D]. Intel Corporation, 2004.
[6] 唐志敏.分布存儲并行系統中的共享存儲編程環境講義[D].北京:中科院計算機研究所,2003.
[7] 蔣曉華,李付海,祁波.SPARC體系的S698系列SoC及其應用[J].單片機與嵌入式系統應用,2007(8):84-85.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲激情在线视频| 一区二区欧美激情| 亚洲精品视频在线观看免费| 国产精品久久午夜| 欧美承认网站| 久久九九精品| 亚洲欧美日韩在线| 9色精品在线| 亚洲男女自偷自拍| 夜夜夜久久久| 亚洲国产一区二区视频| 国产一区二区精品| 国产精品草草| 欧美日韩八区| 欧美高清视频www夜色资源网| 国内精品久久久久影院优| 欧美日韩精品一本二本三本| 免费一级欧美片在线播放| 久久精品亚洲乱码伦伦中文| 亚洲欧美视频一区| 亚洲一区图片| 亚洲免费影视| 久久精品人人做人人爽| 亚洲欧美在线x视频| 一本大道久久a久久综合婷婷| 亚洲国产视频一区| 久久精品国产久精国产一老狼| 亚洲欧美一区二区原创| 亚洲欧美日韩中文视频| 亚洲视频二区| 亚洲国产成人porn| 亚洲国产精品视频| 亚洲高清影视| 亚洲国产一区二区在线| 亚洲欧洲一区二区在线播放| 亚洲高清久久久| 亚洲国产精品va在看黑人| 精品动漫3d一区二区三区免费 | 一级日韩一区在线观看| 亚洲精品色婷婷福利天堂| 亚洲片区在线| 亚洲美女黄网| 一区二区三区不卡视频在线观看| 亚洲国产三级| 亚洲品质自拍| 99综合视频| 亚洲精选一区二区| 亚洲精品一区二区网址| 一区二区三区久久网| 亚洲区一区二区三区| 91久久国产精品91久久性色| 亚洲毛片在线看| 久久精品一二三区| 亚洲国产日韩一级| 亚洲久久一区| 99热这里只有成人精品国产| 在线视频中文亚洲| 亚洲欧美在线高清| 久久精品国产一区二区三区| 美女性感视频久久久| 日韩午夜一区| 亚洲精品国产拍免费91在线| 日韩亚洲欧美成人| 先锋影音国产一区| 欧美不卡在线视频| 国产精品自拍在线| 亚洲娇小video精品| 亚洲欧美精品| 99re热精品| 久久美女艺术照精彩视频福利播放| 欧美极品aⅴ影院| 国产手机视频一区二区| 亚洲精品资源美女情侣酒店| 午夜在线视频一区二区区别| 99精品欧美一区| 久久久久国产一区二区三区四区| 欧美日韩一区二区在线视频 | 国产精品久久久久久户外露出| 一区二区三区在线视频观看| 亚洲午夜性刺激影院| 亚洲人成人一区二区在线观看| 亚洲欧美在线x视频| 欧美激情女人20p| 国产曰批免费观看久久久| 亚洲午夜电影网| 日韩午夜免费| 蜜桃av一区二区| 国产一区二区中文| 一区二区三区国产精华| 亚洲精品国久久99热| 久久久天天操| 国产精品自在线| 日韩视频在线一区二区三区| 亚洲人成毛片在线播放| 久久精品国产一区二区三| 国产精品久久夜| 一本色道久久综合狠狠躁的推荐| 亚洲人成免费| 嫩模写真一区二区三区三州| 国内精品久久久久影院优| 亚洲欧美日韩一区二区三区在线| 亚洲视频在线观看视频| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲人成在线播放| 亚洲国产精品123| 久久精品国产成人| 国产精品手机在线| 这里只有精品电影| 夜夜嗨av一区二区三区中文字幕| 欧美高清一区二区| 影音先锋中文字幕一区| 久久国产欧美| 久久久久国产精品一区| 国产一区二区三区av电影| 午夜精品久久久久久久白皮肤| 午夜电影亚洲| 国产精品久久一区主播| 亚洲视频久久| 亚洲在线免费| 国产精品v一区二区三区| 中文国产亚洲喷潮| 亚洲一区久久久| 国产精品国产三级国产aⅴ9色| 中文国产成人精品| 午夜激情亚洲| 国产色婷婷国产综合在线理论片a| 亚洲欧美日韩在线高清直播| 久久精品30| 国内外成人在线| 亚洲韩日在线| 欧美激情视频给我| 亚洲精品在线视频观看| 亚洲一区二区精品| 国产精品卡一卡二卡三| 亚洲欧美日韩国产成人精品影院| 欧美一站二站| 黄色精品一区| 亚洲精品中文字幕有码专区| 欧美精品日本| 夜夜嗨网站十八久久| 亚洲欧美日韩一区| 国产偷国产偷精品高清尤物| 久久精品国产视频| 欧美+亚洲+精品+三区| 亚洲精品之草原avav久久| 亚洲一区二区毛片| 国产乱理伦片在线观看夜一区 | 久久精品视频网| 1769国产精品| 一区二区精品在线观看| 欧美性大战久久久久久久| 香蕉久久夜色精品国产| 久久久久在线观看| 亚洲国产欧美在线人成| 亚洲一区二区三区精品动漫| 国产欧美日韩综合| 亚洲高清在线精品| 欧美日韩国产一区二区三区| 亚洲视频在线观看视频| 久久精品国产免费看久久精品| 一区二区在线看| 亚洲视频一二| 国产一区二区三区无遮挡| 亚洲精品视频在线观看网站| 欧美涩涩视频| 欧美在线视频免费观看| 欧美人妖在线观看| 亚洲欧美日韩精品久久久久| 免费成人av| 亚洲私拍自拍| 免费欧美高清视频| 亚洲视频每日更新| 欧美v国产在线一区二区三区| 在线视频精品一区| 久久午夜电影| 一区二区三区日韩精品视频| 久久蜜桃精品| 一本色道久久综合亚洲91| 久久久久9999亚洲精品| 夜夜嗨av一区二区三区四区| 久久青草久久| 亚洲最新在线| 免费观看成人网| 亚洲综合99| 欧美精品久久一区二区| 久久国产精品网站| 国产精品久久久久久久午夜片 | 日韩亚洲国产欧美| 国精品一区二区| 亚洲综合激情| 亚洲人成在线观看一区二区| 久久精品一级爱片| 一区二区三区日韩精品视频| 欧美v亚洲v综合ⅴ国产v| 午夜日韩在线| 国产精品白丝jk黑袜喷水| 亚洲精品一二| 极品尤物一区二区三区| 欧美淫片网站| 一区二区三区四区五区精品|