chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

控制器和處理器離不開(kāi)的加法器

電子森林 ? 來(lái)源:電子森林 ? 作者:蘇老師 ? 2021-09-30 11:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

根據(jù)我們?nèi)祟愒谑M(jìn)制領(lǐng)域定義的加法規(guī)則,來(lái)操作2個(gè)1位的數(shù)據(jù)相加,從最基本的門的功能以及加法的規(guī)則需求,我們得到來(lái)實(shí)現(xiàn)它的電路 - 通過(guò)一個(gè)“異或門”得到加法以后的1位的結(jié)果,以及通過(guò)一個(gè)“與門”得到一個(gè)“進(jìn)位”位的值,就像我們十進(jìn)制的加法,如果兩個(gè)數(shù)字相加超過(guò)了一個(gè)“位”(十進(jìn)制的位)能夠表達(dá)的范圍,就要生成一個(gè)進(jìn)位信號(hào)。通過(guò)真值表能夠比較直觀地看出反映2個(gè)輸入位同經(jīng)過(guò)加法操作以后得到的輸出位的關(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ò)展一下,如果需要有超過(guò)1位的數(shù)字相加,該如何操作?那就需要將“進(jìn)位”的值考慮進(jìn)來(lái),作為一個(gè)輸入,有了進(jìn)位輸入、進(jìn)位輸出的加法器被稱之為“全加器”,全了,誰(shuí)都不缺了。

使用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

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

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

但上述的基本單元能用來(lái)做啥的?如果不做擴(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)制可以通過(guò)數(shù)字電路的0、1比較容易地實(shí)現(xiàn)。

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

0 - 0 = 0

0 - 1 = (借)1 1

1 - 0 = 1

1 - 1 = 0

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

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

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

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

是不是很不可思議?

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

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

這些問(wèn)題留給大家思考。

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

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

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

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

外形長(zhǎng)這樣

內(nèi)部功能這樣

最后,給大家介紹一款國(guó)外公司制作的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)

