SMP:指在兩個相似(或相同)的處理器通過一條高速通道連接,并且共享外設和存 儲器空間的體系結構上,運行同一個操作系統(tǒng)實例,上層應用對于多CPU、線程多實例無需了解,由操作系統(tǒng)自動協(xié)調運行,并管理共享資源。
AMP:在一個由兩顆或者多顆相同或者不同的處理器通過各種通信通道連接(比如可以將一個MCU(Main Control Unit)和一個DSP集成在一起) ,在邏輯上共享或者獨占外設、存儲器的體系架構上,運行不同的操作系統(tǒng)實例,相互之間通過TIPC(Transparent Inter-Process Communication)等機制通訊。往往是用于主控處理單元與各種專業(yè)協(xié)處理器協(xié)同工作的情形。
多核:是一種處理器的結構,在一個芯片上集成了多個處理器核心。一般各個核有獨立的L1cache,但共享L2 Cache,同時,也共享存儲器、外設。
SMT(HT):同時多線程技術(在intel稱為超線程技術),是在CPU中提供多個半獨立的處理器單元,其中寄存器獨立,但共享L1 cache和ALU單元,其目的是提高ALU的利用率,提升CPU效率。從物理上來看,是一個類多CPU體系。當然各芯片廠家實現(xiàn)方案可能不同。
多處理器:由多顆相同或者不同的獨立完整的CPU通過通信通道連接,可共享也可獨立擁有存儲器、外設。
AMP:每個核運行獨立的OS,或者同種OS的獨立實例;
SMP:一個OS的單一實例同時管理所有CPU,所有應用可以浮動到其中任一個去運行;
BMP:一個OS的單一實例同時管理所有CPU,但可以將某些應用或者線程鎖定在指定的CPU上運行,實際上是SMP的一種特例;
1 架構方面:
提升軟件并行性
算法級(使用并行算法、使用OpenMP編程)
任務級(流水線、多實例)
合理規(guī)劃資源分配(中斷資源分配、處理器分配)
2 編程方面:
選用適當?shù)耐绞侄?/FONT>
控制鎖粒度