在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

控制器和處理器離不開的加法器

電子森林 ? 來源:電子森林 ? 作者:蘇老師 ? 2021-09-30 11:37 ? 次閱讀

我們每個(gè)人從小最先學(xué)的數(shù)學(xué)就是1+1=2,然后就是小九九,因?yàn)檫@是我們長大以后混世界的最基本的能力,加、減、乘、除是人腦“數(shù)字邏輯”的基礎(chǔ)。作為替代人腦進(jìn)行運(yùn)算的數(shù)字計(jì)算機(jī),無論是控制器還是處理器,無論是簡單的單片機(jī)還是大型的服務(wù)器,以加、減法為基礎(chǔ)的算術(shù)單元自然是最重要的核心部件。

雖然我們對(duì)十進(jìn)制的加減乘除都已經(jīng)熟悉到了本能的地步,如何讓晶體管構(gòu)建的、以二進(jìn)制為基礎(chǔ)的數(shù)字電路來實(shí)現(xiàn)我們?nèi)祟愋枰募印p、乘、除?

著名科普專家“冬瓜哥”在其定價(jià)為600元的巨著《大話計(jì)算機(jī)》開篇就對(duì)這個(gè)問題進(jìn)行了闡述:

十余年的困惑,自然是上升到了常人不可達(dá)的層面才想明白的一些道理,有興趣的同學(xué)可以跟著他的思路繞一繞,蘇老師讀了半個(gè)小時(shí)就已經(jīng)感覺到腦細(xì)胞嚴(yán)重疲勞。

他切入計(jì)算機(jī)的入口就是加法器,準(zhǔn)確地講就是在我們的數(shù)字電路中一帶而過的Adder - 半加器、全加器以及超前進(jìn)位加法器(很多教程僅給出了半頁的篇幅)。冬瓜哥得出的結(jié)論是“CPU內(nèi)部就是個(gè)加法器”。可見它的重要性,也可見我們對(duì)它真的是嚴(yán)重忽略了,就像1+1=2一樣,它重要得實(shí)在太平凡了。

但,它確實(shí)是我們數(shù)字計(jì)算的基礎(chǔ),理解了它才能夠理解整個(gè)的數(shù)字邏輯世界。

我們先通過硬禾學(xué)堂制作的一個(gè)7分鐘的視頻教程來看一下加法器最基本的兩個(gè)示例:

第一個(gè)案例 - 1位半加器

380f644c-2153-11ec-82a8-dac502259ad0.jpg

根據(jù)我們?nèi)祟愒谑M(jìn)制領(lǐng)域定義的加法規(guī)則,來操作2個(gè)1位的數(shù)據(jù)相加,從最基本的門的功能以及加法的規(guī)則需求,我們得到來實(shí)現(xiàn)它的電路 - 通過一個(gè)“異或門”得到加法以后的1位的結(jié)果,以及通過一個(gè)“與門”得到一個(gè)“進(jìn)位”位的值,就像我們十進(jìn)制的加法,如果兩個(gè)數(shù)字相加超過了一個(gè)“位”(十進(jìn)制的位)能夠表達(dá)的范圍,就要生成一個(gè)進(jìn)位信號(hào)。通過真值表能夠比較直觀地看出反映2個(gè)輸入位同經(jīng)過加法操作以后得到的輸出位的關(guān)系。

使用Verilog代碼的1位半加器:

