国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種FIFO隊(duì)列的總線仲裁器的設(shè)計(jì)

2015-12-31 03:16朱麗蔡瑞
現(xiàn)代導(dǎo)航 2015年3期
關(guān)鍵詞:原理圖隊(duì)列仲裁

朱麗,蔡瑞

(中航飛機(jī)西安飛機(jī)分公司,西安 710089)

0 引言

進(jìn)入納米加工時(shí)代以來(lái),集成電路芯片的特征尺寸越來(lái)越小,單位芯片上的晶體管也越來(lái)越多,因此在單一集成電路芯片實(shí)現(xiàn)復(fù)雜的電子系統(tǒng)已成為學(xué)者們研究的熱門課題之一,集成電路設(shè)計(jì)也迎來(lái)了SOC片上系統(tǒng)(System on Chip)時(shí)代。

隨著SOC的高速發(fā)展,同一芯片上集成的模塊越來(lái)越多,系統(tǒng)各模塊之間的通信總線技術(shù)也隨之成為SOC的關(guān)鍵問(wèn)題之一。各類總線技術(shù)、通信架構(gòu)和資源調(diào)配已經(jīng)被廣泛研究和試驗(yàn)驗(yàn)證。

總線架構(gòu)和仲裁調(diào)度是解決片上系統(tǒng)資源沖突主要辦法,當(dāng)片上系統(tǒng)上有多個(gè)主設(shè)備同時(shí)發(fā)出請(qǐng)求信息時(shí),就會(huì)出現(xiàn)對(duì)資源的競(jìng)爭(zhēng),這時(shí)就應(yīng)該對(duì)設(shè)備進(jìn)行合理的調(diào)度,避免出現(xiàn)毫無(wú)秩序的一擁而上,而造成擁塞或者數(shù)據(jù)的丟失,因而設(shè)計(jì)出合理、公平、高效的仲裁機(jī)制尤為重要。為此,本文提出了一種基于隊(duì)列的混合優(yōu)先級(jí)仲裁機(jī)制,從而避免了“死鎖”和“饑餓”。

1 仲裁機(jī)制的基本原理

在系統(tǒng)中,總線可以看成是共享資源,多個(gè)主設(shè)備對(duì)總線的請(qǐng)求可以看成是資源的競(jìng)爭(zhēng),仲裁器是管理機(jī)構(gòu),監(jiān)視每個(gè)主設(shè)備發(fā)出的請(qǐng)求,根據(jù)其設(shè)定的仲裁算法而響應(yīng)相應(yīng)的主設(shè)備,并給出控制信號(hào)。所有的仲裁機(jī)制都還應(yīng)滿足:每一時(shí)刻至多只能有一個(gè)主設(shè)備訪問(wèn)總線;每次的訪問(wèn)都不能被打斷;先請(qǐng)求者先響應(yīng),若有多個(gè)主設(shè)備在同一時(shí)刻發(fā)出請(qǐng)求時(shí),按優(yōu)先級(jí)的高低依次響應(yīng);算法應(yīng)相對(duì)公平,保證每個(gè)主設(shè)備有同樣的概率訪問(wèn)總線。常用的仲裁算法有:固定優(yōu)先級(jí)(FP)和循環(huán)優(yōu)先級(jí)(RR)。

固定優(yōu)先級(jí):各個(gè)主設(shè)備的優(yōu)先級(jí)是確定的,不會(huì)因?yàn)槠渌庠诘臈l件而改變。當(dāng)多個(gè)主設(shè)備同時(shí)請(qǐng)求總線時(shí),仲裁器可以快速的響應(yīng)高優(yōu)先級(jí)的設(shè)備,以便有效的利用總線,這種算法的優(yōu)點(diǎn)是使得主要的設(shè)備可以及時(shí)快速的得到響應(yīng)。但缺點(diǎn)在于當(dāng)高優(yōu)先級(jí)的主設(shè)備一直占用總線資源的時(shí)候,低優(yōu)先級(jí)的主設(shè)備得不到響應(yīng),而造成高優(yōu)先級(jí)“撐死”和低優(yōu)先級(jí)“餓死”的現(xiàn)象。

循環(huán)優(yōu)先級(jí):各個(gè)主設(shè)備的優(yōu)先級(jí)隨著請(qǐng)求訪問(wèn)的過(guò)程在變化,且根據(jù)輪轉(zhuǎn)的規(guī)律變化,隨著主設(shè)備訪問(wèn)總線的結(jié)束,其優(yōu)先級(jí)變?yōu)樽畹?,在其后的主設(shè)備優(yōu)先級(jí)就變?yōu)樽罡?。這種算法在某種程度上來(lái)講保證了公平性,但是當(dāng)某個(gè)主設(shè)備需要對(duì)總線進(jìn)行多次訪問(wèn)請(qǐng)求時(shí),會(huì)由于優(yōu)先級(jí)的降低而增加訪問(wèn)延時(shí),降低效率。

基于以上兩種算法的特點(diǎn),在實(shí)際中往往將兩種算法結(jié)合起來(lái),從而構(gòu)成更靈活的仲裁機(jī)制。

