[發(fā)明專利]嵌入式多核中央處理器的輕量級(jí)操作系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 201710380908.3 | 申請(qǐng)日: | 2017-05-25 |
| 公開(公告)號(hào): | CN108958905A | 公開(公告)日: | 2018-12-07 |
| 發(fā)明(設(shè)計(jì))人: | 路向峰;王樹柯 | 申請(qǐng)(專利權(quán))人: | 北京憶恒創(chuàng)源科技有限公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48;G06F9/50 |
| 代理公司: | 北京卓特專利代理事務(wù)所(普通合伙) 11572 | 代理人: | 段宇 |
| 地址: | 100192 北京市海淀區(qū)西小口*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 多核中央處理器 第一條件 嵌入式 操作系統(tǒng) 應(yīng)用程序編程接口 處理函數(shù) 任務(wù)調(diào)度 硬件資源 狀態(tài)更新 調(diào)度 申請(qǐng) | ||
本申請(qǐng)公開了嵌入式多核中央處理器的輕量級(jí)操作系統(tǒng)。所公開的嵌入式多核中央處理器的輕量級(jí)操作系統(tǒng)的任務(wù)調(diào)度方法包括:通過應(yīng)用程序編程接口注冊(cè)第一事件以及執(zhí)行第一事件所需的第一條件;根據(jù)硬件資源狀態(tài)更新第一條件;在第一條件滿足后,調(diào)度第一事件的處理函數(shù)。
技術(shù)領(lǐng)域
本申請(qǐng)涉及嵌入式多核中央處理器的輕量級(jí)操作系統(tǒng),尤其涉及對(duì)嵌入式多核中央處理器上處理的任務(wù)的調(diào)度。
背景技術(shù)
嵌入式多核CPU(中央處理器,Central Processing Unit)的各個(gè)核處理各自的任務(wù)。CPU的各個(gè)核之間有對(duì)通信、協(xié)同的大量需求。任務(wù)之間有順序性,一項(xiàng)任務(wù)的開始依賴于在前的一個(gè)或多個(gè)任務(wù)的處理完成。CPU的各個(gè)核處理多種事件,依據(jù)事件知曉在前任務(wù)的處理進(jìn)度。例如,事件包括隊(duì)列中出現(xiàn)待處理的條目、指定長度時(shí)間的流逝、中斷、處理任務(wù)過程中產(chǎn)生的自定義事件等。
圖1是現(xiàn)有技術(shù)的嵌入式多核CPU系統(tǒng)的框圖。CPU 0與CPU 1為同構(gòu)或異構(gòu)的CPU核,通過總線相耦合。每個(gè)CPU具有本地存儲(chǔ)器,CPU可低延遲地訪問自己的本地存儲(chǔ)器。CPU還通過總線耦合到外部存儲(chǔ)器,例如DDR(Dual Data Rate,雙倍速率)存儲(chǔ)器。外部存儲(chǔ)器提供大的存儲(chǔ)容量,但訪問延遲較高。因此,CPU訪問外部存儲(chǔ)器時(shí),通常通過隊(duì)列來緩存高延遲的命令。命令的形式可以是具有指定數(shù)據(jù)格式的消息。
隊(duì)列的條目是消息。CPU從入站隊(duì)列接收消息,而通過出站隊(duì)列發(fā)送消息。CPU可擁有多種數(shù)量的隊(duì)列。示例性地,參看圖1,CPU 0包括入站(Inbound)隊(duì)列0、入站(Inbound)隊(duì)列1、出站(Outbound)隊(duì)列0與出站(Outbound)隊(duì)列1。
為訪問外部存儲(chǔ)器,CPU 0向出站隊(duì)列0添加消息。消息被總線轉(zhuǎn)發(fā)給外部存儲(chǔ)器。外部存儲(chǔ)器輸出存儲(chǔ)器訪問結(jié)果,通過總線轉(zhuǎn)發(fā)給入站隊(duì)列0。
CPU之間通過隊(duì)列交換消息。例如,CPU 0向出戰(zhàn)隊(duì)列1添加消息。消息被總線轉(zhuǎn)發(fā)給CPU 1的入站隊(duì)列0。CPU 1從入站隊(duì)列0獲取CPU 0發(fā)送的消息。
發(fā)明內(nèi)容
以訪問外部存儲(chǔ)器為例,CPU向出站隊(duì)列添加消息需檢查隊(duì)列狀態(tài),并在出站隊(duì)列未滿時(shí)進(jìn)行操作,而從CPU向出站隊(duì)列添加訪問外部存儲(chǔ)器的消息,到CPU從入站隊(duì)列接收外部存儲(chǔ)器的訪問結(jié)果之間,有較長的時(shí)間。在等待入站隊(duì)列變?yōu)榉强?,或者等待訪問外部存儲(chǔ)器的結(jié)果這段時(shí)間,CPU需要調(diào)度處理其他任務(wù)來提升CPU利用率。當(dāng)CPU同時(shí)處理多個(gè)相同或不同任務(wù)、使用多個(gè)隊(duì)列和/或響應(yīng)不同種類的事件時(shí),對(duì)CPU上運(yùn)行的多個(gè)任務(wù)的有效調(diào)度變得復(fù)雜。
CPU可以輪詢隊(duì)列狀態(tài),在出站隊(duì)列非滿時(shí)向出站隊(duì)列添加消息,或者在入站隊(duì)列非空時(shí),從入站隊(duì)列取出消息并進(jìn)行處理。但輪詢隊(duì)列狀態(tài)造成對(duì)CPU處理能力的浪費(fèi)。CPU可以響應(yīng)由隊(duì)列狀態(tài)產(chǎn)生的中斷,識(shí)別事件類型并進(jìn)行處理。但是當(dāng)隊(duì)列事件頻繁發(fā)生時(shí),大量中斷處理帶來的開銷嚴(yán)重增加了CPU負(fù)擔(dān)。
在桌面CPU、服務(wù)器CPU中,通過運(yùn)行操作系統(tǒng),由操作系統(tǒng)調(diào)度在CPU上運(yùn)行的多個(gè)進(jìn)程和/或線程,用戶無須過多干預(yù)進(jìn)程/線程之間的切換,而由操作系統(tǒng)選擇恰當(dāng)?shù)倪M(jìn)程/線程進(jìn)行調(diào)度,以充分利用CPU計(jì)算能力。然而,在嵌入式多核CPU中,可使用的存儲(chǔ)器、CPU處理能力等資源都受限,難以負(fù)擔(dān)進(jìn)程/線程管理引入的開銷。以及一些嵌入式系統(tǒng)對(duì)性能,特別是任務(wù)處理延遲有嚴(yán)格要求,操作系統(tǒng)對(duì)此場(chǎng)景也難以適用。
根據(jù)本申請(qǐng)的第一方面,提供了本申請(qǐng)第一方面的第一任務(wù)調(diào)度方法,其中,任務(wù)調(diào)度方法包括:通過應(yīng)用程序編程接口注冊(cè)第一事件以及執(zhí)行第一事件所需的第一條件;根據(jù)硬件資源狀態(tài)更新第一條件;在第一條件滿足后,調(diào)度第一事件的處理函數(shù)。
根據(jù)本申請(qǐng)第一方面的第一任務(wù)調(diào)度方法,提供了本申請(qǐng)第一方面的第二任務(wù)調(diào)度方法,其中,向應(yīng)用程序編程接口注冊(cè)第一事件的處理函數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京憶恒創(chuàng)源科技有限公司,未經(jīng)北京憶恒創(chuàng)源科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710380908.3/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。





