• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于振蕩器相位同步的嵌入式系統寄存器分配方法技術方案

    技術編號:8271295 閱讀:201 留言:0更新日期:2013-01-31 03:29
    本發明專利技術公開了一種基于振蕩器相位同步的嵌入式系統寄存器分配方法,主要解決現有嵌入式系統寄存器分配時間較長的問題。其實現過程是:(1)繪制中間變量相互干擾圖;(2)取中間變量干擾圖的補圖;(3)用振蕩器對應補圖中的節點,求解振蕩器相位值;(4)根據t時刻振蕩器相位值,得出振蕩器相位同步情況;(5)將其對應節點存入臨時寄存器中;(6)把臨時寄存器中的中間變量轉存到系統寄存器中,完成嵌入式系統寄存器分配。本發明專利技術能在較短的時間內得到一個較好的嵌入式系統寄存器分配結果,可用于嵌入式系統編譯過程中對中間變量進行寄存器分配。

    【技術實現步驟摘要】
    本專利技術屬于計算機
    ,特別是編譯過程對中間變量的寄存器分配,可用于嵌入式系統。
    技術介紹
    隨著信息網絡技術的發展,以計算機技術為基礎的嵌入式系統對性能、實時性和可靠性的要求越來越高。在嵌入式系統中,編譯器直接影響系統性能,而寄存器分配又對編譯器生成的代碼質量有著重要影響。因此從寄存器分配角度出發優化編譯器的技術可有效 提高嵌入式系統中程序的執行效率。相對于存儲器,寄存器操作速度快但數量有限,需要盡可能的高效使用。因此寄存器分配問題就是決定如何優化使用嵌入式系統中的寄存器,盡量減少對嵌入式系統中存儲器的操作。具體地說就是在程序編譯過程中將產生的中間變量盡可能多的保存在寄存器中,減少被迫溢出到存儲器的中間變量個數,降低溢出代價。現有的嵌入式系統寄存器分配方法主要是基于圖論的方法,將寄存器分配問題轉換成圖著色模型,然后利用解決圖著色問題的算法獲得寄存器分配的結果。較早的基于圖著色模型的啟發式算法0CH,設計簡單,用時很少,但分配效果差。后來的混合進化算法HEA,對種群初始化后,通過免沖突交叉算子CFPX盡量使每個寄存器中的變量不沖突,然后通過局部搜索LSP調整個體中的中間變量從而減少中間變量的溢出個數,降低寄存器的溢出代價。這種方法雖然能夠得到較好的寄存器分配結果,但是需要大量的時間。
    技術實現思路
    本專利技術的目的在于針對上述已有技術的不足,提出一種基于振蕩器相位同步的嵌入式系統寄存器分配方法,以減少寄存器分配時間,從而提高嵌入式系統程序的執行效率。為了實現上述目的,本專利技術的技術方案包括如下步驟(I)將嵌入式系統編譯中的中間變量用節點表示,連接相互干擾的中間變量所對應的節點,得到干擾圖H;(2)保持干擾圖H中的節點不變,去掉干擾圖H中相連節點間的邊,連接干擾圖H中未連接的節點,得到干擾圖H的補圖G,生成補圖G的鄰接矩陣A={axy},x=l, 2,. . . N,y=l,2,... N,其中N為補圖G的節點數目;(3)用振蕩器對應補圖G中的節點,分別記為1,2,...,N,在[O, 2 Ji ]中隨機產生N個振蕩器初始相位,在[-0. 1,0. I]隨機產生N個振蕩器初始頻率,根據以下公式計算振蕩器的相位變化值 .+ sin( θι — A) V ακν =1^(0 = ] ,-ττΣ sin( θ — θ>) if = 0 、八 J=I其中,i = I, 2,... N, COi表示振蕩器i的固有頻率,ki,k2表示振蕩器的耦合強度,Θ i表示第i個振蕩器的相位值,Θ j表示第j個振蕩器相位值,axy表示鄰接矩陣A中的元素;(4)根據步驟(3)中的振蕩器初始相位和相位變化值,得到t時刻振蕩器1,2,...,N的相位,若t時刻第i個振蕩器和第j個振蕩器相位差的余弦值cos ( θ Γ Θ J >0. 99,則第i個振蕩器和第j個振蕩器相位同步; (5)把振蕩器1,2,. . .,N中相位同步的振蕩器所對應的結點放入同一個臨時寄存器,直到將所有的節點都分入L個臨時寄存器TR1,TR2,TRl, L彡I且為整數;(6)將臨時寄存器個數L與嵌入式系統寄存器個數M進行比較,若臨時寄存器個數L小于等于嵌入式系統寄存器個數M,則將臨時寄存器TR1, TR2,. . .,T&中的節點轉存到嵌入式系統寄存器R1, R2,..., Rl中,此時嵌入式系統寄存器溢出變量數X為0,溢出代價fitness為O ;否則,先將臨時寄存器TR1, TR2,. . . , TRl分為TR1, TR2,. . .,TRm和TRm+1,TRm+2, . . . , TRl兩部分,然后將臨時寄存器TR1, TR2,. . .,TRm中的節點轉存到嵌入式系統寄存器R1, R2,, Rm中,再將臨時寄存器TRm+1,TRm+2, ...,T&中的節點按照沖突最小原則加入到嵌入式系統寄存器R1, R2,..., Rm中,并使用局部搜索方法LSP對嵌入式系統寄存器R1, R2, · · ·, Rm的分配結果進行優化,得到嵌入式系統寄存器R1, R2, · · ·, Rm的節點、嵌入式系統寄存器溢出變量數X和嵌入式系統寄存器溢出代價fitness,完成嵌入式系統寄存器分配。本專利技術與現有的技術相比具有以下優點I、由于本專利技術充分利用圖論知識,對嵌入式系統的中間變量干擾圖建立補圖,與傳統圖著色方法中使用的原圖相比,本專利技術更加明確了中間變量之間的關系;2、由于本專利技術采用的振蕩器相位同步方法屬于并行處理方法,可一次性將節點分配到寄存器中,相比混合進化算法HEA,需要經過初始化、交叉、進化將節點分配到寄存器,大大減少了寄存器分配的時間,從而加快了嵌入式系統編譯的過程,有工程實用意義。附圖說明圖I是本專利技術的流程框圖;圖2是本專利技術實施例中中間變量的相互干擾圖;圖3是本專利技術實施例中中間變量相互干擾圖的補圖;圖4是本專利技術實施例中振蕩器隨時間變化的相位圖;圖5是本專利技術仿真試驗中20個中間變量的相互干擾圖;圖6是本專利技術仿真試驗中37個中間變量的相互干擾圖。具體實施例方式參照圖1,本專利技術具體實現步驟描述如下步驟I.繪制干擾圖H本專利技術的實施例選擇具體的嵌入式系統進行寄存器分配,嵌入式系統的11個中間變量用節點表示,記為1,2,...,11,連接相互干擾的中間變量所對應的節點,即分別將I與 2,I 與 4,I 與 7,I 與 9,2 與 3,2 與 6,2 與 8,3 與 5,3 與 7,3 與 10,4 與 5,4 與 6,4 與 10,5與8,5與9,6與11,7與11,8與11,9與11,10與11連接,繪制干擾圖,如圖2所示。步驟2.繪制干擾圖H的補圖G保持干擾圖H中的節點不變,去掉干擾圖H中相連節點間的邊,連接干擾圖H中未連接的節點,得到干擾圖H的補圖G,生成補圖G的鄰接矩陣A= {axy}, x, y表示節點,x=l, 2,... N, y=l, 2,... N, N為補圖G的節點數目,若節點x, y相連,axy=l,否則axy=0 ;在本實施例中,保持圖2的節點1,2,. . .,11不變,去掉圖2中相連的節點之間的邊,即分別將節點I與2,I與4,I與7,I與9,2與3,2與6,2與8,3與5,3與7,3與10,4與5,4與6,4與10,5與8,5與9,6與11,7與11,8與11,9與11,10與11之間的邊去掉,連接圖2中未連接的節點,即分別將節點I與3,I與5,I與6,I與8,I與10,I與11,2與4,2 與 5,2 與 7,2 與 9,2 與 10,2 與 11,3 與 6,3 與 8,3 與 9,3 與 11,4 與 7,4 與 8,4 與 9,4與 11,5 與 6,5 與 7,5 與 10,5 與 11,6 與 7,6 與 8,6 與 9,6 與 10,7 與 8,7 與 9,7 與 10,8與9,8與10,9與10連接,得到圖2的補圖G,如圖3所示,生成圖3的鄰接矩陣 10 10 110 10 11 0 10 110 10 111 10 110 10 110 1 0 1110 0 1110 1 11 0 0 1 1 1 0 0 1 1A = Il O I O I I I I I I O卜 0 10 11本文檔來自技高網...

    【技術保護點】
    一種基于振蕩器相位同步的嵌入式系統寄存器分配方法,包括如下步驟:(1)將嵌入式系統編譯中的中間變量用節點表示,連接相互干擾的中間變量所對應的節點,得到干擾圖H;(2)保持干擾圖H中的節點不變,去掉干擾圖H中相連節點間的邊,連接干擾圖H中未連接的節點,得到干擾圖H的補圖G,生成補圖G的鄰接矩陣A={axy},x=1,2,...N,y=1,2,...N,其中N為補圖G的節點數目;(3)用振蕩器對應補圖G中的節點,分別記為1,2,...,N,在[0,2π]中隨機產生N個振蕩器初始相位,在[?0.1,0.1]隨機產生N個振蕩器固有頻率,根據以下公式計算振蕩器的相位變化值:θ·i(t)=ωi+k1NΣj=1Nsin(θj-θi)ifaxy=1ωi-k2NΣj=1Nsin(θj-θi)ifaxy=0,其中,i=1,2,...N,ωi表示振蕩器i的固有頻率,k1,k2表示振蕩器的耦合強度,θi表示第i個振蕩器的相位值,θj表示第j個振蕩器相位值,axy表示鄰接矩陣A中的元素;(4)根據步驟(3)中的振蕩器初始相位和相位變化值,得到t時刻振蕩器1,2,...,N的相位,若t時刻第i個振蕩器和第j個振蕩器相位差的余弦值cos(θj?θi)>0.99,則第i個振蕩器和第j個振蕩器相位同步;(5)把振蕩器1,2,...,N中相位同步的振蕩器所對應的節點放入同一個臨時寄存器,直到將所有的節點都分入L個臨時寄存器TR1,TR2,...,TRL,L≥1且為整數;(6)將臨時寄存器個數L與嵌入式系統寄存器個數M進行比較,若臨時寄存器個數L小于等于嵌入式系統寄存器個數M,則將臨時寄存器TR1,TR2,...,TRL中的節點轉存到嵌入式系統寄存器R1,R2,...,RL中,此時嵌入式系統寄存器溢出變量數X為0,溢出代價fitness為0;否則,先將臨時寄存器TR1,TR2,...,TRL分為TR1,TR2,...,TRM和TRM+1,TRM+2,...,TRL兩部分,然后將臨時寄存器TR1,TR2,...,TRM中的節點轉存到嵌入式系統寄存器R1,R2,...,RM中,再將臨時寄存器TRM+1,TRM+2,...,TRL中的節點按照沖突最小原則加入到嵌入式系統寄存器R1,R2,...,RM中,并使用局部搜索方法LSP對嵌入式 系統寄存器R1,R2,...,RM的分配結果進行優化,得到嵌入式系統寄存器R1,R2,...,RM的節點、嵌入式系統寄存器溢出變量數X和嵌入式系統寄存器溢出代價fitness,完成嵌入式系統寄存器分配。...

    【技術特征摘要】
    1.一種基于振蕩器相位同步的嵌入式系統寄存器分配方法,包括如下步驟 (1)將嵌入式系統編譯中的中間變量用節點表示,連接相互干擾的中間變量所對應的節點,得到干擾圖H; (2)保持干擾圖H中的節點不變,去掉干擾圖H中相連節點間的邊,連接干擾圖H中未連接的節點,得到干擾圖H的補圖G,生成補圖G的鄰接矩陣A={axy},x=l, 2,... N,y=l,2,... N,其中N為補圖G的節點數目; (3)用振蕩器對應補圖G中的節點,分別記為1,2,...,N,在[O,2Ji]中隨機產生N個振蕩器初始相位,在[-0. 1,0. I]隨機產生N個振蕩器固有頻率,根據以下公式計算振蕩器的相位變化值2.根據權利要求I所述的方法,其中所述步驟(6)中的溢出變量數,為從嵌入式系統中的寄存器溢出到嵌入式系統中的存儲器的中間變量個數。3.根據權利要求I所述的方法,其中所述步驟(6)的溢出代價,為從嵌入式系統中的存儲器存取溢出中間變量花費的時間。4.根據權利要求I所述的方法,其中所述步驟(6)的沖突最小原則,是指嵌入式系統寄存器中新加入的中間變量與嵌入式系統寄存器中已有中間變量之間的相互沖突值最小。5.根據權利要求I所述的方法,其中步驟(6)所述的使用局部搜索方法LSP對嵌入式系統寄存器R1, R2, · · ·, Rm的分配結果進行優化,按如下步驟進行 6a)計算嵌入式系統寄存器R1, R2,...,Rm分配結果中的每個節點u的溢出因子S_Factor (u) =S—Cost (u) XCF (u,m),u=l,2. · · N,I < m < M,N 為節點個數,M 為寄存器個數,其中S_Cost(...

    【專利技術屬性】
    技術研發人員:吳建設侯霄茹焦李成尚榮華戚玉濤吳家驥韓紅白靜王達
    申請(專利權)人:西安電子科技大學
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲午夜无码片在线观看影院猛| 亚洲国产无套无码av电影| 中文字幕无码不卡一区二区三区| 无码人妻一区二区三区在线视频 | 人妻无码久久精品| 国精品无码一区二区三区在线蜜臀| 深夜a级毛片免费无码| 色窝窝无码一区二区三区成人网站| 久久久久av无码免费网| 国模无码一区二区三区| 无码国产69精品久久久久网站| 无码人妻aⅴ一区二区三区| 国产办公室秘书无码精品99| 精品少妇人妻AV无码专区不卡| 少妇人妻偷人精品无码视频新浪| 亚欧无码精品无码有性视频| 亚洲无码一区二区三区| 无码人妻熟妇AV又粗又大 | 精品无码国产一区二区三区AV| 无码丰满熟妇一区二区| 精品无码久久久久国产动漫3d| 亚洲真人无码永久在线| 亚洲午夜无码AV毛片久久| 国产强被迫伦姧在线观看无码| 亚洲AV无码无限在线观看不卡 | 无码中文在线二区免费| 无码人妻丰满熟妇精品区| 永久免费av无码入口国语片| 无码激情做a爰片毛片AV片| 亚洲欧洲无码一区二区三区| 无码人妻精品一区二区三区久久 | 69天堂人成无码麻豆免费视频| 国产成人精品无码一区二区三区| 无码国模国产在线无码精品国产自在久国产| 一本色道久久综合无码人妻| 一本色道无码道DVD在线观看 | 久久久久亚洲AV无码观看| 性无码免费一区二区三区在线 | 无码人妻啪啪一区二区| 亚洲AV日韩AV永久无码下载| 无码一区二区三区免费|