版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1ALU設(shè)計(jì)簡(jiǎn)介及源代碼行波進(jìn)位加法器gi=ai
·
bi
(0≤i≤n-1)
pi=ai
bi
(0≤i≤n-1)
ci+1=gi
+
pi
·ci
(0≤i≤n-1)
si=ai
bi
ci=pi
ci
(0≤i≤n-1)第2頁(yè)/共39頁(yè)第1頁(yè)/共39頁(yè)ALU設(shè)計(jì)—gipi生成S3S2S1S0MC0100110011011第3頁(yè)/共39頁(yè)第2頁(yè)/共39頁(yè)ALU設(shè)計(jì)—gipi生成邏輯M第4頁(yè)/共39頁(yè)第3頁(yè)/共39頁(yè)采用行波進(jìn)位的ALU邏輯第5頁(yè)/共39頁(yè)第4頁(yè)/共39頁(yè)無符號(hào)數(shù)除法算法-不恢復(fù)余數(shù)除法舉例A=14=1110除B=001100000111000001110左移一位
-00011減(B)─────────111101100P是負(fù)的,商“0”11101100左移一位
+00011加(B)─────────000001001P是非負(fù)的,商“1”00001001左移一位
-00011減(B)─────────111100010P是負(fù)的,商“0”11100010左移一位
+00011加(B)─────────111110100P是負(fù)的,商“0”+00011余數(shù)是負(fù)的,作最后恢復(fù)─────────
00010商是0100,余數(shù)是0010Pnan-1……a0加法器bn-1……b00P:余數(shù)寄存器a:被除數(shù)寄存器(有左移位功能)b:除數(shù)寄存器第6頁(yè)/共39頁(yè)第5頁(yè)/共39頁(yè)無符號(hào)數(shù)除法算法-不恢復(fù)余數(shù)除法舉例A=-7=11001除B=-3=11101|B|=001100000011100000111左移一位
+11101加(B)─────────111011110P是負(fù)的,商“0”11011110左移一位
-11101減(B)─────────111101100P是負(fù)的,商“0”11101100左移一位
+11101加(B)─────────111101000P是負(fù)的,商“0”11101010左移一位
-11101減(B)─────────111110100P是負(fù)的,商“0”+00011余數(shù)是負(fù)的,作最后恢復(fù)─────────
00010商是0100,余數(shù)是0010Pnan-1……a0加法器bn-1……b00P:余數(shù)寄存器a:被除數(shù)寄存器(有左移位功能)b:除數(shù)寄存器第7頁(yè)/共39頁(yè)第6頁(yè)/共39頁(yè)借助ALU實(shí)現(xiàn)除法運(yùn)算ALUSRdstsrc1src2左移一位SignA總線B總線C總線S[3:0]MC0第8頁(yè)/共39頁(yè)第7頁(yè)/共39頁(yè)無符號(hào)數(shù)除法計(jì)算過程無符號(hào)整數(shù)除法占用35個(gè)時(shí)鐘周期。第一個(gè)周期完成被除數(shù)初始化操作:
dst←0
同時(shí)為了與有符號(hào)整數(shù)除法一致,在A、B總線上要分別讀出src1和src2/lit的值。第二個(gè)周期將被除數(shù)送到移位寄存器SR中:
SR←(src1)中間32個(gè)周期完成下列重復(fù)動(dòng)作:
dst←21·(dst)&(SR)-(-1)sign(dst)(src2)│litSR←21·(SR)&!sign(dst),上商當(dāng)前余數(shù)(在dst寄存器中)左移1位時(shí)最低位移入SR的最高位。上商規(guī)則是本次計(jì)算結(jié)果為正則商1,否則商0。最后一個(gè)周期將商從SR送到dst中。第9頁(yè)/共39頁(yè)第8頁(yè)/共39頁(yè)有符號(hào)數(shù)除法計(jì)算過程對(duì)有符號(hào)整數(shù),將符號(hào)數(shù)轉(zhuǎn)換為無符號(hào)數(shù)再按無符號(hào)數(shù)方法計(jì)算。第一步:目的寄存器送全“0”,同時(shí)記錄src1和src2的符號(hào),
dst←0,判(src1)、(src2)│lit的符號(hào)第二步:將被除數(shù)src1送SR寄存器。若被除數(shù)為負(fù),將其求補(bǔ)后再送SR寄存器。第3~34步:重復(fù)執(zhí)行如下操作:
dst←21·((dst)&(SR))+(-1)sign(dst)·(-1)sign((src2)│lit)·((src2)│lit)SR←21·(SR),上商上商的規(guī)則與無符號(hào)數(shù)除法相同。第35步:送結(jié)果到目的寄存器。若結(jié)果為負(fù)則求補(bǔ)后再送目的寄存器。
dst←(-1)sign((src2)│lit)^sign(src1)·(SR)(通過減法或傳送實(shí)現(xiàn))第10頁(yè)/共39頁(yè)第9頁(yè)/共39頁(yè)ALU--HDL實(shí)現(xiàn)modulealu_core(opA,opB,S,Cin,M,DO,C,N,Z,V);inputwire[32:0]opA,opB;inputwire[3:0]S;inputwireM,Cin;outputreg[31:0]DO; outputregC,V,N,Z;reg[32:0]LT3,LT2,LT1,LT0,P,G;reg[32:0]Dout;integeri;reg[32:0]zero;reg[33:0]CA;always@(opAoropBorS)for(i=0;i<33;i=i+1)beginLT3[i]=S[3]&opA[i]&opB[i]; LT2[i]=S[2]&opA[i]&~opB[i];LT1[i]=S[1]&~opA[i]&opB[i];LT0[i]=S[0]&~opA[i]&~opB[i];end
always@(LT3orLT2orLT1orLT0orM)for(i=0;i<33;i=i+1)beginP[i]=~(LT3[i]|LT2[i]|LT1[i]|LT0[i]);G[i]=LT3[i]|LT2[i]|~M;endalways@(PorGorCin)beginCA[0]=Cin; //CA[i]:carrytoibitfor(i=0;i<33;i=i+1) beginCA[i+1]=G[i]|(P[i]&CA[i]);Dout[i]=P[i]^CA[i];end{C,DO}=Dout;V=Dout[32]^Dout[31];if(DO)Z=0;elseZ=1;N=DO[31]; endendmodule第11頁(yè)/共39頁(yè)第10頁(yè)/共39頁(yè)定點(diǎn)乘法器設(shè)計(jì)第12頁(yè)/共39頁(yè)第11頁(yè)/共39頁(yè)定點(diǎn)乘法器設(shè)計(jì)乘法器是高性能微處理器中的關(guān)鍵部件,是進(jìn)行高速計(jì)算特別是信號(hào)處理等方面應(yīng)用時(shí)所必須的。定點(diǎn)乘法器應(yīng)支持有符號(hào)數(shù)和無符號(hào)數(shù)乘法。本章主要介紹32位定點(diǎn)乘法器設(shè)計(jì)方法:假定:
被乘數(shù):A=an-1an-2
…a0
乘數(shù):B=bn-1bn-2…b0
乘積:P=AB第13頁(yè)/共39頁(yè)第12頁(yè)/共39頁(yè)乘法計(jì)算方法用筆算進(jìn)行乘法計(jì)算的方法為:01011010000001010000010100110010乘積部分積乘數(shù)被乘數(shù)術(shù)語(yǔ)乘法計(jì)算過程產(chǎn)生部分積部分積相加第14頁(yè)/共39頁(yè)第13頁(yè)/共39頁(yè)乘法運(yùn)算的關(guān)鍵要提高乘法計(jì)算速度,需要:加快部分積的形成減少部分積數(shù)目采用多位掃描、跳過連續(xù)的0/1串和對(duì)乘數(shù)重編碼(如Booth算法)等處理方法加快部分積加法運(yùn)算的速度一般是利用進(jìn)位保留加法器(CSA)先使參與操作的部分積形成兩個(gè)數(shù)(這兩個(gè)數(shù)分別是偽和與局部進(jìn)位)第15頁(yè)/共39頁(yè)第14頁(yè)/共39頁(yè)二階Booth算法0011000100110001
0二階Booth編碼bi+1bibi-1重編碼操作0000中間結(jié)果右移2位0011加A;中間結(jié)果右移2位0101加A;中間結(jié)果右移2位0112加2A;中間結(jié)果右移2位100-2減2A;中間結(jié)果右移2位101-1減A;中間結(jié)果右移2位110-1減A;中間結(jié)果右移2位1110中間結(jié)果右移2位01010010100001010010110111110101531h=?11-212020最低位補(bǔ)一位0為什么?第16頁(yè)/共39頁(yè)第15頁(yè)/共39頁(yè)二階Booth算法乘數(shù):B=bn-1bn-2…b0=-bn-12n-1+bn-22n-2+bn-32n-3+bn-42n-4+…+b020=-2bn-12n-2+bn-22n-2+bn-32n-2-bn-32n-3+bn-42n-4+…+b020=(-2bn-1
+bn-2+bn-3)2n-2-bn-32n-3
+bn-42n-4+…+b020乘數(shù)必須是偶數(shù)位第17頁(yè)/共39頁(yè)第16頁(yè)/共39頁(yè)二階Booth算法—控制信號(hào)編碼b2i+1b2ib2i-1重編碼符號(hào)與數(shù)值分別控制直接按重新編碼控制NEGB1B2YZYP1YN1YP2YN2000000010000001101001000010101001000011200100010100-210100001101-111000100110-111000100111-010010000NEG2i=b2i+1部分積取1倍的控制信號(hào)B12i邏輯是:B12i=b2Ib2i-1部分積取2倍的控制信號(hào)B22i邏輯是:對(duì)于第j位部分積產(chǎn)生邏輯:pp2i,j=(aj·B12i+aj-1·B22i)NEG2i第18頁(yè)/共39頁(yè)第17頁(yè)/共39頁(yè)二階Booth算法—控制信號(hào)產(chǎn)生邏輯編碼電路部分積產(chǎn)生電路第19頁(yè)/共39頁(yè)第18頁(yè)/共39頁(yè)二階Booth算法舉例0011000100110001
00101001010000101001011000111110101最低位補(bǔ)一位0531h=F5h(-6)+12=611010+01100001101010+0110010110x第20頁(yè)/共39頁(yè)第19頁(yè)/共39頁(yè)二階Booth算法舉例0101000000001010000000000
1110100000
0101010000
0011110101531h=F5h第21頁(yè)/共39頁(yè)第20頁(yè)/共39頁(yè)防止符號(hào)位擴(kuò)展例:B=9=(001001)2,A=10=(01010)2,
AB=90=(01011010)2的執(zhí)行過程。第22頁(yè)/共39頁(yè)第21頁(yè)/共39頁(yè)防止符號(hào)位擴(kuò)展例:B=9=(001001)2,A=10=(01010)2,
AB=90=(01011010)2的執(zhí)行過程。第23頁(yè)/共39頁(yè)第22頁(yè)/共39頁(yè)防止符號(hào)位擴(kuò)展防止符號(hào)擴(kuò)展的方式解決部分積是負(fù)數(shù)時(shí)可能產(chǎn)生的問題。假定所有的部分積都為負(fù),那么所有符號(hào)擴(kuò)展的“1”的和是:這個(gè)數(shù)可以作為一個(gè)固定的值加在部分積中。由于
2m-1=4m/2-1=3(4m/2-1+4m/2-2+…+41+40)因此符號(hào)擴(kuò)展的“1”對(duì)應(yīng)的二進(jìn)制數(shù)可以表示為(10101…01011)2,它共有m位,最低位的權(quán)是2n。如果一個(gè)部分積實(shí)際上非負(fù),為了消除假定它是負(fù)數(shù)所帶來的影響,只需將它的符號(hào)位用“1”代替即可。第24頁(yè)/共39頁(yè)第23頁(yè)/共39頁(yè)二階Booth算法—舉例例:B=9=(001001)2,A=10=(01010)2,
AB=90=(01011010)2的執(zhí)行過程。第25頁(yè)/共39頁(yè)第24頁(yè)/共39頁(yè)加法器樹-保留進(jìn)位加法器二階Booth算法針對(duì)補(bǔ)碼數(shù)操作。若進(jìn)行無符號(hào)數(shù)乘法,則需要將無符號(hào)數(shù)轉(zhuǎn)換為符號(hào)數(shù),即在高位補(bǔ)兩位0。32位乘法器產(chǎn)生17個(gè)部分積,再加上防止符號(hào)位擴(kuò)展的補(bǔ)償數(shù),共18個(gè)部分積。加法器樹采用保留進(jìn)位加法器第26頁(yè)/共39頁(yè)第25頁(yè)/共39頁(yè)加法器樹-保留進(jìn)位加法器第27頁(yè)/共39頁(yè)第26頁(yè)/共39頁(yè)加法器樹-保留進(jìn)位加法器基本的加法器單元多采用(2,2)計(jì)數(shù)器(半加器)、(3,2)計(jì)數(shù)器、(5,3)計(jì)數(shù)器和(7,3)計(jì)數(shù)器等++++++++++++CLA加法器c+sp1p2p3第28頁(yè)/共39頁(yè)第27頁(yè)/共39頁(yè)加法器樹—4-2壓縮加法器4-2壓縮器的加法器單元在乘法器的設(shè)計(jì)中得到了廣泛采用。它可以較快地完成中間偽和的產(chǎn)生,而邏輯又比較簡(jiǎn)單
第29頁(yè)/共39頁(yè)第2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程技術(shù)咨詢服務(wù)合同(7篇)
- 醫(yī)務(wù)人員個(gè)人工作總結(jié)范文(6篇)
- 農(nóng)貿(mào)市場(chǎng)商鋪攤位營(yíng)銷方案(5篇)
- 虛擬改裝體驗(yàn)研究-洞察分析
- 溯源體系經(jīng)濟(jì)效益分析-洞察分析
- 游戲社區(qū)運(yùn)營(yíng)管理-洞察分析
- 文化創(chuàng)意產(chǎn)業(yè)競(jìng)爭(zhēng)力分析洞察-洞察分析
- 虛擬現(xiàn)實(shí)藝術(shù)互動(dòng)性研究-洞察分析
- 《物流運(yùn)輸工具》課件
- 網(wǎng)絡(luò)空間倫理治理-洞察分析
- 宜春古城改造計(jì)劃書
- 2024年廣西北部灣國(guó)際港務(wù)集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 人力資源部副經(jīng)理個(gè)人述職報(bào)告
- 小學(xué)一年級(jí)科學(xué)(上冊(cè))期末試卷含參考答案
- 管道工程心得體會(huì)
- 感染醫(yī)師進(jìn)修總結(jié)匯報(bào)
- 個(gè)性化營(yíng)養(yǎng)餐定制平臺(tái)商業(yè)計(jì)劃書
- (完整)小學(xué)四年級(jí)多位數(shù)乘除法400題
- 火電廠運(yùn)行管理
- 搞笑朗誦我愛上班臺(tái)詞
- 20以內(nèi)加減法口算題100道計(jì)時(shí)精編版(共計(jì)3500道)可直接打印
評(píng)論
0/150
提交評(píng)論