精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

CPU的計算能力是怎么來的?開關如何變成的CPU?

STM32嵌入式開發 ? 來源:碼農的荒島求生 ? 作者:碼農的荒島求生 ? 2022-11-14 16:07 ? 次閱讀

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

有了晶體管,也就是開關,在此基礎之上就可以搭建與、或、非門電路。

任何一個邏輯函數最終都可以通過與、或、非表達出來。也就是說,計算機最終可以通過簡單的與、或、非門構造出來。與或非門實現計算、存儲電路計算以加法為例。
由于CPU只認知 0 和 1,也就是二進制,那么二進制的加法有哪些組合呢:

0 + 0,結果為0,進位為0

0 + 1,結果為1,進位為0

1 + 0,結果為1,進位為0

1 + 1,結果為0,進位為1

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

ff096e1e-6269-11ed-8abf-dac502259ad0.png

上述電路就是一個簡單的加法器,加法可以用與或非門實現。

除了加法,我們也可以根據需要將不同的算數運算設計出來,負責計算的電路有一個統稱,這就是所謂的算術邏輯單元ALU(arithmetic/logic unit),是CPU 中專門負責運算的模塊,本質上和上面的簡單電路沒什么區別,就是更加復雜而已。相關文章:CPU如何進行數字加法。

現在,通過與或非門的組合我們獲得了計算能力,計算能力就是這么來的。

但,只有計算能力是不夠的,電路需要能記得住信息。存儲 到目前為止,你設計的組合電路比如加法器天生是沒有辦法存儲信息的,它們只是簡單的根據輸入得出輸出,但輸入輸出總的有個地方能夠保存起來,這就是需要電路能保存信息。

電路怎么能保存信息呢?有一天一位英國物理學家,給出了這樣一個神奇電路:

ff2f467a-6269-11ed-8abf-dac502259ad0.png

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

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存到電路中了。 就這樣,電路具備存儲信息的能力了。 現在為保存信息你需要同時設置S端和R端,但你的輸入是有一個(存儲一個bit位嘛),為此你對電路進行了改造:

ff4c6912-6269-11ed-8abf-dac502259ad0.png

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

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

ff79d870-6269-11ed-8abf-dac502259ad0.png

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

構建CPU硬件平臺通過上文講解知道,電路可以實現數據計算、信息存儲的通用功能。但現在還有一個問題,真的有必要把所有的邏輯運算都用與或非門實現出來嗎?這顯然是不現實的。 沒有必要為所有的計算邏輯實現出對應的硬件,硬件只需要提供最通用的功能。 接下來看下硬件是怎么提供所謂的通用功能。

讓我們來思考一個問題,CPU怎么能知道自己要去對兩個數進行加法計算,以及哪兩個數進行加法計算呢? 很顯然,你得告訴CPU,該怎么告訴呢? CPU也需要機器指令告訴自己該接下來該干什么,而指令通過我們上述實現的組合電路來執行。相關文章:CPU怎么識別我們寫的代碼?

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

從內存中讀一個數,地址是abc

對兩個數加和

檢查一個數是不是大于6

把這數存儲到內存,地址是abc

等等

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

ff9c75ce-6269-11ed-8abf-dac502259ad0.png

這條指令占據16比特,其中前四個比特告訴CPU這是加法指令,這意味著該CPU的指令集中可以包含2^4也就是16個機器指令,這四個比特位告訴CPU該做什么,剩下的bit告訴CPU該怎么做,也就是把寄存器R6和寄存器R2中的值相加然后寫到寄存器R6中。 可以看到,機器指令是非常繁瑣的,現代程序員都使用高級語言來編寫程序。相關視頻推薦:CPU如何進行數字加法。時鐘信號現在我們的電路有了計算功能、存儲功能,還可以通過指令告訴該電路執行什么操作,還有一個問題沒有解決。

靠什么來協調或者說靠什么來同步電路各個部分讓它們協同工作呢? 時鐘信號就像指揮家手里拿的指揮棒,指揮棒揮動一下整個樂隊會整齊劃一的有個相應動作,同樣的,時鐘信號每一次電壓改變,整個電路中的各個寄存器(也就是整個電路的狀態)會更新一下,這樣我們就能確保整個電路協同工作不會這里提到的問題。

現在你應該知道CPU的主頻是什么意思了吧,主頻是說一秒鐘指揮棒揮動了多少次,顯然主頻越高CPU在一秒內完成的操作也就越多。

大功告成現在我們有了可以完成各種計算的ALU、可以存儲信息的寄存器以及控制它們協同工作的時鐘信號,這些統稱 Central Processing Unit,簡稱就是 CPU。

一個小小的開關竟然能構造出功能強大的 CPU ,這背后理論和制造工藝的突破是人類史上的里程碑時刻,說 CPU 是智慧的結晶簡直再正確不過。

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

    關注

    68

    文章

    10824

    瀏覽量

    211137
  • 晶體管
    +關注

    關注

    77

    文章

    9633

    瀏覽量

    137842
  • 或非門
    +關注

    關注

    0

    文章

    21

    瀏覽量

    15335

