CPU是不是可以看作是一個超大規模的整合開關?知乎使用者2015-07-02 12:22:58

呃,您這是上帝視角。

CPU是不是可以看作是一個超大規模的整合開關?邵雲2015-07-03 09:21:24

HI~

我不知道你所謂的 開關 是什麼意思,是指max4618那樣的模擬開關麼?

ee大二在讀,有錯誤懇請指正

cpu(central processing unit)顯然是個處理器啊。我從底層往上開始講。

物理層。就是一堆mosfet,啥是mosfet?三極體知道吧,就看成三極體就行,也就幾個billion 魔電阿不模電課本有

門級。與或非異或d觸發器,這個是數電課本上的

數電課本上也有,由邏輯閘可以構成許多奇怪的東西 比如74系列。國外有大神拿200多片74晶片懟了一個cpu出來,手機碼字,就不貼連結了。

然而直接上74太麻煩了,我們需要再學一門課叫eda,一種語言叫verilog。用verilog寫出各種模組,拼在一起。

CPU是不是可以看作是一個超大規模的整合開關?

CPU是不是可以看作是一個超大規模的整合開關?

這圖 是digital design and conputer architecture裡面經典的risc五級流水線superscalar的simplify view,寫的話就按這個模組寫就行 取指 譯碼 執行 訪存 寫回。你問這又是啥?上面那本全英的書講的很詳細,國內的話,叫計算機體系結構

學過彙編麼?好吧我假設並沒有。彙編指令只是把機器語言(2進位制數,由cpu字長決定長度)用助記符代替。我舉個栗子。add s0 s1 把暫存器s0 和s1的值相加,結果放到s0

其機器碼是 0000h 0000h 0001h。這個程式碼放在指令儲存器中(哈佛結構和馮諾依曼結構有區別,看課本)取指階段把它取出來,譯碼就是一長串if,看看需要哪些資源,比如這個就要alu參與工作,然後是執行階段,把資料從資料儲存器中送到alu,加出來的結果再送回儲存。這一條指令就完了。

再往上就是作業系統了,作業系統會給軟體留出api,軟體經由api訪問硬體資源

高階語言寫的程式透過編譯吧啦吧啦總會變成彙編指令,然而你看不到這個階段。引用《digital。。。》裡的一段話

thanks to the power of abstraction,your grandma can surf the web without any regard for the quantum vibration of electrons or the organization of memory in her computer

大概這就是你問這個問題的原因吧。

前程似錦

thanks

CPU是不是可以看作是一個超大規模的整合開關?其實我是老莫2015-07-04 08:51:56

可以讀一下通靈晶片這本書。讀完了你就發現,對於搭建計算機系統電晶體、真空電子管和電磁繼電器並沒有什麼不同。

這是一本好書。

這是一本好書。

這是一本好書。

說完三遍以後再感慨一句:這書真便宜。

CPU是不是可以看作是一個超大規模的整合開關?匿名使用者2015-07-12 11:48:39

可以這麼看吧

CPU是不是可以看作是一個超大規模的整合開關?二氧化矽2015-10-18 00:35:19

理想了看,其實就是一大堆電控開關。。

當然只限於數字積體電路,模擬積體電路就不可以這樣理解了。