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
460
キャッシュメモリ
以下動画のテキストです
https://youtu.be/xVdF1z7eSDI
Satoru Takeuchi
PRO
June 21, 2020
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
様々なファイルシステム
sat
PRO
0
270
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
330
ソースを読むプロセスの例
sat
PRO
20
16k
メモリマップトファイル
sat
PRO
1
140
「Linux」という言葉が指すもの
sat
PRO
4
230
APIとABIの違い
sat
PRO
5
210
ファイルシステムへのアクセス方法
sat
PRO
0
88
ファイルシステム
sat
PRO
1
79
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.2k
Other Decks in Technology
See All in Technology
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
220
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
160
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
900
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
160
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
200
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
160
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
590
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
280
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
340
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
330
DSPy入門
tomehirata
6
650
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Bash Introduction
62gerente
615
210k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Into the Great Unknown - MozCon
thekraken
40
2.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
The World Runs on Bad Software
bkeepers
PRO
72
11k
How GitHub (no longer) Works
holman
315
140k
Rails Girls Zürich Keynote
gr2m
95
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
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からキャッシュメモリの情報を得られる