一種可重構(gòu)系統(tǒng)的動(dòng)態(tài)局部重構(gòu)控制器及其控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域,特別是涉及一種可重構(gòu)系統(tǒng)的動(dòng)態(tài)局部重構(gòu)控制器及其控制方法,可應(yīng)用于可重構(gòu)系統(tǒng)芯片設(shè)計(jì)中配置信息的動(dòng)態(tài)重構(gòu)。
【背景技術(shù)】
[0002]可重構(gòu)系統(tǒng)能夠在系統(tǒng)運(yùn)行時(shí)通過動(dòng)態(tài)配置改變其功能,同時(shí)保持較高計(jì)算性能,兼具高性能和高靈活的計(jì)算優(yōu)勢(shì),在許多領(lǐng)域得到了廣泛應(yīng)用。面向計(jì)算任務(wù)日趨復(fù)雜的應(yīng)用需求,可重構(gòu)系統(tǒng)執(zhí)行任務(wù)所需的配置信息的容量和復(fù)雜度日益增加,所需執(zhí)行的計(jì)算任務(wù)日趨復(fù)雜,可重構(gòu)系統(tǒng)的配置時(shí)間日益增加,影響可重構(gòu)系統(tǒng)性能。
【發(fā)明內(nèi)容】
[0003]發(fā)明目的:本發(fā)明的目的是提供一種能夠減少可重構(gòu)系統(tǒng)總的配置時(shí)間,提高可重構(gòu)系統(tǒng)的計(jì)算性能的可重構(gòu)系統(tǒng)的動(dòng)態(tài)局部重構(gòu)控制器及其控制方法。
[0004]技術(shù)方案:為達(dá)到此目的,本發(fā)明采用以下技術(shù)方案:
[0005]本發(fā)明所述的可重構(gòu)系統(tǒng)的動(dòng)態(tài)局部重構(gòu)控制器,包括可重構(gòu)計(jì)算陣列行、可重構(gòu)計(jì)算陣列行控制器、可重構(gòu)計(jì)算陣列配置接口、流水線寄存器和流水線控制器;其中:
[0006]可重構(gòu)計(jì)算陣列行:作為最小配置單位;
[0007]可重構(gòu)計(jì)算陣列行控制器:用于響應(yīng)可重構(gòu)計(jì)算陣列配置接口對(duì)當(dāng)前可重構(gòu)計(jì)算陣列行的配置完成標(biāo)志信號(hào)位的置位或者復(fù)位,響應(yīng)上一個(gè)可重構(gòu)計(jì)算陣列行的流水線寄存器的計(jì)算完成標(biāo)志信號(hào)位的置位或者復(fù)位,控制可重構(gòu)計(jì)算陣列行的使能,向流水線控制器置位或者復(fù)位流水線請(qǐng)求暫停標(biāo)志信號(hào)位,響應(yīng)流水線控制器發(fā)出的流水線暫停標(biāo)志信號(hào)位;
[0008]可重構(gòu)計(jì)算陣列配置接口:用于實(shí)現(xiàn)對(duì)可重構(gòu)計(jì)算陣列行的配置信息的切換,以及向可重構(gòu)計(jì)算陣行控制器進(jìn)行配置完成標(biāo)志信號(hào)位的置位或者復(fù)位;
[0009]流水線寄存器:用于實(shí)現(xiàn)流水線暫停時(shí)對(duì)可重構(gòu)計(jì)算陣列行的中間計(jì)算結(jié)果的保存,以及向可重構(gòu)計(jì)算陣列行控制器進(jìn)行計(jì)算完成標(biāo)志信號(hào)位的置位或者復(fù)位;
[0010]流水線控制器:用于實(shí)現(xiàn)流水線的暫停,響應(yīng)可重構(gòu)計(jì)算陣列行控制器的流水線請(qǐng)求暫停標(biāo)志信號(hào)位,向可重構(gòu)計(jì)算陣列行控制器進(jìn)行流水線暫停標(biāo)志信號(hào)位的置位或者復(fù)位。
[0011 ]本發(fā)明所述的可重構(gòu)系統(tǒng)的動(dòng)態(tài)局部重構(gòu)控制器的控制方法,包括如下的步驟:
[0012]S1:系統(tǒng)上電,重置;
[0013]S2:可重構(gòu)計(jì)算陣列配置接口接收外部配置信息并發(fā)送給可重構(gòu)計(jì)算陣列行;
[0014]S3:判斷當(dāng)前可重構(gòu)計(jì)算陣列行是否為第一行:如果為第一行,則進(jìn)行步驟S4;否貝1J,則進(jìn)行步驟S5;
[0015]S4:判斷該可重構(gòu)計(jì)算陣列行是否完成了配置信息切換:如果完成了配置信息切換,則使能該可重構(gòu)計(jì)算陣列行并進(jìn)行計(jì)算,計(jì)算的同時(shí)對(duì)下一個(gè)可重構(gòu)計(jì)算陣列行進(jìn)行配置信息切換,進(jìn)行步驟S5;如果未完成配置信息切換,則繼續(xù)配置該可重構(gòu)計(jì)算陣列行,完成了配置信息切換后,使能該可重構(gòu)計(jì)算陣列行并進(jìn)行計(jì)算,計(jì)算的同時(shí)對(duì)下一個(gè)可重構(gòu)計(jì)算陣列行進(jìn)行配置信息切換,進(jìn)行步驟S5;
[0016]S5:如果上一個(gè)可重構(gòu)計(jì)算陣列行計(jì)算完畢但是當(dāng)前可重構(gòu)計(jì)算陣列行未完成配置信息切換,則流水線暫停,當(dāng)前可重構(gòu)計(jì)算陣列行繼續(xù)切換配置信息,直到當(dāng)前可重構(gòu)計(jì)算陣列行已完成配置信息切換后進(jìn)行步驟S6;如果當(dāng)前可重構(gòu)計(jì)算陣列行已完成配置信息切換但是上一個(gè)可重構(gòu)計(jì)算陣列行未計(jì)算完畢,則上一個(gè)可重構(gòu)計(jì)算陣列行繼續(xù)計(jì)算,直到計(jì)算完畢后進(jìn)行步驟S6;
[0017]S6:使能當(dāng)前可重構(gòu)計(jì)算陣列行,判斷全部可重構(gòu)計(jì)算陣列行是否計(jì)算完成:如果計(jì)算完成,則繼續(xù)進(jìn)行步驟S7,如果未計(jì)算完成,則回到步驟S2;
[0018]S7:判斷是否需要切換數(shù)據(jù)流圖:如果是,則回到步驟S2;否則,結(jié)束。
[0019]進(jìn)一步,所述步驟S4中,當(dāng)可重構(gòu)計(jì)算陣列行完成了配置信息切換時(shí),可重構(gòu)計(jì)算陣列配置接口向該可重構(gòu)計(jì)算陣列行的可重構(gòu)計(jì)算陣列行控制器置位配置完成標(biāo)志信號(hào)位,使配置完成標(biāo)志信號(hào)位有效。
[0020]進(jìn)一步,所述步驟S5中,當(dāng)上一個(gè)可重構(gòu)計(jì)算陣列行計(jì)算完畢時(shí),上一個(gè)可重構(gòu)計(jì)算陣列行的流水線寄存器向可重構(gòu)計(jì)算陣列行控制器進(jìn)行計(jì)算完成標(biāo)志信號(hào)位的置位,使計(jì)算完成標(biāo)志信號(hào)位有效。
[0021 ]進(jìn)一步,所述步驟S5中,當(dāng)前可重構(gòu)計(jì)算陣列行未完成配置信息切換時(shí),當(dāng)前可重構(gòu)計(jì)算陣列行的可重構(gòu)計(jì)算陣列行控制器向流水線控制器置位流水線請(qǐng)求暫停標(biāo)志信號(hào)位,使流水線請(qǐng)求暫停標(biāo)志信號(hào)位有效,流水線控制器響應(yīng)并向當(dāng)前可重構(gòu)計(jì)算陣列行的可重構(gòu)計(jì)算陣列行控制器置位流水線暫停標(biāo)志信號(hào)位,使流水線暫停標(biāo)志信號(hào)位有效,從而使得流水線暫停。
[0022]有益效果:
[0023](I)本發(fā)明以可重構(gòu)計(jì)算陣列行作為最小配置單位,與以整個(gè)可重構(gòu)計(jì)算陣列作為最小配置單位相比,本發(fā)明通過可重構(gòu)計(jì)算陣列配置接口分行更新部分可重構(gòu)計(jì)算陣列行的配置信息,而其他可重構(gòu)計(jì)算陣列行的配置信息無需再次更新,從而減少了整個(gè)可重構(gòu)系統(tǒng)所需更新的配置信息量,縮短了整個(gè)可重構(gòu)系統(tǒng)所需的配置時(shí)間,提高了可重構(gòu)系統(tǒng)的性能;
[0024](2)與靜態(tài)重構(gòu)需要等到全部可重構(gòu)計(jì)算陣列行完成配置才啟動(dòng)計(jì)算相比,本發(fā)明只需當(dāng)前可重構(gòu)計(jì)算陣列行完成了配置信息切換并且上一個(gè)可重構(gòu)計(jì)算陣列行完成了計(jì)算即啟動(dòng)當(dāng)前可重構(gòu)計(jì)算陣列行的計(jì)算,無需等待其他可重構(gòu)計(jì)算陣列行完成配置信息切換與計(jì)算,從而將配置信息切換的時(shí)間部分隱藏于整個(gè)可重構(gòu)系統(tǒng)的計(jì)算時(shí)間內(nèi),縮短了配置信息切換引發(fā)的流水線暫停時(shí)間,提高了可重構(gòu)系統(tǒng)的性能。
【附圖說明】
[0025]圖1為本發(fā)明的系統(tǒng)框圖;
[0026]圖2為本發(fā)明的方法流程圖。
【具體實(shí)施方式】
[0027]下面結(jié)合【具體實(shí)施方式】對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步的介紹。
[0028]本發(fā)明公開了一種可重構(gòu)系統(tǒng)的動(dòng)態(tài)局部重構(gòu)控制器,如圖1所示,包括可重構(gòu)計(jì)算陣列行、可重構(gòu)計(jì)算陣列行控制器、可重構(gòu)計(jì)算陣列配置接口、流水線寄存器和流水線控制器;其中:
[0029]可重構(gòu)計(jì)算陣列行:作為最小配置單位;
[0030]可重構(gòu)計(jì)算陣列行控制器:用于響應(yīng)可重構(gòu)計(jì)算陣列配置接口對(duì)當(dāng)前可重構(gòu)計(jì)算陣列行的配置完成標(biāo)志信號(hào)位的置位或者復(fù)位,響應(yīng)上一個(gè)可重構(gòu)計(jì)算陣列行的流水線寄存器的計(jì)算完成標(biāo)志信號(hào)位的置位或者復(fù)位,控制可重構(gòu)計(jì)算陣列行的使能,向流水線控制器置位或者復(fù)位流水線請(qǐng)求暫停標(biāo)志信號(hào)位,響應(yīng)流水線控制器發(fā)出的流水線暫停標(biāo)志信號(hào)位;
[0031]可重構(gòu)計(jì)算陣列配置接口:用于實(shí)現(xiàn)對(duì)可重構(gòu)計(jì)算陣列行的配置信息的切換,以及向可重構(gòu)計(jì)算陣行控制器進(jìn)行配置完成標(biāo)志信號(hào)位的置位或者復(fù)位;
[0032]流水線寄存器:用于實(shí)現(xiàn)流水線暫停時(shí)對(duì)可重構(gòu)計(jì)算陣列行的中間計(jì)算結(jié)果的保存,以及向可重構(gòu)計(jì)算陣列行控制器進(jìn)行計(jì)算完成標(biāo)志信號(hào)位的置位或者復(fù)位;
[0033]流水線控制器:用于實(shí)現(xiàn)流水線的暫停,響應(yīng)可重構(gòu)計(jì)算陣列行控制器的流水線請(qǐng)求暫停標(biāo)志信號(hào)位,向可重構(gòu)計(jì)算陣列行控制器進(jìn)行流水線暫停標(biāo)志信號(hào)位的置位或者復(fù)位。
[0034]可重構(gòu)計(jì)算陣列行通過可重構(gòu)計(jì)算陣列配置接口接收外部配置信息,當(dāng)當(dāng)前可重構(gòu)計(jì)算陣列行的配置信息切換完成時(shí),可重構(gòu)計(jì)算陣列配置接口向當(dāng)前可重構(gòu)計(jì)算陣列行的可重構(gòu)計(jì)算陣列行控制器置位配置完成標(biāo)志信號(hào)位,使配置完成標(biāo)志信號(hào)位有效,如果上一個(gè)可重構(gòu)計(jì)算陣列行計(jì)算完成且流水線沒有暫停時(shí),使能當(dāng)前可重構(gòu)計(jì)算陣列行和流水線寄存器,當(dāng)前可重構(gòu)計(jì)算陣列行通過流水線讀取數(shù)據(jù)進(jìn)行計(jì)算,在當(dāng)前可重構(gòu)計(jì)算陣列行進(jìn)行計(jì)算的同時(shí)對(duì)下一個(gè)可重構(gòu)計(jì)算陣列行切換配置信息,如果當(dāng)前可重構(gòu)計(jì)算陣列行