2 仲裁算法設(shè)計(jì)

2.1 設(shè)計(jì)思想

FIFO隊(duì)列(Queue)是一種先來(lái)先服務(wù)的存儲(chǔ)器,包括一個(gè)存儲(chǔ)塊和一個(gè)能對(duì)數(shù)據(jù)進(jìn)出通道進(jìn)行管理的控制器,一是數(shù)據(jù)進(jìn)出有序,先進(jìn)先出;二是輸入輸出口獨(dú)立[1]。隊(duì)列有兩個(gè)地址指針,一個(gè)讀指針和一個(gè)寫指針,讀指針用于讀出下一個(gè)有效單元的數(shù)據(jù),寫指針用于將數(shù)據(jù)寫入下一個(gè)有效單元。在讀寫操作時(shí),隊(duì)列會(huì)先判斷是否空或滿。

本文采用的設(shè)計(jì)思路是先將頻繁訪問(wèn)總線的主設(shè)備的優(yōu)先級(jí)確定為最高,如果有請(qǐng)求則優(yōu)先響應(yīng),基于循環(huán)隊(duì)列的仲裁算法就是利用了以上隊(duì)列的特性,當(dāng)只有一個(gè)主設(shè)備請(qǐng)求總線時(shí),將仲裁結(jié)果進(jìn)入隊(duì)列。由于隊(duì)列先來(lái)先服務(wù)的特性,可以先申請(qǐng)先得到響應(yīng),當(dāng)有多個(gè)主設(shè)備請(qǐng)求總線時(shí),先采用仲裁算法進(jìn)行仲裁,然后根據(jù)優(yōu)先級(jí)的高低依次進(jìn)入隊(duì)列,最后依次進(jìn)行響應(yīng)。在進(jìn)入和出隊(duì)列時(shí),每次要先進(jìn)行判斷隊(duì)列是否空或滿,如果空,說(shuō)明當(dāng)前隊(duì)列中沒(méi)有對(duì)總線發(fā)出請(qǐng)求的設(shè)備,如果滿,說(shuō)明在有對(duì)總線發(fā)出請(qǐng)求的設(shè)備時(shí),已無(wú)法入隊(duì)列,只有當(dāng)隊(duì)列中有其他設(shè)備出隊(duì)列后,才能再次進(jìn)入隊(duì)列。

這種設(shè)計(jì)方法的即保證了高優(yōu)先級(jí)主設(shè)備的優(yōu)先性,又保證了其他主設(shè)備的公平性,且響應(yīng)時(shí)間短,采用隊(duì)列的方式不會(huì)由于同時(shí)訪問(wèn)總線而產(chǎn)生“死鎖”和“饑餓”現(xiàn)象。

2.2 仲裁器的組成分析與設(shè)計(jì)實(shí)現(xiàn)

本文設(shè)定有6個(gè)主設(shè)備,且主設(shè)備1和2的優(yōu)先級(jí)最高(主設(shè)備1的優(yōu)先級(jí)高于主設(shè)備2),對(duì)于主設(shè)備3、4、5和6采用循環(huán)優(yōu)先級(jí)的方式進(jìn)行優(yōu)先級(jí)的判斷,優(yōu)先級(jí)的算法如表1所示。

表1 優(yōu)先級(jí)算法

本設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法可分為H_round_arb/L_round_arb、H_queue_ram/L_queue_ram(H表示高優(yōu)先級(jí),L表示低優(yōu)先級(jí))和grant五個(gè)模塊,頂層設(shè)計(jì)原理如圖1所示。

圖1 總線仲裁器頂層設(shè)計(jì)原理圖

H_round_arb/L__round_arb模塊:此模塊的功 能是完成對(duì)請(qǐng)求總線主設(shè)備的仲裁,對(duì)同一時(shí)刻有多個(gè)主設(shè)備請(qǐng)求總線時(shí)H_round_arb采用固定優(yōu)先級(jí)進(jìn)行仲裁,L_round_arb采用循環(huán)優(yōu)先級(jí)進(jìn)行仲裁。具體流程如圖2所示。

圖2 仲裁過(guò)程設(shè)計(jì)原理圖

H_queue_ram/L_queue_ram模塊:此模塊的功能是根據(jù)仲裁模塊產(chǎn)生的主模塊先后順序依次寫入隊(duì)列中,隊(duì)列可直接利用FPGA中的FIFO進(jìn)行實(shí)現(xiàn)。具體流程如圖3所示。

圖3 隊(duì)列寫入原理圖

Grant模塊:此模塊的功能是根據(jù)隊(duì)列中的順序依次對(duì)主設(shè)備響應(yīng)總線。當(dāng)ctrl=1時(shí),響應(yīng)高優(yōu)先級(jí)隊(duì)列,當(dāng)ctrl=0時(shí)響應(yīng)低優(yōu)先級(jí)隊(duì)列。具體流程如圖4所示。

3 實(shí)驗(yàn)驗(yàn)證情況

