C++底層系統觀(二)----硬體怎麼玩

來源:互聯網
上載者:User

標籤:

咱先不講語言,先從硬體層面形象的解釋下CPU是怎麼完成各種功能的
    int a, b, c;    cin >> a >> b;    c = a + b;

這裡C++代碼 只有三行 看看要實現這樣的功能 硬體做了什麼

         CPU讀入指令

   cin >> a >> b;

   CPU:我剛接收到組織的任務 要我們擷取兩個整數 然後放到組織提供的兩個記憶體位址對應的記憶體裡面
   鍵盤:好的 如果有人敲我 我會通知你
CPU: 好的呢
   CPU: 使用者敲了個 1 顯卡 你快去把 1 的映像資訊存到你的顯存裡面 那樣我們的螢幕兄弟就能讀取你的顯存 點亮它對應的LED燈泡 顯示給使用者看 讓使用者知道自己敲了個 1
   顯卡:遵命
   ...直到使用者敲入了 1 2 按下了斷行符號
CPU:哎呀媽呀 可按斷行符號了 快快快 記憶體 把這 1 和 2 從你的輸入緩衝區記憶體 運送到 a 和 b 的記憶體裡面去 完成 a=1 b=2
   記憶體:嗯 已經搞完了
   CPU:我又受到組織的任務 他要 我們開闢個記憶體空間 C 然後把 a+b存進去
   CPU:a+b我已經算出來了 我剛才申請了個記憶體位址 來 記憶體兄弟 把a+b存在這個記憶體位址裡
   記憶體:OK


總結:記憶體條 就專門負責存和讀取資料 CPU把要讀取的地址給記憶體條 記憶體條 就找到這個記憶體把裡面的值取出來 給CPU
顯示卡 顯示卡也有個儲存資料的地方叫做顯存 螢幕讀取顯存可以知道自己那個燈泡需要發光
  鍵盤 鍵盤每當有人敲它 他就告訴別人 (實際上記憶體有一塊地區 存著鍵盤的按鍵情況 鍵盤被敲 就改變了這段記憶體的數值 CPU通過讀取這段記憶體來知道鍵盤按鍵狀態)




C++底層系統觀(二)----硬體怎麼玩

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.