re.md - huahua6207/co110a GitHub Wiki
目前尚未完成
如何設計電腦 -- 還有讓電腦變快的那些方法
常見的兩種加速方法
1. 多層次快取
- 快取通常採用區域型策略(一次載入一整塊)
- 盡量減少慢速裝置的存取,改用小量快速裝置當快取,就能讓電腦的效能有顯著的提升
- CPU可以透過快取減少存取慢速元件的機會,進而讓效能不會被慢速元件卡住
2. 平行
- 平行是利用多個元件同時執行,達到加速的目的
- 現今的電腦通常採用下列三種平行機制:
- 管線pipeline機制
- 多核心+Hyper-Threading
- GPU
- GPU繪圖處理器:通常具有上百個浮點乘法與加法的運算單元,於是這類運算會比CPU快很多
- 螢幕繪製通常需要很多這類運算,所以在繪圖上GPU有可能比CPU快上數十倍甚至上百倍
- GPU和多核心不相同,多核心每個core通常只有一個ALU,但GPU則是在一個core中放了很多ALU
- GPU的平行也會被條件跳躍影響而無法全速運行
- 現在的電腦架構通常是CPU+GPU,融合兩者便可以讓它們各自處理擅長的事情
- 特殊領域會有特製電腦,可以比CPU+GPU快上百倍甚至千倍,以下為兩個例子:
- Google的深度學習TPU
- 比特幣挖礦機
- 使用SHA-256快速計算電路
參考資料: https://www.slideshare.net/ccckmit/ss-85466673
課程心得
從最基本的電路邏輯閘,一直到組出CPU、記憶體,並設計成一台電腦,得知了各種東西的原理及設計方法。很難但是很有收穫。希望在之後可以自己消化完成,並在未來實踐。