女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

我們每個人從小最先學的數學就是1+1=2,然后就是小九九,因為這是我們長大以后混世界的最基本的能力,加、減、乘、除是人腦“數字邏輯”的基礎。作為替代人腦進行運算的數字計算機,無論是控制器還是處理器,無論是簡單的單片機還是大型的服務器,以加、減法為基礎的算術單元自然是最重要的核心部件。

雖然我們對十進制的加減乘除都已經熟悉到了本能的地步,如何讓晶體管構建的、以二進制為基礎的數字電路來實現我們人類需要的加、減、乘、除?

著名科普專家“冬瓜哥”在其定價為600元的巨著《大話計算機》開篇就對這個問題進行了闡述:

十余年的困惑,自然是上升到了常人不可達的層面才想明白的一些道理,有興趣的同學可以跟著他的思路繞一繞,蘇老師讀了半個小時就已經感覺到腦細胞嚴重疲勞。

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

但,它確實是我們數字計算的基礎,理解了它才能夠理解整個的數字邏輯世界。

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

第一個案例 - 1位半加器

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

根據我們人類在十進制領域定義的加法規則,來操作2個1位的數據相加,從最基本的門的功能以及加法的規則需求,我們得到來實現它的電路 - 通過一個“異或門”得到加法以后的1位的結果,以及通過一個“與門”得到一個“進位”位的值,就像我們十進制的加法,如果兩個數字相加超過了一個“位”(十進制的位)能夠表達的范圍,就要生成一個進位信號。通過真值表能夠比較直觀地看出反映2個輸入位同經過加法操作以后得到的輸出位的關系。

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

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

第二個案例 - 1位全加器

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

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

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

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

多數的“數字電路”教程關于加法器也基本上點到此為止了。

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

支持多位二進制數相加的并行二進制加法器

比如2個4位二進制的加法器,它可以由3個全加器和1個半加器構成,低位的加法進位可以作為相鄰高位加法的一個輸入端,最低位僅用一個半加器,最高位生成的進位信號作為后續電路的輸入。

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

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

0 - 0 = 0

0 - 1 = (借)1 1

1 - 0 = 1

1 - 1 = 0

既然多位的全減器也可以用全加器來實現,是不是可以有一種統一的結構能夠實現加、減的功能?畢竟減和加是對偶的,減法也可以看作是+(-)的操作。

統一結構的并行加、減法

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

M=1的時候為減法器

M=0的時候行使加法器的功能。

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

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

是不是很不可思議?

為啥需要逐級傳遞的信息可以提前預知?為什么在布爾表達式中的一些變量經過邏輯化簡以后發現它們只是打醬油的可有可無?

我們的生活中是否也是如此?每當綠燈亮起的時候所有的車是否也能同步啟動前行?

這些問題留給大家思考。

有了加法器、減法器,也就很容易構建乘法器 - 重復多次的加,和除法器 - 重復多次的減。

因此加法器是構成整個數字計算的基礎,是最重要的一個部件,它的設計好壞直接影響了處理器/控制器的性能、性價比等。

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

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

外形長這樣

內部功能這樣

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

為了方便大家實驗,這個產品中包含了如下的一些器件:

1個多路選擇器(CD74HC157E)

2個寄存器 /4個D觸發器 (CD74HC173E)

1個4位全加器 (CD74HC283E)

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

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

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

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

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

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

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19813

    瀏覽量

    233613
  • 電路圖
    +關注

    關注

    10402

    文章

    10732

    瀏覽量

    540896
  • 計算機
    +關注

    關注

    19

    文章

    7632

    瀏覽量

    90219

