我們從小到大經(jīng)歷過很多事甘邀,小的時候我們連簡單的走路都不會受啥,然后隨著不斷學(xué)習(xí)和不斷長大我們不僅學(xué)會了走路還學(xué)會了跑步注暗;而我們的上學(xué)階段也是類似的季眷,先是學(xué)習(xí)1+1這種最簡單的加法,還有減法,然后是乘法和除法燕锥。而實際上計算機(jī)的發(fā)展也是類似的辜贵,先是做加法減法,然后慢慢地進(jìn)步归形,就有了乘法和除法托慨。
這里我先介紹下之后要介紹的幾種類型的加法器:Carry Ripple Adder,Carry Look-ahead adder连霉,Carry Select adder 和BK adder榴芳,這次只介紹第一種嗡靡,也是最簡單的加法器跺撼, 我們的目標(biāo)是建立32-bit的加法器,盡可能的使它快速一點讨彼。
首先是1bit的情況歉井,帶進(jìn)位的加法器:
然后是卡諾圖:分別是當(dāng)前和sum和進(jìn)位cout:
具體怎么化簡請參考數(shù)字電路邏輯,這是很簡單的邏輯哈误。
carry ripple adder其實就是串行進(jìn)位加法器哩至,前一位的輸出進(jìn)位是后一級輸入進(jìn)位是它的架構(gòu)的核心思想,只要滿足這點就算是它的架構(gòu)蜜自;另外不同的門單元(與門菩貌,或門,非門重荠,與非門箭阶,或非門,異或門戈鲁,同或門等)延遲不同仇参,盡量減少門(gate)的使用,使用延遲短的門才能使加法器盡可能的快婆殿;而決定一個加法器速度的是它的最慢的路徑诈乒,就是整個通道上歷時最久的路徑,也被稱為critical-path婆芦。對于32-bit Carry Ripple adder的優(yōu)化(可進(jìn)行加減法)怕磨,主要是從最靠前的兩個bit以及最后的overflow(溢出)和中間fulladder(全加器)的優(yōu)化考慮。加法器中有兩個定義消约,一個是generation肠鲫,另一個是propagation,定義加法器中間路徑信號的生成和傳播荆陆。這一周先不講具體架構(gòu)滩届,感興趣可以查一下。
最后推薦個很好的網(wǎng)站,www.coursera.com帜消,之前用過棠枉,感覺很不錯,有很多國外大學(xué)的課程泡挺,嘻嘻辈讶。