# 計算機組織 學習筆記: Performance - [進度](https://ocw.nthu.edu.tw/ocw/index.php?page=chapter&cid=76&chid=802) - [YT](https://ocw.nthu.edu.tw/ocw/index.php?page=chapter&cid=76&chid=3086) - [簡報](https://view.officeapps.live.com/op/view.aspx?src=https%3A%2F%2Focw.nthu.edu.tw%2Focw%2Fupload%2F76%2F788%2FComputer%2520Abs%2520and%2520Tech.ppt&wdOrigin=BROWSELINK) ## CISC / RISC 1. **CISC(Complex Instruction Set Computer)**: - **IBM**:IBM 的一些早期處理器,如 System/360 和 VAX,屬於 CISC 架構。 - **Intel 系列**:Intel 的 x86 架構處理器(如 8086、Pentium 系列)屬於 CISC 架構。 2. **RISC(Reduced Instruction Set Computer)**: - **MIPS**:MIPS 處理器屬於 RISC 架構。 - **其他 RISC 架構**:包括 ARM、PowerPC 和 RISC-V 等。 總結來說,IBM 和 Intel 的 x86 系列處理器屬於 CISC 架構,而 MIPS 屬於 RISC 架構。 ## 電腦三部分 - Application software - System software - Hardware ## Performance - Response time - Elapsed time - 整體時間 (包含CPU time, I/O , idle, OS overhead...)。 - CPU time - 包含CPU與System CPU time。 - Throughput 範例: Multicore增加Throughput,response time不變。 - Benchmark不一定適合,例如某些benchmark只跑矩陣乘法⇒ 無法測出其他工作的能力 ## Clocking 一個高電位+低電位為一個period。  - 提升clock rate不一定會變快,可能clock rate變高,但原本只需要一個clock的動作變成需要2個clock才能完成等等。 - 即使有相同ISA,硬體的實作與設備也會造成不同執行時間。 - 硬體(Organizer)跟CPI有關,但硬體跟Instruction count無關。 Response time包含I/O等額外時間,單純計算CPU time如下: - 指令角度: CPU time = CPI * IC - 硬體角度: CPU time = clock number * clock period CPI是各instruction所需的**平均**cycles數量  ## Power - Dynamic - charge/discharge用電 $$ Power_{dyn} = Capacitive\space load \times Voltage^2 \times Frequency $$ - Capacitive load : 跟gate的output數量與面積有關 - 靠減少面積降低Capacitive load ⇒ 太密集會衍生出散熱問題 - 現在Voltage降到1後很難再降下去。 (?)  - Static -**靜態功耗**(Static Power Consumption)是指數位電路在穩定狀態下,即不進行切換操作時所消耗的功率。這種功耗主要來自於晶體管的漏電流,即使在不使用時,電流仍會流過晶體管。 ## Amdahl's law * Speedup: $T_{improvement} = \frac{T_{affcted}}{t\space factor} + T_{unaffected}$ * 例題: 一個程式100秒內有80%在做乘法,若要整體提升至5倍速快? * $20 = \frac{80}{n}+20$ -->達不到 * Make common case fast!
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up