1+1=2 程序員
好吧,我認可這是小學生也會作的題目,可是做爲一個程序員,或者是軟件設計師,你知道1+1=2如何在計算機內部表示並執行的麼?spa
在複習軟件設計師中的計算機組成原理的時候這個問題一直在困擾着我,由於這裏的內容涉及到了cpu運行原理.而對咱們大多數人而言,cpu只不過是一個"黑盒子",具體裏面是如何構造的咱們並非很清楚.設計
爲了搞清楚,本身在這方面花費了一些功夫,查閱了相關的書籍和一些資料,逐漸的解開了cpu的內部的面紗,接下來我將經過圖片來和你們一塊兒到cpu的內部觀察它是如何運做1+1=2的.code
旅途開始:我將經過顯微鏡的旅遊方式爲你們展示.圖片
- 電腦:做爲程序員這是咱們熟悉的不能在熟悉的傢伙了.
- 主機是電腦重要的部件.
- 主機裏面的重要組成部分--主板
- 主板中有整個電腦的核心
- 打開cpu外的散熱器咱們能夠看到傳說中的cpu
- cpu的內部構造,
- cpu主要是有晶體管構成的,下圖爲一個晶體管的示意圖.
- 晶體管中有兩個電流,左側爲輸入流,右側爲輸出流
- 在兩個電流中間有一個白色的絕緣體,而被白色絕緣體包圍的是半導體,主要是進行控制開關
- 而被白色絕緣體包圍的是半導體,主要是進行控制開關,兩端電流上面是金屬導體.
- 當輸入流通電的時候,而且半導體的開關是處於打開的狀態下,那麼輸出流也處於通電狀態
- 爲了便於形象的理解,咱們給每一個晶體管"裝上"一個開關,開表示1,關表示0,同時爲晶體管的輸入流通電.
- 如今拿出兩個晶體管,將兩個晶體管的輸出流(右側電流)經過導線相連,並在導線上能夠想象安置一個小燈泡,有電則小燈泡亮,沒有電則不亮.這就造成了著名的"邏輯門"中的"或"門,下圖是一個"或"門的構造.
- 若是隻打開第一個晶體管的開關,則小燈泡亮了.
- 若是隻打開第二個晶體管的開關,則小燈泡也亮了.
- 若是兩個開關都打開的話,則小燈泡仍是亮了.
- 以上三種狀況是解釋的"或"們會有的三種狀況,接下來經過一個小小的變化將導線同第一個晶體管的輸出流與第二個晶體管的輸入流相連,則造成了另外一個邏輯門----"與"門.
- 若是隻開第一個晶體管的開關的話,小燈泡不會亮.
- 若是隻開第二個晶體管開關的話,小燈仍是不會亮.
- 若是兩個都開的話,小燈才能亮.
至此爲止咱們已經瞭解到了晶體管的基本工做原理,而且經過圖像展示出來,瞭解到了什麼是邏輯門,邏輯門中的"與門"和"或門"可是1+1是如何經過這些晶體管來表示,並在計算機中運行,我將會在下一篇文章中與你走完剩下的旅途.unicode
下圖爲上面整個路線的一個宏觀概念圖.io