電腦CPU工作原理是什麼?

漫步216095811

這是一個需要很多個的硬件知識點才能在合理水平上理解的問題

畫一個黑匣子,假設是CPU。
在高層次上,這個盒子只做兩件事:

  1. 它消耗投入。
  2. 它產生輸出。

現在可以告訴這個盒子,“加1和2”。你給了它三個輸入:

  1. 指令:“添加”
  2. 第一個操作數:“1”
  3. 第二個操作數:“2”

這個盒子會產生一個輸出(在這種情況下,大概是3)。

如果你沒有工程學位,或者你沒有參加課程,這個框的組成可能超出了這個答案的範圍。為了使其達到更高的水平,該盒子由門組成,可以允許電流流過,或者防止電流基於施加於其上的另一電壓而流動。如果你想看到這些如何用來表達邏輯的例子,使用網上搜索“NMOS”,“PMOS”,“CMOS”,“CMOS圖”,“XOR門結構”等必要的理論點

然而,更重要一點,如果有足夠的晶體管,可能會出現某些更復雜的結構和指令。例如,在可能存在於筆記本電腦內部的x86_64處理器中,那麼就應該要說“將內存地址0x897E82和內存地址0x897EFA中的內容添加到內存中,而不是說”Add 1 and 2“導致內存地址為0x89B78C“。

那麼在這裡,給了它四個輸入:

  1. 指令:“添加”
  2. 第一個操作數:“內存地址0x897E82中的項目”
  3. 第二個操作數:“內存地址0x897EFA中的項目”
  4. 結果如何處理:“將結果存儲在內存地址0x89B78C中”

與大多數人想到計算機可視化的一般運動和總體畫面雖然它們在硬件方面仍然非常複雜)相比,這些說明仍然非常簡陋。

例如,如果我發送一條指令在某個內存地址上存儲某個值(可能為0xFFFFFF),並且該內存地址對應某個顯示輸出那麼我可能會無意中將屏幕上的某個像素變為白色或者其它顏色

CPU只是一個複雜的工具,可以將簡單的輸入變成簡單的輸出。但是,如果這些指令中有幾條並行發生,並且每秒發生數十億條指令,那麼所有這些小的變化累積地形成了我們注意到並與之交互的宏觀效果(以及許多您不知道的變化,正如我們使用電腦看視頻,打遊戲)。


分享到:


相關文章: