6. パイプライン制御

Similar documents
Microsoft PowerPoint - Chap5 [Compatibility Mode]

Microsoft PowerPoint - Sol7 [Compatibility Mode]

Microsoft PowerPoint - Chap4 [Compatibility Mode]

計算機アーキテクチャ

Microsoft PowerPoint - NxLecture ppt [互換モード]

Microsoft PowerPoint - NxLec ppt

MIPSのマイクロアーキテクチャ

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

Microsoft PowerPoint - Lec pptx

< B8CDD8AB B83685D>

ソフトウェア基礎技術研修

スライド 1

スライド 1

Microsoft PowerPoint - Chap2 [Compatibility Mode]

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

計算機アーキテクチャ特論 後半第2回 アウトオブオーダー実行 Out-of-Order Execution

Microsoft PowerPoint - NxLec ppt

Microsoft PowerPoint - CompArch_Exercise3.pptx

スライド 1

Microsoft PowerPoint - Lec ppt [互換モード]

計算機アーキテクチャ

ex04_2012.ppt

Microsoft Word - HW06K doc

Microsoft PowerPoint - 3.3タイミング制御.pptx

スライド 1

Microsoft PowerPoint - ProcML-12-3.ppt

スライド 1

スライド 1

スライド 1

Microsoft PowerPoint - Chap3 [Compatibility Mode]

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

Microsoft PowerPoint - 11Web.pptx

main.dvi

Microsoft PowerPoint - NxLec ppt

「FPGAを用いたプロセッサ検証システムの製作」

Java

コンピュータの仕組み(1)ハードウェア

スライド 1

2

Microsoft PowerPoint - NxLec ppt

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

目次 1. はじめに 1 2. マルチALUプロセッサ MAP MAP の構成 MAP 命令セットアーキテクチャ 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 次 Booth アルゴリズム 次 Bo

3 SIMPLE ver 3.2: SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE (main memo

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

hard5.pptx

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

Microsoft Word J.^...O.|Word.i10...j.doc

スライド 1

PowerPoint プレゼンテーション



untitled

の 内 容 の 一 貫 性 )を 保 つために 用 いられるのが スヌープ キャッシュ 方 式 である. キャッシュメモリにおいて, 主 記 憶 のアドレスの 下 部 (インデックス)を 用 いてキャッシュメモリ 上 のインデックスを 求 める 方 法 を ダイレクトマッピング と 呼 ぶ.キャッシ

スライド 1

ソフトウェア基礎技術研修

160311_icm2015-muramatsu-v2.pptx

Microsoft PowerPoint - t-kubo07PN-LAMBDA-slide.ppt

PowerPoint プレゼンテーション

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1


土壌環境行政の最新動向(環境省 水・大気環境局土壌環境課)

syuryoku

資料4-1 一時預かり事業について

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

アルコール依存症

Notes and Points for TMPR454 Flash memory

橡matufw

財団法人母子健康協会第三十回シンポジウム

untitled

O


NewBead_no17_4c_pdf.indd

橡Taro9-生徒の活動.PDF

プロセッサ・アーキテクチャ

PowerPoint プレゼンテーション

ex05_2012.pptx

untitled

(Microsoft Word - DDR\203\215\203W\203A\203i\215\\\220\254-ver0619.doc)

スライド 1

untitled

Microsoft PowerPoint - kougi11.ppt

スライド 1

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

PowerPoint プレゼンテーション

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc)



好きですまえばし

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

Microsoft PowerPoint - Lecture ppt [互換モード]

Cyclone III デバイス・ファミリの メモリ・ブロック

ソフトウェア基礎技術研修

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

Transcription:

6. パイプライン制御

パイプライン (Pipelining) 命令のスループットをあげて性能を向上する Program eection order Time (in instrctions) lw $, ($) fetch 2 4 6 8 2 4 6 8 Data access lw $2, 2($) 8 ns fetch Data access lw $3, 3($) Program eection Time order (in instrctions) lw $, ($) lw $2, 2($) fetch 2 ns 8 ns 2 4 6 8 2 4 fetch Data access Data access fetch 8 ns... lw $3, 3($) 2 ns fetch Data access 2 ns 2 ns 2 ns 2 ns 2 ns

パイプライン (Pipelining) 望ましい性質 命令長が等しい 命令形式が少ない ロード ストアアーキテクチャ 基本的課題 ( ハザードへの対応 ) 構造ハザード : メモリの競合 コントロールハザード : 分岐命令の処理 データハザード : 先行する命令へ依存する場合 高度な課題 例外処理 順不同実行の制御 (ot-of-order eection) など

