欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

怎么構(gòu)建CPU這個非0即1的開關(guān)世界

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2022-03-15 09:49 ? 次閱讀

幾乎每天都會開燈關(guān)燈,但這簡單的開關(guān)卻是組成CPU的基本單元。 分享本文,來看下怎么構(gòu)建CPU這個非0即1的開關(guān)世界。從晶體管到門電路上世紀出現(xiàn)了晶體管這個小而偉大的發(fā)明。

有了晶體管,也就是開關(guān),在此基礎(chǔ)之上就可以搭建與、或、非門電路。 任何一個邏輯函數(shù)最終都可以通過與、或、非表達出來。也就是說,計算機最終可以通過簡單的與、或、非門構(gòu)造出來。與或非門實現(xiàn)計算、存儲電路計算以加法為例。

由于CPU只認知 0 和 1,也就是二進制,那么二進制的加法有哪些組合呢:

0 + 0,結(jié)果為0,進位為0

0 + 1,結(jié)果為1,進位為0

1 + 0,結(jié)果為1,進位為0

1 + 1,結(jié)果為0,進位為1

注意進位這一列,只有當兩路輸入的值都是 1 時,進位才是 1 ,這就是與門??! 再看下結(jié)果一列,當兩路輸入的值不同時結(jié)果為1,輸入結(jié)果相同時結(jié)果為0,這就是異或??! 如下圖,用一個與門和一個異或門就可以實現(xiàn)二進制加法:

1571d460-975a-11ec-952b-dac502259ad0.png

上述電路就是一個簡單的加法器,加法可以用與或非門實現(xiàn)。 除了加法,我們也可以根據(jù)需要將不同的算數(shù)運算設(shè)計出來,負責計算的電路有一個統(tǒng)稱,這就是所謂的算術(shù)邏輯單元ALU(arithmetic/logic unit),是CPU 中專門負責運算的模塊,本質(zhì)上和上面的簡單電路沒什么區(qū)別,就是更加復雜而已。 現(xiàn)在,通過與或非門的組合我們獲得了計算能力,計算能力就是這么來的。 但,只有計算能力是不夠的,電路需要能記得住信息。存儲 到目前為止,你設(shè)計的組合電路比如加法器天生是沒有辦法存儲信息的,它們只是簡單的根據(jù)輸入得出輸出,但輸入輸出總的有個地方能夠保存起來,這就是需要電路能保存信息。 電路怎么能保存信息呢?有一天一位英國物理學家,給出了這樣一個神奇電路:

15871c6c-975a-11ec-952b-dac502259ad0.png

這是兩個與非門的組合。 比較獨特的是該電路的組合方式,一個與非門的輸出是另一個與非門的輸入。該電路的組合方式會自帶一種很有趣的特性,只要給S和R端輸入1,那么這個電路只會有兩種狀態(tài):

a端為1,此時B=0、A=1、b=0;

a端為0,此時B=1、A=0、b=1;

不會再有其他可能了,我們把a端的值作為電路的輸出。 此后,你把S端置為0的話(R保持為1),那么電路的輸出也就是a端永遠為1,這時就可以說我們把1存到電路中了;而如果你把R段置為0的話(S保持為1),那么此時電路的輸出也就是a端永遠為0,此時我們可以說把0存到電路中了。 就這樣,電路具備存儲信息的能力了。 現(xiàn)在為保存信息你需要同時設(shè)置S端和R端,但你的輸入是有一個(存儲一個bit位嘛),為此你對電路進行了改造:

159c968c-975a-11ec-952b-dac502259ad0.png

這樣,當D為0時,整個電路保存的就是0,否則就是1。

寄存器與內(nèi)存現(xiàn)在你的電路能存儲一個比特位了,想存儲多個比特位還不簡單,復制粘貼就可以了:

15ad5062-975a-11ec-952b-dac502259ad0.png

我們管這個組合電路就叫寄存器。 如果繼續(xù)搭建更加復雜的電路以存儲更多信息,同時提供尋址功能,就這樣內(nèi)存也誕生了。 寄存器及內(nèi)存都離不開上文那個簡單電路,只要通電,這個電路中就保存信息,但是斷電后很顯然保存的信息就丟掉了,現(xiàn)在你應(yīng)該明白為什么內(nèi)存在斷電后就不能保存數(shù)據(jù)了吧。