原文標題:淺談“數字電路”的學習(7)- 一切數字計算的核心功能、被教程忽略的加法器

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    EE-256:使用ADSP-BF561 Blackfin處理器作為TFT-LCD控制器

    電子發燒友網站提供《EE-256:使用ADSP-BF561 Blackfin處理器作為TFT-LCD控制器.pdf》資料免費下載
    發表于 01-07 14:33 ?1次下載
    EE-256:使用ADSP-BF561 Blackfin<b class='flag-5'>處理器</b>作為TFT-LCD<b class='flag-5'>控制器</b>

    從零開始設計RISC-V處理器——單周期處理器的設計

    一、CPU如何執行指令?CPU包括控制器和數據通路,數據通路從字面意思理解,就是指處理器中數據流通的路徑。不同類型的指令的數據通路不一樣,具體由控制器產生的控制信號決定。 下面以一個簡
    發表于 10-12 22:12

    想用一個同相加法器實現-1.4v到0變為0到2.5v左右的輸出,請問用什么運放比較好?

    我想用一個同相加法器實現-1.4v到0變為0到2.5v左右的輸出,請問用什么運放比較好。呵呵,后面接跟隨再接ADC
    發表于 09-25 06:48

    DSP控制器的主要優勢是什么?

    DSP控制器的主要優勢: 高速處理能力 : DSP(數字信號處理器)專為快速數學運算設計,如乘法和加法,這對于信號處理至關重要。 它們通常具
    的頭像 發表于 09-24 16:21 ?1450次閱讀

    用opa2228制作了一個同向加法器,可輸出出現了震蕩怎么解決?

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

    LM258反向加法器輸出信號出現斷點怎么解決?

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

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

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

    實現兩個單一頻率正弦波相加的加法器的芯片選取有什么特殊要求嗎?opa2320可以嗎?

    實現兩個單一頻率正弦波相加的加法器的芯片選取有什么特殊要求嗎?opa2320可以嗎?
    發表于 09-11 08:30

    加法器是時序邏輯電路嗎

    加法器不是時序邏輯電路 ,而是組合邏輯電路的一種。時序邏輯電路和組合邏輯電路的主要區別在于它們如何處理輸出信號。 組合邏輯電路的輸出僅依賴于當前的輸入信號,而不依賴于電路之前的狀態或輸入歷史。這
    的頭像 發表于 08-28 11:05 ?1292次閱讀

    用單電源運放實現加法器混音左右聲道,輸出經功放后有較明顯沙沙聲,怎么解決?

    左右聲道經過加法器混音的原理示意圖如下: 運放選擇的是LME49726,5V電源是從DCDC 18V經過78M05后得到的,然后從這個5V經過一個1117-2.5得到2.5V電源。 問題:經過這個
    發表于 08-28 06:13

    用OPA2134做加法器的時候,在2M到4M之間信號有放大,在4M以后信號又衰減了,是什么原因?

    請問我在用OPA2134這款芯片做加法器的時候,頻率在2M以前是好的,在2M到4M之間信號有放大,在4M以后信號又衰減了,請問這是什么原因?
    發表于 08-22 07:51

    請問全差分運算放大器能像一般運算放大器一樣設計加法器嗎?

    全差分運算放大器能像一般運算放大器一樣設計加法器嗎?
    發表于 08-09 06:26

    GS8522加法器電路迷之短路

    嘗試只焊第一級的運放和周圍電阻,現象相同。電路仿真使用OPA2140代替GS8522時仿真測試結果正常。 對此我不明白的是,此電路的功能為加法器,第一級由兩個電壓跟隨組成(使用芯片GS8522
    發表于 07-05 16:39

    cpu控制器和運算組成的部件有哪些

    CPU(中央處理器)是計算機的核心部件,負責執行程序指令和處理數據。CPU主要由控制器和運算組成,這兩個部件共同完成計算機的運算任務。下面詳細介紹CPU
    的頭像 發表于 06-30 11:01 ?3101次閱讀

    cpu控制器的兩種類型和特點

    CPU控制器,即中央處理器控制器,是計算機硬件的核心部件之一,負責執行程序指令和控制計算機的運行。CPU控制器的類型和特點對于計算機的性能和
    的頭像 發表于 06-30 10:59 ?1867次閱讀