《基于Xilinx FPGA的多核嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第3章_第1頁
《基于Xilinx FPGA的多核嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第3章_第2頁
《基于Xilinx FPGA的多核嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第3章_第3頁
《基于Xilinx FPGA的多核嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第3章_第4頁
《基于Xilinx FPGA的多核嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第3章_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

3.1總線機(jī)制3.2核間通信機(jī)制介紹3.3本章小結(jié)

3.1.1OPB總線

OPB(On-chipPeripheralBus)總線分為D(Data)OPB和I(Instruction)OPB兩類接口,主要用于掛接數(shù)據(jù)和指令的片上外設(shè),是各類外設(shè)連接處理器的主要方式。3.1總線機(jī)制3.1.2PLB總線

PLB(ProcessorLocalBus)總線包含了一個(gè)總線控制單元、一個(gè)看門狗定時(shí)器以及獨(dú)立的地址和讀寫數(shù)據(jù)路徑單元,另外,還包含了一個(gè)可選用的DCR(DeviceControlRegister)從接口以提供對(duì)總線錯(cuò)誤狀態(tài)寄存器的訪問。

在EDK10.1開發(fā)套件中,IPCatalog下僅有PLBv4.6版本,其模塊圖如圖3.1.1所示。圖3.1.1PLBv4.6的模塊圖3.1.3XCL總線

XCL是一個(gè)連接外部存儲(chǔ)設(shè)備的高性能總線。它直接連接存儲(chǔ)控制器和集成的FSL緩沖器,從而使得系統(tǒng)有最小的延時(shí)和最少的實(shí)例。3.1.4FSL總線

FSL(FastSimplexLink)總線提供了輸出FIFO和輸入FIFO之間一種點(diǎn)對(duì)點(diǎn)的傳輸通道。它分為M(Master)FSL和S(Slave)FSL兩類接口。每一類接口最多都只有8個(gè)。其模塊圖如圖3.1.2所示。圖3.1.2FSL總線的模塊圖3.1.5OCM總線

OCM分為DSOCM(Data-SideOn-ChipMemory)和ISOCM(Instruction-SideOn-ChipMemory)兩類。3.1.6LMB總線

LMB總線主要用來連接片上BRAM(BlockRAM)。為了能在一個(gè)時(shí)鐘周期內(nèi)完成訪問,LMB采用了最少的控制信號(hào)和簡(jiǎn)單協(xié)議的方式。它分為指令寄存器D(Data)LMB和數(shù)據(jù)寄存器I(Instruction)LMB兩類接口,而且這些接口只和BRAM連接。其模塊圖如圖3.1.3所示。圖3.1.3基于Microblaze系統(tǒng)通常使用的LMB總線模塊圖3.2.1Mailbox

作為一種用于內(nèi)核通信的IP核(IP核為Xilinx以及第三方公司將一些通用模塊設(shè)計(jì)、編譯、封裝好后,供用戶使用并保留模塊知識(shí)產(chǎn)權(quán)的核,設(shè)計(jì)者在使用時(shí)可將其作為一個(gè)黑盒子,只關(guān)注核的功能和參數(shù)配置,而無需了解核內(nèi)部的實(shí)現(xiàn)功能),XPSMailbox提供了核與核之間的雙向通信信道。Mailbox在處理器之間的連接模型如圖3.2.1所示。3.2核間通信機(jī)制介紹圖3.2.1基于PLBv46總線架構(gòu)下的XPSMailboxFPGA

Mailbox比較適用于小于100字節(jié)數(shù)據(jù)的情況,因?yàn)榘l(fā)送方需要從自己的內(nèi)存中拷貝數(shù)據(jù),然后寫到Mailbox的FIFO中去,而相似的接收處理器則需要從FIFO中將數(shù)據(jù)拷貝出來。當(dāng)然,Mailbox的功能可以通過DMA來擴(kuò)展,省去了數(shù)據(jù)的復(fù)制,從而可傳遞更大的數(shù)據(jù)量?;贛ailbox的數(shù)據(jù)傳遞的框架圖如圖3.2.2所示。圖3.2.2Mailbox用于數(shù)據(jù)傳遞的框架圖3.2.2Mutex

Mutex是用于多核間共享資源時(shí)的一種同步機(jī)制,屬于硬件同步。值得注意的是:對(duì)于常用的軟件信號(hào)量和互斥鎖而言,一般都只適用于單一系統(tǒng),解決多進(jìn)程的問題;而相同軟件協(xié)議對(duì)于非對(duì)稱多處理器系統(tǒng)并不適用,因?yàn)椴煌幚砥魃系牟僮飨到y(tǒng)可能不同。Mutex的設(shè)計(jì)模塊如圖3.2.3所示。圖3.2.3Mutex用于同步機(jī)制的設(shè)計(jì)模塊3.2.3SharedMemory

共享內(nèi)存是一種典型的快速異步通信機(jī)制,因其使得零拷貝有實(shí)現(xiàn)可能,故非常適用于大于1000字節(jié)的大型數(shù)據(jù)量共享的情況,基于此通信機(jī)制的系統(tǒng)往往具備以下幾種特性:

任一處理器可以直接引用或是訪問共享內(nèi)存的任意位置;

通信的產(chǎn)生一般以處理器載入或是存儲(chǔ)指令等操作來觸發(fā);

內(nèi)存中的數(shù)據(jù)位置對(duì)程序員是透明的。數(shù)據(jù)將通過多處理器被分散存儲(chǔ),而這些細(xì)節(jié)在使用一些軟件API函數(shù)時(shí)并不需要考慮;

