tags: 說明

筆記內容用於個人學習,大都整理自公開的網路資訊,再加上自己的學習心得



計算機概論

聲音大小計算

聲音大小計算 = 取樣頻率 * 取樣大小 * 聲道 * 時間長短
長度為 10 秒鐘,具 CD 品質(取樣頻率 44.1KHz,取樣位元數 16 Bits)的雙聲道聲音所需的資料量
= 44.1 * 1000(KHz = 每秒 1000 次) * 16 * 2 * 10 bits
= 14112000 bits
= 14112000 ÷ 8 (換算 bytes) ÷ 1024(換算 KB)
= 1722.65625 KB


Amdahl's law

阿姆達爾定律

阿姆達爾定律(英語:Amdahl's law,Amdahl's argument),一個計算機科學界的經驗法則,因吉恩·阿姆達爾而得名。它代表了處理器並行運算之後效率提升的能力。

並行計算中的加速比是用並行前的執行速度和並行後的執行速度之比來表示的,它表示了在並行化之後的效率提升情況。

阿姆達爾定律是固定負載(計算總量不變時)時的量化標準。可用公式:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

表示問題規模的串行分量(問題中不能並行化的那一部分)和並行分量,p表示處理器數量。

阿姆達爾法則(Amdahl's law)是一個計算如何有效率進行資源分配的好工具
白話點

S=1(1a)+an
S=1(10.75)+0.7510.6

S:表示「總系統」提升的效率是原來的 S 倍。
a:表示「部分系統」影響「總系統」效率的比率。
n:表示「部分系統」提升的效率是原來的 n 倍。

記憶體的讀取時間,佔了電腦程序運算20%的時間
處理器的運算時間,佔了電腦程序運算60%的時間

而今天有兩項技術

  1. 將記憶體讀取速度提高5倍
    S=1/((1-20%)+(20%/5))
    S=1.19 (也就是120%)
  2. 將處理器速度提高50%
    S=1/((1-60%)+(60%/1.5))
    S=1.25 (也就是125%)

請問要優先開發技術1還是技術2?


管路設計(Pipelining)

管路(pipeline)是一種資料路徑的製作技巧,它可以重疊指令的執行(同步)。管路並不是縮短單獨一個指令的執行時間,而是增加指令的生產量(throughput)。
用管路技術可以每一個指令的執行時間不變,但生產量提昇

  • 管路危障(Pipeline Hazards)
    下一個指令不能在緊接著的時脈週期被執行,這樣我造成管理無法全速運作。
  • 結構危障(Structural Hazards)
    在管路中每一個時脈都有數個指令同時被執行,如果硬體不能滿足所有執行中的指令需求時,就會發生結構危障
  • 控制危障(Control Hazards)
    當我們做決策時,此決策參考結果還在執行中
    解決方法
    • 暫停管路(stall)
    • 分支預測(predict)
    • 延遲分支(delayed branch)
  • 資料危障(Data Hazards)
    一個指令的運算元必須參考前面指令的執行結果,但前面的執行結果卻還在管路中沒有執行完
    解決方法
    • 可以前送(forwarding)
    • 旁傳(bypassing)