SlideShare a Scribd company logo
東北大学 工学部 機械知能・航空工学科
2018年度 クラスC3 D1 D2 D3
情報科学基礎 I
大学院情報科学研究科
鏡 慎吾
http://www.ic.is.tohoku.ac.jp/~swk/lecture/
14. さらに勉強するために
2鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
これまで何を学んだか
• 0 と 1 の世界
• 2進数,算術演算,論理演算
• 計算機はどのように動くのか
• プロセッサとメモリ
• 演算命令,ロード・ストア命令,分岐命令
• 計算機はどのように構成されているのか
• 組合せ回路 ≒ 論理関数
• 論理式の標準形,論理式の簡単化
• 順序回路 ≒ 有限状態機械
• メインメモリ,キャッシュメモリ
3鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
話し切れなかったこと
• 0 と 1 の世界
• 2進数,算術演算,論理演算
• 計算機はどのように動くのか → プロセッサとメモリ以外は?
• プロセッサとメモリ
• 演算命令,ロード・ストア命令,分岐命令
→ コンパイラはどうやって命令を生成する?
• 計算機はどのように構成されているのか → 高速化技術?
• 組合せ回路 ≒ 論理関数
• 論理式の標準形,論理式の簡単化
• 順序回路 ≒ 有限状態機械
• メインメモリ,キャッシュメモリ
4鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
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
専用命令方式)
5鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
PC用の入出力バスの例 (ちょっと古い)
メモリ
プロセッサ
ノース
ブリッジ
サウス
ブリッジ
PCI Express
x16
AGP
ハードディスク CD / DVD
ディスプレイ
グラフィック
プロセッサ
ATA
PCI
PCI Express x1
USB
ネットワーク
アダプタ
キーボード
マウス
コンピュータネットワーク
6鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
local area network (LAN)
router
• 通信内容は,細かい単位(パケット)に
分割されて送受信される
• パケットには宛先アドレス(4バイトの
数字)が記載されていて,ルータと呼
ばれるコンピュータを介してバケツリ
レー式に送り届けられる
(教科書10章)
7鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
(自分の)アドレス
サブネットマスク
デフォルトゲートウェイ
00001010 . 11110000 . 00001010 . 11001111
11111111 . 11111111 . 11111111 . 00000000
00001010 . 11110000 . 00001010 . 00000001
• 自分のアドレスとサブネットマスクのビットごとANDと,宛先アドレスとサブ
ネットマスクのビットごとANDを比較する.等しければ同じLANの中にいる
ので,LAN内で定められた手順によって通信する
• 等しくなければ,デフォルトゲートウェイ(デフォルトルータ)として設定され
ているルータへ送信して,あとは任せる
8鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
Q. なぜ複数のプログラムが同時に走るのか?
オペレーティングシステム (OS) と呼ばれるソフトウェアが,複数
のプログラムの時分割切り替えを行っている(教科書付録D章)
具体例: Windows, MacOS, Linux など
• ハードウェアの詳細を隠蔽して,抽象化されたマシンをプロ
グラムに提供する
例: A社のハードディスク,B社のハードディスク,C社のUSBメモリ
→ 「ファイル」という概念で統一的に操作できる
• 複数のプログラム,複数のユーザの間で,必要な資源(ハード
ウェア)を適切に管理する
例: 同時にディスクを読み書きしても大丈夫
Word が不正なアドレスを読み書きしても,Excel には影響がない
OSの役割:
9鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
OS の概念
operating system
process A
process B
process C
process D
プロセッサ
memory
disk
network
interface
複数のプロセスにハードウェア資源を(多くの場合時分割で)
割り当てるソフトウェア
process E
software
hardware
メモリ管理
ユニット
10鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
プロセッサ時間の割り当て
process A
process B
process C
OS
t
タイマ割込み
システムコール
(入出力リクエスト)
機器からの割込み
waiting
入出力
11鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
メモリの割り当て(仮想記憶)
プログラム
静的変数等
スタックフレーム
プロセスA プロセスB プロセスC
メモリ管理ユニット
(ハードウェア)
+
OS
物理メモリ
ハードディスク
ページ
プログラム
静的変数等
スタックフレーム
プログラム
静的変数等
スタックフレーム
12鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
Q. コンピュータはどのように高速化する?
半導体素子の微細化により,トランジスタ動作速度の向上と,大
量の回路の利用が可能となってきた(教科書付録F章)
動作速度向上 → クロックサイクル時間の短縮
大量の回路 → 並列処理
クロック周波数の向上は既に頭打ちになっており,並列処理の重
要性が高まっている
13鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
MIPSのパイプライン化
PC
+4
命令
キャッシュ レジスタ
ファイル
命令
デコード
分岐判定
分岐先計算
m
u
x
A
L
U
m
u
x
データ
キャッシュ
m
u
x
命令フェッチ
ステージ
(IF)
レジスタ読込
・デコードステージ
(ID)
ALU実行
ステージ
(EX)
メモリアクセス
ステージ
(MEM)
レジスタ書込
ステージ
(WB)
m
u
x
レジスタ
ファイル
レジスタ
14鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
命令パイプライン
命令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
これも一種の並列処理(複数のステージが同時に動いている)
15鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
パイプラインのさらなる細分化
命令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段
16鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
命令レベル並列性
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
スーパースカラ:
• 演算器を多重化し,複数命令を同時実行
• 同時実行可能かどうかはハードウェアが動的に判定
17鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
例: Core i7 Sandy Bridge
http://ascii.jp/elem/000/000/724/724498/
例: Core i7 Skylake
18鏡 慎吾 (東北大学): 計算機工学 2017 (14)
https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)
19鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
データ並列性
画像処理,音声処理,ある種の科学技術計算など
→ 同じ演算を多数のデータに適用することが多い
(SIMD; Single Instruction stream Multiple Data stream)
SIMD型並列処理の実現形態:
空間並列: 同じ演算器を多数並べる
例) マルチメディア命令 (MMX, SSE 命令など)
例) GPU (Graphic Processing Unit)
時間並列: 処理を複数のステージに分割してパイプライン化
(ベクトル演算と呼ばれる場合がある)
20鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
空間並列の例
浮動小数点ベクトル [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 …
21鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
時間並列の例
指数部比較 桁合わせ 仮数部加算 正規化
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
…
22鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
例: 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
23鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
スレッドレベル並列性
• クロックサイクル時間短縮: 消費電力の限界
• 命令レベル並列性: 3程度が限界
• データ並列性: アプリケーション依存
→ スレッドレベル並列性の活用へ
複数のプログラム,あるいはプログラム内の複数の処理の流れ
(thread of control)からであれば,同時に実行できる命令を容
易に取り出すことができる
• 同時マルチスレッディング: スーパースカラプロセッサにおいて,
複数のスレッドからの命令を取り出して実行
例) Intel の Hyper-Threading Technology
• マルチコア: 複数のプロセッサをチップ上に集積
24鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
Intel Core i7 (2008)
Q. コンパイラはどのように動作する?
25鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
if (x1 == 100) {
y2 = x1 + 3 * z;
}
if
(
x1
==
100
)
{
y2
=
x1
+
3
*
z
;
}
if
=
x1
y2
3
x1
+
*
z
==
100
字句解析 構文解析
(教科書9章)
字句(token)の定義例
26鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
識別子・予約語:
[a-zA-Z][a-zA-Z0-9]*
整数:
[0-9][0-9]*
記号は以下のいずれか:
( ) { } = == + * ;
aからz, AからZ, 0から9
のうちいずれかの文字
直前の文字の
0回以上の繰り返し
• 字句は正規表現と呼ばれる方法で表せるように定義する
• 有限状態機械で解析することができる
27鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
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)の定義例
28鏡 慎吾 (東北大学): 情報科学基礎I 2018 (1)
プログラム ::= (文)*
文 ::= if文 | while文 | 式文 | 複文
式文 ::= 式 “;”
複文 ::= “{“ (文)* “}”
if文 ::= “if”“(”式 “)” 文
while文 ::= “while” “(” 式 “)” 文
式 ::= 関係式 (“=” 式)?
関係式 ::= 加法式 (“==” 加法式)*
加法式 ::= 項 (“+” 項)*
項 ::= 因子 (“*” 因子)*
因子 ::= 識別子 | 整数 | “(” 式 “)”
0回または1回の出現
0回以上の繰り返し
または
• 任意の深さの括弧の対応を含むような文法は有限状態機械で
は解析できない(無限の状態が必要)
• 再帰的な文法定義に基づいて解析を行う