訪問共享內(nèi)存段時(shí)必須確保兩個(gè)處理器之間擁有一些硬件/軟件同步協(xié)議。

(1)基于片上雙端口內(nèi)存BlockRAM;

(2)基于MPMC(MultiPortMemoryController)的外部?jī)?nèi)存DDR。

Microblaze利用LMB接口實(shí)現(xiàn)與共享內(nèi)存的互連,而PowerPC405利用OCM接口實(shí)現(xiàn)與共享內(nèi)存的互連,如圖3.2.4所示。圖3.2.4Microblaze與PowerPC405之間通過BRAM實(shí)現(xiàn)資源共享目前,MPMC(v4.03a)最多提供了8個(gè)端口,因而允許3~4個(gè)處理器同一時(shí)間內(nèi)獨(dú)立訪問共享內(nèi)存。其劣勢(shì)在于,F(xiàn)PGA需要經(jīng)由MPMC訪問,故速度方面稍遜于片上共享資源。另外和BRAM共享有相同的問題,即需要軟件設(shè)計(jì)者通過分區(qū)等手段來決策哪些獨(dú)立區(qū)域可以共享,哪些不可以共享,同時(shí)有必要寫協(xié)議。利用DPRAM(BRAM)共享內(nèi)存機(jī)制進(jìn)行互連的多核體系如圖3.2.5所示。圖3.2.5MicroBlaze之間通過DPRAM(BRAM)兩兩達(dá)到數(shù)據(jù)共享3.2.4Interrupt

XPSInterruptController(XPSINTC)[12]也是一種較好的通信機(jī)制,它可以收集眾多外圍設(shè)備產(chǎn)生的中斷輸入,并最終為系統(tǒng)的處理器產(chǎn)生唯一的中斷輸出。所有用作檢測(cè)、使能以及確認(rèn)功效的中斷寄存器均通過PLBv46上的從接口連接在一起。中斷個(gè)數(shù)以及其他方面的相關(guān)配置可依據(jù)目標(biāo)系統(tǒng)而設(shè)定。Interrupt內(nèi)部結(jié)構(gòu)的模塊圖如圖3.2.6所示。圖3.2.6Interrupt內(nèi)部結(jié)構(gòu)的模塊圖3.2.5PLBv46_PLBv46Bridge

PLBv46的橋主要是針對(duì)基于PLB總線的多個(gè)處理器之間共享外圍設(shè)備的情況,比如共享串口RS232、CompactFlashCard等。同時(shí)它也可以用于隔離從屬于主PLB總線上的低速PLB外設(shè),以達(dá)到改善系統(tǒng)性能的效果。

基于Mailbox、Mutex、SharedMemory、Interrupt以及橋等通信同步手段的總體設(shè)計(jì)框架圖如圖3.2.7所示。圖3.2.7基于Mailbox、Mutex、SharedMemory以及橋通信手段的架構(gòu)圖3.2.6FSL互連體系

FSL(FastSimplexLink)提供了基于FIFO基礎(chǔ)的快速單向點(diǎn)對(duì)點(diǎn)通信,利用該機(jī)制并不能直接實(shí)現(xiàn)數(shù)據(jù)的共享,但是可以實(shí)現(xiàn)處理器之間數(shù)據(jù)的傳遞,另外,F(xiàn)SL也為核間數(shù)據(jù)傳遞提供了額外的控制比特位。FIFO的深度是可配置的,從1~8KB不等,并且同樣支持異步和同步模式,這為FSL總線上的主從設(shè)備采用不同時(shí)鐘頻率帶來了可能?;贔SL互連體系的硬件設(shè)計(jì)圖如圖3.2.8所示。圖3.2.8基于FSL互連體系的多核硬件系統(tǒng)設(shè)計(jì)圖3.2.7DAMController

XPSCentralDMAController為PLB總線上的外設(shè)以及內(nèi)存設(shè)備提供了簡(jiǎn)單的DirectMemoryAccess(DMA)服務(wù)??刂破骺蓪⒖勺償?shù)量的數(shù)據(jù)從源地址傳送至目的地址,且無需處理器的干涉。

DMA控制器主要有三大組成部分:SlaveAttachmentModule、MasterAttachmentModule以及FIFO。

基于DMA機(jī)制的通信系統(tǒng)設(shè)計(jì)模型如圖3.2.9所示。圖3.2.9基于DMA互連的多核通信系統(tǒng)硬件設(shè)計(jì)3.2.8混合衍生體系

混合衍生體系僅介紹以下兩種:

(1)?DRAM與FSL結(jié)合的互連體系,如圖3.2.10所示;

(2)基于滑動(dòng)窗口FIFO的FSL互連體系。

WFIFO的讀/寫邏輯設(shè)計(jì)的原理圖如圖3.2.11所示。圖3.2.10DRAM與FSL結(jié)合的互連體系圖3.2.11WFIFO讀/寫邏輯設(shè)計(jì)的原理圖從其原理圖看,寫進(jìn)程總是從BackwardFIFO中讀數(shù)據(jù),而往ForwardFIFO中寫數(shù)據(jù),讀操作則正好相反。WFIFO全局設(shè)計(jì)如圖3.2.12所示。應(yīng)用于多核系統(tǒng),其硬件設(shè)計(jì)和圖3.2.8類似。圖3.2.12WFIFO的全局設(shè)計(jì)本章主要介紹了ISE10.1開發(fā)套件中支持的多種總線機(jī)制,包括OPB、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論