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
1
470
キャッシュメモリ
以下動画のテキストです
https://youtu.be/xVdF1z7eSDI
Satoru Takeuchi
PRO
June 21, 2020
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
書籍執筆での生成AIの活用
sat
PRO
1
290
ChatGPTに従って体調管理2026
sat
PRO
0
150
eBPF
sat
PRO
1
110
waruiBPF
sat
PRO
0
110
eBPFとwaruiBPF
sat
PRO
5
3.8k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
100
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
200
様々なファイルシステム
sat
PRO
0
340
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
430
Other Decks in Technology
See All in Technology
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
310
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.9k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
170
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
Digitization部 紹介資料
sansan33
PRO
1
6.8k
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
2.4k
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
260
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
210
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
960
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
Documentation Writing (for coders)
carmenintech
77
5.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Leo the Paperboy
mayatellez
4
1.4k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
68
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Are puppies a ranking factor?
jonoalderson
1
2.7k
Balancing Empowerment & Direction
lara
5
890
Mobile First: as difficult as doing things right
swwweet
225
10k
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からキャッシュメモリの情報を得られる