module halfadder ( input a, //第一個(gè)加數(shù)a input b, //第二個(gè)加數(shù)b output sum, //顯示和的led output cout //顯示進(jìn)位的led ); assign sum=a ^ b; //sum=a⊕b assign cout=a & b; //cout=ab endmodule

第二個(gè)案例 - 1位全加器

畢竟2個(gè)1位的數(shù)相加只是基礎(chǔ),太局限,我們擴(kuò)展一下,如果需要有超過1位的數(shù)字相加,該如何操作?那就需要將“進(jìn)位”的值考慮進(jìn)來,作為一個(gè)輸入,有了進(jìn)位輸入、進(jìn)位輸出的加法器被稱之為“全加器”,全了,誰都不缺了。

使用Verilog代碼的1位全加器的Verilog代碼:

module adder1 ( input wire a, //輸入的低位進(jìn)位及兩個(gè)加數(shù)cin、a、b input wire b, input wire cin, output wire sum, //輸出的和與進(jìn)位 output wire cout ); wire s1,s2,s3; //定義中間變量 xor (s1,a,b); //調(diào)用基本異或門 xor (sum,s1,cin); nand (s2,a,b); //調(diào)用基本與非門 nand (s3,s1,cin); nand (cout,s2,s3); endmodule

通過上面的兩段Verilog代碼,可以看出用Verilog這種硬件描述語言的一些特點(diǎn),這個(gè)在后面的文章中會(huì)專門介紹。

多數(shù)的“數(shù)字電路”教程關(guān)于加法器也基本上點(diǎn)到此為止了。

但上述的基本單元能用來做啥的?如果不做擴(kuò)展,同學(xué)們很難有進(jìn)一步的理解,因此我建議大家可以自行做一些擴(kuò)展:

支持多位二進(jìn)制數(shù)相加的并行二進(jìn)制加法器

比如2個(gè)4位二進(jìn)制的加法器,它可以由3個(gè)全加器和1個(gè)半加器構(gòu)成,低位的加法進(jìn)位可以作為相鄰高位加法的一個(gè)輸入端,最低位僅用一個(gè)半加器,最高位生成的進(jìn)位信號(hào)作為后續(xù)電路的輸入。

是不是像極了我們的十進(jìn)制加法?原理是一樣的,只是采用的進(jìn)制不同,而二進(jìn)制可以通過數(shù)字電路的0、1比較容易地實(shí)現(xiàn)。

了解了加法器,減法器也就不難理解,就像我們十進(jìn)制中的加和減的關(guān)系一樣。它的基本規(guī)則:

0 - 0 = 0

0 - 1 = (借)1 1

1 - 0 = 1

1 - 1 = 0

既然多位的全減器也可以用全加器來實(shí)現(xiàn),是不是可以有一種統(tǒng)一的結(jié)構(gòu)能夠?qū)崿F(xiàn)加、減的功能?畢竟減和加是對(duì)偶的,減法也可以看作是+(-)的操作。

統(tǒng)一結(jié)構(gòu)的并行加、減法

從前面的加減法構(gòu)成可以看出,加法器和減法器都可以用共同的加法器來實(shí)現(xiàn),如果我們添加一個(gè)控制信號(hào)M,最低位也使用一個(gè)全加器,將這個(gè)M值連接到該全加器的進(jìn)位輸入端,就可以通過這個(gè)M是0或1來決定此電路時(shí)加法電路還是減法電路:

M=1的時(shí)候?yàn)闇p法器

M=0的時(shí)候行使加法器的功能。

如果你需要將更多的位數(shù)的二進(jìn)制數(shù)字相加或相減,你可以使用更多個(gè)加法器級(jí)聯(lián)即可得到。細(xì)心和動(dòng)腦的同學(xué)會(huì)發(fā)現(xiàn),如果任何操作需要哪怕一丁點(diǎn)的時(shí)間(有了時(shí)間的概念也就意味著 - 因果之間有了先后,有了“時(shí)延”,我們生存的世界時(shí)間是一個(gè)客觀存在的維度),那么圖中的操作在每個(gè)位上的輸出就會(huì)產(chǎn)生時(shí)間上的差異,最高位的值和進(jìn)位依賴于低位的值和每一位加法操作的時(shí)間(也就是構(gòu)成加法器的門的響應(yīng)時(shí)間)。就像綠燈亮起,并不是所有等待的車同時(shí)啟動(dòng)前行,而是從第一輛車逐級(jí)傳遞過來的一樣。

