《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 一款32位嵌入式CPU的定點加法器設計

一款32位嵌入式CPU的定點加法器設計

2008-08-12
作者:夏有為, 林正浩, 楊曉峰

  摘 要: 根據一款32位嵌入式CPU的400MHz主頻的要求,結合該CPU五級流水線結構,并借鑒各種算法成熟的加法器,提出了一種電路設計簡單、速度快、功耗低" title="功耗低">功耗低、版圖面積小的32位改進定點加法器的設計方案,為后續浮點加法器" title="浮點加法器">浮點加法器的設計提供了很好的鋪墊。
  關鍵詞: 借鑒 改進 定點 加法器


  從CPU的指令執行頻率上看,算術邏輯單元、程序計數器、協處理器是CPU中使用頻率最多的模塊,而加法器正是這些模塊的核心部件,幾乎所有的關鍵路徑都與之有關,因而設計一種通用于這些模塊的加法器是整個CPU設計中關鍵的一步。為此,筆者根據32位CPU的400MHz主頻的要求,結合CPU流水線結構,借鑒各種算法成熟的加法器,提出一種電路設計簡單、速度快、功耗低、版圖面積小的32位改進定點加法器的設計方案。
1 設計思路
  對于高性能CPU中使用的加法器,速度顯然是第一位的,所以考慮采用并行計算的方法,并且在電路的設計上采用少量的器件來獲得速度上的巨大提升。從面積角度出發,鏈式進位加法器(Ripple-Carry Adder)[1]的器件最少,面積最小,版圖工作量也最小,可是由于加法器的高位進位要等待低位的運算結束后才能得到,所以沒有辦法在速度上達到要求。鑒于此,采用類似于鏈式加法器的結構。
  首先從進位選擇加法器(Carry-Select Adder)[2]得到提示,將32位加法器一分為二,分為低16位加法器和高16位加法器,再將低16位加法器的進位輸出作為選擇信號,用于選擇高16位加法器的和及第27位的進位輸出(這個進位輸出要在溢出邏輯判斷中使用,而普通的加法器則不用產生進位)。通過這樣的處理,將一個32位的加法器簡化就成了兩個16位的加法器,如圖1所示。


  另外,從超前進位加法器(Carry-Look-Ahead Adder)[3]獲得提示,在超前進位加法器中引入中間變量G和P用于加速進位鏈的速度。而G和P在邏輯表達式上與前一級的進位無關,只與每一級的操作數輸入有關,而且它們又是構成本級進位的必要部分。在微處理器的數據通道" title="數據通道">數據通道上,數據傳輸是并行進行的,即兩個32位操作數幾乎同一時間到達加法器。所以,G和P不論是加法器的最低位還是加法器的最高位,幾乎都可以在相同的時間內得到,因而在進位鏈上就可以借鑒這個特點加速進位的傳遞。以一個四位加法器為例,有如下的邏輯推導過程:
  
  令上式中P1P2P3P4為Pgroup,G1P2P3P4+G2P3P4+G3P4+G4為Ggroup,如果將32位加法器劃分為若干的小塊,則每一個小塊都可以有自己相對應的Ggroup和Pgroup。由此可知對于整個加法器的時延" title="時延">時延來說,關鍵路徑的時延總值可以由三部分組成:①產生Ggroup和Pgroup的時延;②進位傳遞邏輯上的器件時延;③加法器進位鏈上的導線時延。對于這三類時延,時延①與時延(②+③)存在重疊的部分,于是使這兩類時延合理銜接,可以使得進位鏈上的邏輯級數最小,從而使得電路上的傳輸時延達到最小。
2 具體實現
2.1 4位加法器模塊的實現
  在具體的電路設計中,先將32位數據通道劃分成了高低兩部分,然后以4位為單元劃分成更小的模塊。這些模塊在結構上是基本一致的,但在功能上要完成本模塊四組操作數(A[k:k+3]和B[k:k+3])與進位Ck的加法運算,并要產生模塊的中間變量Ggroup和Pgroup的運算。
  對于單一的每一位,定義它的G和P分別為:Gi=AiBi, Pi=Ai⊕Bi,加法器的和SUMi=Ai⊕Bi⊕Ci-1=Pi⊕Ci-1,考慮到器件的實際驅動能力,結合加法器的另一個功能——減法運算,設計出如圖2所示的帶減法功能的一位加法器電路。


  設計的4位加法器進位鏈如圖3所示,除C0外,輸入(i和i)都是由圖2的一位加法器產生的,所有4位進位鏈Ci都按超前進位加法器連接方式[3]直接接入相應位置。由此可以看出,進位信號到達各位的邏輯級數是相當的,只要在進位信號到達之前使所有的中間信號i和i都能及時產生,就能及時得到每一位的和(SUM)。


  圖4是產生4位加法器塊進位及塊的Ggroup和Pgroup信號的電路。借鑒于超前進位加法器的傳遞邏輯電路" title="邏輯電路">邏輯電路[3],可知并不是所有的4位加法器都需要向它的下一個模塊傳送進位信號,而只要產生傳遞進位所需的Ggroup和Pgroup信號即可。而有些位置,由于進位鏈設計的實際需要,只需要利用4位加法器模塊產生的進位信號,而不必采用傳遞邏輯產生的進位信號,具體的情況還是有區別的。為了充分利用圖3中產生的相關信號的復用,在進位信號C4的產生電路部分,進位鏈方向上的邏輯級數只有兩級,可以說還是比較簡單了。可是,綜合前面所談到的4位加法器的電路,可以發現有一些中間信號(i和i)的負載是不均衡的,如2的負載比34要重很多。所以在設計的時候,如果考慮到盡量降低版圖的復雜程度,就要在面積上做出適當的犧牲,盡量以最大負載進行考慮,使得器件的設計符合時延上的要求;同時還要充分考慮到在深亞微米工藝條件下導線的時延問題,即設計的電路不但要考慮到所承受的器件的負載,而且還要結合版圖設計中實際的導線負載,定出上述電路的合理尺寸。


