現在的位置: 首頁 > 技術文章 > 基礎知識 > 正文

多核CPU運行基礎知識及核間通信

2018年08月17日 基礎知識 ⁄ 共 1174字 ⁄ 字號 多核CPU運行基礎知識及核間通信已關閉評論

多核CPU運行模式主要有以下三種:

?非對稱多處理(Asymmetric multiprocessing,AMP)——每個CPU內核運行一個獨立的操作系統或同一操作系統的獨立實例(instantiation)。

?對稱多處理(Symmetric multiprocessing,SMP)——一個操作系統的實例可以同時管理所有CPU內核,且應用并不綁定某一個內核。

?混合多處理(Bound multiprocessing,BMP)——一個操作系統的實例可以同時管理所有CPU內核,但每個應用被鎖定于某個指定的核心。

amp

背景介紹:

在開發MCU應用系統時,如果單顆MCU無法滿足系統的要求,一個很普遍的做法就是使用兩顆或更多的MCU,把一部分“雜項工作”分配給另一個有“助理”性質的低端MCU來完成。但是,采用兩顆MCU,缺點也很明顯,尤其是在芯片與PCB成本、系統可靠性及功耗方面都有先天的不足。此外,若采用了不同架構的MCU,還要面臨需要不同的開發工具與開發人員的挑戰。如果換一種思路,讓MCU內部包含兩個內核,其中一個用于主控,另一個用于協控,并且它們主控與協控在架構上能夠向下兼容、高效通信,則在很多場合下都可以既保持多機系統的強大,又能避免多機系統的不足。

事實上,這即是“非對稱多處理器(簡稱AMP)”架構的特點。AMP是與“對稱多處理器(簡稱SMP)”相對的架構,后者各處理器有一致的編程模型,并且在分配工作時主要以均衡為原則。而AMP的優點在于精細的任務分工,靈活地適應不同情景,物盡其用,以最佳地平衡成本、性能與功耗。此外,AMP的編程難度也更低。因此,在MCU應用領域,AMP較SMP更為適合。

與獨立的雙MCU相比,AMP架構有很多優點。其中相當關鍵的就是,再添加一個內核的代價遠比添加一個獨立的MCU要低,尤其是當兩個內核架構相似時,甚至僅相當于在現有硅片上再添加一兩個UART。另一方面,兩個內核可以有相同的主頻,并且可以通過總線矩陣平等地訪問片上資源。而在分立的雙MCU方案中,協控MCU的主頻常常遠低于主控,并且雙方使用低速的串行鏈路通信。

內核間的通信可分為兩類:一類是控制與狀態信息的通信,另一類則是數據通信。前者一般不攜帶數據,但往往有較高的實時要求;后者則主要是各類數據緩沖區,通常實時性要求偏低但數據量大。控制/狀態通信有較大的通用性,并且與任務間的同步較為相似。這類通信適合由系統軟件實現并提供編程接口。數據通信則往往與具體應用相關較大(尤其是在數據結構上),需要量體裁衣。在實現時,適合由應用軟件定義各種數據結構。

內核間通過共享的RAM進行通信,并且每個內核都可以觸發對方的一個中斷源,通過準備數據-觸發中斷的方式進行通信。當然,內核也可以不使用中斷,定期檢查共享RAM的狀態。

還可以通過消息隊列進行交互…………………………

 

未完

二八杠讨论心得
×