基于or1200微處理器的NoC系統(tǒng)設(shè)計(jì)
發(fā)布時(shí)間:2020-08-25 02:04
【摘要】: 由于系統(tǒng)芯片中IP核數(shù)目的逐漸增大,片上通信結(jié)構(gòu)逐漸成了整個(gè)SoC的性能瓶頸,基于共享總線的SoC通信結(jié)構(gòu)具有無(wú)法克服的局限性,這就對(duì)傳統(tǒng)的共享總線片上通信系統(tǒng)提出了嚴(yán)峻的挑戰(zhàn)。這時(shí),片上網(wǎng)絡(luò)(Network on chip)做為一種新的解決途徑被提出來(lái)了。片上網(wǎng)絡(luò)的可升級(jí)性(Scalable)和易擴(kuò)展性很好的滿足了新設(shè)計(jì)的要求。片上網(wǎng)絡(luò)逐漸發(fā)展成為片上總線之外的一種新的通信結(jié)構(gòu)。 本文設(shè)計(jì)一種片上互聯(lián)系統(tǒng),其中使用了OpenCores組織提供的開源IP核,包括處理器核OpenRISC1200,UART IP核和Conbus總線IP核。由于本文側(cè)重于互聯(lián)系統(tǒng)本身的建立,處理器核沒有配置緩存和MMU。為了與OpenRISC體系兼容,本文設(shè)計(jì)的IP核都是基于WISHBONE標(biāo)準(zhǔn),其中包括了存儲(chǔ)器IP核和控制程序執(zhí)行的同步部件。 本文的網(wǎng)絡(luò)拓?fù)涫褂玫氖菢湫屯負(fù)浣Y(jié)構(gòu),路由算法使用的是確定路由的源路由方法,交換機(jī)制使用的是存儲(chǔ)轉(zhuǎn)發(fā),數(shù)據(jù)流控制方面,通過(guò)在轉(zhuǎn)發(fā)過(guò)程中不握手使數(shù)據(jù)包不會(huì)阻塞,從而防止死鎖,同時(shí)通過(guò)設(shè)置足夠的緩存來(lái)防止數(shù)據(jù)包的丟失。由于緩存大小是資源占用中一個(gè)很重要的因素,通過(guò)對(duì)最壞情況的討論本文對(duì)緩存的大小設(shè)置進(jìn)行了詳細(xì)討論。 通過(guò)對(duì)兩種樹型結(jié)構(gòu)和總線結(jié)構(gòu)在覆蓋面積和性能上作了比較,可以看到NoC在犧牲了覆蓋面積的同時(shí)獲得了性能上的提高。最后指出了系統(tǒng)中的不足,分析了影響程序并行性的因素,并給出了解決策略。
【學(xué)位授予單位】:大連理工大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2008
【分類號(hào)】:TP332;TN47
【圖文】:
這些虛擬通道通過(guò)時(shí)分復(fù)用一條物理信道。如圖2.5所示,一個(gè)12個(gè)flit的緩存被劃分為4條虛擬通道,每條虛擬通道有3個(gè)flit的緩存。在蟲洞路由網(wǎng)絡(luò)中引入虛擬通道技術(shù),如圖2.6所示,每個(gè)數(shù)據(jù)包就將占用一條虛擬通道,如果一個(gè)數(shù)據(jù)包被阻塞了,其他的數(shù)據(jù)包還可以通過(guò)剩下的虛擬通道到達(dá)自己
器連接lP核和外部網(wǎng)絡(luò)的接口,它把計(jì)算和通信過(guò)地址和一些控制信號(hào)來(lái)通信的,網(wǎng)絡(luò)中的通信lP核要傳輸?shù)牡刂,?shù)據(jù)和控制信號(hào)封裝成包程很簡(jiǎn)單但很重要,IP核的接口和網(wǎng)絡(luò)傳輸要提核越能夠與網(wǎng)絡(luò)兼容,適配器的設(shè)計(jì)就會(huì)越簡(jiǎn)單端要與網(wǎng)絡(luò)相連,網(wǎng)絡(luò)要提供一個(gè)定義通信規(guī)范連,IP核提供的接口是WISHBONE兼容的。由決定了要為每種IP核分別設(shè)計(jì)一種適配器。網(wǎng)絡(luò)適配器從設(shè)備發(fā)送一個(gè)請(qǐng)求時(shí),它先把數(shù)據(jù)發(fā)送給適配,發(fā)送到網(wǎng)絡(luò)上。數(shù)據(jù)包的具體結(jié)構(gòu)可以參照
HellO3夔圖4.1正常執(zhí)行情況 Fig.4.1Normalresul-多核系統(tǒng)中的每個(gè)處理器顯然都需要一個(gè)單獨(dú)的棧,這需要在reset代碼中設(shè)置。通過(guò)信號(hào)量保證一次只有一個(gè)處理器設(shè)置自己的棧,默認(rèn)棧指針變量加上一個(gè)偏移量得到一個(gè)唯一的棧指針,然后計(jì)算新的偏移量,保存以后信號(hào)量轉(zhuǎn)移到下一個(gè)處理器。在實(shí)際程序中,由于沒有操作系統(tǒng),所以也就沒有虛擬內(nèi)存,線程或是其它措施來(lái)管理程序,程序的管理只能依靠程序自己的結(jié)構(gòu)。這里要防止所有的處理器都執(zhí)行相同的代碼。在Hello一 UART的測(cè)試程序中,我們使用了一個(gè)變量和信號(hào)量來(lái)解決。首先使用信號(hào)量來(lái)保證在任意的時(shí)間只有一個(gè)處理器可以訪問這個(gè)變量,case語(yǔ)句用這個(gè)變量決定不同的處理器執(zhí)行不同的任務(wù)。在這里每個(gè)任務(wù)是使UART輸出“Hello”加上一
本文編號(hào):2803121
【學(xué)位授予單位】:大連理工大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2008
【分類號(hào)】:TP332;TN47
【圖文】:
這些虛擬通道通過(guò)時(shí)分復(fù)用一條物理信道。如圖2.5所示,一個(gè)12個(gè)flit的緩存被劃分為4條虛擬通道,每條虛擬通道有3個(gè)flit的緩存。在蟲洞路由網(wǎng)絡(luò)中引入虛擬通道技術(shù),如圖2.6所示,每個(gè)數(shù)據(jù)包就將占用一條虛擬通道,如果一個(gè)數(shù)據(jù)包被阻塞了,其他的數(shù)據(jù)包還可以通過(guò)剩下的虛擬通道到達(dá)自己
器連接lP核和外部網(wǎng)絡(luò)的接口,它把計(jì)算和通信過(guò)地址和一些控制信號(hào)來(lái)通信的,網(wǎng)絡(luò)中的通信lP核要傳輸?shù)牡刂,?shù)據(jù)和控制信號(hào)封裝成包程很簡(jiǎn)單但很重要,IP核的接口和網(wǎng)絡(luò)傳輸要提核越能夠與網(wǎng)絡(luò)兼容,適配器的設(shè)計(jì)就會(huì)越簡(jiǎn)單端要與網(wǎng)絡(luò)相連,網(wǎng)絡(luò)要提供一個(gè)定義通信規(guī)范連,IP核提供的接口是WISHBONE兼容的。由決定了要為每種IP核分別設(shè)計(jì)一種適配器。網(wǎng)絡(luò)適配器從設(shè)備發(fā)送一個(gè)請(qǐng)求時(shí),它先把數(shù)據(jù)發(fā)送給適配,發(fā)送到網(wǎng)絡(luò)上。數(shù)據(jù)包的具體結(jié)構(gòu)可以參照
HellO3夔圖4.1正常執(zhí)行情況 Fig.4.1Normalresul-多核系統(tǒng)中的每個(gè)處理器顯然都需要一個(gè)單獨(dú)的棧,這需要在reset代碼中設(shè)置。通過(guò)信號(hào)量保證一次只有一個(gè)處理器設(shè)置自己的棧,默認(rèn)棧指針變量加上一個(gè)偏移量得到一個(gè)唯一的棧指針,然后計(jì)算新的偏移量,保存以后信號(hào)量轉(zhuǎn)移到下一個(gè)處理器。在實(shí)際程序中,由于沒有操作系統(tǒng),所以也就沒有虛擬內(nèi)存,線程或是其它措施來(lái)管理程序,程序的管理只能依靠程序自己的結(jié)構(gòu)。這里要防止所有的處理器都執(zhí)行相同的代碼。在Hello一 UART的測(cè)試程序中,我們使用了一個(gè)變量和信號(hào)量來(lái)解決。首先使用信號(hào)量來(lái)保證在任意的時(shí)間只有一個(gè)處理器可以訪問這個(gè)變量,case語(yǔ)句用這個(gè)變量決定不同的處理器執(zhí)行不同的任務(wù)。在這里每個(gè)任務(wù)是使UART輸出“Hello”加上一
【參考文獻(xiàn)】
相關(guān)期刊論文 前1條
1 葛晨陽(yáng),徐維樸,孫飛;IP復(fù)用技術(shù)的研究[J];微電子學(xué);2002年04期
本文編號(hào):2803121
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2803121.html
最近更新
教材專著