原文標題:開關如何變成的CPU?

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

收藏 人收藏

    評論

    相關推薦

    CPU主頻是什么意思

    CPU主頻,作為計算機處理器性能的一個重要指標,承載著豐富的技術內涵與實際應用價值。以下是對CPU主頻的詳細解析,包括其定義、用途、技術原理、影響因素以及在多個領域的實際應用。
    的頭像 發表于 09-26 15:50 ?956次閱讀

    什么是CPU時鐘速度

    CPU時鐘速度,作為衡量CPU性能的關鍵指標之一,對于理解計算機處理速度具有重要意義。下面將從定義、作用、計算方式、影響因素以及實際應用等多個方面對
    的頭像 發表于 09-26 15:40 ?462次閱讀

    雙核cpu和單核cpu的區別

    理器核心連接起來,從而提高計算能力。這種設計使得處理器能夠同時執行多個任務,提高計算效率和性能。 單核CPU :只有一個處理器核心,所有的計算
    的頭像 發表于 09-24 16:17 ?1932次閱讀

    晶體管在CPU中的工作模式

    CPU(中央處理器)的晶體管是計算機系統的核心組件,它們的工作機制對于理解計算機如何執行指令和處理數據至關重要。晶體管作為半導體器件,在CPU中扮演著微型電子
    的頭像 發表于 09-11 09:28 ?753次閱讀

    CPU故障現象有哪些

    CPU作為計算機系統的核心部件,其穩定性和性能直接影響到整個計算機系統的運行。當CPU出現故障時,會表現出多種不同的現象。以下是對CPU故障
    的頭像 發表于 09-10 11:46 ?2488次閱讀

    CPU的定義和功能

    CPU(Central Processing Unit,中央處理器)作為計算機系統的核心部件,其功能和作用至關重要。以下是對CPU功能的詳細解析,內容將涵蓋CPU的基本定義、主要功能、
    的頭像 發表于 09-10 11:45 ?2836次閱讀

    什么是CPU緩存?它有哪些作用?

    CPU緩存(Cache Memory)是計算機系統中一個至關重要的組成部分,它位于CPU與內存之間,作為兩者之間的臨時存儲器。CPU緩存的主要作用是減少
    的頭像 發表于 08-22 14:54 ?2361次閱讀

    多核CPU的優勢是什么

    多核CPU(Central Processing Unit,中央處理器)作為現代計算機技術的重要里程碑,其優勢在于顯著提升了計算性能、多任務處理能力、系統穩定性以及能效比等多個方面。以
    的頭像 發表于 08-22 14:30 ?2098次閱讀

    cpu是什么意思 CPU與PUA的區別

    CPU計算機中央處理器(Central Processing Unit)的英文縮寫,是計算機系統的核心部件之一。它負責處理和執行計算機中的指令,控制和協調
    的頭像 發表于 02-05 10:47 ?1.2w次閱讀

    什么是cpu的主頻和外頻,它們之間關系如何

    CPU的主頻和外頻是計算機中兩個重要的頻率指標,它們分別代表了CPU內部和與外部組件之間的數據傳輸速率。這兩個頻率指標之間有著密切的關系,對計算機的性能和穩定性有著重要的影響。 首先,
    的頭像 發表于 02-03 16:50 ?3815次閱讀

    服務器cpu和普通電腦cpu的區別

    通常具有更高的性能,因為它們通常需要處理更復雜和更大規模的任務。這也意味著服務器CPU具有更大的處理能力,能夠處理更多的數據和并發請求。而普通電腦CPU更加注重于個人計算需求,因此通常
    的頭像 發表于 02-01 11:14 ?6463次閱讀

    為什么GPU比CPU更快?

    GPU比CPU更快的原因并行處理能力:GPU可以同時處理多個任務和數據,而CPU通常只能一次處理一項任務。這是因為GPU的架構使得它可以同時處理多個核心,從而實現高效的并行計算,這是G
    的頭像 發表于 01-26 08:30 ?2240次閱讀
    為什么GPU比<b class='flag-5'>CPU</b>更快?

    處理器和cpu是一個東西嗎 cpu和主板的區別

    處理器和CPU是一個東西,CPU是指中央處理器(Central Processing Unit)的簡稱,是計算機的核心部件,負責執行各種計算任務。
    的頭像 發表于 01-19 09:52 ?1.9w次閱讀

    CPU與PUA的區別

    的領域,它指的是操縱、欺騙以及通過心理技巧追求或者引發他人的浪漫或者性意愿的人。 首先,我們討論一下 CPUCPU計算機中最重要的
    的頭像 發表于 01-10 10:35 ?1.3w次閱讀

    邊緣計算網關的CPU維護包括哪些方面

    邊緣計算網關的CPU維護涉及到多個方面,下面將從硬件和軟件兩個層面詳細介紹邊緣計算網關的CPU維護。 一、硬件層面的邊緣計算網關
    的頭像 發表于 12-27 15:33 ?746次閱讀