亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        S698P4 SoC芯片多時(shí)鐘及多核調(diào)度機(jī)制的研究

        2011-07-28 01:31:58陳炳成唐芳福蔣曉華
        關(guān)鍵詞:寄存器電平中斷

        陳炳成,唐芳福,蔣曉華,顏 軍

        (珠海歐比特控制工程股份有限公司,廣東 珠海 519080)

        由于性能上的需求,當(dāng)前嵌入式系統(tǒng)已經(jīng)不滿足于使用單核處理器系統(tǒng),許多設(shè)計(jì)者開(kāi)始考慮多核處理。但多核處理系統(tǒng)在帶來(lái)性能提升的同時(shí),也面臨著一系列需要考慮的問(wèn)題,如數(shù)據(jù)一致性問(wèn)題[1]、多時(shí)鐘控制問(wèn)題和多核調(diào)度問(wèn)題等。如果一個(gè)多核、多任務(wù)系統(tǒng)無(wú)法合理處理多任務(wù)需求,無(wú)法合理分配各核間的資源及工作,多核處理的優(yōu)勢(shì)將得不到很好的體現(xiàn),嚴(yán)重時(shí)甚至?xí)霈F(xiàn)災(zāi)難性的后果。

        本文以S698P4 SoC處理器為例,介紹在多核處理器系統(tǒng)中,多時(shí)鐘機(jī)制及多核調(diào)度機(jī)制對(duì)芯片性能的影響。

        1 S698P4 SoC簡(jiǎn)介

        S698P4 SoC是基于 SPARCV8架構(gòu)[2]的高性能的32 bit RISC嵌入式 4核處理器,采用 SMP[3]“對(duì)稱多處理”技術(shù),在一個(gè)內(nèi)核里集成4個(gè)功能一樣的處理器核心,各CPU之間共享內(nèi)存子系統(tǒng)及總線結(jié)構(gòu)。總線競(jìng)爭(zhēng)核仲裁由硬件自動(dòng)完成,不需要用戶進(jìn)行設(shè)置。該處理器專為嵌入式應(yīng)用而設(shè)計(jì),具有高性能、低復(fù)雜度和低功耗的特點(diǎn)。

        S698P4支持多核并行處理機(jī)制[4-5],采用eCos實(shí)時(shí)嵌入式操作系統(tǒng)。eCos將任務(wù)隊(duì)列對(duì)稱地分布于多個(gè)CPU之上,從而極大地提高了整個(gè)系統(tǒng)的數(shù)據(jù)處理能力。所有的處理器都可以平等地訪問(wèn)內(nèi)存[6]、I/O口和外部中斷。系統(tǒng)資源被系統(tǒng)中所有CPU共享,工作負(fù)載能夠均勻地分配到所有可用處理器之上,運(yùn)算速度快,數(shù)據(jù)處理量大、功耗低,性能和可靠性遠(yuǎn)高于單核處理器。

        圖1為S698P4結(jié)構(gòu)圖,S698P4處理器內(nèi)部集成了CPU0、CPU1、CPU2和 CPU3 4個(gè) S698P核, 每個(gè) S698P CPU內(nèi)部又分別集成32 bit整形數(shù)處理單元、32 bit/64 bit浮點(diǎn)數(shù)處理單元及8 KB數(shù)據(jù)緩存(data cache)和指令緩存 (instruction cache)。針對(duì)實(shí)時(shí)應(yīng)用的嵌入式領(lǐng)域,S698P4提供了內(nèi)部看門(mén)狗、定時(shí)器、中斷控制器、通用I/O口以及串行通信接口;針對(duì)航空航天領(lǐng)域,S698P4提供了CAN總線接口、以太網(wǎng)接口以及1553B總線。同時(shí),為了芯片調(diào)試,芯片內(nèi)部還集成了硬件調(diào)試專用接口DSU。用戶通過(guò)DSU可以訪問(wèn)CPU內(nèi)部所有寄存器和存儲(chǔ)器資源,也可訪問(wèn)外部所有存儲(chǔ)器和I/O外設(shè),為基于S698P4的硬件/軟件調(diào)試提供方便[7]。

        圖1 S698P4結(jié)構(gòu)圖

        S698P4處理器可廣泛應(yīng)用于航空航天的高端電子設(shè)備、海量數(shù)據(jù)處理、大規(guī)模網(wǎng)絡(luò)應(yīng)用、復(fù)雜科學(xué)計(jì)算及大型圖形建模為特征的企業(yè)或行業(yè)等領(lǐng)域。

        2 多時(shí)鐘機(jī)制

        S698P4單核最高運(yùn)行速度可達(dá)到400 MHz,如果整個(gè)芯片都采用同一個(gè)時(shí)鐘,則所有外設(shè)和板級(jí)設(shè)備都要求運(yùn)行在400 MHz的頻率上,這會(huì)增大系統(tǒng)設(shè)計(jì)的難度,并增加系統(tǒng)功耗,降低系統(tǒng)的穩(wěn)定性。

        S698P4采用多時(shí)鐘機(jī)制來(lái)平衡高速CPU內(nèi)核和低速的外部設(shè)備之間的矛盾,在提高芯片性能的同時(shí),避免對(duì)板級(jí)設(shè)備提出過(guò)高的要求。

        S698P4的時(shí)鐘電路產(chǎn)生高速的 CPU時(shí)鐘CPU_CLK,CPU_CLK除了供給4個(gè) CPU內(nèi)核使用外,還經(jīng)過(guò)4分頻電路,產(chǎn)生HCLK供給AMBA總線和外設(shè)使用。

        S698P4 4個(gè)內(nèi)核采用同樣的時(shí)鐘,它們?nèi)繌腃PU_CLK得來(lái),并且與CPU_CLK同頻、同相。

        CPU_CLK、CPU0_CLK到 CPU3_CLK和 HCLK之間的相位關(guān)系如圖2所示。

        圖2 S698P4內(nèi)部時(shí)鐘

        HCLK的頻率是CPU_CLK的四分之一。在CPU需要訪問(wèn)AMBA總線和外設(shè)時(shí),信號(hào)的時(shí)序需要按照HCLK的時(shí)序進(jìn)行。如果CPU_CLK運(yùn)行在400 MHz,則HCLK只需要運(yùn)行在100 MHz。在板級(jí)設(shè)備上,普通的SDRAM即可滿足要求。對(duì)于其他慢速設(shè)備,則可以通過(guò)配置存儲(chǔ)器控制器寄存器的讀寫(xiě)等待周期解決。

        3 多核調(diào)度機(jī)制

        3.1 S698P4多核中斷控制

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

        圖3 S698P4多核中斷控制器

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

        圖4 多處理器狀態(tài)寄存器

        S698P4各個(gè)CPU均有一個(gè)稱為%asr17的寄存器,如圖5所示。其 31 bit~28 bit(圖中 INDEX部分)指明當(dāng)前運(yùn)行的是哪個(gè)CPU,程序可以從這個(gè)寄存器得到當(dāng)前是在哪個(gè)CPU上運(yùn)行,并作相應(yīng)處理。

        圖5 %asr17寄存器

        在SMP系統(tǒng)中,系統(tǒng)資源被系統(tǒng)中所有處理器共享,工作負(fù)載能夠均勻地分配到所有可用處理器之上。并且因?yàn)榻Y(jié)構(gòu)共享存儲(chǔ)器、統(tǒng)一地址空間,使得系統(tǒng)編程比較容易。系統(tǒng)將任務(wù)隊(duì)列對(duì)稱地分布于多個(gè)CPU之上,從而極大地提高了整個(gè)系統(tǒng)的數(shù)據(jù)處理能力。

        3.2 S698P4中斷源處理

        S698P4中的AMBA系統(tǒng)提供一個(gè)中斷方案,中斷線排成一行連同剩余的AHB/APB總線信號(hào)線,形成一個(gè)中斷總線。來(lái)自AHB和APB單元的中斷通過(guò)總線連結(jié)在一起被發(fā)送。多處理器中斷控制器附屬到AMBA總線,作為一個(gè)APB從設(shè)備,而且監(jiān)視組合的中斷信號(hào)。在中斷總線上產(chǎn)生的中斷全部被轉(zhuǎn)送給中斷控制器,中斷控制器通過(guò)優(yōu)先級(jí)區(qū)分,中斷屏蔽選擇,把最高優(yōu)先級(jí)的中斷送給處理器。

        中斷監(jiān)視器監(jiān)視中斷總線中的1~15個(gè)中斷,通過(guò)設(shè)置中斷電平寄存器,每個(gè)中斷可以被指定0或者1兩個(gè)電平。電平1中斷的優(yōu)先級(jí)比電平0中斷的優(yōu)先級(jí)高。而每個(gè)電平的中斷也是有優(yōu)先級(jí)區(qū)分的,中斷15優(yōu)先級(jí)最高;中斷1則優(yōu)先級(jí)最低。電平1的優(yōu)先級(jí)最高中斷將會(huì)被轉(zhuǎn)送到處理器。如果電平1沒(méi)有非屏蔽掛起中斷存在,來(lái)自電平0的最高非屏蔽掛起中斷將會(huì)轉(zhuǎn)送到處理器。

        當(dāng)多個(gè)處理器單獨(dú)屏蔽和轉(zhuǎn)送時(shí),中斷在系統(tǒng)電平上有區(qū)分。多處理器系統(tǒng)的每個(gè)處理器有單獨(dú)的中斷屏蔽和強(qiáng)制寄存器。當(dāng)一個(gè)中斷在中斷總線上被告知時(shí),中斷掛起寄存器的相應(yīng)位置1,將中斷信號(hào)發(fā)送到每個(gè)CPU屏蔽寄存器,為每個(gè)CPU進(jìn)行中斷屏蔽,然后對(duì)中斷進(jìn)行優(yōu)先級(jí)選擇,把優(yōu)先級(jí)高的中斷送到CPU。

        當(dāng)有一個(gè)CPU應(yīng)答中斷后,對(duì)應(yīng)的中斷掛起位將會(huì)自動(dòng)地被清除,中斷也可以通過(guò)設(shè)置中斷強(qiáng)制寄存器產(chǎn)生對(duì)應(yīng)的中斷。由此處理器應(yīng)答后將清除強(qiáng)制位,而并非掛起位。復(fù)位之后,中斷屏蔽寄存器全部被設(shè)定為0,剩余的控制寄存器是不確定的。注意:中斷15能被S698P4處理器屏蔽,使用時(shí)大部分操作系統(tǒng)不能正確處理這個(gè)中斷。

        S698P4中斷控制器把S698P4內(nèi)部和外部的所有中斷按照優(yōu)先級(jí)先后順序排列,并傳送給IU。S698P4總共有15個(gè)中斷,如表1所示。

        3.3 S698P4調(diào)度算法

        eCos支持對(duì)稱多處理器(SMP)系統(tǒng),多CPU之間的任務(wù)調(diào)度采用多級(jí)隊(duì)列調(diào)度,主要調(diào)度算法有時(shí)間片輪轉(zhuǎn)調(diào)度算法和搶占式優(yōu)先權(quán)調(diào)度算法。

        多級(jí)隊(duì)列調(diào)度的優(yōu)先級(jí)數(shù)目在調(diào)度器配置的時(shí)候給出,最多有32個(gè)優(yōu)先級(jí),0為最高優(yōu)先級(jí)。每個(gè)優(yōu)先級(jí)上都有一個(gè)隊(duì)列。每個(gè)隊(duì)列支持多個(gè)線程。單個(gè)隊(duì)列中各線程優(yōu)先級(jí)相同,同優(yōu)先級(jí)線程可支持時(shí)間片輪轉(zhuǎn)。

        表1 系統(tǒng)中斷列表

        任務(wù)調(diào)度僅在激活的CPU上進(jìn)行,其他的調(diào)度在4個(gè)CPU都處于激活狀態(tài)。當(dāng)前任務(wù)數(shù)小于等于4個(gè)時(shí),系統(tǒng)將每個(gè)任務(wù)分配一個(gè)CPU上,之后系統(tǒng)不會(huì)進(jìn)行CPU間任務(wù)調(diào)度,一直運(yùn)行到結(jié)束;當(dāng)前任務(wù)數(shù)大于4個(gè)時(shí),系統(tǒng)才會(huì)在CPU間進(jìn)行任務(wù)調(diào)度。

        當(dāng)任務(wù)大于4個(gè)時(shí),系統(tǒng)將進(jìn)行CPU間的任務(wù)調(diào)度。調(diào)度算法采用時(shí)間片輪轉(zhuǎn)調(diào)度算法和搶占式優(yōu)先權(quán)調(diào)度算法。系統(tǒng)將任務(wù)就緒隊(duì)列中優(yōu)先級(jí)最高的4個(gè)任務(wù)分配到4個(gè)CPU上,每個(gè)CPU開(kāi)始執(zhí)行任務(wù),任務(wù)執(zhí)行時(shí)間以時(shí)間片為單位。當(dāng)時(shí)間片時(shí)間到達(dá)時(shí)會(huì)產(chǎn)生一個(gè)定時(shí)器中斷,當(dāng)系統(tǒng)定時(shí)器中斷產(chǎn)生時(shí),由其中一個(gè)CPU(不確定)接收定時(shí)中斷,接收定時(shí)中斷的CPU必須為所有的CPU的時(shí)間片計(jì)數(shù)器進(jìn)行操作。當(dāng)某個(gè)CPU的時(shí)間片計(jì)數(shù)器到達(dá)0時(shí),它將給該CPU發(fā)送一個(gè)時(shí)間片中斷。當(dāng)其他CPU接收到時(shí)間片中斷時(shí)(S698P4每個(gè)CPU都必須處理時(shí)間片),該CPU比較當(dāng)前任務(wù)和任務(wù)就緒表中最高優(yōu)先級(jí)的任務(wù),如果后者的優(yōu)先級(jí)比前者的優(yōu)先級(jí)高,則系統(tǒng)就會(huì)產(chǎn)生調(diào)度。CPU把任務(wù)就緒表中最高優(yōu)先級(jí)的任務(wù)調(diào)到該CPU上運(yùn)行,把先前的任務(wù)重新在任務(wù)就緒表排隊(duì)。只要出現(xiàn)了另一個(gè)優(yōu)先權(quán)更高的任務(wù),調(diào)度程序就在下一個(gè)時(shí)間片中斷暫停原最高優(yōu)先權(quán)任務(wù)的執(zhí)行,而將CPU分配給新出現(xiàn)的優(yōu)先權(quán)最高的任務(wù)。直到當(dāng)前任務(wù)數(shù)小于等于4個(gè)時(shí),系統(tǒng)才停止CPU間調(diào)度。

        目前S698P4處理器已經(jīng)成功實(shí)現(xiàn)了量產(chǎn),在航空航天、工業(yè)控制等領(lǐng)域中得到廣泛的應(yīng)用。實(shí)踐證明,S698P4多時(shí)鐘及多核調(diào)度機(jī)制能夠在發(fā)揮處理器整體性能上起到很關(guān)鍵的作用。

        [1]梁寶玉,顏軍,侯雄,等.多核處理器 S698P-SoC的數(shù)據(jù)一致性[J].航天控制,2008,26:82-86.

        [2]珠海歐比特控制工程股份有限公司.S698P4芯片用戶手冊(cè)(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]季振洲.并行處理與體系結(jié)構(gòu)講義[Z].哈爾濱:哈爾濱工業(yè)大學(xué),2005.

        [5]BYOUNGRO S, ANWAR M G, YOUFENG W.Optimizing data parallel operations on many-core platforms[D].Intel Corporation,2004.

        [6]唐志敏.分布存儲(chǔ)并行系統(tǒng)中的共享存儲(chǔ)編程環(huán)境講義[D].北京:中科院計(jì)算機(jī)研究所,2003.

        [7]蔣曉華,李付海,祁波.SPARC體系的 S698系列 SoC及其應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(8):84-85.

        猜你喜歡
        寄存器電平中斷
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        NPC五電平Z源逆變器的設(shè)計(jì)研究
        基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實(shí)踐
        基于NPC三電平變換器的STATCOM研究
        一種多電平逆變器及其并網(wǎng)策略
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        国产精品高清国产三级国产av | 日本人妻免费一区二区三区| 男女做爰高清免费视频网站| 999久久久免费精品国产| 久久精品免视看国产明星 | 亚洲日本中文字幕乱码在线| 欧美成人午夜免费影院手机在线看| 色婷婷久久综合中文久久蜜桃av| 国产精品无码久久久一区蜜臀 | 国产麻豆精品一区二区三区v视界| 亚洲男人第一av网站| 国产乱人伦AⅤ在线麻豆A| 亚洲熟妇一区二区蜜桃在线观看| 日本久久久久亚洲中字幕| 欧美日韩精品一区二区三区不卡 | 粗大挺进孕妇人妻在线| 日本激情网站中文字幕| 天天燥日日燥| 国产精品无码片在线观看| 内射中出后入内射极品女神视频| 精品人妻av一区二区三区| 国产av永久无码天堂影院| 免费看国产成年无码av| 蜜桃人妻午夜精品一区二区三区| 久久成人国产精品一区二区| 熟女人妻在线视频| 免费国产h视频在线观看86| 日本不卡不二三区在线看| 天堂а在线中文在线新版| 人与嘼av免费| 国产内射视频在线观看| 女色av少妇一区二区三区| a级大胆欧美人体大胆666| 自拍亚洲一区欧美另类| 国产午夜精品久久精品| 亚洲av无码精品国产成人| 国产最新网站| av天堂手机一区在线| 亚洲av无码一区二区三区鸳鸯影院| 国产成人av 综合 亚洲| av在线免费观看你懂的|