2.2 傳遞邏輯電路實現
  完成上述基本4位加法器的電路設計后,要構造一個完整的32位加法器還需借助于傳遞邏輯電路。傳遞邏輯電路可以對4位加法器模塊的進位進行傳遞,也可以對由兩個4位加法器模塊組成的8位加法器模塊的進位進行傳遞。對于8位加法器模塊,由于低4位的進位可以表示為C4=C0Ggroup+Pgroup,則8位加法器模塊的進位為:
  
  由此可以設計出如圖5和圖6所示的兩種進位傳遞邏輯電路。


2.3 溢出邏輯電路實現
  設計中還采用了判斷溢出的方法[4]。當兩個有符號數進行加減法運算時,若最高的數值位向符號位的進位(本設計中的C30)值與符號位產生的進位(本設計中的C31)輸出值不同,則表明加減運算產生了溢出。
  由上述可知,加法器時延的關鍵路徑在進位鏈上,而進行溢出判斷所需要的信息C30與C31都在這條路徑上。于是采用類似于進位跳位加法器(Carry-Skip Adder)[2]的辦法,使得低位的進位快速跳位到高位,使C30與C31快速產生。具體實現如下:
  ①溢出的邏輯表達式推導
  由于Overflow=(C30⊕C31)·Overflag(Overflag表示當前ALU加法器進行有符號運算),需要進行溢出判斷(它是ALU控制模塊在譯碼階段產生的,在指令執行階段起始段就輸出到數據通道,所以它不在關鍵路徑上)。
  
  顯然,分式(1)是和進位鏈無關的一部分,可以在每一個流水線的指令執行階段起始段很快得到,而分式(2)則是和進位鏈有關的部分,其具體邏輯值將取決于進位C27的值。分式(1)中高位的Gi和Pi都可以在進位C27到來之前預先得到,只要C27一到就可以進行邏輯判斷,得到相應的邏輯。
  
  ②溢出邏輯電路實現
  根據式(3)的邏輯表達式,可設計出加法器溢出邏輯產生電路,如圖7所示。


  設計得到的32位加法器在SMIC流片后,經測試,運算速度在400MHz以上,滿足設計要求,為后續浮點加法器的設計提供了很好的鋪墊。