用上述方法構(gòu)建的加法器、減法器,位數(shù)越多,由于電路門時(shí)延帶來的計(jì)算結(jié)果會(huì)越慢出現(xiàn),聰明的前輩大神們竟然通過一系列的邏輯運(yùn)算發(fā)明了“超前進(jìn)位加法器”的結(jié)構(gòu),即便實(shí)際的電路上每個(gè)操作都有先后帶來的時(shí)延,我們也可以不需要考慮每個(gè)進(jìn)位的逐級(jí)傳遞,而是一次性地根據(jù)各個(gè)輸入端的位上的值直接得出運(yùn)算以后的結(jié)果。

是不是很不可思議?

為啥需要逐級(jí)傳遞的信息可以提前預(yù)知?為什么在布爾表達(dá)式中的一些變量經(jīng)過邏輯化簡以后發(fā)現(xiàn)它們只是打醬油的可有可無?

我們的生活中是否也是如此?每當(dāng)綠燈亮起的時(shí)候所有的車是否也能同步啟動(dòng)前行?

這些問題留給大家思考。

有了加法器、減法器,也就很容易構(gòu)建乘法器 - 重復(fù)多次的加,和除法器 - 重復(fù)多次的減。

因此加法器是構(gòu)成整個(gè)數(shù)字計(jì)算的基礎(chǔ),是最重要的一個(gè)部件,它的設(shè)計(jì)好壞直接影響了處理器/控制器的性能、性價(jià)比等。

比如在電子森林“電路仿真”中的Brent-Kung樹形加法器就是一種最小化芯片面積和成本的結(jié)構(gòu)。有興趣的同學(xué)可以點(diǎn)擊https://www.eetree.cn/war/circuitjs.html?lang=zh 來體驗(yàn)一下。

正如前面文章所述,在FPGA沒有大面積普及應(yīng)用的年代,曾經(jīng)有一系列的中等規(guī)模的集成電路模塊推出,最著名的就是74系列的器件,其中74HC283就是一種4位超前進(jìn)位的全加器器件。很多高校可能還在拿它做數(shù)電的實(shí)驗(yàn),

外形長這樣

內(nèi)部功能這樣

最后,給大家介紹一款國外公司制作的4位加法器的訓(xùn)練套件

為了方便大家實(shí)驗(yàn),這個(gè)產(chǎn)品中包含了如下的一些器件:

1個(gè)多路選擇器(CD74HC157E)

2個(gè)寄存器 /4個(gè)D觸發(fā)器 (CD74HC173E)

1個(gè)4位全加器 (CD74HC283E)

1個(gè)6通道具有施密特觸發(fā)器輸入的反相器 (CD74HC14E)

1個(gè)4位幅度比較器 (CD74HC85E)

1個(gè)雙4輸入異或門 (CD74HC4002E)

1個(gè)4組 2輸入異或門 (CD74HC86E)

得說,這個(gè)套件的文檔寫得特別的棒,有興趣的老師和同學(xué)可以自己搜一下。

這個(gè)套件用了8顆中等規(guī)模的集成電路,加上很多連線連線。其實(shí)呢,用小腳丫FPGA內(nèi)部的不到1%的資源就能實(shí)現(xiàn),而且只需要寫很短的幾行Verilog代碼。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19432

    瀏覽量

    231249
  • 電路圖
    +關(guān)注

    關(guān)注

    10357

    文章

    10725

    瀏覽量

    533087
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7546

    瀏覽量

    88685

原文標(biāo)題:淺談“數(shù)字電路”的學(xué)習(xí)(7)- 一切數(shù)字計(jì)算的核心功能、被教程忽略的加法器

