Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
キャッシュメモリ
Search
Satoru Takeuchi
PRO
June 21, 2020
Technology
490
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
キャッシュメモリ
以下動画のテキストです
https://youtu.be/xVdF1z7eSDI
Satoru Takeuchi
PRO
June 21, 2020
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
53
Machine Check Exception
sat
PRO
2
52
バイナリダンプの模様を読む
sat
PRO
0
71
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
59
114-ファイルのshallow_copy.pdf
sat
PRO
2
43
113-Btrfsのスナップショット.pdf
sat
PRO
0
23
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
65
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
2
69
ファイルシステムの整合性を回復するfsck
sat
PRO
1
76
Other Decks in Technology
See All in Technology
Model Studio CLI × Token Plan
maigo999
0
170
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
180
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
240
モバイルアプリ開発概論2026
recruitengineers
PRO
5
580
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
800
モダンフロントエンド 開発研修
recruitengineers
PRO
4
620
私がブラウザを自作したくなった理由
supurazako
1
220
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
230
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
150
システム思考で問題に対処する
yussak
0
260
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9k
PLATEAU で バーチャル花火大会
tatsuya1970
0
150
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
First, design no harm
axbom
PRO
2
1.2k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
420
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Designing for humans not robots
tammielis
254
26k
Documentation Writing (for coders)
carmenintech
77
5.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
460
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
860
Transcript
キャッシュメモリ Jun 21th, 2020 Satoru Taekcuhi Twitter: satoru_takeuchi
もくじ • キャッシュメモリとは • 具体例( AMD Ryzen 5 PRO 2400GE)
• Linuxからキャッシュメモリの情報を見る • まとめ
もくじ • キャッシュメモリとは • 具体例( AMD Ryzen 5 PRO 2400GE)
• Linuxからキャッシュメモリの情報を見る • まとめ
背景 • コンピュータは以下の処理を繰り返す装置 1. メモリからCPUのレジスタにデータをとってくる 2. レジスタ上で計算する 3. 計算結果をメモリに書き戻す •
メモリアクセスはレジスタ上の計算に比べてはるかに遅い 1. レジスタ上の計算: 数ナノ秒オーダー 2. メモリアクセス: 100ナノ秒オーダー • 問題: CPUの計算速度をいくら上げてもメモリアクセスがボトルネックになってシス テム全体の性能が上がらない
キャッシュメモリの登場 • レジスタとメモリの中間に存在する記憶領域 ◦ 一般的にCPU内に存在する 教科書でよく見る記憶階層図 メモリ キャッシュメモリ レジスタ ハードウェアの概念図
高速アクセス、 小容量、高価 低速アクセス、 大容量、安価 CPU メモリ レジスタ キャッシュメモリ
キャッシュメモリ存在時のメモリリード(1目回) • CPU メモリ レジスタ キャッシュメモリ メモリアドレス100の データを要求 アドレス100のデータ
キャッシュメモリ存在時のメモリリード(1目回) • CPU メモリ レジスタ キャッシュメモリ キャッシュメモリに データを転送 アドレス100のデータ アドレス100のデータ
キャッシュメモリ存在時のメモリリード(1目回) • CPU メモリ レジスタ キャッシュメモリ アドレス100のデータ レジスタに データを転送 アドレス100のデータ
アドレス100のデータ
キャッシュメモリ存在時のメモリリード(2目回) • CPU メモリ レジスタ キャッシュメモリ アドレス100のデータ メモリアドレス100の データを要求 アドレス100のデータ
キャッシュメモリ存在時のメモリリード(2目回) • CPU メモリ レジスタ キャッシュメモリ アドレス100のデータ レジスタに データを転送 これで処理は終了
アドレス100のデータ アドレス100のデータ メモリアクセスは しなくて済む
キャッシュメモリ存在時のメモリライト • CPU メモリ レジスタ キャッシュメモリ アドレス100のデータ レジスタ上のデータを 書き換えて メモリアドレス100に
書き込み アドレス100のデータ アドレス100のデータ
キャッシュメモリ存在時のメモリライト • CPU メモリ レジスタ キャッシュメモリ アドレス100のデータ レジスタ上のデータを 書き換えて メモリアドレス100に
書き込み アドレス100のデータ アドレス100のデータ
キャッシュメモリ存在時のメモリライト • CPU メモリ レジスタ キャッシュメモリ アドレス100のデータ レジスタ上のデータを 書き換えて メモリアドレス100に
書き込み アドレス100のデータ アドレス100のデータ この後のリードは キャッシュメモリ上のデータを 見ればいい
キャッシュメモリ上データのメモリ上への反映 • CPU メモリ レジスタ キャッシュメモリ アドレス100のデータ アドレス100のデータ アドレス100のデータ 二つの方法がある
• ライトバック ◦ プログラムからのデータアクセス とは非同期にバックグラウンドで 反映 • ライトスルー ◦ キャッシュメモリへの書き込みと 同時にメモリへの書き込み
キャッシュメモリあれこれ • データがすべてキャッシュメモリ上におさまっている限り、見かけ上のメモリアクセス 速度はキャッシュメモリへのアクセス速度に等しくなる • キャッシュの様々な特徴 ◦ メモリへのデータ反映方法 : ライトスルー
or ライトバック ◦ 階層構造: L1キャッシュ(一番高速)、L2キャッシュ(二番目に高速)、... ◦ キャッシュの種類: 命令用キャッシュとデータ用キャッシュに分かれることもある ◦ CPU内のコア間でのキャッシュメモリ共有の有無 • 上記特徴はCPUの種類によって異なる
もくじ • キャッシュメモリとは • 具体例(AMD Ryzen 5 PRO 2400GE) •
Linuxからキャッシュメモリの情報を見る • まとめ
カタログスペック • 論理CPU ◦ 4コア8スレッド • キャッシュ ◦ L1キャッシュ合計: 384KB
◦ L2キャッシュ合計: 2MB ◦ L3キャッシュ合計: 4MB • 公式サイト ◦ https://www.amd.com/ja/products/apu/amd-ryzen-5-pro-2400ge
実例: AMD Ryzen 5 PRO 2400GE CPU コア0 コア2 コア3
コア1 スレッド0 スレッド1 スレッド2 スレッド3 スレッド4 スレッド5 スレッド6 スレッド7 L1キャッシュ L2キャッシュ L1キャッシュ L2キャッシュ L1キャッシュ L2キャッシュ L1キャッシュ L2キャッシュ L3キャッシュ
もくじ キャッシュメモリとは 具体例(AMD Ryzen 5 PRO 2400GE) Linuxからキャッシュメモリの情報を見る まとめ
演習 • sysfsを介してLinuxカーネルからキャッシュメモリの情報を得る • /sys/devices/system/cpu/cpu<論理CPU番号>/cache以下が該当 ◦ おもしろそうなファイル : level, type,
size, shared_cpu_{list,map}
答え合わせ • 論理CPU ◦ 4コア8スレッド • キャッシュ ◦ L1キャッシュ合計: 384KB:
(L1dキャッシュ32KB + L1iキャッシュ64KB) * 4コア ◦ L2キャッシュ合計: 2MB: 512KB * 4コア ◦ L3キャッシュ合計: 4MB: 全コアで共有
もくじ • キャッシュメモリとは • 具体例(AMD Ryzen 5 PRO 2400GE) •
Linuxからキャッシュメモリの情報を見る • まとめ
まとめ • レジスタ上の計算速度に比べてメモリアクセス速度は遅い • その速度差を吸収するのがキャッシュメモリ • CPUによってキャッシュメモリ構成は様々 • Linuxのsysfsからキャッシュメモリの情報を得られる