本設(shè)計(jì)采用Verilog HDL硬件描述語(yǔ)言進(jìn)行了RTL級(jí)的代碼描述,在Modelsim6.4a環(huán)境下進(jìn)行了功能仿真驗(yàn)證,并采用Altera CycloneIV E系列芯片,在Altera的QuartusII11.0上進(jìn)行了設(shè)計(jì)及布局布線,用SignalTap II Logic Analyzer觀察波形,所得設(shè)計(jì)仿真波形如圖5所示。

圖4 隊(duì)列讀與響應(yīng)原理圖

圖5 仿真波形

當(dāng)所有的設(shè)備向總線發(fā)出請(qǐng)求時(shí),總線會(huì)優(yōu)先響應(yīng)1和2主設(shè)備,當(dāng)高優(yōu)先級(jí)響應(yīng)完時(shí),接著根據(jù)循環(huán)優(yōu)先級(jí)的判斷來(lái)依次響應(yīng)主設(shè)備,如圖中的主設(shè)備3、4、5、6,當(dāng)主設(shè)備5響應(yīng)完時(shí)由于主設(shè)備2發(fā)出了請(qǐng)求,因此要優(yōu)先響應(yīng),當(dāng)響應(yīng)完主設(shè)備2之后,接著響應(yīng)之前未響應(yīng)的在隊(duì)列中的主設(shè)備6,然后依次響應(yīng)主設(shè)備3,當(dāng)主設(shè)備3響應(yīng)完后,此時(shí)主設(shè)備4的優(yōu)先級(jí)較高,因此當(dāng)主設(shè)備3、4、5、6同時(shí)請(qǐng)求時(shí),優(yōu)先響應(yīng)主設(shè)備4。HGRANT=0和HMASTER=0表示當(dāng)前總線空閑。仿真結(jié)果表明,該設(shè)計(jì)達(dá)到了預(yù)期的目標(biāo)。

4 總結(jié)

在基于總線協(xié)議的SOC系統(tǒng)中仲裁算法有著廣泛的應(yīng)用,本文提出的算法結(jié)合了固定仲裁算法和循環(huán)優(yōu)先級(jí)算法的優(yōu)勢(shì),并通過(guò)隊(duì)列存儲(chǔ)的方式有效的解決了“死鎖”問(wèn)題,避免了擁塞現(xiàn)象,同時(shí)本設(shè)計(jì)既保證了高優(yōu)先級(jí)的優(yōu)先響應(yīng),又保證了低優(yōu)先級(jí)的公平性,且本算法的響應(yīng)時(shí)間短,設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單可靠。

[1]周先譜,仝曉梅.基于FIFO隊(duì)列的PCI總線仲裁器的設(shè)計(jì)與FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007(22).

[2]楊冬勤,黃航,張小燕,于忠臣.多路有序優(yōu)先級(jí)和有序環(huán)形仲裁器設(shè)計(jì)[J].計(jì)算機(jī)工程,2011,24.

[3]Banerjee,B.LS,Bangalore,India.TREAT THY SECONDARY(ALMOST)LIKE THY PRIMARY-A FAIRARBITERIN MASTER-SLAVECONFIGURATION[J].IEEE Xplore,2013:184-190.

[4]楊哲,張萍,馬佩軍,李康,史江一,舒保健.基于動(dòng)態(tài)混合優(yōu)先級(jí)算法的仲裁器設(shè)計(jì)[J].電子器件,2011,34(3).

[5]李耀榮,王光軍,梁利平 等.SoC總線仲裁算法的研究[J].微型計(jì)算機(jī)信息,2007.23(6-2):113-115.

[6]夏宏,王媛,李文娟.基于混合優(yōu)先權(quán)算法的AHB總線仲裁器設(shè)計(jì)[J].中國(guó)電力教育,2008,(S1).

[7]李玲,王祖強(qiáng).AHB總線仲裁器的設(shè)計(jì)[J].電子工程師,2005(1).

猜你喜歡
原理圖隊(duì)列仲裁
隊(duì)列里的小秘密
基于多隊(duì)列切換的SDN擁塞控制*
淺談STM32核心板原理圖設(shè)計(jì)
對(duì)不屬于仲裁委員會(huì)管轄范圍的仲裁申請(qǐng)如何處理?
電路原理圖自動(dòng)布圖系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于Protel DXP 2004層次原理圖的設(shè)計(jì)
在隊(duì)列里
一種多通道共享讀寫SDRAM的仲裁方法
豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
維修電工線路板的接線技巧分析
浮山县| 平南县| 贵港市| 左贡县| 武隆县| 丹寨县| 龙南县| 顺平县| 高安市| 通辽市| 临泽县| 罗田县| 玉溪市| 额尔古纳市| 砚山县| 玛纳斯县| 南平市| 柘荣县| 湖州市| 固阳县| 潢川县| 永定县| 讷河市| 成武县| 文化| 吉首市| 遂平县| 沧州市| 镇平县| 林西县| 荆州市| 墨玉县| 五莲县| 平昌县| 抚远县| 洛川县| 突泉县| 南丹县| 资阳市| 聂荣县| 咸阳市|