• 検索結果がありません。

2つのストーリーが

N/A
N/A
Protected

Academic year: 2021

シェア "2つのストーリーが"

Copied!
39
0
0

読み込み中.... (全文を見る)

全文

(1)

パイプライン

(2)

同じ原理を使って

2つのストーリーが

(3)

2

まず原理 ~ パイプラインとは

(4)

まず原理 ~ パイプラインとは

パイプライン 中身

中身をパイプに押し込む 段々に先に進む

(5)

4

まず原理 ~ パイプラインとは

パイプライン 中身

中身をパイプに押し込む 段々に先に進む

パイプは同じ長さのステージに分かれる 中身は1単位時間ごとに1ステージ進む

(6)

まず原理 ~ パイプラインとは

パイプは同じ長さのステージに分かれる 中身は1単位時間ごとに1ステージ進む

到着するデータは4段で 処理される(1~4)

左図時刻では、

データ1はステージ4 データ2はステージ3 データ3はステージ2 データ4はステージ1 で処理されている

時間

データ1 データ2 データ3 データ4

(7)

6

まず原理 ~ パイプラインとは

パイプは同じ長さのステージに分かれる 中身は1単位時間ごとに1ステージ進む

時間

データ1 データ2 データ3 データ4 データ5

データ6

到着するデータは4段で 処理される(1~4)

左図時刻では、

データ2はステージ4 データ3はステージ3 データ4はステージ2 データ5はステージ1 で処理されている

(8)

まず原理 ~ パイプラインとは

パイプは同じ長さのステージに分かれる 中身は1単位時間ごとに1ステージ進む

時間

データ1 データ2 データ3 データ4

到着するデータは4段で 処理される(1~4)

左図時刻では、

データ3はステージ4 データ4はステージ3 データ5はステージ2 データ6はステージ1 で処理されている

(9)

8

まず原理 ~ パイプラインとは

このように、パイプラインでは

それぞれのステージが並行して動作する

(10)

まず原理 ~ パイプラインとは

このように、パイプラインでは

それぞれのステージが並行して動作する

⇒ 処理が早くなる

直列 パイプライン

2データで8クロック 2データで5クロック

(11)

10

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

(12)

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列

NデータでN×Sクロック

(13)

12

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列 パイプライン

NデータでN×Sクロック

NデータでN+S-1クロック

(14)

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列 パイプライン

NデータでN×Sクロック

NデータでN+S-1クロック

加速率=T(直列)/T(パイプライン)=

(15)

14

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列 パイプライン

NデータでN×Sクロック

NデータでN+S-1クロック

加速率=T(直列)/T(パイプライン)=(N×S)/(N+S-1)

(16)

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列 パイプライン

NデータでN×Sクロック

NデータでN+S-1クロック

加速率=T(直列)/T(パイプライン)=(N×S)/(N+S-1) データが無限に続くとすると

(17)

16

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列 パイプライン

NデータでN×Sクロック

NデータでN+S-1クロック

加速率=T(直列)/T(パイプライン)=(N×S)/(N+S-1) データが無限に続くとすると(分母・子をNで割って)

(18)

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列 パイプライン

NデータでN×Sクロック

NデータでN+S-1クロック

加速率=T(直列)/T(パイプライン)=(N×S)/(N+S-1) データが無限に続くとすると(分母・子をNで割って)

(19)

18

どれだけ高速化するか

Sステージ、Nデータの所要時間は?

直列 パイプライン

NデータでN×Sクロック

NデータでN+S-1クロック

加速率=T(直列)/T(パイプライン)=(N×S)/(N+S-1)

加速率= lim(N→∞) S/(1+(S-1)/N)=S ⇒ S倍 データが無限に続くとすると(分母・子をNで割って)

S(ステージ数)倍 速くなる

(20)

実際の使われ方 2つ

(21)

20

実際の使われ方 2つ

使い方1) 命令パイプライン

使い方2) データパイプライン

(22)

命令パイプライン

1つ1つの命令の「実行サイクル」?

思い出してみよう

(23)

22

命令パイプライン

1つ1つの命令の「実行サイクル」?

思い出してみよう

1つの命令は4つのステップで 実行される

命令読出 命令解釈 命令実行

PC=PC+1

これをぐるぐる回りながら 次々と命令を順番に実行する

次の命令

(24)

命令パイプライン

(25)

