通過自製CPU來徹底理解CPU的工作原理

2021-07-10 04:10:12 字數 1277 閱讀 4704

每天摸著cpu,摸了20多年,卻總是無法徹底理解cpu的工作原理,還有比這更鬱悶的事嗎?所以我決定攻克這一世界(我個人的世界)難題,自己做乙個cpu來理解cpu的工作原理。

「 造乙個什麼樣的cpu好呢?intel i7那樣的cpu好不好?」

「好是好!可我現在也只敢在心裡想一想,畢竟我幼兒園都沒畢業,說出去,全世界的目光都要變異了啊!」

「那將就點,造個intel 4004這樣的cpu,畢竟這只是用來理解cpu的原理。」

「不錯,這個cpu簡單,可是需要2250個電晶體,我都失業一年多了,沒錢買------」

「唉!難道這一偉大工程,要胎死腹中嗎?」

「不!絕不能半途而廢!」

受條件限制,最後我決定,先在心裡造乙個最簡單的cpu,然後再買材料製造。最簡單,意味著要把很多次要的東西去掉。如下圖,如果還要簡化,該怎麼簡化?我想了很久,最後決定造乙個0位cpu,既然是0位cpu,那麼暫存器和alu就都可以去掉了,最後只剩下控制器。也許你會大叫:都去掉了那還叫什麼cpu?還有什麼用?稍安勿躁,簡化只為觸及cpu最本質的原理,而理解了最本質的原理,就如同理解了原子核的原理可以製作原子彈一樣,你也可以製造不同於現在cpu的cpu。

現在剩乙個控制器了,不能再減了!再減就什麼都沒有了!雖然不能把控制器減掉,但是可以簡化啊!控制器有輸入,有輸出,把它簡化到最簡單的狀態,就是只有乙個輸入,乙個輸出,

最終的cpu原理也就出來了,就是:控制+控制。控制器輸出資訊控制外部器件,外部器件的運算結果又控制了控制器。

用實物來搭建最小的cpu會是什麼樣?

這不就是乙個振盪器嗎?我最初也沒想到,把cpu精簡到最小會是乙個振盪器!但它的確是,那自然就有它的道理。君不見每個cpu要執行,由振盪電路產生的時鐘訊號是必不可少的嗎?沒有振盪電路,cpu就是一塊石頭,是死的。而沒有cpu中的其它電路,振盪器還是一樣的工作。現實中振盪電路和cpu是分開的,給人理解帶來困惑。事實是一切的起源在於振盪器產生的時鐘。

至於造實物,已經沒有必要了,因為20多年前就已經做過,別人還用這個電路加變壓器電翻了一大片魚,說來真是好笑,你所追求的,本來你就擁有。

鳳凰涅槃,現在可以從這裡開始,新增解碼電路,暫存器,運算單元,來實現更完整的cpu了!

CPU,記憶體理解

計算機的系統框圖,嵌入式裝置也一樣。控制單元和算術運算單元組成cup,圖中的主記憶體也就是我們常講的記憶體,這個記憶體就是記憶體條。cpu 為乙個具有特定功能的晶元,裡頭含有微指令集 如果你想要讓主機進行什麼特異的功能,就得要參考這顆 cpu 是否有相關內建的微指令集才可以。上面所述的微指令集 精簡...

物理cpu與邏輯cpu的理解

一 yarn資源排程器中主要的資源分類 memory 記憶體 cpu 邏輯cpu 配置屬性 二 首先要明確物理cpu個數 核數 邏輯cpu數的概念 物理cpu數 主機板上實際插入的cpu數量,可以數不重複的 physical id 有幾個 physical id cpu核數 單塊cpu上面能處理資料...

物理cpu與邏輯cpu的理解

1.物理cpu個數 核數 邏輯cpu數的理解 物理cpu數 主機板上實際插入的cpu數量,可以數不重複的 physical id 有幾個 physical id cpu核數 單塊cpu上面能處理資料的晶元組的數量,如雙核 四核等 cpu cores 邏輯cpu數 一般情況下,邏輯cpu 物理cpu個...