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
kawayu
April 13, 2025
Programming
3.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メモリウォールを超えて:キャッシュメモリ技術の進歩
kawayu
April 13, 2025
More Decks by kawayu
See All by kawayu
AIエージェントの隔離技術の徹底比較
kawayu
0
570
Other Decks in Programming
See All in Programming
[DroidKaigi 26] How We Moved from Android Studio to Slack
thisaay
0
200
AIエージェント時代のコードレビューを設計する
nogu66
5
2.5k
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
620
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
自分的「カンファレンスの楽しみ方」
syumai
0
190
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
720
リアルな遅延を測る仕様
kota_yata
1
140
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
120
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
370
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
130
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
440
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
370
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
sira's awesome portfolio website redesign presentation
elsirapls
0
400
ラッコキーワード サービス紹介資料
rakko
1
4.7M
Faster Mobile Websites
deanohume
310
32k
Transcript
メモリウォールを超えて: キャッシュメモリ技術の進歩 2025/4/12 開発合宿@鳴子温泉 @kawayu_u
メモリウォール • メモリっておそいな〜って思ったことありますよね?
メモリウォール • メモリっておそいな〜って思ったことありますよね? • CPUの性能向上が顕著になった1990年代にメモリウォール問題 が提起 • CPUの性能向上に対しメモリ性能の向上は鈍い
メモリとCPUの性能推移 Source: Carlos Carvalho ,The Gap between Processor and Memory
Speeds
メモリとCPUの性能推移 Source: Carlos Carvalho ,The Gap between Processor and Memory
Speeds https://www.cs.columbia.edu/~martha/ courses/3827/au14/advanced- topics.pdf
メモリとCPUの性能推移 メモリウォールは改善するどころか性能差が広がりより顕著に
CPUキャッシュメモリの登場 • CPUの近くに配置→電気信号の伝搬時間が短い • SRAMを使用→高速アクセスが可能 • SRAM(Static Random Access Memory)とは
• DRAMと比べ読み書きが高速 CPU メモリ (DRAM) キャッシュ メモリ (SRAM)
CPUキャッシュメモリ https://www.fujitsu.com/jp/products/computing/servers/unix/term/cache/index.html
CPUキャッシュの歴史 CPU名 発売年 世代/シリーズ L1キャッシュ L2キャッシュ L3キャッシュ Intel 4004 1971年
なし なし なし Intel 8008 1972年 なし なし なし Intel 8080 1974年 なし なし なし Intel 8086 1978年 x86-16 なし (6Bプリフェッチ) なし なし Intel 80286 1982年 x86-16 なし なし なし Intel 80386 1985年 x86-32 なし (16Bプリフェッチ) なし なし Intel 80486 DX 1989年 x86-32 8 KB なし なし Intel Pentium 1993年 Pentium 8 KB I + 8 KB D 最大512 KB (オンボード) なし Intel Pentium Pro 1995年 Pentium Pro 8 KB I + 8 KB D 256 KB - 1 MB (オンパッケージ) なし Intel Pentium II 1997年 Pentium II 16 KB I + 16 KB D 512 KB (オフダイ) なし Intel Pentium III 1999年 Pentium III 16 KB I + 16 KB D 128 KB - 512 KB (オンダイ/オフダイ) なし Intel Pentium 4 2000年 NetBurst 8 KB D (トレースキャッシュI) 最大2 MB 最大2 MB (一部モデル)
現代のCPU https://jp.fujitsu.com/family/familyroom/syuppan/family/webs/serial-comp2/index.html 微細化によって演算ユニットが小さくなる キャッシュメモリに使用できる面積増加 キャッシュメモリの容量を増加 現在はキャッシュメモリに大きなスペースを使用
CPUキャッシュメモリ CPUってマルチコアですよね? L1, L2キャッシュメモリって共有できるんですか? https://www.fujitsu.com/jp/products/computing/servers/unix/term/cache/index.html
L3Cacheの登場 https://www.cs.columbia.edu/~martha/courses/3827/au14/advanced-topics.pdf 複数コアで共有するL3Cacheが登場
CPUキャッシュの歴史 CPU名 発売年 世代/シリーズ L1キャッシュ L2キャッシュ L3キャッシュ Intel Core 2
Duo E8400 2008年 Core 2 32 KB I + 32 KB D/コア 6 MB (共有) なし Intel Core i7-920 2008年 Nehalem (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 8 MB (共有) Intel Core i7-2600K 2011年 Sandy Bridge (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 8 MB (共有) Intel Core i7-3770K 2012年 Ivy Bridge (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 8 MB (共有) Intel Core i7-4770K 2013年 Haswell (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 8 MB (共有) Intel Core i7-5775C 2014年 Broadwell (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 6 MB (共有) + 128 MB L4 Intel Core i7-6700K 2015年 Skylake (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 8 MB (共有) Intel Core i7-7700K 2017年 Kaby Lake (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 8 MB (共有) Intel Core i7-8700K 2017年 Coffee Lake (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 12 MB (共有) Intel Core i7-9700K 2018年 Coffee Lake Refresh (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 12 MB (共有) Intel Core i7-10700K 2020年 Comet Lake (Core i) 32 KB I + 32 KB D/コア 256 KB/コア 16 MB (共有) Intel Core i7-1065G7 2019年 Ice Lake (Core i) 32 KB I + 48 KB D/コア 512 KB/コア 8 MB (共有) Intel Core i7-11700K 2021年 Rocket Lake (Core i) 32 KB I + 32 KB D/コア 512 KB/コア 16 MB (共有) Intel Core i7-11850H 2020年 Tiger Lake (Core i) 32 KB I + 48 KB D/コア 1.25 MB/コア 24 MB (共有) Intel Core i7-12700K 2021年 Alder Lake (Core i) 80 KB (P)/64 KB (E) 2 MB (P)/4 MB (Eクラスタ) 25 MB (共有) Intel Core i7-13700K 2022年 Raptor Lake (Core i) 80 KB (P)/96 KB (E) 2 MB (P)/4 MB (Eクラスタ) 30 MB (共有)
CPUキャッシュの歴史 CPU名 発売年 世代/シリーズ L1キャッシュ L2キャッシュ L3キャッシュ AMD Athlon 64
X2 2005年 K8 64KB I + 64KB D/コア 512KB/コア - AMD Ryzen 7 1800X 2017年 Zen 64KB I + 32KB D/コア 512KB/コア 16MB (共有) AMD Ryzen 7 3800XT 2019年 Zen 2 64KB I + 32KB D/コア 512KB/コア 32MB (共有) AMD Ryzen 7 5800X 2020年 Zen 3 64KB I + 32KB D/コア 512KB/コア 32MB (共有) AMD Ryzen 7 5700X 2022年 Zen 3 64KB I + 32KB D/コア 512KB/コア 32MB (共有) AMD Ryzen 7 5700 2022年 Zen 3 64KB I + 32KB D/コア 512KB/コア 16MB (共有) AMD Ryzen 7 7800X3D 2023年 Zen 4 64KB I + 32KB D/コア 1MB/コア 96MB (共有)
キャッシュメモリを大きく • キャッシュメモリを大きくすればチップ性能は向上するが… • 大きなダイサイズ→コストUP • 動かなかったとき→歩留まり率低下 • 演算ユニットの集積化は頭打ちが近い
現代のCPU Apple Silicon(M1) • SoC(System On a Chip)を採用 • メモリはCPUとGPUで共用
• CPUとメモリの距離が近い • M1ではL3 Cacheは非搭載 • L2キャッシュとユニファイドメモリが共用 https://www.production-expert.com/production-expert-1/why-are-the-apple-m1-m1-pro-and-m1-max-chips-so-fast
現代のCPU AMD 3D V-Cache • AMDはチップレット(CCD) 戦略を採用 • CCDの垂直方向にL3 Cacheを搭載
• 大容量L3 Cacheにより性能を大幅向上 https://fuse.wikichip.org/news/5531/amd-3d-stacks-sram-bumplessly/
現代のCPU AMD 3D V-Cache CCD(Core Complex, and Die) https://www.amd.com/content/dam/amd/en/documents/epyc-business-docs/white-papers/221704010-B_en_4th-Gen-AMD-EPYC-Processor-Architecture---White-Paper_pdf.pdf
現代のCPU AMD 3D V-Cache CCD(Core Complex, and Die)のメリット https://www.amd.com/ja/technologies/zen-core.html
現代のCPU AMD 3D V-Cache https://fuse.wikichip.org/news/5531/amd-3d-stacks-sram-bumplessly/
実際に計測
実際に計測
実際に計測
実際に計測 0 0.0005 0.001 0.0015 0.002 0.0025 0.003 0 200
400 600 800 1000 1200 Sequential Access Random Access KB
実際に計測 MB 0 0.05 0.1 0.15 0.2 0.25 0.3 0
5 10 15 20 25 30 35 Sequential Access Random Access
計測結果と考察 • 12MBくらいからSequential と Randomに差が生じるように • 詳細は公表されていないがM1チップのL2 Cacheは12MBのよ うでそれを示す結果 •
https://en.wikipedia.org/wiki/Apple_M1 • 処理を予測してメモリからキャッシュメモリに事前にデータを コピーするプリフェッチ機能があるが12MB以下では予測でき ない場合でもキャッシュメモリにデータがあるため、処理時間 に差が生じていないと考えられる