回覆列表
  • 1 # 千jue

    大家生活中都離不開CPU吧~~不管是電腦裡,手機裡,甚至是你的遙控器中,都有著它的身影。那麼你肯定會有這樣的疑問了,CPU內部到底是什麼鬼,為什麼集成了幾億甚至上十億的電晶體?感覺好屌的樣子~~

    嚴格意義上來講,CPU只是指電腦中的那塊晶片,而寬泛來講,CPU則存在於各大積體電路中,下面我們虛構歷史,追尋CPU的前世今身。

    讀過三體的小夥伴對那段秦始皇操縱千萬兵馬組成計算機的場面一定不陌生吧~無論懂不懂計算機,我們都知道現代計算機內部邏輯只有0和1兩個狀態,這兩種狀態又可以進行三種基本運算,與、或、非,類似於加減乘除。這裡不詳細介紹了。我們知道加減乘除可以組成各種函式,類似地,與或非這三種運算也可以組成各種邏輯函式,從而實現各種功能。談到這裡,小夥伴們就很神奇了,與或非怎麼就能實現各種功能了?跨度太大了有木有?!於是,我就舉個栗子~~

    加法器

    看,是不是[公式]了呢~~(不會二進位制的請忽略這段,只要覺得好厲害就可以了)。什麼?瞬間逼格掉了?沒辦法了~~科學的萬丈大廈就是這樣築起來的~~

    這還只是半加器,我們又發明了全加器,然後發現全加器有點問題,於是我們又發明了超前進位加法器(上述幾個名詞感興趣的可以百度百科~~)

    4位超前進位加法器74LS283

    現在已經是中規模積體電路了~~上圖電路可以做一個事情,將兩個四位二進位制數相加,並輸出結果,包括進位。

    這就構成了計算機加法指令的執行電路部分了~~當然現在的CPU都是64位了,也就是CPU可以一次性將兩個64位的二進位制數相加了。上述只講了加法這一種計算功能,事實上我們的計算機CPU中有上萬種計算功能,可以想象這電路規模有多大了吧~~

    講完計算機計算的方法,那麼計算機是怎麼知道自己接下來要幹什麼呢,也就是要將資料送入哪部分計算單元中,以進行計算?

    首先CPU要將資料從硬碟中調用出來,從硬碟的一個固定位置開始讀取資料。CPU將資料取出來之後,接下來就是翻譯這段資料了,根據這段資料決定執行什麼功能。等等,不夠直觀對吧~打個比方吧,我是硬碟,你是CPU,我說一,你就抓頭髮,我說二,你就跳,一樣的道理~~什麼?與或非三種運算怎麼實現將資料送入不同的電路中?噢噢,差點忘記了,電路輸出有時候不止是0或1,還有第三種狀態——高阻態。

    傳輸門

    上述電路中當C為0時,左邊和右邊是斷開的。當一個電路輸出高阻態時,就相當於斷開。

    繞來繞去還是不懂%>_<%,其實我也快暈了哈哈。再舉栗子~~如果你知道蘋果裡面有蟲子,現在你有兩個選擇:吃掉蘋果並吃掉蟲子和吃掉蘋果不吃掉蟲子。那麼問題來了,你不想吃掉蘋果的對不對~!所以就有了高阻態。當電路不管輸出0還是1都對後面的電路有影響時,就可以輸出高阻態,這樣兩端電路就斷開了,也就消除了影響。

    那麼這和我們的上述問題有什麼關係呢~?你沒有發現上述電路結構就像是開關一樣嗎~~將需要連線的電路“開關”開啟,其餘的邏輯電路的開關關閉即可,而開關就由CPU讀取到的指令資料決定~

  • 中秋節和大豐收的關聯?
  • iPhone11影院級防抖和OPPO Reno2過山車級防抖哪個更好?