得說(shuō),這個(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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    20264

    瀏覽量

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

    關(guān)注

    10481

    文章

    10758

    瀏覽量

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

    關(guān)注

    19

    文章

    7811

    瀏覽量

    93249

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    探索CD54/74AC283與CD54/74ACT283:高效4位二進(jìn)制加法器的奧秘

    探索CD54/74AC283與CD54/74ACT283:高效4位二進(jìn)制加法器的奧秘 在電子設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)字運(yùn)算的基礎(chǔ)元件之一。今天,我們將深入研究德州儀器(Texas
    的頭像 發(fā)表于 01-28 16:50 ?453次閱讀

    德州儀器CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選

    德州儀器CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選 在電子工程領(lǐng)域,加法器是基礎(chǔ)且重要的數(shù)字電路元件。德州儀器(Texas Instruments)的CD54
    的頭像 發(fā)表于 01-27 14:35 ?145次閱讀

    解析CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選

    解析CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選 在電子設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)字運(yùn)算的基礎(chǔ)組件。今天我們要深入探討的是德州儀器(Texas
    的頭像 發(fā)表于 01-08 16:55 ?600次閱讀

    深入剖析CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器

    /74AC283和CD54/74ACT283是采用先進(jìn)CMOS邏輯技術(shù)的4位二進(jìn)制加法器,能夠快速處理兩個(gè)4位二進(jìn)制數(shù)的加法運(yùn)算,并在和超過(guò)15時(shí)產(chǎn)生進(jìn)位輸出。這兩款器件具有多種封裝
    的頭像 發(fā)表于 01-04 17:25 ?752次閱讀

    CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器的全面解析

    CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器的全面解析 在電子設(shè)計(jì)領(lǐng)域,加法器是一種基礎(chǔ)且關(guān)鍵的數(shù)字電路,廣泛應(yīng)用于各種計(jì)算和數(shù)據(jù)處理系統(tǒng)中。今天,我們要深入探討
    的頭像 發(fā)表于 12-31 17:10 ?1414次閱讀

    自寫計(jì)算IP思路以及源碼

    、16位、32位并行加法器,以32位加法器實(shí)現(xiàn)串行64位加法器再用于乘法器中,以下是1位并行加法器源碼。 PS.在組合
    發(fā)表于 10-30 06:15

    E203在基于wallace樹(shù)+booth編碼的乘法器優(yōu)化后的跑分結(jié)果

    優(yōu)化思路 E203為了實(shí)現(xiàn)低功耗的要求,乘法器為基于booth編碼和移位加法器結(jié)合的思路,優(yōu)點(diǎn)是只需要一個(gè)加法器,而且該加法器還和除法器復(fù)用
    發(fā)表于 10-27 07:54

    E203V2長(zhǎng)周期乘法器核心booth算法解讀

    E203V2的數(shù)據(jù)通道中的加法運(yùn)算單元可得加法器的輸入沒(méi)有進(jìn)位,而進(jìn)行減法器運(yùn)算時(shí),進(jìn)位輸入為1,此時(shí)完美解決了-A和-2A的問(wèn)題,只需將運(yùn)算單元由加法器轉(zhuǎn)為減
    發(fā)表于 10-24 09:33

    如何對(duì)蜂鳥(niǎo)e203內(nèi)核乘除法器進(jìn)行優(yōu)化

    蜂鳥(niǎo)E203是一款基于RISC-V指令集的多核處理器,內(nèi)置了乘法和除法運(yùn)算單元,這些運(yùn)算單元的性能直接影響到整個(gè)處理器的性能表現(xiàn)。因此,優(yōu)化乘除法器是提高整個(gè)處理器性能的重要手段之一。
    發(fā)表于 10-24 06:47

    蜂鳥(niǎo)E203內(nèi)核乘法器的優(yōu)化

    部分積的累加,加法(或者減法)操作使用ALU的加法器完成,盡可能減小內(nèi)核面積。由于需要支持RV32M中的4條乘法指令(mul,mulh,mulhu,mulhsu),因此根據(jù)指令將操作數(shù)進(jìn)行了兩bit
    發(fā)表于 10-22 06:11

    基于E203 NICE協(xié)處理器擴(kuò)展指令

    1、實(shí)現(xiàn)功能 基于官方提供的demo nice的硬件代碼,設(shè)計(jì)一個(gè)基于e203 nice協(xié)處理加法器。 2NICE協(xié)處理器理論學(xué)習(xí) nice協(xié)處理器的作用主要是用于
    發(fā)表于 10-21 14:35

    利用e203中NICE協(xié)處理器加速濾波運(yùn)算

    加法器的方法來(lái)加速濾波運(yùn)算。 使用NICE協(xié)處理器加速的程序?yàn)橐粋€(gè)長(zhǎng)循環(huán),計(jì)算較長(zhǎng)(100到1000量級(jí))的兩個(gè)浮點(diǎn)數(shù)組乘累加的結(jié)果,分別命名為ifm (Input Feature Map
    發(fā)表于 10-21 13:40

    基于E203 NICE協(xié)處理器擴(kuò)展指令2.0

    實(shí)現(xiàn)功能:基于官方提供的demo nice的硬件代碼,設(shè)計(jì)一個(gè)基于e203 nice協(xié)處理加法器。 NICE協(xié)處理器理論學(xué)習(xí) nice協(xié)處理器的作用主要是用于
    發(fā)表于 10-21 10:39

    基于e203中NICE協(xié)處理器加速濾波運(yùn)算

    加法器的方法來(lái)加速濾波運(yùn)算。 使用NICE協(xié)處理器加速的程序?yàn)橐粋€(gè)長(zhǎng)循環(huán),計(jì)算較長(zhǎng)(100到1000量級(jí))的兩個(gè)浮點(diǎn)數(shù)組乘累加的結(jié)果,分別命名為ifm (Input Feature Map
    發(fā)表于 10-21 09:54

    掌握數(shù)字設(shè)計(jì)基礎(chǔ):邁向芯片設(shè)計(jì)的第一步

    深入學(xué)習(xí) FPGA、ASIC、SoC,還是探索 AI芯片、RISC-V處理器,都離不開(kāi)這些核心原理。 歡迎加入
    發(fā)表于 10-09 21:11