パイプラインの基本構造 命令フェッチ (IF) デコードとレジスタアクセス (D) 実行 (EX):, アドレス計算 条件判断 メモリ参照 (E) 結果の格納 (WB) 各実行段階を流れ作業で並列処理

理想的なパイプライン動作 IF D EX E WB IF D EX E WB IF D EX E clock cycle t IF D EX

データパスのパイプライン化 IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add reslt Add PC Address memory register data register 2 isters data 2 register data Zero reslt Address data Data memory data 6 Sign etend 32

パイプラインの模式図 Program eection order (in instrctions) lw $, 2($) Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 I D sb $, $2, $3 I D

パイプライン制御 PCSrc IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add Add reslt Branch PC Address memory register register 2 isters register data data data 2 [5 ] 6 Sign 32 etend Src 6 control Zero reslt Address data em Data memory em data emto [2 6] [5 ] Op Dst

パイプライン制御 制御信号をデータのように伝達する Eection/Address Calclation stage control lines emory access stage control lines stage control lines Dst Op Op Src Branch em em write em to R-format lw sw X X beq X X WB Control WB EX WB IF/ID ID/EX EX/E E/WB

制御線とデータパス制御線とデータパス制御線とデータパス制御線とデータパス PC memory Add [2 6] emto Op Branch Dst Src 4 6 32 [5 ] Add Add reslt isters register data data data 2 register register 2 Sign etend reslt Zero data data control Shift left 2 em Control [5 ] 6 EX WB WB WB IF/ID PCSrc ID/EX EX/E E/WB em Address Data memory Address

パイプラインの乱れ ( ハザード ) 例 sb $2, $, $3 and $2, $2, $5 or $3, $6, $2 add $4, $2, $2 sw $5, ( $2 )...

データハザード Time (in clock cycles) Vale of register $2: Program eection order (in instrctions) sb $2, $, $3 CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 / 2 2 2 2 2 I D and $2, $2, $5 I D or $3, $6, $2 I D add $4, $2, $2 I D sw $5, ($2) I D

ハザードの分類 データハザード 先行する命令の結果を使用する場合 コントロールハザード 分岐命令によるパイプの乱れ 構造ハザード 資源の競合 ( メモリの競合など )

ストール (Stalling) 命令を同じステージに止める ( ストール バブル ) Program eection order (in instrctions) Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 CC lw $2, 2($) I D and $4, $2, $5 I D or $8, $2, $6 add $9, $4, $2 I I D bbble I D slt $, $6, $7 I D

フォワード (Forwarding) 中間結果を書き込み前に使う register file forwarding ( 同一レジスタへのリード ライト ) forwarding Time (in clock cycles) CC CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Vale of register $2 : / 2 2 2 2 2 Vale of EX/E : X X X 2 X X X X X Vale of E/WB : X X X X 2 X X X X Program eection order (in instrctions) sb $2, $, $3 I R eg D and $2, $2, $5 I D or $3, $6, $2 I D add $4, $2, $2 I D sw $5, ($2) what if this $2 was $3? I D

ハザード対策 データハザード対策 バイパス (forwarding) 命令の並べ替え 遅延用命令 (NOP) コントロールハザード対策 分岐予測制御 遅延分岐 構造ハザード対策 命令とデータキャッシュの分離 マルチアクセスレジスタ メモリ

コントロール ハザード対策 () 分岐を予測する 分岐しない / する方に賭ける 正方向の分岐は分岐しないとする負方向のみ分岐としておく 過去の履歴を記録して判断 ( 分岐テーブル ) 両方向とも仮に実行し 不要なほうを捨てる ( ハードウェアが十分ある場合 )

コントロール ハザード対策 (2) 遅延分岐 分岐命令の動作定義を変える 分岐は 分岐命令実行直後ではなく次の命令実行後に起こる ( と変更する ) 命令の並べ替えを行い, 分岐命令のあとに実行できる命令を分岐命令後に置く 並べ替えができないときは,NOP 命令挿入

構造ハザード対策 資源の競合が起こらないように 資源を追加 メモリからの命令読み出しとデータアクセスの競合 命令メモリとデータメモリを分ける (Harvard Architectre) レジスタ ファイルの競合 マルチアクセスレジスタファイル データ バスの競合 バスの幅を広げるあるいはバイパスを作る