桶式移位器![]() 桶式移位器(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]。以下列出五種常見的資料字寬度及其桶式移位器需要的数据选择器數量:
在FO4中,關鍵路徑的成本為(預估,不考慮線路延遲):
用途桶式移位器常用的場合是用硬體實現浮点数運算時,若要進行浮點的加法或減法,兩個數字的有效位数需要對齊,也就是將較小的數字往右移,增加其次幂,直到兩個數字的次幂相等為止,實際作法是將二數的次幂相減,再利用桶式移位器右位移較小的數字,位移位元數即為二數的次幂的差。若不是用桶式移位器,而是一般較簡單的移位器,位移n位元需要n個時脈週期。 相關條目參考資料
外部連結
延伸閱讀
本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia