桶式移位器
(重定向自筒型位移器)
桶式移位器(barrel shifter)是一種數位電路,可以在一個時脈週期內,將資料字進行特定位元數的移位。桶式移位器可以用一串的数据选择器實現,某一個数据选择器的輸出是其他数据选择器的輸入,其關係則視要位移的位元數而定。
例如,以一個四位元的桶式移位器為例,一開始的輸入是A, B, C及D,桶式移位器可以由輸入ABCD得到DABC、CDAB或BCDA,所有位元的資訊都會留下來,只是位置以循環組合的方式改變,桶式移位器有許多不同的應用,是微處理器中的一個重要成份。
實現编辑
桶式移位器可以用平行的2×1数据选择器的組合而成。對於8位元的桶式移位器,需要二個中間的訊號,分別表示位移四位元、二位元或是不位移,這是依S[2]和S[1]的值而定,訊號會再經過数据选择器位移一位元,這是由S[0]控制。
int1 = IN , if S[2] == 0 = IN << 4, if S[2] == 1 int2 = int1 , if S[1] == 0 = int1 << 2, if S[1] == 1 OUT = int2 , if S[0] == 0 = int2 << 1, if S[0] == 1
較大的桶式移位器會有更多的中間訊號。
成本编辑
n位元資料的桶式移位器,需要的数据选择器數量為 .[1]。以下列出五種常見的資料字寬度及其桶式移位器需要的数据选择器數量:
- 128位元 —
- 64位元 —
- 32位元 —
- 16位元 —
- 8位元 —
在FO4中,關鍵路徑的成本為(預估,不考慮線路延遲):
- 32位元:從18 FO4到14 FO4[2]
用途编辑
桶式移位器常用的場合是用硬體實現浮点数運算時,若要進行浮點的加法或減法,兩個數字的有效位数需要對齊,也就是將較小的數字往右移,增加其次幂,直到兩個數字的次幂相等為止,實際作法是將二數的次幂相減,再利用桶式移位器右位移較小的數字,位移位元數即為二數的次幂的差。若不是用桶式移位器,而是一般較簡單的移位器,位移n位元需要n個時脈週期。
相關條目编辑
- 環式移位
參考資料编辑
- ^ Kroening, D.; Strichman, Ofer. Decision Procedures. Springer. 2008.
p.159.
- ^ Revisiting the FO4 Metric. realworldtech.com. [2015-02-08]. (原始内容存档于2012-03-13).
外部連結编辑
- University of Hamburg for a useful Java Barrel shifter.
- Xilinx Application Note (页面存档备份,存于互联网档案馆) Implementation of Barrel shifter using Xilinx FPGAs.
延伸閱讀编辑
- Kroening, Daniel; Strichman, Ofer. Decision Procedures. Springer. 2008. ISBN 978-3-540-74104-6.
本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。
🔥 Top keywords: Baike: 首页Special:搜索胖猫跳江事件背着善宰跑九龍城寨之圍城逆天奇案2璩静淚之女王歌手2024Energy (組合)新生 (网络剧)习近平匈牙利邊佑錫劉俊謙 (香港)金智媛神耆小子塞尔维亚金秀賢 (男演員)母亲节猩球崛起:王國誕生九龍寨城馴鹿寶貝家族榮耀之繼承者Seventeen (組合)六四事件不夠善良的我們张维为楊佩潔TripleS支配物种庆余年郭葦昀洪若潭命案金惠奫2024年英雄联盟季中邀请赛春色寄情人BABYMONSTER笑看風雲乘風2024排球少年!!角色列表破墓徐巧芯中华人民共和国中華民國打天下2WIND BREAKER—防風少年—习明泽排球少年!!彭丽媛磁暴ILLIT贾斯汀·比伯逆天奇案BOYNEXTDOOR猿人爭霸戰:猩凶革命張書偉我的婆婆怎麼那麼可愛我獨自升級怪獸8號謝坤達IVE (組合)與鳳行關於我轉生變成史萊姆這檔事角色列表黃道十二宮福建號航空母艦虽然不是英雄葉乃文五月天張員瑛草榴社区張文傑2024年花蓮地震极光香緹·摩爾迷宮飯呂家愷搜查班長1958日本劉德華海莉·鮑德溫蕭景鴻越位 (足球)葬送的芙莉蓮周處除三害 (電影)毛泽东願榮光歸香港林峯周雨彤伍允龍羅毓儀香港Baike: 分類索引沒有秘密猩球崛起:終極決戰角質層唐振剛柯佳嬿文化大革命