コンピュータアーキテクチャ · •...
Transcript of コンピュータアーキテクチャ · •...
![Page 1: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/1.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 1
コンピュータアーキテクチャComputer Architecture
9. スーパースカラプロセッサSuperscalar Processor
Ver. 2019-10-28a2019年度版
Course number: CSC.T363
www.arch.cs.titech.ac.jp/lecture/CA/Room No.W321 吉瀬 謙二 情報工学系
Kenji Kise, Department of Computer Sciencekise _at_ c.titech.ac.jp
![Page 2: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/2.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 2
リファレンスデザインに含まれるプロセッサ
• Operating frequency: 50MHz• リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ
ト)が採用されている.下の図からレジスタ名などが変わっているので注意.
m_regfilem_regs
(32bit x 32)
+
w_rs
IMEMm_imem
32
325
5
5
ID EX MEM
16
SignExtImm
Mux
Mux
DRAMm_dmem
WB
Mux
32
32
12
32
32
+
pc
4 32
32
IF
Pipeline register
IfId IdEx ExMe MeWb
5
+
Shiftleft 2
32
32
Mux
32
!=1
Mux
Mux
IfId_npc
IfId_ir
![Page 3: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/3.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 3
Performance Factors
• Performance = f x IPC• f: frequency (clock rate)• IPC: retired instructions per cycle
CPU execution time # CPU clock cycles for a programfor a program clock rate
= -------------------------------------------
int flag = 1;
int foo(){
while(flag);
}
Performance = clock rate x 1 / # CPU clock cycles for a program
![Page 4: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/4.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 4
スカラプロセッサのパイプラインと制約ループ
IF ID EX MEM WB
Control dependency
Data dependency
![Page 5: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/5.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 5
Increasing Processor Performance by Implementing Deeper Pipelines
Eric Sprangle , Doug CarmeanPentium Processor Architecture Group,Intel CorporationISCA-2002 pp.25-34
Session 1 – Processor Pipelines
International Symposium on Computer Architecture (ISCA)
![Page 6: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/6.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 6
研究の背景と目的
• プロセッサの動作周波数の決定はプロセッサ設計者の直面す
る本質的な課題となっている.
• パイプラインが深くなると,設計の複雑さと工程は劇的に増加
する.
• パイプラインの深さとキャッシュサイズの関数として,プロセッ
サ性能を予測するモデルを構築して,シミュレーションにより性
能を評価する.
• Pentium 4プロセッサをベースラインとして,深いパイプライン
が性能向上につながることを示す.
Increasing Processor Performance by Implementing Deeper Pipelines
![Page 7: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/7.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 7
Simulated 2GHz Pentium 4 like processor config
Skeleton という実行駆動のシミュレータを用いて評価する.
7Increasing Processor Performance by Implementing Deeper Pipelines
![Page 8: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/8.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 8
Simulated Benchmark Suites
Increasing Processor Performance by Implementing Deeper Pipelines
![Page 9: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/9.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 9
Overhead of the pipeline
• Conservative ASIC design• Clock skew + jitter = 51ps• Standard 0.18um process, flop overhead is 3 FO4 = 75ps• Pipeline overhead = 51ps + 75ps = 125ps
• Custom design• Most of clock skew and jitter overhead can be hidden.• Pipeline overhead = 75ps
• Extreme custom design• Sub-50ps at the cost of a much larger design cost
• Pentium 4 overhead• Pipeline overhead = 90ps • Use 90ps as a baseline overhead time
Increasing Processor Performance by Implementing Deeper Pipelines
![Page 10: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/10.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 10
パイプライン段数を変化させた動作周波数およびIPCと性能
• パイプラインが52段で、動作周波数が2倍になるまで性能が向上
52段
Increasing Processor Performance by Implementing Deeper Pipelines
![Page 11: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/11.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 11
パイプライン段数とオーバヘッドを変化させた時の性能
• 評価では,パイプライン段数に影響を受けず一定のオーバヘッドを想定
• 2GHz のパイプラインピッチ 500ps, Pentium 4のオーバヘッドは 90ps
オーバヘッドを小さくすることで、パイプラインはより深くなる
Increasing Processor Performance by Implementing Deeper Pipelines
![Page 12: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/12.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 12
Super pipelined processor (スーパーパイプライン)
• A super pipelined processor has split the main computational pipeline into more stages.
IF EX MEM WB
Control dependency
Data dependency
![Page 13: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/13.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 13
プロセッサの命令パイプラインの例
POWER4 System Microarchitecture, IBM Journal
The Microarchitecture of the Pentium® 4, Intel Technical Report
![Page 14: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/14.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 14
プロセッサの命令パイプラインの例
Intel Core i7 Nehalem Architecture (14 stages), bit-tech
![Page 15: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/15.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 15
Single Cycle and Pipelined Processor
15Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005
![Page 16: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/16.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 16
スーパースカラプロセッサと命令レベル並列性
• 複数のパイプラインを利用して IPC (instructions per cycle) を 1以上に引き上げる,複数の命令を並列に実行
• n-way スーパースカラ
n
2-way superscalar
![Page 17: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/17.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 17
スーパースカラプロセッサと制約ループ
IF EX MEM WB
IF EX MEM WB
IF EX MEM WB
IF EX MEM WB
Control dependency
Data dependency
Conventional 5 stage pipeline
![Page 18: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/18.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 18
プロセッサが命令を処理するための5つのステップの修正
• IF (Instruction Fetch)メモリから命令をフェッチする.
• ID (Instruction Decode)命令をデコード(解読)しながら,レジスタの値を読み出す.
分岐命令である可能性を考慮し,読み出されたレジスタの間で一致比較を行う.命令のオフセットフィールドを符号拡張し,インクリメントされたPCに符号拡張され
たオフセットを足し合わせて分岐先のアドレスを計算する.条件が成立した場合には分岐先アドレスをPCにセットして,このステージで分岐命令を完了させる.
• EX (Execution)命令操作の実行またはアドレスの生成を行う.
• MEM (Memory Access)必要であれば,データ・メモリ中のオペランドにアクセスする.
• WB (Write Back)必要であれば,結果をレジスタに書き込む.
18
![Page 19: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/19.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 19
戦略4: 遅延分岐 (delayed branch), MIPSが採用
• 分岐命令の後続の幾つかの命令を実行した後に,分岐する.1サイクルの遅延を持つ命令実行順は次の通り.
• 分岐命令を実行
• 分岐命令の次アドレスの命令を実行
• 分岐成立では,飛び先アドレスの命令を実行(不成立では,分岐命令の次の次のアドレスの命令を実行)
• 分岐命令の後続の幾つかの命令を実行した後に分岐.分岐命令によるストールは生じない.
19Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005
![Page 20: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/20.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 20
8Index
Data ( 4 word )Index TagValid
012...
253254255
31 30 . . . 13 12 11 . . . 4 3 2 1 0 Byte offset
20
20Tag
Hit Data
32
Block offset
Multiword Block Direct Mapped Cache
• Four words/block, cache size = 1K words
What kind of locality are we taking advantage of?
![Page 21: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/21.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 21
Interleaved(インターリーブ) Memory Organization
• For a block size of four words withinterleaved memory (4 banks)
• 1 cycle to send 1st address• 25 + 3 = 28 cycles to read DRAM• 1 cycle to return last data word• 30 total clock cycles miss penalty
CPU
Cache
Memorybank 1
bus
on-chip
Memorybank 0
Memorybank 2
Memorybank 3
• Number of bytes transferred per clock cycle (bandwidth) for a single miss
• (4 x 4) / 30 = 0.533 bytes per clock
25 cycles
25 cycles
25 cycles
25 cycles
With parallelism
![Page 22: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/22.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 22
スーパースカラプロセッサ(インタリーブ命令メモリ版)
MipsCore in-order SuperScalar 2011-12-02 17:00 ArchLab. TOKYO TECH
![Page 23: コンピュータアーキテクチャ · • リファレンスデザインには,5段パイプライン処理の典型的なMIPSプロセッサ(のサブセッ ト)が採用されている.下の図からレジスタ名などが変わっているので注意.](https://reader033.fdocuments.net/reader033/viewer/2022041615/5e3b17ee9b033543872e1b3a/html5/thumbnails/23.jpg)
CSC.T363 Computer Architecture, Department of Computer Science, TOKYO TECH 23
Cascade ALU Architecture
EX
IdEx ExMe
ALUALU
Mux
A Cascade ALU Architecture for Asynchronous Super-Scalar Processors, IEICE transactions on electronicsIEICE transactions on electronics 84(2), 229-237, 2001-02-01