re.md - huahua6207/co110a GitHub Wiki

目前尚未完成


如何設計電腦 -- 還有讓電腦變快的那些方法

常見的兩種加速方法

1. 多層次快取

  • 快取通常採用區域型策略(一次載入一整塊)
  • 盡量減少慢速裝置的存取,改用小量快速裝置當快取,就能讓電腦的效能有顯著的提升
  • CPU可以透過快取減少存取慢速元件的機會,進而讓效能不會被慢速元件卡住

2. 平行

  • 平行是利用多個元件同時執行,達到加速的目的
  • 現今的電腦通常採用下列三種平行機制:
  1. 管線pipeline機制
  2. 多核心+Hyper-Threading
  3. GPU
  • GPU繪圖處理器:通常具有上百個浮點乘法與加法的運算單元,於是這類運算會比CPU快很多
  • 螢幕繪製通常需要很多這類運算,所以在繪圖上GPU有可能比CPU快上數十倍甚至上百倍
  • GPU和多核心不相同,多核心每個core通常只有一個ALU,但GPU則是在一個core中放了很多ALU
  • GPU的平行也會被條件跳躍影響而無法全速運行
  • 現在的電腦架構通常是CPU+GPU,融合兩者便可以讓它們各自處理擅長的事情
  • 特殊領域會有特製電腦,可以比CPU+GPU快上百倍甚至千倍,以下為兩個例子:
  1. Google的深度學習TPU
  2. 比特幣挖礦機
  • 使用SHA-256快速計算電路

參考資料: https://www.slideshare.net/ccckmit/ss-85466673


課程心得

從最基本的電路邏輯閘,一直到組出CPU、記憶體,並設計成一台電腦,得知了各種東西的原理及設計方法。很難但是很有收穫。希望在之後可以自己消化完成,並在未來實踐。