More Related Content

What's hot

不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
Ryousei Takano
 
200528material takahashi
200528material takahashi200528material takahashi
200528material takahashi
RCCSRENKEI
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
RCCSRENKEI
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性
Takahiro Katagiri
 
第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
Takefumi MIYOSHI
 
VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-Takeshi Yamamuro
 
ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介
Takahiro Katagiri
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
Hiroaki Kudo
 
XGBoostからNGBoostまで
XGBoostからNGBoostまでXGBoostからNGBoostまで
XGBoostからNGBoostまで
Tomoki Yoshida
 

What's hot (11)

不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
 
200528material takahashi
200528material takahashi200528material takahashi
200528material takahashi
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性
 
第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-VLDB'10勉強会 -Session 20-
VLDB'10勉強会 -Session 20-
 
ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
 
XGBoostからNGBoostまで
XGBoostからNGBoostまでXGBoostからNGBoostまで
XGBoostからNGBoostまで
 

Similar to kagamicomput201814

kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14
swkagami
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
swkagami
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14swkagami
 
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro YokoyamaInsight Technology, Inc.
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
Junya Arai
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
Hideki Takase
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013openrtm
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
Takuma Usui
 
katagaitaictf7_hw_ysk
katagaitaictf7_hw_yskkatagaitaictf7_hw_ysk
katagaitaictf7_hw_ysk
ysk256
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表Hirotaka Kawata
 
[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.
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
Yasuhiro Yoshimura
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
Naoto Gohko
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
Hitoshi Sato
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
Hirono Jumpei
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
Kentaro Ebisawa
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
openrtm
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
aitc_jp
 

Similar to kagamicomput201814 (20)

kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14
 
kagamicomput201714
kagamicomput201714kagamicomput201714
kagamicomput201714
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
 
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文第3回システム系輪講会:IPDPS'17 の機械学習系論文
第3回システム系輪講会:IPDPS'17 の機械学習系論文
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
 
katagaitaictf7_hw_ysk
katagaitaictf7_hw_yskkatagaitaictf7_hw_ysk
katagaitaictf7_hw_ysk
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
[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 株式会社日立製作所 村上順一
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
 

More from swkagami

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

More from swkagami (20)

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
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
 
kagamicomput201712
kagamicomput201712kagamicomput201712
kagamicomput201712
 
kagamicomput201711
kagamicomput201711kagamicomput201711
kagamicomput201711
 
kagamicomput201710
kagamicomput201710kagamicomput201710
kagamicomput201710
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
 
kagamicomput201706
kagamicomput201706kagamicomput201706
kagamicomput201706
 

Recently uploaded

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 

kagamicomput201814

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