構(gòu)建CPU硬件平臺通過上文講解知道,電路可以實現(xiàn)數(shù)據(jù)計算、信息存儲的通用功能。但現(xiàn)在還有一個問題,真的有必要把所有的邏輯運算都用與或非門實現(xiàn)出來嗎?這顯然是不現(xiàn)實的。 沒有必要為所有的計算邏輯實現(xiàn)出對應(yīng)的硬件,硬件只需要提供最通用的功能。 接下來看下硬件是怎么提供所謂的通用功能。 讓我們來思考一個問題,CPU怎么能知道自己要去對兩個數(shù)進行加法計算,以及哪兩個數(shù)進行加法計算呢? 很顯然,你得告訴CPU,該怎么告訴呢? CPU也需要機器指令告訴自己該接下來該干什么,而指令通過我們上述實現(xiàn)的組合電路來執(zhí)行。相關(guān)文章:CPU怎么識別我們寫的代碼?

指令集指令集告訴我們 CPU 可以執(zhí)行什么指令,每種指令需要提供什么樣的操作數(shù)。不同類型的CPU會有不同的指令集。 指令集中的指令其實都非常簡單,畫風大體上是這樣的:

從內(nèi)存中讀一個數(shù),地址是abc

對兩個數(shù)加和

檢查一個數(shù)是不是大于6

把這數(shù)存儲到內(nèi)存,地址是abc

等等

看上去很像碎碎念有沒有,這就是機器指令,我們用高級語言編寫的程序,比如對一個數(shù)組進行排序,最終都會等價轉(zhuǎn)換為上面的碎碎念指令,然后 CPU 一條一條的去執(zhí)行。 接下來看一條可能的機器指令:

15bea092-975a-11ec-952b-dac502259ad0.png

這條指令占據(jù)16比特,其中前四個比特告訴CPU這是加法指令,這意味著該CPU的指令集中可以包含2^4也就是16個機器指令,這四個比特位告訴CPU該做什么,剩下的bit告訴CPU該怎么做,也就是把寄存器R6和寄存器R2中的值相加然后寫到寄存器R6中。 可以看到,機器指令是非常繁瑣的,現(xiàn)代程序員都使用高級語言來編寫程序。時鐘信號現(xiàn)在我們的電路有了計算功能、存儲功能,還可以通過指令告訴該電路執(zhí)行什么操作,還有一個問題沒有解決。 靠什么來協(xié)調(diào)或者說靠什么來同步電路各個部分讓它們協(xié)同工作呢? 時鐘信號就像指揮家手里拿的指揮棒,指揮棒揮動一下整個樂隊會整齊劃一的有個相應(yīng)動作,同樣的,時鐘信號每一次電壓改變,整個電路中的各個寄存器(也就是整個電路的狀態(tài))會更新一下,這樣我們就能確保整個電路協(xié)同工作不會這里提到的問題。 現(xiàn)在你應(yīng)該知道CPU的主頻是什么意思了吧,主頻是說一秒鐘指揮棒揮動了多少次,顯然主頻越高CPU在一秒內(nèi)完成的操作也就越多。

大功告成現(xiàn)在我們有了可以完成各種計算的ALU、可以存儲信息的寄存器以及控制它們協(xié)同工作的時鐘信號,這些統(tǒng)稱 Central Processing Unit,簡稱就是 CPU。 一個小小的開關(guān)竟然能構(gòu)造出功能強大的 CPU ,這背后理論和制造工藝的突破是人類史上的里程碑時刻,說 CPU 是智慧的結(jié)晶簡直再正確不過。

審核編輯 :李倩

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

    關(guān)注

    68

    文章

    10918

    瀏覽量

    213164

