SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
東北大学 工学部 機械知能・航空工学科
2017年度 5セメスター・クラスC3 D1 D2 D3
計算機工学
大学院情報科学研究科
鏡 慎吾
http://www.ic.is.tohoku.ac.jp/~swk/lecture/
14. さらに勉強するために
2( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
これまで何を学んだか
• 0 と 1 の世界
• 2進数,算術演算,論理演算
• 計算機はどのように動くのか
• プロセッサとメモリ
• 演算命令,ロード・ストア命令,分岐命令
• 計算機はどのように構成されているのか
• 組合せ回路 ≒ 論理関数
• 論理式の標準形,論理式の簡単化
• 順序回路 ≒ 有限状態機械
• メインメモリ,キャッシュメモリ
3( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
話し切れなかったこと
• 0 と 1 の世界 → 実数は?
• 2進数,算術演算,論理演算
• 計算機はどのように動くのか → プロセッサとメモリ以外は?
• プロセッサとメモリ
• 演算命令,ロード・ストア命令,分岐命令
→ コンパイラはどうやって命令を生成する?
• 計算機はどのように構成されているのか → 高速化技術?
• 組合せ回路 ≒ 論理関数
• 論理式の標準形,論理式の簡単化
• 順序回路 ≒ 有限状態機械
• メインメモリ,キャッシュメモリ
4( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
Q. 実数はどのように表現するか?
考え方の基礎は,いわゆる科学的記数法(指数表記)
• 6.02 £ 1023
• 1.602 £ 10-19
指数部仮数部
これの2進数版が浮動小数点数
• 仮数部も指数も有限ビットの2進数で表す
• 指数部の底は 10 ではなく 2
• 仮数部は 1 以上 2 未満にする(正規化)
仮数部は1 以上10 未満にする(正規化)
仮数部の桁数がいわゆる有効数字
浮動小数点数を用いる (教科書1.3節)
5( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
IEEE 754 浮動小数点数
単精度 (C言語の float)
倍精度 (C言語の double)
1 8 23-bit
1 11 52-bit
符号 指数部 仮数部
符号 指数部 仮数部
– 1.01101101 £ 21100110
符号:
0: 正
1: 負
指数部
仮数部
6( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
Q. プロセッサとメモリ以外の機器は?
ディスプレイもキーボードもハードディスクも,入出力装置
(Input/Output device, I/O)として扱われる(教科書付録C章)
メモリ
アドレスバス
データバス
プロセッサ I/O装置1 I/O装置2 I/O装置3
• 装置ごとに割り当てられたアドレス範囲にアクセスすることで特定の I/O 装
置と通信できる(memory mapped I/O 方式)
• I/O 専用の命令とアドレス空間が用意されているアーキテクチャもある (I/O
専用命令方式)
7( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
PC用の入出力バスの例 (ちょっと古い)
メモリ
プロセッサ
ノース
ブリッジ
サウス
ブリッジ
PCI Express
x16
AGP
ハードディスク CD / DVD
ディスプレイ
グラフィック
プロセッサ
ATA
PCI
PCI Express x1
USB
ネットワーク
アダプタ
キーボード
マウス
コンピュータネットワーク
8( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
local area network (LAN)
router
• 通信内容は,細かい単位(パケット)に
分割されて送受信される
• パケットには宛先アドレス(4バイトの
数字)が記載されていて,ルータと呼
ばれるコンピュータを介してバケツリ
レー式に送り届けられる
(教科書10章)
9( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
(自分の)アドレス
サブネットマスク
デフォルトゲートウェイ
00001010 . 11110000 . 00001010 . 11001111
11111111 . 11111111 . 11111111 . 00000000
00001010 . 11110000 . 00001010 . 00000001
• 自分のアドレスとサブネットマスクのビットごとANDと,宛先アドレスとサブ
ネットマスクのビットごとANDを比較する.等しければ同じLANの中にいる
ので,LAN内で定められた手順によって通信する
• 等しくなければ,デフォルトゲートウェイ(デフォルトルータ)として設定され
ているルータへ送信して,あとは任せる
10( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
Q. なぜ複数のプログラムが同時に走るのか?
オペレーティングシステム (OS) と呼ばれるソフトウェアが,複数
のプログラムの時分割切り替えを行っている(教科書付録D章)
具体例: Windows, MacOS, Linux など
• ハードウェアの詳細を隠蔽して,抽象化されたマシンをプロ
グラムに提供する
例: A社のハードディスク,B社のハードディスク,C社のUSBメモリ
→ 「ファイル」という概念で統一的に操作できる
• 複数のプログラム,複数のユーザの間で,必要な資源(ハード
ウェア)を適切に管理する
例: 同時にディスクを読み書きしても大丈夫
Word が不正なアドレスを読み書きしても,Excel には影響がない
OSの役割:
11( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
OS の概念
operating system
process A
process B
process C
process D
プロセッサ
memory
disk
network
interface
複数のプロセスにハードウェア資源を(多くの場合時分割で)
割り当てるソフトウェア
process E
software
hardware
メモリ管理
ユニット
12( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
プロセッサ時間の割り当て
process A
process B
process C
OS
t
タイマ割込み
システムコール
(入出力リクエスト)
機器からの割込み
waiting
入出力
13( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
メモリの割り当て(仮想記憶)
プログラム
静的変数等
スタックフレーム
プロセスA プロセスB プロセスC
メモリ管理ユニット
(ハードウェア)
+
OS
物理メモリ
ハードディスク
ページ
プログラム
静的変数等
スタックフレーム
プログラム
静的変数等
スタックフレーム
14( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
Q. コンピュータはどのように高速化する?
半導体素子の微細化により,トランジスタ動作速度の向上と,大
量の回路の利用が可能となってきた(教科書付録F章)
動作速度向上 → クロックサイクル時間の短縮
大量の回路 → 並列処理
クロック周波数の向上は既に頭打ちになっており,並列処理の重
要性が高まっている
15( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
MIPSのパイプライン化
PC
+4
命令
キャッシュ レジスタ
ファイル
命令
デコード
分岐判定
分岐先計算
m
u
x
A
L
U
m
u
x
データ
キャッシュ
m
u
x
命令フェッチ
ステージ
(IF)
レジスタ読込
・デコードステージ
(ID)
ALU実行
ステージ
(EX)
メモリアクセス
ステージ
(MEM)
レジスタ書込
ステージ
(WB)
m
u
x
レジスタ
ファイル
レジスタ
16( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
命令パイプライン
命令1
命令2
命令3
命令4
命令5
命令6
t
1 clk
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
これも一種の並列処理(複数のステージが同時に動いている)
17( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
パイプラインのさらなる細分化
命令1
命令2
命令3
t
1 clk
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
命令1
命令2
命令3
t
1 clk
Pentium 4 はおおむね 20~30段
Core i7等はおおむね 14~16段
18( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
命令レベル並列性
IF
ID EX MEM WB
ID EX MEM WB
IF
ID EX MEM WB
ID EX MEM WB
IF
ID EX MEM WB
ID EX MEM WB
スーパースカラ:
• 演算器を多重化し,複数命令を同時実行
• 同時実行可能かどうかはハードウェアが動的に判定
19( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
例: Core i7 Sandy Bridge
http://ascii.jp/elem/000/000/724/724498/
20( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
データ並列性
画像処理,音声処理,ある種の科学技術計算など
→ 同じ演算を多数のデータに適用することが多い
(SIMD; Single Instruction stream Multiple Data stream)
SIMD型並列処理の実現形態:
空間並列: 同じ演算器を多数並べる
例) マルチメディア命令 (MMX, SSE 命令など)
例) GPU (Graphic Processing Unit)
時間並列: 処理を複数のステージに分割してパイプライン化
(ベクトル演算と呼ばれる場合がある)
21( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
空間並列の例
浮動小数点ベクトル [a1, a2, , an] と [b1, b2, , bn] の加算
+
+
+
+
a5
a6
a7
a8
b5
b6
b7
b8
c5
c6
c7
c8
+
+
+
+
a1
a2
a3
a4
b1
b2
b3
b4
c1
c2
c3
c4
t = 1 t = 2 …
22( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
時間並列の例
指数部比較 桁合わせ 仮数部加算 正規化
a1
b1
指数部比較 桁合わせ 仮数部加算 正規化
a2
b2
a1
b1
指数部比較 桁合わせ 仮数部加算 正規化
a3
b3
a2
b2
a1
b1
指数部比較 桁合わせ 仮数部加算 正規化
a4
b4
a3
b3 b2
a2
c1
指数部比較 桁合わせ 仮数部加算 正規化
a5
b5
a4
b4 b3
a3
c2
c1
t = 1
t = 2
t = 3
t = 4
t = 5
…
23( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
例: GPU (Graphics Processing Unit)
http://www.nvidia.co.jp/object/product-geforce-gtx-560ti-jp.html
http://pc.watch.impress.co.jp/docs/column/kaigai/20110126_422573.html
NVIDIA GeForce GTX 560 Ti
24( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
スレッドレベル並列性
• クロックサイクル時間短縮: 消費電力の限界
• 命令レベル並列性: 3程度が限界
• データ並列性: アプリケーション依存
→ スレッドレベル並列性の活用へ
複数のプログラム,あるいはプログラム内の複数の処理の流れ
(thread of control)からであれば,同時に実行できる命令を容
易に取り出すことができる
• 同時マルチスレッディング: スーパースカラプロセッサにおいて,
複数のスレッドからの命令を取り出して実行
例) Intel の Hyper-Threading Technology
• マルチコア: 複数のプロセッサをチップ上に集積
25( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
Intel Core i7 (2008)
Q. コンパイラはどのように動作する?
26( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
if (x1 == 100) {
y2 = x1 + 3 * z;
}
if
(
x1
==
100
)
{
y2
=
x1
+
3
*
z
;
}
if
=
x1
y2
3
x1
+
*
z
==
100
字句解析 構文解析
(教科書9章)
字句(token)の定義例
27( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
識別子・予約語:
[a-zA-Z][a-zA-Z0-9]*
整数:
[0-9][0-9]*
記号は以下のいずれか:
( ) { } = == + * ;
aからz, AからZ, 0から9
のうちいずれかの文字
直前の文字の
0回以上の繰り返し
• 字句は正規表現と呼ばれる方法で表せるように定義する
• 有限状態機械で解析することができる
28( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
else
AN: [a-zA-Z0-9]
A: [a-zA-Z]
N: [0-9]
OP: + * のいずれか
PU: ( ) { } ; のいずれか
space: 空白文字A
AN
N
N
else
=
= *
else
*
二重丸は,字句を出力して,
読んだ1文字を戻し,初期状
態 ini に戻る
識別子・予約語
整数
演算子=
space
PU
ini
id1
nu1
eq1 eq2
op1
* 括弧・句読点
pu1
OP
他の演算子
演算子==
構文(syntax)の定義例
29( ): 2017 (14)鏡 慎吾 東北大学 計算機工学
プログラム ::= (文)*
文 ::= if文 | while文 | 式文 | 複文
式文 ::= 式 “;”
複文 ::= “{“ (文)* “}”
if文 ::= “if”“(”式 “)” 文
while文 ::= “while” “(” 式 “)” 文
式 ::= 関係式 (“=” 式)?
関係式 ::= 加法式 (“==” 加法式)*
加法式 ::= 項 (“+” 項)*
項 ::= 因子 (“*” 因子)*
因子 ::= 識別子 | 整数 | “(” 式 “)”
0回または1回の出現
0回以上の繰り返し
または
• 任意の深さの括弧の対応を含むような文法は有限状態機械で
は解析できない(無限の状態が必要)
• 再帰的な文法定義に基づいて解析を行う

Contenu connexe

Tendances

VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-Takeshi Yamamuro
 
kagami_comput2016_10
kagami_comput2016_10kagami_comput2016_10
kagami_comput2016_10swkagami
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法Takeshi Yamamuro
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ京大 マイコンクラブ
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門Toru Matsuoka
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mclMITSUNARI Shigeo
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章 Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章 Makoto Kawano
 
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxeオブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxeterurou
 
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来Preferred Networks
 
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群Norishige Fukushima
 
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法についてオープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法についてRyousuke Wayama
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9swkagami
 

Tendances (20)

VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-
 
kagami_comput2016_10
kagami_comput2016_10kagami_comput2016_10
kagami_comput2016_10
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
レイトレ空間構造入門
レイトレ空間構造入門レイトレ空間構造入門
レイトレ空間構造入門
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
 
実践QBVH
実践QBVH実践QBVH
実践QBVH
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章 Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
 
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxeオブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
 
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
 
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
 
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法についてオープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
 
optimal Ate pairing
optimal Ate pairingoptimal Ate pairing
optimal Ate pairing
 
kagami_comput2015_9
kagami_comput2015_9kagami_comput2015_9
kagami_comput2015_9
 

Similaire à kagamicomput201714

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814swkagami
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701swkagami
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門Daiyu Hatakeyama
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Hirono Jumpei
 
Findings from visualizing_massive_data
Findings from visualizing_massive_dataFindings from visualizing_massive_data
Findings from visualizing_massive_dataToshiyuki Shimono
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方Fujishiro Takuya
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表Hirotaka Kawata
 
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービスAkio Miyoshi
 
kagami_comput2016_01
kagami_comput2016_01kagami_comput2016_01
kagami_comput2016_01swkagami
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文Junya Arai
 
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一Insight Technology, Inc.
 
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」Rescale Japan株式会社
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_publicKazuaki Ishizaki
 

Similaire à kagamicomput201714 (20)

kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
 
kagamicomput201701
kagamicomput201701kagamicomput201701
kagamicomput201701
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
 
ソフトウェアとは
ソフトウェアとはソフトウェアとは
ソフトウェアとは
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
Findings from visualizing_massive_data
Findings from visualizing_massive_dataFindings from visualizing_massive_data
Findings from visualizing_massive_data
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
 
kagami_comput2016_01
kagami_comput2016_01kagami_comput2016_01
kagami_comput2016_01
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
 
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
セミナー資料 2017年1月27日開催「クラウドCAEフェスティバル」
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public
 

Plus de swkagami

kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813swkagami
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812swkagami
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811swkagami
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810swkagami
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809swkagami
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808swkagami
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807swkagami
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806swkagami
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805swkagami
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804swkagami
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803swkagami
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802swkagami
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801swkagami
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712swkagami
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711swkagami
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710swkagami
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709swkagami
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708swkagami
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707swkagami
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705swkagami
 

Plus de swkagami (20)

kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
 
kagamicomput201812
kagamicomput201812kagamicomput201812
kagamicomput201812
 
kagamicomput201811
kagamicomput201811kagamicomput201811
kagamicomput201811
 
kagamicomput201810
kagamicomput201810kagamicomput201810
kagamicomput201810
 
kagamicomput201809
kagamicomput201809kagamicomput201809
kagamicomput201809
 
kagamicomput201808
kagamicomput201808kagamicomput201808
kagamicomput201808
 
kagamicomput201807
kagamicomput201807kagamicomput201807
kagamicomput201807
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
 
kagamicomput201805
kagamicomput201805kagamicomput201805
kagamicomput201805
 
kagamicomput201804
kagamicomput201804kagamicomput201804
kagamicomput201804
 
kagamicomput201803
kagamicomput201803kagamicomput201803
kagamicomput201803
 
kagamicomput201802
kagamicomput201802kagamicomput201802
kagamicomput201802
 
kagamicomput201801
kagamicomput201801kagamicomput201801
kagamicomput201801
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
 
kagamicomput201705
kagamicomput201705kagamicomput201705
kagamicomput201705
 

Dernier

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Dernier (8)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

kagamicomput201714

  • 1. 東北大学 工学部 機械知能・航空工学科 2017年度 5セメスター・クラスC3 D1 D2 D3 計算機工学 大学院情報科学研究科 鏡 慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 14. さらに勉強するために
  • 2. 2( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 これまで何を学んだか • 0 と 1 の世界 • 2進数,算術演算,論理演算 • 計算機はどのように動くのか • プロセッサとメモリ • 演算命令,ロード・ストア命令,分岐命令 • 計算機はどのように構成されているのか • 組合せ回路 ≒ 論理関数 • 論理式の標準形,論理式の簡単化 • 順序回路 ≒ 有限状態機械 • メインメモリ,キャッシュメモリ
  • 3. 3( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 話し切れなかったこと • 0 と 1 の世界 → 実数は? • 2進数,算術演算,論理演算 • 計算機はどのように動くのか → プロセッサとメモリ以外は? • プロセッサとメモリ • 演算命令,ロード・ストア命令,分岐命令 → コンパイラはどうやって命令を生成する? • 計算機はどのように構成されているのか → 高速化技術? • 組合せ回路 ≒ 論理関数 • 論理式の標準形,論理式の簡単化 • 順序回路 ≒ 有限状態機械 • メインメモリ,キャッシュメモリ
  • 4. 4( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 Q. 実数はどのように表現するか? 考え方の基礎は,いわゆる科学的記数法(指数表記) • 6.02 £ 1023 • 1.602 £ 10-19 指数部仮数部 これの2進数版が浮動小数点数 • 仮数部も指数も有限ビットの2進数で表す • 指数部の底は 10 ではなく 2 • 仮数部は 1 以上 2 未満にする(正規化) 仮数部は1 以上10 未満にする(正規化) 仮数部の桁数がいわゆる有効数字 浮動小数点数を用いる (教科書1.3節)
  • 5. 5( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 IEEE 754 浮動小数点数 単精度 (C言語の float) 倍精度 (C言語の double) 1 8 23-bit 1 11 52-bit 符号 指数部 仮数部 符号 指数部 仮数部 – 1.01101101 £ 21100110 符号: 0: 正 1: 負 指数部 仮数部
  • 6. 6( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 Q. プロセッサとメモリ以外の機器は? ディスプレイもキーボードもハードディスクも,入出力装置 (Input/Output device, I/O)として扱われる(教科書付録C章) メモリ アドレスバス データバス プロセッサ I/O装置1 I/O装置2 I/O装置3 • 装置ごとに割り当てられたアドレス範囲にアクセスすることで特定の I/O 装 置と通信できる(memory mapped I/O 方式) • I/O 専用の命令とアドレス空間が用意されているアーキテクチャもある (I/O 専用命令方式)
  • 7. 7( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 PC用の入出力バスの例 (ちょっと古い) メモリ プロセッサ ノース ブリッジ サウス ブリッジ PCI Express x16 AGP ハードディスク CD / DVD ディスプレイ グラフィック プロセッサ ATA PCI PCI Express x1 USB ネットワーク アダプタ キーボード マウス
  • 8. コンピュータネットワーク 8( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 local area network (LAN) router • 通信内容は,細かい単位(パケット)に 分割されて送受信される • パケットには宛先アドレス(4バイトの 数字)が記載されていて,ルータと呼 ばれるコンピュータを介してバケツリ レー式に送り届けられる (教科書10章)
  • 9. 9( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 (自分の)アドレス サブネットマスク デフォルトゲートウェイ 00001010 . 11110000 . 00001010 . 11001111 11111111 . 11111111 . 11111111 . 00000000 00001010 . 11110000 . 00001010 . 00000001 • 自分のアドレスとサブネットマスクのビットごとANDと,宛先アドレスとサブ ネットマスクのビットごとANDを比較する.等しければ同じLANの中にいる ので,LAN内で定められた手順によって通信する • 等しくなければ,デフォルトゲートウェイ(デフォルトルータ)として設定され ているルータへ送信して,あとは任せる
  • 10. 10( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 Q. なぜ複数のプログラムが同時に走るのか? オペレーティングシステム (OS) と呼ばれるソフトウェアが,複数 のプログラムの時分割切り替えを行っている(教科書付録D章) 具体例: Windows, MacOS, Linux など • ハードウェアの詳細を隠蔽して,抽象化されたマシンをプロ グラムに提供する 例: A社のハードディスク,B社のハードディスク,C社のUSBメモリ → 「ファイル」という概念で統一的に操作できる • 複数のプログラム,複数のユーザの間で,必要な資源(ハード ウェア)を適切に管理する 例: 同時にディスクを読み書きしても大丈夫 Word が不正なアドレスを読み書きしても,Excel には影響がない OSの役割:
  • 11. 11( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 OS の概念 operating system process A process B process C process D プロセッサ memory disk network interface 複数のプロセスにハードウェア資源を(多くの場合時分割で) 割り当てるソフトウェア process E software hardware メモリ管理 ユニット
  • 12. 12( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 プロセッサ時間の割り当て process A process B process C OS t タイマ割込み システムコール (入出力リクエスト) 機器からの割込み waiting 入出力
  • 13. 13( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 メモリの割り当て(仮想記憶) プログラム 静的変数等 スタックフレーム プロセスA プロセスB プロセスC メモリ管理ユニット (ハードウェア) + OS 物理メモリ ハードディスク ページ プログラム 静的変数等 スタックフレーム プログラム 静的変数等 スタックフレーム
  • 14. 14( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 Q. コンピュータはどのように高速化する? 半導体素子の微細化により,トランジスタ動作速度の向上と,大 量の回路の利用が可能となってきた(教科書付録F章) 動作速度向上 → クロックサイクル時間の短縮 大量の回路 → 並列処理 クロック周波数の向上は既に頭打ちになっており,並列処理の重 要性が高まっている
  • 15. 15( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 MIPSのパイプライン化 PC +4 命令 キャッシュ レジスタ ファイル 命令 デコード 分岐判定 分岐先計算 m u x A L U m u x データ キャッシュ m u x 命令フェッチ ステージ (IF) レジスタ読込 ・デコードステージ (ID) ALU実行 ステージ (EX) メモリアクセス ステージ (MEM) レジスタ書込 ステージ (WB) m u x レジスタ ファイル レジスタ
  • 16. 16( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 命令パイプライン 命令1 命令2 命令3 命令4 命令5 命令6 t 1 clk IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB これも一種の並列処理(複数のステージが同時に動いている)
  • 17. 17( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 パイプラインのさらなる細分化 命令1 命令2 命令3 t 1 clk IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB 命令1 命令2 命令3 t 1 clk Pentium 4 はおおむね 20~30段 Core i7等はおおむね 14~16段
  • 18. 18( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 命令レベル並列性 IF ID EX MEM WB ID EX MEM WB IF ID EX MEM WB ID EX MEM WB IF ID EX MEM WB ID EX MEM WB スーパースカラ: • 演算器を多重化し,複数命令を同時実行 • 同時実行可能かどうかはハードウェアが動的に判定
  • 19. 19( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 例: Core i7 Sandy Bridge http://ascii.jp/elem/000/000/724/724498/
  • 20. 20( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 データ並列性 画像処理,音声処理,ある種の科学技術計算など → 同じ演算を多数のデータに適用することが多い (SIMD; Single Instruction stream Multiple Data stream) SIMD型並列処理の実現形態: 空間並列: 同じ演算器を多数並べる 例) マルチメディア命令 (MMX, SSE 命令など) 例) GPU (Graphic Processing Unit) 時間並列: 処理を複数のステージに分割してパイプライン化 (ベクトル演算と呼ばれる場合がある)
  • 21. 21( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 空間並列の例 浮動小数点ベクトル [a1, a2, , an] と [b1, b2, , bn] の加算 + + + + a5 a6 a7 a8 b5 b6 b7 b8 c5 c6 c7 c8 + + + + a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 t = 1 t = 2 …
  • 22. 22( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 時間並列の例 指数部比較 桁合わせ 仮数部加算 正規化 a1 b1 指数部比較 桁合わせ 仮数部加算 正規化 a2 b2 a1 b1 指数部比較 桁合わせ 仮数部加算 正規化 a3 b3 a2 b2 a1 b1 指数部比較 桁合わせ 仮数部加算 正規化 a4 b4 a3 b3 b2 a2 c1 指数部比較 桁合わせ 仮数部加算 正規化 a5 b5 a4 b4 b3 a3 c2 c1 t = 1 t = 2 t = 3 t = 4 t = 5 …
  • 23. 23( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 例: GPU (Graphics Processing Unit) http://www.nvidia.co.jp/object/product-geforce-gtx-560ti-jp.html http://pc.watch.impress.co.jp/docs/column/kaigai/20110126_422573.html NVIDIA GeForce GTX 560 Ti
  • 24. 24( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 スレッドレベル並列性 • クロックサイクル時間短縮: 消費電力の限界 • 命令レベル並列性: 3程度が限界 • データ並列性: アプリケーション依存 → スレッドレベル並列性の活用へ 複数のプログラム,あるいはプログラム内の複数の処理の流れ (thread of control)からであれば,同時に実行できる命令を容 易に取り出すことができる • 同時マルチスレッディング: スーパースカラプロセッサにおいて, 複数のスレッドからの命令を取り出して実行 例) Intel の Hyper-Threading Technology • マルチコア: 複数のプロセッサをチップ上に集積
  • 25. 25( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 Intel Core i7 (2008)
  • 26. Q. コンパイラはどのように動作する? 26( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 if (x1 == 100) { y2 = x1 + 3 * z; } if ( x1 == 100 ) { y2 = x1 + 3 * z ; } if = x1 y2 3 x1 + * z == 100 字句解析 構文解析 (教科書9章)
  • 27. 字句(token)の定義例 27( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 識別子・予約語: [a-zA-Z][a-zA-Z0-9]* 整数: [0-9][0-9]* 記号は以下のいずれか: ( ) { } = == + * ; aからz, AからZ, 0から9 のうちいずれかの文字 直前の文字の 0回以上の繰り返し • 字句は正規表現と呼ばれる方法で表せるように定義する • 有限状態機械で解析することができる
  • 28. 28( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 else AN: [a-zA-Z0-9] A: [a-zA-Z] N: [0-9] OP: + * のいずれか PU: ( ) { } ; のいずれか space: 空白文字A AN N N else = = * else * 二重丸は,字句を出力して, 読んだ1文字を戻し,初期状 態 ini に戻る 識別子・予約語 整数 演算子= space PU ini id1 nu1 eq1 eq2 op1 * 括弧・句読点 pu1 OP 他の演算子 演算子==
  • 29. 構文(syntax)の定義例 29( ): 2017 (14)鏡 慎吾 東北大学 計算機工学 プログラム ::= (文)* 文 ::= if文 | while文 | 式文 | 複文 式文 ::= 式 “;” 複文 ::= “{“ (文)* “}” if文 ::= “if”“(”式 “)” 文 while文 ::= “while” “(” 式 “)” 文 式 ::= 関係式 (“=” 式)? 関係式 ::= 加法式 (“==” 加法式)* 加法式 ::= 項 (“+” 項)* 項 ::= 因子 (“*” 因子)* 因子 ::= 識別子 | 整数 | “(” 式 “)” 0回または1回の出現 0回以上の繰り返し または • 任意の深さの括弧の対応を含むような文法は有限状態機械で は解析できない(無限の状態が必要) • 再帰的な文法定義に基づいて解析を行う