# Parallelism 平行化筆記 ## DECLARATION >現在正值期末考週,這篇文暫時以大轉「正常」範圍點到為止。期末結束之後再把內容補足。謝謝大家體諒🥲 > [name=K.Wei][time=May 29, 2022 02:12][color=red] ## Type of Parallelism 平行化種類 1. Instruction-level Parallelism (ILP) - 指令層級平行 2. Data-level Parallelism (DLP) - 資料階級平行 ## Pre-knowledges Advised 建議預備知識 1. Machine Laguage 機器語言 (Ref.1 Ch2) 2. Pipeline 管線化技術 (Ref.1 Ch2) 3. 名詞部分: - Instruction - 指令:ADD、LOAD、STORE 等 - Stage - 階段: 管線化後將指令拆解成不同階段 - Ex. 5-stage: IF、ID、EX、MEM、WB。 - 有空再另外寫一篇文說明這邊 ## Overview 概述 - **ILP, Instruction-level Parallelism** - 主要討論**指令與指令**之間的平行化 - ex. `load/store` & `add/jump` 並行處理。 (Overview Appendix) - 演進過程: ```flow i=>start: ILP g1=>operation: Dual Issue g2=>operation: Superscalar 超純量 g3=>operation: Hyper-threading/SimultaneousMultithreading (HT/SMT) 超執行緒/同時多執行緒(相同) i->g1->g2->g3 ``` - **DLP, Data-level Parallelism** - 主要討論相同指令不同**資料**的平行化 - ex. `add R1, S1, T1` 與 `add R2, S2, T2` 並行處理。 (Overview Appendix) - 演進過程: ```flow i=>start: DLP g1=>operation: SIMD (Intel AVX) g2=>operation: Vector g3=>operation: GPU Large Scale Vector i->g1->g2->g3 ``` ## ILP, Instruction-level Parallelism ### 如何提升 ILP - 更深的 Pipeline - 從 5-stage 變成 n-stage, n>5 - Multiple Issue ### Multiple Issue - Static Multiple-issue Processors - **VLIW, Very Long Instruction Word 超長指令字** - 在 CPU 內增加相同的線路與元件,平行化處理兩條指令(同一個 Cycle 內可以同時執行兩個相同的 Stage) - 並搭配 Compiler 於 Compile Time 重新編排指令。 - **重新編排指令:** 此種平行方式只適用於不同 Type 的 Instruction,因此需要進行 Instruction Scheduling。 - **Instruction Scheduling:** Compiler 重新規劃指令順序。 - Dynamic Multiple-issue Processors - Superscalar 超純量 ## Reference 1. *Computer Science - an Overview* 2. *Foundations of Computer Science* 3. **Optional:** *Computer Organization and Design RISC-V edition* `(NYCU C.O. Textbook)` --- 有錯誤或相關問題歡迎來信 Email: kwlee1111@cs.nctu.edu.tw --- ###### tags: `Computer Organization`
×
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