原文標題:用一堆開關(guān)做成一個CPU?

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    電源開關(guān)01哪個是開

    電源開關(guān)01哪個是開,具體如下: 0是關(guān)閉,1是打開。 電器開關(guān)上常見的標記符號代表的英文字母
    的頭像 發(fā)表于 09-13 15:04 ?2.7w次閱讀

    FPGA入門:01——精彩世界由此開始

    FPGA入門:01——精彩世界由此開始本文節(jié)選自特權(quán)同學的圖書《FPGA/CPLD邊練邊學——快速入門Verilog/VHDL》書中代碼請訪問網(wǎng)盤:http://pan.baidu.com/s
    發(fā)表于 01-19 21:07

    站在CPU角度 你才能發(fā)現(xiàn)這個世界有多慢

    ,性子好的話就會耐著性子等待,性子不好的話,免不了抓狂。嗯,今天我們換個角度看一下,站在CPU的角度,看我們這個世界,究竟會是怎樣的?經(jīng)常聽到有人說磁盤很慢、網(wǎng)絡(luò)很卡,這都是站在人類的感知維度去表述
    發(fā)表于 03-28 11:47

    勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載23:01——精彩世界由此開始

    `勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載23:01——精彩世界由此開始特權(quán)同學,版權(quán)所有配套例程和更多資料下載鏈接:http://pan.baidu.com/s/1i5LMUUD
    發(fā)表于 11-20 21:22

    接觸CPU卡加密系統(tǒng)與邏輯加密系統(tǒng)比較

      接觸CPU卡與邏輯加密卡   1、 邏輯加密
    發(fā)表于 11-24 12:26 ?1889次閱讀

    站在CPU 的角度看這個世界,說說到底它們有多慢

    最為我們熟知的關(guān)于計算機不同組件速度差異的圖表,是下面這種金字塔形式:越往上速度越快,容量越小,而價格越高。這張圖只是給了我們一個直觀地感覺,并沒有對各個速度和性能做出量化的說明和解釋。而實際上,不同層級之間的差異要比這張圖大的多。這篇文章就讓你站在 CPU 的角度看這個
    的頭像 發(fā)表于 02-03 16:16 ?4678次閱讀
    站在<b class='flag-5'>CPU</b> 的角度看<b class='flag-5'>這個</b><b class='flag-5'>世界</b>,說說到底它們有多慢

    24V+電源方案1:如何利用開關(guān)調(diào)節(jié)器構(gòu)建隔離電源

    討論開關(guān)調(diào)節(jié)器的概念和原理,以及如何利用其構(gòu)建隔離電源。
    的頭像 發(fā)表于 10-08 05:20 ?4884次閱讀

    邏輯電平01世界

    邏輯電平01世界
    的頭像 發(fā)表于 02-05 11:46 ?5499次閱讀
    邏輯電平<b class='flag-5'>0</b>與<b class='flag-5'>1</b>的<b class='flag-5'>世界</b>

    51單片機EA=0 這個中斷總開關(guān)不能真正屏蔽中斷

    EA作為MCU的中斷總開關(guān),可以控制單片機是否響應(yīng)所有的外部中斷,但是這個強大的開關(guān)可不是隨便用的,當要屏蔽某一確定的中斷源時,一定要專門屏蔽這一確定中斷源的中斷響應(yīng)開關(guān),而不能使用E
    發(fā)表于 11-20 14:21 ?8次下載
    51單片機EA=<b class='flag-5'>0</b>  <b class='flag-5'>這個</b>中斷總<b class='flag-5'>開關(guān)</b>不能真正屏蔽中斷

    如何用繼電器構(gòu)建計算機的CPU

    這個迷你系列文章描述了如何用繼電器構(gòu)建計算機的 CPU(中央處理單元)。
    的頭像 發(fā)表于 07-28 10:41 ?2799次閱讀
    如何用繼電器<b class='flag-5'>構(gòu)建</b>計算機的<b class='flag-5'>CPU</b>

    使用6809 CPU構(gòu)建計算機

    電子發(fā)燒友網(wǎng)站提供《使用6809 CPU構(gòu)建計算機.zip》資料免費下載
    發(fā)表于 10-28 15:08 ?0次下載
    使用6809 <b class='flag-5'>CPU</b><b class='flag-5'>構(gòu)建</b>計算機

    CPU的計算能力是怎么來的?開關(guān)如何變成的CPU?

    幾乎每天都會開燈關(guān)燈,但這簡單的開關(guān)卻是組成CPU的基本單元。? 特意分享本文,來看下怎么構(gòu)建CPU這個
    的頭像 發(fā)表于 11-14 16:07 ?1426次閱讀

    如何用01開關(guān)構(gòu)建CPU

    任何一個邏輯函數(shù)最終都可以通過與、或、表達出來。也就是說,計算機最終可以通過簡單的與、或、非門構(gòu)造出來。
    發(fā)表于 01-16 15:21 ?404次閱讀

    看下怎么構(gòu)建CPU這個01開關(guān)世界

    幾乎每天都會開燈關(guān)燈,但這簡單的開關(guān)卻是組成CPU的基本單元。
    的頭像 發(fā)表于 06-28 17:10 ?685次閱讀
    看下怎么<b class='flag-5'>構(gòu)建</b><b class='flag-5'>CPU</b><b class='flag-5'>這個</b><b class='flag-5'>非</b><b class='flag-5'>0</b><b class='flag-5'>即</b><b class='flag-5'>1</b>的<b class='flag-5'>開關(guān)</b><b class='flag-5'>世界</b>

    RK3588 VDD_CPU_BIG0/1 電源PCB設(shè)計注意事項

    RK3588 VDD_CPU_BIG0/1 電源PCB設(shè)計 1、如圖1所示的濾波電容,原理圖上靠近 RK3588的VDD_CPU_BIG電源
    的頭像 發(fā)表于 09-24 07:40 ?997次閱讀
    RK3588 VDD_<b class='flag-5'>CPU_BIG0</b>/<b class='flag-5'>1</b> 電源PCB設(shè)計注意事項