---
# System prepended metadata

title: '計算機組織 學習筆記: Performance'
tags: [計算機組織]

---

# 計算機組織 學習筆記: 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。
![image](https://hackmd.io/_uploads/SJPgOnQW1e.png)

- 提升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數量
![image](https://hackmd.io/_uploads/rJPLHn7W1e.png)


## Power

- Dynamic
    - charge/discharge用電
    
    $$
    Power_{dyn} = Capacitive\space load \times Voltage^2 \times Frequency
    $$
    
    - Capacitive load : 跟gate的output數量與面積有關
        - 靠減少面積降低Capacitive load ⇒ 太密集會衍生出散熱問題
    - 現在Voltage降到1後很難再降下去。 (?)

![image](https://hackmd.io/_uploads/BJFvI-rZke.png)

- 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! 