參考文獻
1 John L Hennessy. David A Patterson. Computer Organization & Design——The Hardware/Software Interface(Second Edition).北京:機械工業出版社,1998
2 Jan M Rabaey. Digital Integrated Circuits. Person Education Inc. 2003, ISBN 0-13-090996
3 Weste.NeIL H.E., K. Eshraghian. Principles of CMOS VLSI Design. Addison Weley, 1993
4 Koren I. Computer Arithmetic Algorithms. Prentice Hall,1993

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
小黄鸭精品aⅴ导航网站入口| 久久人人爽人人| 欧美在线一区二区| 亚洲——在线| 亚洲资源在线观看| 亚洲一区二区在线看| 制服丝袜激情欧洲亚洲| 99国产一区二区三精品乱码| 亚洲精品久久久久久久久久久久久 | 一区二区激情小说| 日韩一级裸体免费视频| 日韩午夜在线播放| 一级成人国产| 一区二区三区久久网| 日韩一区二区精品| 亚洲天堂视频在线观看| 亚洲少妇中出一区| 亚洲一区区二区| 亚洲欧美激情视频| 午夜精品在线| 性做久久久久久久久| 欧美在线电影| 久久全国免费视频| 欧美91视频| 欧美精品一区二区视频| 欧美日韩另类一区| 国产精品sm| 国产农村妇女精品一二区| 国产亚洲成人一区| 精品动漫3d一区二区三区| 午夜在线一区二区| 国产区欧美区日韩区| 欧美精品一区二区三| 欧美亚洲免费在线| 久久国产欧美精品| 亚洲欧美日韩精品久久久久| 亚洲欧洲一区二区在线播放| 91久久精品日日躁夜夜躁欧美| 亚洲高清在线播放| 亚洲另类在线一区| 亚洲一区二区精品在线观看| 午夜精品久久久久久久久| 久久精品国产99国产精品澳门| 久久综合伊人77777尤物| 欧美黄色成人网| 国产精品国产一区二区| 国产日韩综合| 在线播放不卡| 99精品免费| 欧美一区二区视频网站| 亚洲精品欧美日韩| 午夜精品国产更新| 老鸭窝毛片一区二区三区| 欧美理论电影网| 国产精品亚洲成人| 亚洲国产成人高清精品| 夜夜嗨av一区二区三区网站四季av | 午夜在线电影亚洲一区| 久久精品一区二区三区不卡牛牛| 亚洲九九精品| 亚洲欧美日韩国产一区| 久久夜色精品亚洲噜噜国产mv| 欧美激情一区二区三区在线视频观看| 欧美肉体xxxx裸体137大胆| 国产亚洲欧美激情| 亚洲精品综合久久中文字幕| 午夜亚洲激情| 在线视频精品一区| 久久手机免费观看| 欧美午夜性色大片在线观看| 好吊妞**欧美| 在线一区免费观看| 亚洲激情小视频| 久久激情中文| 亚洲一区二区三区免费在线观看| 久久久亚洲国产美女国产盗摄| 欧美日韩aaaaa| 国内外成人免费激情在线视频网站| 亚洲人人精品| 欧美中文字幕在线视频| 亚洲图中文字幕| 另类欧美日韩国产在线| 国产精品免费区二区三区观看| 在线免费观看一区二区三区| 亚洲一区二区三区四区视频 | 亚洲一区免费在线观看| 欧美成年人网站| 国产一区二区三区视频在线观看| 日韩一区二区精品葵司在线| 亚洲激情电影中文字幕| 久久国产精品一区二区| 国产精品进线69影院| 亚洲精品一区在线观看香蕉| 亚洲高清自拍| 久久亚洲综合色| 国产欧美日韩综合一区在线播放 | 欧美巨乳波霸| 在线观看国产精品网站| 亚洲国产日韩一区| 亚洲二区免费| 久久精品视频免费播放| 国产精品乱码一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 欧美另类videos死尸| 激情视频亚洲| 欧美一区二区免费观在线| 亚洲免费一级电影| 欧美日韩岛国| 亚洲人精品午夜| 亚洲另类黄色| 欧美成人激情视频| 黄色日韩在线| 欧美在线地址| 久久精品99| 国产在线精品自拍| 性欧美办公室18xxxxhd| 性色av一区二区三区在线观看 | 亚洲欧美日韩另类精品一区二区三区| 在线亚洲伦理| 欧美日韩一区二区三区四区在线观看 | 中文欧美字幕免费| 亚洲图片欧洲图片日韩av| 欧美另类视频| 亚洲欧洲精品一区二区| 亚洲精品乱码久久久久| 欧美xxx在线观看| 国产亚洲欧美日韩美女| 欧美在线地址| 久久综合久久美利坚合众国| 狠狠色丁香婷婷综合久久片| 亚洲第一区色| 免费一级欧美片在线观看| 黄色欧美成人| 亚洲激情成人| 欧美极品色图| 一区二区三区欧美日韩| 午夜精彩视频在线观看不卡 | 久久成人国产精品| 国产视频观看一区| 久久疯狂做爰流白浆xx| 巨胸喷奶水www久久久免费动漫| 激情久久影院| 亚洲精品久久在线| 欧美久久久久免费| 亚洲视频中文字幕| 性欧美8khd高清极品| 国产丝袜一区二区| 久久精品一区二区三区不卡牛牛| 狼人社综合社区| 亚洲欧洲在线视频| 亚洲一区二区三区国产| 国产精品久久久久久户外露出 | 亚洲精品久久久一区二区三区| 夜夜夜久久久| 国产精品久久午夜| 欧美一区二区在线免费观看| 免费国产一区二区| 艳女tv在线观看国产一区| 欧美一级免费视频| 激情久久中文字幕| 一区二区三区欧美激情| 国产精品一区免费在线观看| 久久国产精品网站| 欧美日韩国产首页| 亚洲永久精品国产| 麻豆精品传媒视频| 日韩亚洲一区二区| 久久精品一本| 亚洲日韩欧美视频一区| 午夜精品三级视频福利| 精品动漫一区| 亚洲午夜国产成人av电影男同| 国产欧美在线视频| 亚洲日韩视频| 国产精品久久久久久久久婷婷| 亚洲日韩成人| 欧美制服丝袜| 亚洲人www| 久久精品久久综合| 亚洲人成毛片在线播放| 欧美一区二区成人6969| 1024欧美极品| 欧美亚洲一区| 亚洲盗摄视频| 欧美一级日韩一级| 亚洲黄色在线看| 欧美中文字幕视频| 亚洲精品视频啊美女在线直播| 性欧美大战久久久久久久免费观看 | 亚洲嫩草精品久久| 欧美成人亚洲成人| 午夜亚洲一区| 欧美视频在线观看一区二区| 亚洲高清一区二区三区| 国产精品久久久久久久久久ktv| 亚洲国产精品电影| 国产精品亚洲激情 | 亚洲裸体视频| 国产一区二区三区网站| 亚洲自拍偷拍视频|