[發(fā)明專利]多核處理器復(fù)用串口的方法及串口復(fù)用裝置有效
| 申請?zhí)枺?/td> | 200910176057.6 | 申請日: | 2009-09-25 |
| 公開(公告)號: | CN101655826A | 公開(公告)日: | 2010-02-24 |
| 發(fā)明(設(shè)計)人: | 陳平平 | 申請(專利權(quán))人: | 福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司 |
| 主分類號: | G06F13/38 | 分類號: | G06F13/38 |
| 代理公司: | 北京同達信恒知識產(chǎn)權(quán)代理有限公司 | 代理人: | 郭潤湘 |
| 地址: | 350002福建省福州市倉*** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 多核 處理器 串口 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤指一種使用單個串口監(jiān)控多核處理器多個處理核心運行狀態(tài)的多核處理器復(fù)用串口的方法及串口復(fù)用裝置。
背景技術(shù)
目前,嵌入式系統(tǒng)一般都沒有可視化的監(jiān)視器,只能通過外接字符終端監(jiān)控系統(tǒng)中設(shè)備的運行狀態(tài),字符終端與嵌入式設(shè)備最常用的連接方式為串口(串行通信接口,用于串行式逐位元數(shù)據(jù)傳輸)連接。
字符終端通常使用PC機終端軟件實現(xiàn),通過PC機的串口設(shè)備與被監(jiān)控的嵌入式設(shè)備的串口設(shè)備之間的串口連接來實現(xiàn)監(jiān)控,如圖1所示即為嵌入式設(shè)備與PC機的連接關(guān)系。嵌入式設(shè)備的系統(tǒng)軟件與終端軟件建立串口通信連接后,用戶或者開發(fā)人員就通過終端軟件監(jiān)控嵌入式設(shè)備系統(tǒng)軟件的運行狀態(tài)了。具體通過嵌入式設(shè)備的系統(tǒng)軟件接收終端軟件發(fā)送的監(jiān)控命令,以及向終端軟件發(fā)送系統(tǒng)運行狀態(tài)信息的方式實現(xiàn)。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,嵌入設(shè)備中配置單核心處理器已經(jīng)不能滿足高速網(wǎng)絡(luò)應(yīng)用對處理性能的需求了。如圖2所示,在一個芯片上集成多個處理核心、能并行地運行不同的程序多核心處理器(多核處理器)在網(wǎng)絡(luò)通信領(lǐng)域得到廣泛應(yīng)用。如圖2所示,多核處理器通常是共享內(nèi)存的,如圖中CORE1、CORE2、......、COREN多個處理核心通過內(nèi)部互聯(lián)總線共享一個內(nèi)存(Memory)。
由于目前的嵌入式設(shè)備一般都只提供一個串口,在對配置多核處理器的嵌入式設(shè)備進行監(jiān)控時,其多個處理核心都需要通過同一個串口與終端軟件進行信息交互,當多個處理核心都需要向外輸出監(jiān)控信息(包括用戶所需的系統(tǒng)狀態(tài)信息、開發(fā)人員所需的調(diào)試信息等等)時,則需要競爭使用。
現(xiàn)有技術(shù)中,一般是通過加鎖的方式來解決多個處理核心之間的競爭關(guān)系。如圖3所示,多個處理核心CORE1、CORE2、......、COREN競爭調(diào)取字符串打印函數(shù),搶到鎖的處理核心占用字符串打印函數(shù),執(zhí)行圖中所述的加鎖、將字符串逐個輸出到串口,然后解鎖的操作。
現(xiàn)有技術(shù)的處理方式存在以下問題:
(1)由于串口通信速率比較低,打印字符的速度比較慢,逐個打印字符串將消耗相當長的時間。再加上加、解鎖所耗費的時間,導致一個處理核心搶到鎖進入上述字符串打印函數(shù)之后,其他處理核心則由于無法抓住鎖而處于長時間的忙等待狀態(tài)。這種長時間的等待,對于處理高速報文轉(zhuǎn)發(fā)業(yè)務(wù)的多個處理核心而言,是很難承受的,其大大影響系統(tǒng)的運行效率,降低了系統(tǒng)的并發(fā)性能。
(2)由于多個處理核心競爭同一個串口,導致輸出信息紊亂。
由于各個處理核心都調(diào)用相同的字符串打印函數(shù),每次抓到鎖均只能輸出一個字符串,而每完成一次監(jiān)控過程均需要輸出包含多個字符串的一組監(jiān)控信息,因此當對多個處理核心進行監(jiān)控時,相互之間的監(jiān)控信息輸出可能會相互凌亂交叉,導致用戶或者開發(fā)人員在字符終端中無法獲取到清楚輸出信息,甚至無法對系統(tǒng)實施有效監(jiān)控。舉例說明如下:
例如:處理核心CORE1需要輸出一組監(jiān)控信息,包括三個字符串(這里以符號代替):CORE1_STR1、CORE1_STR2、CORE1_STR3。而處理核心CORE2也需要輸出一組監(jiān)控信息,也包括三個字符串:CORE2_STR1、CORE2_STR2、CORE2_STR3。
設(shè)字符串打印函數(shù)為PRINT,則CORE1的監(jiān)控信息輸出程序為:
PRINT(“CORE1_STR1”);
PRINT(“CORE1_STR2”);
PRINT(“CORE1_STR3”);
同樣,CORE2的監(jiān)控信息輸出程序為:
PRINT(“CORE2_STR1”);
PRINT(“CORE2_STR2”);
PRINT(“CORE2_STR3”);
但是,由于CORE1、CORE2是并行運行各自的監(jiān)控程序,上述調(diào)用字符串打印函數(shù)的時間順序可相互交叉,最終打印到字符終端的輸出信息隨調(diào)用程序順序的不同,可能出現(xiàn)多種情況,例如可能輸出如下順序的輸出信息:
CORE2_STR1
CORE1_STR1
CORE1_STR2
CORE2_STR2
CORE1_STR3
CORE2_STR3
可見,上述最終輸出信息中,CORE1與CORE2的監(jiān)控信息交叉紊亂了。當多核處理器的處理核心數(shù)目較多,且監(jiān)控信息較復(fù)雜時,交叉紊亂后的信息可能就會變得無法讀取,導致用戶及開發(fā)人員無法對系統(tǒng)實施有效監(jiān)控。
發(fā)明內(nèi)容
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司,未經(jīng)福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910176057.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





