機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
32位高性能嵌入式CPU中Load Aligner 模塊的設計與實現(xiàn)
32位高性能嵌入式CPU中Load Aligner 模塊的設計與實現(xiàn)
 更新時間:2008-8-18 10:27:46  點擊數:18
【字體: 字體顏色

32位高性能嵌入式CPU中Load Aligner 模塊的設計與實現(xiàn)
The Design of Load Aligner for a 32 bits CPU


同濟大學微電子中心 張書 王穎 林正浩
摘 要:在CPU中,Load Aligner模塊是DCACHE和數據通道之間的接口。從DCACHE中取出的數據只有通過Load Aligner模塊重新排序,才能進入CPU的數據通道。本文討論了該CPU中Load Aligner 模塊的設計與實現(xiàn),其中主要是數據通道部分的邏輯設計和電路設計,并給出了相關結果。
關鍵詞:Load Aligner;邏輯設計;電路設計;功能驗證;仿真
引言
---一般的,在CPU中,訪問寄存器比訪問主存速度要快。所以為了減少訪問存儲器而花的時間或延遲,MIPS4KC處理器采用了Load/Store設計。在CPU芯片上有許多寄存器,所有的操作都由存儲在寄存器里的操作數來完成,而主存只有通過Load和Store指令來訪問。這樣做不僅可以減少訪問主存的次數,有利于降低對主存儲器容量的要求,而且可以精簡指令集,有利于編譯人員優(yōu)化寄存器分配。Load Aligner就是數據存儲器(DCACHE)和數據通道之間的接口。所以設計出性能優(yōu)良的Load Aligner對提高CPU的整體性能是非常重要的。本文介紹了在一款32位CPU中Load Aligner模塊的設計與實現(xiàn),其中主要是數據通道部分的設計和實現(xiàn)。

設計目標
---本設計中,Load Aligner模塊要實現(xiàn)的指令有LB、LBU、LH、LHU、LW、LWL、LWR。CPU通過這些指令把從數據存儲器中取出來的數據重新排序,然后放進寄存器堆RF中,進入CPU的數據通道。表1是對這些指令的介紹。
---如果把從DCACHE中取出的一個32位的字表示成4字節(jié):A、B、C、D,如表2所示。
---那么經過上述指令操作后,這個字被重新排列的結果(即Load Aligner模塊的輸出,也用4字節(jié)來表示)見表3。
---表3中,s表示符號擴展,*表示這個字節(jié)上的寄存器中的數保持不變。不過在Load Aligner模塊,先將這些字節(jié)置0,在寄存器堆模塊再控制這些字節(jié)是否直接寫進寄存器。
---以上是Load Aligner模塊要實現(xiàn)的指令目標,另外由于此模塊是CPU關鍵路徑的一部分,因此數據通道部分最長時延不能超過0.7ns。
邏輯設計
---分析比較經過上述指令后Load Aligner模塊的輸入輸出變化可以看出:輸入字的每一字節(jié)經過Load Aligner模塊后可以在輸出字的任意字節(jié)位置上。換言之,輸出字的每一字節(jié)都可以有A、B、C、D四種情況。所以需要一個8位的控制信號Bit<7:0>來控制四個四選一的數據選擇器,稱為字節(jié)組合模塊,來獲得所需要的字節(jié)組合。不過,經過這個字節(jié)組合模塊選出來的4字節(jié)并不全是所需要的,還需要去掉冗余的字節(jié)或者進行符號擴展。因此需要有能夠產生符號擴展或者0擴展的模塊稱為符號產生模塊,然后把它的輸出和一個4位的控制信號Mask<3:0>一起控制一組二選一數據選擇器,稱為輸出模塊,來獲得最后的排序結果。邏輯實現(xiàn)流程圖見圖1。
---以上是Load Aligner模塊數據通道部分的設計。它還需要有控制模塊來產生上述控制信號,此外由于任何一個控制信號都要驅動數據通道子模塊中的32個cell,所以還要有一個驅動模塊來使控制信號有足夠的驅動能力。由以上分析,整個Load Aligner模塊的框圖如圖2所示。其中,控制模塊采用自動布局布線生成,而驅動模塊和數據通道模塊均采用全定制設計。

功能驗證
---對此模塊的RTL代碼和所設計的電路分別進行了功能驗證。設從DCACHE取出的32位數據用十六進制表示為AABBCCDD,對表3中的所有指令進行測試。圖3所示的波形圖就是依次測試指令LW、LH00、LHU00、LH10、LHU10、LB00、LBU00、LB01、LBU01、LB10等的結果。可以看出,結果與表3完全吻合。說明所設計的電路滿足設計目標,可以實現(xiàn)所要求的所有指令。

電路仿真
---根據圖1可以看出,從符號選擇信號Sandz<4:0>到輸出的路徑為最長路徑,我們選取這條路徑進行仿真,并考慮在0.18μm時線電阻電容對時延的影響,用Hspice確定了所需器件的尺寸。仿真結果如圖4所示。上升時時延為0.52ns,下降時時延為0.47ns,均滿足小于0.7ns 的要求。
結論

                
---在CPU中,Load Aligner模塊是DCACHE和數據通道之間的接口。從DCACHE中取出的數據只有通過Load Aligner模塊重新排序,才能進入CPU的數據通道。在設計中應用了自上而下的設計方法,所設計的電路實現(xiàn)了所有的指令,在時延上也達到了設計目標。

參考文獻
1 李學干.計算機系統(tǒng)結構.西安電子科技出版社.2000
2 CMOS Circuit Design, Layout, and Simulation. R. Jacob Baker and Harry W. Li and David E. Boyce. The Institute of Electrical and Electronics Engineers, Inc. New York. 1998
3 Digital Logic Circuit Analysis & Design, by N. P. Nelson.1997

[1] [2]  下一頁
  • 上一篇: 淺析通信系統(tǒng)中的準確度與時鐘發(fā)生器技術
  • 下一篇: 聲表面波振蕩器的優(yōu)化設計與實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1