文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    從零開始設(shè)計(jì)RISC-V處理器——單周期處理器的設(shè)計(jì)

    一、CPU如何執(zhí)行指令?CPU包括控制器和數(shù)據(jù)通路,數(shù)據(jù)通路從字面意思理解,就是指處理器中數(shù)據(jù)流通的路徑。不同類型的指令的數(shù)據(jù)通路不一樣,具體由控制器產(chǎn)生的控制信號(hào)決定。 下面以一個(gè)簡
    發(fā)表于 10-12 22:12

    想用一個(gè)同相加法器實(shí)現(xiàn)-1.4v到0變?yōu)?到2.5v左右的輸出,請(qǐng)問用什么運(yùn)放比較好?

    我想用一個(gè)同相加法器實(shí)現(xiàn)-1.4v到0變?yōu)?到2.5v左右的輸出,請(qǐng)問用什么運(yùn)放比較好。呵呵,后面接跟隨再接ADC
    發(fā)表于 09-25 06:48

    用opa2228制作了一個(gè)同向加法器,可輸出出現(xiàn)了震蕩怎么解決?

    請(qǐng)問一下,我用opa2228制作了一個(gè)同向加法器,可輸出出現(xiàn)了震蕩(其中正向輸入的兩個(gè)信號(hào)分別是峰峰值為1.36V頻率4kHZ的正弦波,和5v的直流電平)
    發(fā)表于 09-20 06:58

    LM258反向加法器輸出信號(hào)出現(xiàn)斷點(diǎn)怎么解決?

    LM258反向加法器輸出信號(hào)出現(xiàn)斷點(diǎn)的問題,求各位老師解答 電路圖如下: 采用正負(fù)5V供電 輸入輸出如下: 上面是輸出,下面是輸入。輸入兩個(gè)一樣的正弦信號(hào),輸出信號(hào)出現(xiàn)斷點(diǎn)是怎么回事呢? 發(fā)現(xiàn)輸入大信號(hào)出現(xiàn)上述現(xiàn)象,小信號(hào)就沒有了
    發(fā)表于 09-20 06:49

    用OPA27做同相加法器Vo=Vi1+Vi2時(shí)遇到的疑問求解

    用OPA27做同相加法器Vo=Vi1+Vi2的時(shí)候,函數(shù)發(fā)生給Vi1輸入頻率為1kHZ,Vpp=1V的正弦波,而Vi2接地時(shí),沒有輸出。然后稍作改動(dòng),成了Vo=-(Vi1+Vi2),如下圖所示
    發(fā)表于 09-12 06:31

    實(shí)現(xiàn)兩個(gè)單一頻率正弦波相加的加法器的芯片選取有什么特殊要求嗎?opa2320可以嗎?

    實(shí)現(xiàn)兩個(gè)單一頻率正弦波相加的加法器的芯片選取有什么特殊要求嗎?opa2320可以嗎?
    發(fā)表于 09-11 08:30

    加法器是時(shí)序邏輯電路嗎

    加法器不是時(shí)序邏輯電路 ,而是組合邏輯電路的一種。時(shí)序邏輯電路和組合邏輯電路的主要區(qū)別在于它們?nèi)绾?b class='flag-5'>處理輸出信號(hào)。 組合邏輯電路的輸出僅依賴于當(dāng)前的輸入信號(hào),而不依賴于電路之前的狀態(tài)或輸入歷史。這
    的頭像 發(fā)表于 08-28 11:05 ?710次閱讀

    請(qǐng)問全差分運(yùn)算放大器能像一般運(yùn)算放大器一樣設(shè)計(jì)加法器嗎?

    全差分運(yùn)算放大器能像一般運(yùn)算放大器一樣設(shè)計(jì)加法器嗎?
    發(fā)表于 08-09 06:26

    GS8522加法器電路迷之短路

    嘗試只焊第一級(jí)的運(yùn)放和周圍電阻,現(xiàn)象相同。電路仿真使用OPA2140代替GS8522時(shí)仿真測(cè)試結(jié)果正常。 對(duì)此我不明白的是,此電路的功能為加法器,第一級(jí)由兩個(gè)電壓跟隨組成(使用芯片GS8522
    發(fā)表于 07-05 16:39

    請(qǐng)問增益為1的加法器有哪些?

    增益為1的加法器指的是輸出信號(hào)的幅度與輸入信號(hào)幅度相等的加法器。這類加法器在模擬電路設(shè)計(jì)中非常重要,因?yàn)樗鼈冊(cè)趫?zhí)行加法運(yùn)算的同時(shí),不會(huì)改變信號(hào)的幅度。
    的頭像 發(fā)表于 05-23 15:10 ?1203次閱讀

    串行加法器和并行加法器的區(qū)別?

    串行加法器和并行加法器是兩種基本的數(shù)字電路設(shè)計(jì),用于執(zhí)行二進(jìn)制數(shù)的加法運(yùn)算。它們?cè)谠O(shè)計(jì)哲學(xué)、性能特點(diǎn)以及應(yīng)用場(chǎng)景上有著明顯的區(qū)別。
    的頭像 發(fā)表于 05-23 15:06 ?2895次閱讀

    加法器的原理是什么 加法器有什么作用

    加法器是數(shù)字電路中的基本組件之一,用于執(zhí)行數(shù)值的加法運(yùn)算。加法器的基本原理和作用可以從以下幾個(gè)方面進(jìn)行詳細(xì)闡述。
    的頭像 發(fā)表于 05-23 15:01 ?3484次閱讀
    <b class='flag-5'>加法器</b>的原理是什么 <b class='flag-5'>加法器</b>有什么作用

    同相加法器和反相加法器的區(qū)別是什么

    同相加法器和反相加法器是運(yùn)算放大器在模擬電路設(shè)計(jì)中常用的兩種基本電路結(jié)構(gòu),它們?cè)谛盘?hào)處理方面有著不同的特性和應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 05-23 14:35 ?2884次閱讀

    加法器ICL7660M/TR芯片發(fā)熱問題?

    想做個(gè)加法器,經(jīng)打板焊接,芯片焊接完還用萬用表檢測(cè)了,無短接,虛焊情況。輸入5V后,ICL7660電源極性反轉(zhuǎn)變換芯片發(fā)熱。但是芯片輸入電壓極限值是10V,輸入5V芯片就發(fā)熱冒煙了。經(jīng)檢查,芯片
    發(fā)表于 05-06 16:32

    什么是反相加法運(yùn)算電路?反相加法運(yùn)算電路與減法運(yùn)算電路

    在電子技術(shù)的海洋中,有一種電路如同數(shù)學(xué)中的加法器一樣,能夠?qū)⒉煌男盘?hào)進(jìn)行相加處理。這就是被廣泛應(yīng)用于信號(hào)處理領(lǐng)域的反相加法運(yùn)算電路。
    的頭像 發(fā)表于 02-17 15:34 ?4980次閱讀
    什么是反相<b class='flag-5'>加法</b>運(yùn)算電路?反相<b class='flag-5'>加法</b>運(yùn)算電路與減法運(yùn)算電路
    主站蜘蛛池模板: www天天干| 日韩特级毛片免费观看视频 | 这里只有精品视频 | 午夜高清福利 | 亚洲精品卡1卡二卡3卡四卡 | 在线观看视频网站 | 亚洲一区二区三区中文字幕 | 国产精品一区在线观看你懂的 | 在线观看黄色一级片 | 日韩三级一区 | 亚洲精品在线不卡 | 日本a级特黄三级三级三级 日本边添边爱边摸边做边爱 | 天天综合色一区二区三区 | 双性人皇上被c到哭 | 国产在线观看网址你懂得 | 黄色在线 | 国产超爽人人爽人人做 | 免费大片黄日本在线观看 | 美脚连裤袜老师正在播放 | 国产精品亚洲一区二区三区在线播放 | 成人久久网站 | 56pao强力打造 | 狠狠要| ww在线观看 | 奇米影视四色首页手机在线 | 400部大量精品情侣网站 | 一级毛片视屏 | 欧美午夜片 | 超级极品白嫩美女在线 | 曰本女人一级毛片看一级毛 | 欧美一级高清免费a | 黄色小视频免费看 | 成人欧美精品大91在线 | 四虎精品久久久久影院 | 一区二区三区影院 | 一本二卡三卡四卡乱码二百 | 日本色婷婷 | 天天插天天色 | 六月综合| 国产在线理论片免费播放 | 色视频免费看 |