24

命令パイプライン

これらのステップをステージとして パイプラインを作れる

PC←PC+1は 高速なので

読出ステージ に含める

(26)

命令パイプライン

これらのステップをステージとして パイプラインを作れる

Load AddA Store

(27)

26

命令パイプライン

これらのステップをステージとして パイプラインを作れる

Load AddA Store SubA

実行ステージ ~ Load命令を実行 解釈ステージ ~ AddA命令を解釈 読出ステージ ~ Store命令を読出

(28)

命令パイプライン

これらのステップをステージとして パイプラインを作れる

Load AddA Store

実行ステージ ~ AddA命令を実行 解釈ステージ ~ Store命令を解釈 読出ステージ ~ SubA命令を読出

(29)

28

命令パイプライン

このように1つの命令の実行を 複数のステージに分割して パイプライン化する

⇒ 命令パイプライン

(30)

命令パイプライン

このように1つの命令の実行を 複数のステージに分割して パイプライン化する

⇒ 命令パイプライン

ステージ数を増やせば、並列度が上がり 高速化できる

Intel Core i7では16段程度まで増やしている

(31)

30

データパイプライン

同じ処理をしたいデータが

たくさんあるときに、パイプライン化 どういうときだろうか?

(32)

データパイプライン

同じ処理をしたいデータが

たくさんあるときに、パイプライン化 ベクトルや行列の計算

物理的なシミュレーション計算など

(33)

32

データパイプライン

同じ処理をしたいデータが

たくさんあるときに、パイプライン化 ベクトルや行列の計算

物理的なシミュレーション計算など 画像処理・生成など

(34)

データパイプライン

同じ処理をしたいデータが

たくさんあるときに、パイプライン化 ベクトルや行列の計算

物理的なシミュレーション計算など 画像処理・生成など

物理的なシミュレーション計算など ⇒

すべての点に対して同じ計算をする(ベクトル・行列)

昔のスパコンは「ベクトル計算機」であった

(35)

34

データパイプライン

同じ処理をしたいデータが

たくさんあるときに、パイプライン化 ベクトルや行列の計算

物理的なシミュレーション計算など 画像処理・生成など

画像処理・生成など ⇒

最近のPCやグラフィックアダプタは画像処理

プロセッサ(GPU) を積んでいるが、これらはポリゴン やピクセルごとに同一処理をするパイプライン処理が 主体になっている

(36)

パイプラインの用途のまとめ

命令パイプライン

データパイプライン

(37)

36

パイプラインの用途のまとめ

命令パイプライン

・1つ1つの命令実行を、パイプラインに組む

・読出・解釈・実行 ( 更にここを多段にする )

・PC用を含む広範なプロセッサで実用している

データパイプライン

・多数のデータに対し同じ処理を行う時に有効

・ベクトル・行列のような数値計算(物理シミュ レーションなど)や

グラフィック処理(画像の生成や処理)・マル チメディア処理(画像・音声など)

が中心

(38)

命令パイプラインの追加情報

• Intel NetBurstアーキテクチャ (Pentium4, 2000年)

– PentiumⅢが10段 ⇒ Pen 4で20段 ⇒ Prescottで31段 – 「スーパーパイプライン」

– (単純なステップ×短クロック)⇒ 高速化を狙う

⇒(電力・発熱大+ハザード大)で結局3GHz迄で中止

• その後Core2アーキテクチャで14段 Nehalem(第1世代Core i) 16段?

Sandy Bridge(第2世代Core i) 16段?

Haswell も ほぼ踏襲らしい(14段?16段?)

(39)

38

パイプラインの考え方が 分かりましたか?

次へ

×

参照

関連したドキュメント

分からないと言っている。金銭事情とは別の真の

睡眠を十分とらないと身体にこたえる 社会的な人とのつき合いは大切にしている

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

ヒュームがこのような表現をとるのは当然の ことながら、「人間は理性によって感情を支配

あれば、その逸脱に対しては N400 が惹起され、 ELAN や P600 は惹起しないと 考えられる。もし、シカの認可処理に統語的処理と意味的処理の両方が関わっ

の後︑患者は理事から要請には同意できるが︑ それは遺体処理法一 0

自然言語というのは、生得 な文法 があるということです。 生まれつき に、人 に わっている 力を って乳幼児が獲得できる言語だという え です。 語の それ自 も、 から