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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
130
Greatest Disaster Hits in Web Performance
guaca
0
260
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
590
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
Digitization部 紹介資料
sansan33
PRO
1
6.8k
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
440
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
150
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
470
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
580
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Everyday Curiosity
cassininazir
0
130
Deep Space Network (abreviated)
tonyrice
0
49
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
77
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
78
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Tell your own story through comics
letsgokoyo
1
810
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Navigating Team Friction
lara
192
16k
Code Review Best Practice
trishagee
74
20k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
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からキャッシュメモリの情報を得られる