---
# System prepended metadata

title: Computer-System Architecture 電腦系統結構

---

# Computer-System Architecture 電腦系統結構 

![](https://i.imgur.com/UI4g5tq.png)

### Single-Processor Systems 單處理器系統

![](https://i.imgur.com/OIduviI.png)

- **One main CPU** -> executing a general purpose instruction set 通用指令集（Include user instructions)
- Have **other special purpose processor**（keyboard, disk) -> run a limited instruction set
- Most of **Modern PCs**


### Multiprocessor Systems 多處理器系統
![](https://i.imgur.com/ipty0NN.png)

- aka. Parallel system(並行系統) or Tightly coupled systems（多核系統）
- **Have two or more processors** in close communication, **sharing** the computer bus（匯流排 -> 數據） and sometimes the clock, memory, and peripheral devices.
- First appeared in servers -> desktop and laptop ->-> mobile
- Blade Servers

#### Advantages
- Increased throughput 增加吞吐量（預期同時間內可以完成更多工作（次數））
- Economy of scale
- Increased reliable 增加可靠性✨
:::info
**graceful degradation 適度退化**
根據剩餘有效硬體的級別按造比例繼執行任務的能力。

**fault tolerant 容錯**
有的系統會將超過適度退化，但剩餘系統仍可以進行任務的行為稱為容錯。
:::
#### Type of Multiprocessor Systems
**Asymmetric Multiprocessing 非對稱多處理**

![](https://i.imgur.com/K9CcrXU.png =40%x)

- A boss–worker relationship
- The boss processor schedules and allocates work to the worker processors
- cheaper than SMP

**Symmetric Multiprocessing（SMP） 對稱多處理**

![](https://i.imgur.com/ru5qoCH.png =30%x)

- The most common systems（Windows, Mac OS X, and Linux）
- All processors are peers（可同時運作，不會造成效能下降）
- To ensure data reach the appropriate processordynamically (避免其中一方超載或閒置) 
    -> **shared processes and resources**(memory, I/O devices) --> 擴展能力有限!
    
:::success
![](https://i.imgur.com/17drOlp.png)

**Uniform-Memory-Access(UMA) 一致存儲器訪問**
- **Access to any RAM from any CPU takes the same amount of time**
- **Only one CPU can access RAM at a time**（some parts of memory may take longer to access than other parts, creating a performance penalty 效能損失）
- Mostly used for **PC**

![](https://i.imgur.com/gevS7YG.png)

**Nonuniform-Memory-Access(NUMA) 非一致存儲器訪問** 
- **Each processor has its own memory**（讀寫內存效率 ⬆️）
- And each process **can also access the memory of other processors**（by QPI but slower than local）
- **One memory can only be accessed by one CPU at the same time**
- Mostly used for **server**

:::

### Clustered Systems 電腦叢集
![](https://i.imgur.com/TL4iGRH.png)
- Gather together multiple CPUs to accomplish computation work
- used to provide **high-availability service**
- can be structured asymmetrically or symmetrically

## Instruction set 指令集
> 電腦自己的機器語言

電腦是透過電晶體組成的邏輯電路進行複雜的計算與判斷，通過輸入指令與數據即可取得結果。（而這些指令經過重新劃分成一整套進行運算的集合，就是指令集。）
>  高階語言（C, Python, Javascript) -> 機器語言（二進位代碼, 指令)

![](https://i.imgur.com/FvHQiuM.jpg)

#### 指令集的設計類別

[CICS, RICS 歷史架構](https://www.techbang.com/posts/10678-fully-understand-arm-processors-cisc-and-risc-are-what-history-structure-a-see-through-the-computer-96-issues-cover-story-the-king?page=1)

| | CISC 複雜指令集電腦 | RISC 精簡指令集電腦 |
| ---- | --- | --- |
| 全文 | Complex Instruction Set Computer | Reduced Instruction Set Computer |
| 指令長短 | 不一致 | 一致 |
| 指令執行時間 | 不一致 | 一致 |
| **程式執行效率** | 低 | **高** |
| 指令執行 | 順序 -> 控制簡單 | 並行 | 
| 指令豐富度 | O | X |
| 處理特殊指令 | 效率高 | 效率底（組合指令） |
| 代表 | x86（intel, AMD) | arm（蘋果, 高通, 聯發科）|

CISC 和 RISC 各有優勢，只是派別上的差異。實際上，現代有相當多的 CPU 採用 CISC 的外圍，但內部加入了 RISC 的特性（類 RICS），融合各自的優點。
