เวลาเปิดหน้าสเปก CPU เรามักเห็นข้อมูลอย่าง
L2 Cache 8MB
L3 Cache 32MB
Intel Smart Cache 36MB
หรือ CPU Gaming บางรุ่นมี Cache รวมเกือบ 100MB
จึงเกิดคำถามว่า
CPU Cache คืออะไร?
ถ้า CPU รุ่นหนึ่งมี Cache 32MB แต่อีกรุ่นมี 64MB แปลว่ารุ่นที่มี Cache เยอะกว่าจะเร็วกว่าเป็นสองเท่าหรือไม่?
และทำไม CPU Gaming บางรุ่นถึงเพิ่ม Cache จำนวนมากแทนที่จะเพิ่ม Clock หรือ Core อย่างเดียว?
คำตอบคือ Cache มีผลกับ Performance จริง เพราะช่วยลดเวลาที่ CPU ต้องรอข้อมูลจาก Memory
แต่เช่นเดียวกับจำนวน Core และ Thread ตัวเลข Cache ที่เยอะกว่าไม่ได้หมายความว่า CPU จะเร็วกว่าเสมอ
ต้องดูทั้ง Architecture, Latency, Core, Clock และ Workload ร่วมกัน
ถ้ายังสับสนเรื่องจำนวน Core และ Thread แนะนำให้อ่าน CPU Core กับ Thread ต่างกันอย่างไร ก่อน เพราะ Cache ทำงานใกล้ชิดกับ CPU Core โดยตรง
CPU Cache คืออะไร?
CPU Cache คือหน่วยความจำความเร็วสูงที่อยู่ภายในหรืออยู่ใกล้ Processor Core มากกว่า RAM
หน้าที่หลักคือเก็บ
- Data
- Instruction
- ข้อมูลที่เพิ่งถูกใช้งาน
- ข้อมูลที่ CPU คาดว่าจะต้องใช้อีก
ไว้ใกล้ CPU
เหตุผลที่ต้องมี Cache คือ CPU ทำงานเร็วกว่า Main Memory มาก
ถ้าทุกครั้งที่ Processor ต้องใช้ข้อมูลแล้วต้องรออ่านจาก RAM อย่างเดียว CPU จะเสียเวลารอ Memory จำนวนมาก
Cache จึงทำหน้าที่เหมือนพื้นที่เก็บข้อมูลขนาดเล็กที่เร็วมากอยู่ใกล้ Processor
ทำไม CPU ไม่อ่านจาก RAM โดยตรงอย่างเดียว?
เพราะความเร็วระหว่าง CPU กับ RAM ต่างกันมาก
CPU สามารถ Execute Instruction จำนวนมหาศาลในเวลาอันสั้น
แต่การเข้าถึง DRAM มี Latency สูงกว่าการอ่านข้อมูลจาก Cache ที่อยู่บน Processor มาก
Intel อธิบายว่า L1 เป็น Cache ที่เล็กที่สุดแต่เร็วที่สุดและอยู่ใกล้ Core มากที่สุด ส่วน L2 มี Capacity สูงขึ้นแต่ Latency มากขึ้น และ L3 มีขนาดใหญ่ขึ้นอีกแต่ช้ากว่า L1/L2
ดังนั้น CPU จะพยายามหาข้อมูลจาก Cache ก่อน
ถ้าเจอ ก็ไม่ต้องเสียเวลาออกไปอ่าน RAM
Cache Hit คืออะไร?
เมื่อ CPU ต้องการข้อมูลแล้วพบข้อมูลนั้นอยู่ใน Cache เรียกว่า
Cache Hit
นี่เป็นสถานการณ์ที่ต้องการ เพราะ CPU สามารถอ่านข้อมูลได้เร็ว
ตัวอย่าง CPU ต้องใช้ข้อมูล A
ถ้า A อยู่ใน L1 Cache
CPU ก็สามารถนำไปประมวลผลได้อย่างรวดเร็ว
Cache Miss คืออะไร?
ถ้า CPU หาข้อมูลใน Cache แล้วไม่พบ เรียกว่า
Cache Miss
จากนั้น Processor ต้องค้นต่อใน Cache Level ที่ต่ำลงหรือ RAM
เช่น
ไม่อยู่ L1
จึงดู L2
ถ้าไม่อยู่ L2
จึงดู L3
ถ้ายังไม่มี
จึงต้องออกไปอ่าน Main Memory
Cache Miss จึงมีต้นทุนด้าน Latency มากกว่า Cache Hit
ทำไมมี L1, L2 และ L3 หลายระดับ?
เพราะ Memory ที่
เร็วมาก + ใหญ่มาก + ราคาถูก
พร้อมกันนั้นสร้างได้ยาก
จึงใช้วิธีแบ่งเป็น Hierarchy
- Cache เล็กมากแต่เร็วมาก
- Cache ใหญ่ขึ้นแต่ช้าลง
- RAM ใหญ่มากแต่ช้ากว่า Cache
Intel และ AMD ต่างใช้ Cache Hierarchy หลายระดับใน Processor เพื่อให้ข้อมูลที่ Core ต้องใช้บ่อยอยู่ใกล้ Core มากที่สุด
L1 Cache คืออะไร?
L1 Cache หรือ Level 1 Cache เป็น Cache ระดับที่ใกล้ CPU Core มากที่สุด
โดยทั่วไปมีขนาดเล็ก แต่มี Latency ต่ำมาก
L1 มักถูกแบ่งเป็น
Instruction Cache
สำหรับเก็บคำสั่ง
และ
Data Cache
สำหรับเก็บข้อมูล
ตัวอย่าง Intel Core Ultra บาง Architecture มี L1 Data Cache และ L1 Instruction Cache แยกกันต่อ Core
ทำไม L1 Cache ถึงเล็ก?
เพราะเป้าหมายของ L1 คือ ความเร็ว
ถ้าทำ Cache ใหญ่ขึ้นมาก การค้นหาและการออกแบบวงจรจะซับซ้อนขึ้นและ Latency มีแนวโน้มเพิ่ม
จึงใช้ L1 ขนาดเล็กสำหรับข้อมูลที่ต้องเข้าถึงทันที
จากนั้นมี L2 และ L3 ช่วยรองรับข้อมูลจำนวนมากขึ้น
L2 Cache คืออะไร?
L2 หรือ Level 2 Cache มีขนาดใหญ่กว่า L1
แต่โดยทั่วไปมี Latency สูงกว่าเล็กน้อย
หน้าที่คือรองรับข้อมูลที่ไม่อยู่ใน L1 โดยไม่ต้องกระโดดออกไป RAM ทันที
ใน CPU หลาย Architecture L2 เป็น Cache ที่ผูกใกล้กับ Core หรือกลุ่ม Core
ตัวอย่าง Intel Core Ultra บางรุ่นมี L2 แยกสำหรับ P-core และแชร์ภายในกลุ่ม E-core ตามการออกแบบของ Architecture นั้น
L3 Cache คืออะไร?
L3 หรือ Level 3 Cache มักเรียกว่า
Last Level Cache หรือ LLC
ใน CPU Desktop/Server จำนวนมาก L3 มีขนาดใหญ่กว่า L1 และ L2 อย่างชัดเจน
และมักแชร์ระหว่างหลาย Core
ตัวอย่าง Intel ระบุว่า L3 บน Processor หลาย Architecture ทำหน้าที่เป็น Shared Last Level Cache ก่อนข้อมูลจะถูกดึงจาก Main Memory
L3 Cache ช้ากว่า L2 ไหม?
โดยทั่วไปใช่
แต่ยังเร็วกว่าออกไปอ่าน RAM
ดังนั้นถึง L3 จะมี Latency สูงกว่า L1/L2 ก็ยังเป็นส่วนสำคัญของ Memory Hierarchy
ถ้า CPU หา Data ใน L1/L2 ไม่เจอ แต่เจอใน L3 ก็ยังดีกว่าเกิด Cache Miss จนต้องเข้าถึง DRAM
สรุป L1, L2 และ L3 แบบง่าย
| Cache | ขนาด | ความเร็ว | ตำแหน่งทั่วไป |
|---|---|---|---|
| L1 | เล็กที่สุด | เร็วที่สุด | ใกล้ Core มาก |
| L2 | ใหญ่ขึ้น | ช้ากว่า L1 | Core/Cluster |
| L3 | ใหญ่ที่สุด | ช้ากว่า L2 | แชร์ระหว่าง Core ในหลาย Architecture |
| RAM | ใหญ่มาก | ช้ากว่า Cache | นอก CPU Core |
ดังนั้นไม่ใช่ว่า L3 “ดีกว่า” L1 เพราะมีขนาดใหญ่กว่า
แต่แต่ละระดับมีหน้าที่แตกต่างกัน
CPU Cache ต่างจาก RAM ยังไง?
RAM มี Capacity สูงกว่า Cache มาก
ตัวอย่าง Notebook อาจมี
16GB RAM
ขณะที่ CPU มี L3 Cache
24MB
ดูเหมือน Cache เล็กมากเมื่อเทียบกับ RAM
แต่ Cache อยู่ใกล้ CPU และออกแบบมาให้ Latency ต่ำมาก
RAM ทำหน้าที่เป็น Working Memory ขนาดใหญ่ของทั้งระบบ
ส่วน Cache เน้นเก็บข้อมูลที่ Processor ต้องการเข้าถึงอย่างรวดเร็ว
หากต้องการเข้าใจ RAM เพิ่ม อ่าน RAM 16GB กับ 32GB ต่างกันอย่างไร ได้
Cache กับ SSD ต่างกันยังไง?
ต่างกันมาก
SSD ใช้เก็บข้อมูลระยะยาว
เช่น
- Windows
- Program
- File
- Game
RAM เก็บข้อมูลที่กำลังทำงาน
ส่วน CPU Cache อยู่ใกล้ Processor เพื่อช่วยลด Latency ของการเข้าถึง Data/Instruction
ลำดับแบบคร่าว ๆ จึงเป็น
CPU Cache เร็วมากที่สุด แต่เล็กมาก
RAM ใหญ่ขึ้น แต่ช้ากว่า Cache
SSD ใหญ่กว่ามาก แต่ช้ากว่า RAM
ถ้าต้องการดูความต่างของ Storage อ่าน NVMe คืออะไร และ SSD ใช้ได้นานแค่ไหน ต่อได้
Cache ยิ่งเยอะ CPU ยิ่งแรงจริงไหม?
ไม่เสมอไป
Cache เพิ่มสามารถช่วย Performance ใน Workload ที่ได้ประโยชน์จากข้อมูลที่ถูกเก็บใกล้ CPU
แต่ถ้า Application ไม่ได้ใช้ Working Set ที่เหมาะกับ Cache ที่เพิ่มขึ้น ผลต่างอาจน้อย
นอกจากนี้ CPU ที่ Cache เยอะกว่าแต่
- Core ช้ากว่า
- Architecture เก่ากว่า
- Clock ต่ำกว่า
ก็สามารถแพ้ CPU ที่ Cache น้อยกว่าได้
ดังนั้นอย่าเปรียบเทียบ CPU จาก MB Cache อย่างเดียว
L3 Cache ช่วยเล่นเกมไหม?
ช่วยได้มากในเกมบางประเภท
เกมมีข้อมูลจำนวนมาก เช่น
- Game Logic
- Physics
- Object
- Asset Metadata
- Draw-related Data
ถ้าข้อมูลที่ CPU ต้องใช้บ่อยสามารถอยู่ใน Cache ได้มากขึ้น Processor ก็ไม่ต้องออกไปอ่าน RAM บ่อย
จึงลด Memory Latency และช่วย Gaming Performance ในบาง Workload
นี่เป็นเหตุผลที่ CPU Gaming บางรุ่นให้ความสำคัญกับ L3 Cache จำนวนมาก
เกมไหนได้ประโยชน์จาก Cache เยอะ?
ขึ้นกับ Engine และ Workload
เกมประเภท
- Simulation
- Strategy
- MMO
- CPU-heavy Game
- Competitive Gaming บางตัว
สามารถได้ประโยชน์จาก Cache มาก
แต่ไม่ควรสรุปว่า Cache เยอะจะเพิ่ม FPS เท่ากันทุกเกม
ต้องดู Benchmark เกมจริง
3D V-Cache คืออะไร?
3D V-Cache เป็นเทคโนโลยีของ AMD ที่เพิ่ม Cache เพิ่มเติมในแนวตั้งบน Processor Die/Chiplet
เป้าหมายคือเพิ่ม L3 Cache Capacity โดยไม่ต้องขยายพื้นที่ทั้งหมดในระนาบเดียว
CPU Ryzen X3D หลายรุ่นจึงมี L3 Cache สูงมากและถูกออกแบบให้เหมาะกับ Gaming Workload หลายประเภท
ทำไม 3D V-Cache ช่วยเกมได้มาก?
เพราะหลายเกมไวต่อ Memory Latency
เมื่อ Working Data อยู่ใน L3 Cache มากขึ้น CPU มีโอกาสต้องออกไป RAM น้อยลง
จึงช่วยลด Latency และเพิ่ม Frame Rate หรือ 1% Low ในบางเกม
แต่ Performance Gain แตกต่างกันมากตามเกม
Cache เยอะช่วย 1% Low ไหม?
มีโอกาสช่วย
1% Low ใช้อธิบาย Frame Rate ช่วงที่ช้ากว่า Average
ถ้าเกมมี Stall จาก Memory Access น้อยลง Frame Time อาจสม่ำเสมอขึ้น
แต่ไม่ได้ขึ้นกับ Cache อย่างเดียว
ยังมี
- CPU
- GPU
- RAM
- Game Engine
ร่วมด้วย
CPU X3D เหมาะกับทุกงานไหม?
ไม่จำเป็น
Gaming ได้ประโยชน์ชัดในหลายเกม
แต่งาน Professional บางประเภทอาจได้ประโยชน์จาก
- Clock สูงกว่า
- Core มากกว่า
มากกว่า Cache ใหญ่
จึงควรเลือกตาม Workload
Cache ช่วยงาน Office ไหม?
ช่วยอยู่ตลอดในระดับ Architecture เพราะทุก Application ใช้ CPU Cache
แต่ผู้ใช้ Office ไม่ควรเลือกระหว่าง CPU จาก Cache 24MB กับ 36MB เป็นปัจจัยหลัก
สำหรับ Office ควรดู
- Generation
- CPU Class
- RAM
- SSD
- Battery
มากกว่า
Cache ช่วย Excel ไหม?
Excel Workload มีหลายแบบ
Spreadsheet ทั่วไปไม่ได้ต้องการ Cache ขนาดมหาศาล
แต่ Calculation ขนาดใหญ่หรือ Data Model สามารถได้ประโยชน์จาก CPU และ Memory Hierarchy ที่ดี
อย่างไรก็ตาม RAM Capacity มักสำคัญกว่าการเลือก L3 ต่างกันไม่กี่ MB สำหรับไฟล์ขนาดใหญ่มาก
Cache ช่วย Programming ไหม?
Compiler, Build System และ Development Tool ใช้ CPU Cache เหมือน Application อื่น
แต่ Developer ควรให้ความสำคัญกับ
- Core/Thread
- RAM
- SSD
ร่วมด้วย
หาก Compile Project ใหญ่ จำนวน Core มักมีผลชัดกว่าการดู L3 Cache อย่างเดียว
Cache ช่วย Rendering ไหม?
CPU Rendering ส่วนใหญ่มัก Scale กับ Core/Thread ได้ดี
Cache มีผล แต่ Core Count และ Architecture มักมี Impact สูงกว่า
CPU ที่ L3 สูงมากแต่มี Core น้อยอาจแพ้ CPU Core เยอะกว่าใน Rendering
นี่เป็นอีกตัวอย่างว่าต้องดู Workload จริง
Cache ช่วย Database ไหม?
ช่วยมากในระดับ CPU เพราะ Database เป็น Memory-intensive Workload
แต่ Database Performance ยังขึ้นกับ
- RAM Capacity
- Storage
- Query
- Index
- NUMA
- I/O
Server CPU บางตระกูลจึงมี Cache ขนาดใหญ่มากเพื่อรองรับ Enterprise Workload
Cache สำคัญกับ Server มากไหม?
สำคัญมาก
Server รองรับ
- VM
- Database
- Web Service
- Container
จำนวนมากพร้อมกัน
Large Cache สามารถช่วยลด Memory Access และเพิ่ม Throughput
แต่ Server Design ต้องดู Core, Memory Channel และ I/O ร่วมกัน
L3 Cache แชร์กันแปลว่าทุก Core ใช้ได้ไหม?
ใน CPU หลาย Architecture ใช่ในระดับหนึ่ง
แต่รายละเอียดการแชร์และ Topology แตกต่างกัน
ตัวอย่าง AMD Chiplet Design อาจมี L3 Cache แชร์ภายใน CCD/Chiplet มากกว่าการแชร์ข้ามทั้ง Package แบบเดียวกันทุก Core
ดังนั้นคำว่า “L3 64MB” ไม่ได้บอก Topology ทั้งหมด
Chiplet มีผลกับ Cache ยังไง?
CPU Chiplet ใช้หลาย Silicon Die/CCD รวมใน Package
Cache อาจถูกแบ่งตาม Chiplet
ถ้า Thread ต้องเข้าถึงข้อมูลใน Cache ของอีก Chiplet อาจมี Latency เพิ่มขึ้น
Operating System และ Architecture จึงมีบทบาทในการ Schedule Thread
AMD CCD คืออะไร?
CCD หรือ Core Complex Die เป็น Chiplet ที่บรรจุ CPU Core และ Cache บางส่วนใน Ryzen/EPYC Architecture หลายรุ่น
แต่ Layout ต่างกันตาม Generation
ผู้ใช้ทั่วไปไม่จำเป็นต้องเลือก CPU จากจำนวน CCD อย่างเดียว
Gaming Benchmark และ Application Benchmark มีประโยชน์กว่า
Intel Smart Cache คืออะไร?
Intel ใช้คำว่า Intel Smart Cache กับ Shared Cache ใน Processor หลายรุ่น
โดยทั่วไปคือ Last Level Cache ที่ Core สามารถแชร์ใช้งานได้ตาม Architecture
อย่าสับสนว่า Smart Cache เป็น Memory คนละประเภทกับ L3
ในหลายรุ่นก็คือ Shared LLC/L3 Concept นั่นเอง
Cache Memory อยู่ที่ไหน?
CPU Cache ระดับ L1/L2/L3 ใน Processor สมัยใหม่อยู่บน Processor Silicon/Package ตาม Architecture
ไม่ใช่ RAM Stick บน Mainboard
จึงมี Latency ต่ำและ Bandwidth สูง
ผู้ใช้ไม่สามารถซื้อ L3 Cache เพิ่มเหมือนเพิ่ม RAM ได้
เพิ่ม Cache ภายหลังได้ไหม?
ไม่ได้ใน CPU ทั่วไป
Cache เป็นส่วนหนึ่งของ Processor Design
ถ้าต้องการ Cache สูงกว่า ต้องเปลี่ยน CPU เป็นรุ่นอื่น
ต่างจาก RAM ที่สามารถเพิ่ม Module ในเครื่องที่รองรับได้
ทำไม Cache มีราคาแพงกว่า RAM ต่อ MB มาก?
เพราะ Cache มักสร้างจาก SRAM ซึ่งใช้ Transistor จำนวนมากต่อ Bit มากกว่า DRAM
แต่ให้ Latency ต่ำและ Speed สูง
จึงไม่คุ้มที่จะทำ L3 ขนาดหลาย GB บน Consumer CPU ปกติ
RAM จึงใช้ DRAM ซึ่งมี Density สูงกว่าและราคาถูกกว่าต่อ Capacity
SRAM กับ DRAM ต่างกันยังไง?
แบบง่าย:
SRAM
เร็วกว่า แต่ใช้พื้นที่ Silicon มากและแพง
DRAM
ช้ากว่า แต่เก็บข้อมูลได้หนาแน่นและถูกกว่า
CPU Cache จึงใช้ SRAM
Main Memory ใช้ DRAM
Cache Line คืออะไร?
CPU Cache ไม่ได้ดึงข้อมูลทีละ Byte เสมอไป
ข้อมูลถูกจัดเป็นหน่วยที่เรียกว่า Cache Line
บน x86 CPU สมัยใหม่จำนวนมาก Cache Line มักมีขนาด 64 Bytes
Intel Documentation ระบุ Cache Line ขนาด 64 Bytes ใน Processor หลาย Architecture
เมื่อ CPU อ่าน Address หนึ่ง จึงอาจดึง Data รอบ ๆ Address นั้นเข้ามาด้วย
ทำไมต้องดึงข้อมูลข้าง ๆ มาด้วย?
เพราะ Software มักมี Spatial Locality
หมายความว่า ถ้าใช้ข้อมูลตำแหน่งหนึ่ง มีโอกาสสูงว่าจะใช้ข้อมูลตำแหน่งใกล้กันต่อ
ตัวอย่างอ่าน Array
CPU อ่าน Element 1
จากนั้นมักอ่าน 2, 3, 4
การดึง Cache Line มาครั้งเดียวจึงลด Memory Request ได้
Temporal Locality คืออะไร?
หมายถึงถ้า Data ถูกใช้งานตอนนี้ มีโอกาสถูกใช้อีกในเวลาใกล้ ๆ
ตัวอย่าง Loop ใช้ Variable เดิมซ้ำหลายครั้ง
Cache เก็บข้อมูลนั้นไว้ช่วยลดการอ่านจาก RAM ซ้ำ
นี่คือหลักสำคัญของ Cache Design
Cache Miss เกิดบ่อยทำไมเครื่องช้า?
เพราะ CPU ต้องลงไปหา Data ในระดับ Memory ที่ช้าลง
L1 Miss
อาจไป L2
L2 Miss
ไป L3
L3 Miss
ไป DRAM
แต่ละขั้นมี Latency เพิ่ม
Intel Performance Tool เองใช้ Metric เช่น L1/L2 Cache Miss/Stall เพื่อวิเคราะห์ว่ CPU เสีย Cycle รอข้อมูลมากแค่ไหน
โปรแกรมสามารถ Optimize Cache ได้ไหม?
ได้มาก
Developer สามารถออกแบบ Data Structure และ Algorithm ให้ใช้ Cache ได้ดีขึ้น
เช่น
- Data Layout
- Loop Order
- Blocking
- Locality
โปรแกรมที่ Cache-friendly สามารถเร็วกว่า Algorithm ที่เข้าถึง Memory แบบ Random แม้ใช้ CPU ตัวเดียวกัน
Cache-friendly คืออะไร?
หมายถึง Software จัดการ Data ในรูปแบบที่ CPU Cache ใช้งานได้มีประสิทธิภาพ
ตัวอย่างการ Iterate Array ตามลำดับ Memory มัก Cache-friendly กว่าการกระโดดตำแหน่งแบบสุ่ม
สิ่งนี้สำคัญมากใน
- Game Engine
- Database
- Scientific Computing
CPU Cache กับ Browser Cache เหมือนกันไหม?
ไม่เหมือนกัน
Browser Cache เป็น File/Data จาก Website ที่ Browser เก็บใน Storage เพื่อไม่ต้อง Download ใหม่
CPU Cache เป็น Hardware Memory ใกล้ Processor
ชื่อเหมือนกันเพราะแนวคิดคือเก็บข้อมูลที่อาจใช้ซ้ำให้ใกล้ผู้ใช้งานมากขึ้น
แต่เป็นคนละระบบโดยสิ้นเชิง
CPU Cache กับ SSD Cache เหมือนกันไหม?
ไม่เหมือนกัน
SSD Cache อาจหมายถึง
- DRAM Cache
- SLC Cache
ภายใน SSD
CPU Cache อยู่ใน Processor
ทำคนละหน้าที่และมี Speed Scale ต่างกันมาก
หากต้องการเข้าใจ SSD Cache สามารถอ่าน SSD ใช้ได้นานแค่ไหน เพิ่มได้
Cache กับ Virtual Memory เหมือนกันไหม?
ไม่เหมือนกัน
Virtual Memory/Page File ใช้ Storage ช่วยเมื่อ RAM ไม่พอ
CPU Cache อยู่เหนือ RAM เพื่อเพิ่ม Speed
ลำดับจึงต่างกันอย่างมาก
อย่าสับสนคำว่า Memory ทุกชนิดว่าเป็นสิ่งเดียวกัน
Cache เยอะช่วยตอน RAM ไม่พอไหม?
ไม่สามารถแทน RAM Capacity ได้
L3 96MB ยังเล็กกว่า RAM 16GB หลายร้อยเท่า
Cache ช่วยลด Latency ของข้อมูลที่ CPU ใช้บ่อย
แต่ไม่สามารถเก็บ Application Working Set ขนาดหลาย GB แทน RAM ได้
RAM เร็วขึ้นยังสำคัญถ้ามี Cache ใหญ่ไหม?
ยังสำคัญ
Cache ไม่สามารถเก็บ Data ทุกอย่าง
เมื่อเกิด Cache Miss CPU ยังต้องอ่าน RAM
RAM Bandwidth และ Latency จึงยังมีผล
โดยเฉพาะ
- iGPU
- Productivity
- Server
- Memory-intensive Workload
Gaming CPU ควรดู Cache หรือ Clock ก่อน?
ไม่ควรเลือกอย่างใดอย่างหนึ่ง
ควรดู Benchmark เกมจริง
CPU บางรุ่นได้เปรียบจาก
- Large Cache
บางรุ่นจาก
- High Clock
- IPC
สุดท้าย Average FPS และ 1% Low ของเกมที่คุณเล่นเป็นข้อมูลที่ใช้ตัดสินใจได้ดีกว่า Spec ตัวเดียว
CPU Cache เยอะช่วย Esports ไหม?
ช่วยในบางเกม
แต่ Competitive Game ต้องการ
- Single-thread Performance
- Low Latency
- Cache
- RAM
- GPU
ร่วมกัน
จึงต้องดู Benchmark
Cache ช่วย 4K Gaming ไหม?
ยังช่วยได้ แต่เมื่อ Resolution สูง GPU มักเป็น Bottleneck มากขึ้น
ความแตกต่างระหว่าง CPU อาจลดลงเมื่อ GPU ใช้งานเต็ม
ที่ 1080p High FPS ความต่าง CPU/Cache มักเห็นง่ายกว่า
Cache Size ดูจาก Task Manager ได้ไหม?
Windows Task Manager แสดง Cache Detail บางส่วนในบางบริบท แต่ไม่ใช่รายละเอียด L1/L2/L3 ครบทุก CPU
วิธีแม่นกว่าคือดู
- Intel ARK
- AMD Product Page
- CPU-Z
- Manufacturer Specification
อย่าดูจาก Software ที่ไม่รู้แหล่งข้อมูล
CPU-Z ดู L1 L2 L3 ได้ไหม?
ได้
CPU-Z เป็น Utility ยอดนิยมที่สามารถแสดง
- CPU
- Core/Thread
- Clock
- Cache
ตาม Processor
แต่สำหรับการซื้อ CPU ควรตรวจ Specification Official เพิ่มด้วย
CPU Cache เสียได้ไหม?
Cache เป็นส่วนของ Processor Silicon
Hardware Defect สามารถเกิดได้ แต่ไม่ใช่ Component ที่ User แยกเปลี่ยนได้
ถ้า CPU มี Hardware Error มักต้องเปลี่ยน Processor/เครื่องตามระบบ
ไม่ได้มีวิธีเปลี่ยน L3 Cache แยก
ECC ใช้กับ Cache ไหม?
CPU Cache ใน Processor ระดับต่าง ๆ มี Error Detection/Correction Mechanism ตาม Architecture
รายละเอียดต่างกันตาม Processor
อย่าสับสนกับ ECC RAM ซึ่งเป็น Feature ของ Main Memory
Server Cache ใหญ่เพราะอะไร?
Server Processor รองรับ
- Core จำนวนมาก
- VM จำนวนมาก
- Data Set ใหญ่
จึงต้องมี Cache Architecture ที่เหมาะกับ Throughput สูง
แต่ Server Performance ยังขึ้นกับ
- Memory Channel
- NUMA
- I/O
- Storage
ร่วมด้วย
NUMA เกี่ยวกับ Cache ยังไง?
ใน Multi-socket/Chiplet Server Memory Access Cost ไม่เท่ากันทุกตำแหน่ง
NUMA-aware Software พยายามให้ Thread เข้าถึง Memory ใกล้ Processor ที่รันอยู่
Cache และ Memory Topology จึงมีผลมากกับ Server Performance
ผู้ใช้ Desktop ทั่วไปไม่จำเป็นต้องกังวลเรื่องนี้มากนัก
L4 Cache มีไหม?
มีใน Processor/Architecture บางรุ่นหรือบางยุค แต่ไม่ใช่มาตรฐานทั่วไปของ Consumer CPU ปัจจุบันแบบ L1/L2/L3
บาง Platform อาจใช้ Memory ระดับเพิ่มเติมในบทบาทคล้าย Cache
ควรดู Architecture ของรุ่นจริง
ทำไมผู้ผลิตไม่ทำ L3 ใหญ่ขึ้นเรื่อย ๆ?
เพราะมี Trade-off
Cache ใช้พื้นที่ Silicon
พื้นที่เพิ่มหมายถึง
- Cost
- Power
- Complexity
นอกจากนี้ Cache ใหญ่ขึ้นไม่ได้เพิ่ม Performance แบบ Linear ทุก Workload
จึงต้องเลือกขนาดที่เหมาะกับ Product Segment
Cache 32MB กับ 64MB ต่างกันเยอะไหม?
ตอบจากตัวเลขอย่างเดียวไม่ได้
ถ้าเป็น CPU Architecture เดียวกันและ Workload Cache-sensitive อาจเห็นความต่าง
แต่ถ้าเปรียบคนละ CPU Generation ตัวแปรอื่นมากเกินไป
Benchmark จริงจะตอบได้ดีกว่า
ทำไม Cache บางรุ่นเขียนว่า 24MB แต่บางรุ่นบอก Total Cache?
ผู้ผลิตอาจรายงาน
- L3 Cache
- Smart Cache
- Total Cache
- L2 + L3
ต่างกัน
ดังนั้นเวลาเปรียบเทียบต้องดูว่าตัวเลขกำลังพูดถึง Cache ระดับไหน
อย่าเทียบ “Total Cache” ของรุ่นหนึ่งกับ “L3 Cache” ของอีกรุ่นโดยตรง
ตัวอย่างการอ่านสเปก CPU
สมมติ CPU A:
8 Core
16 Thread
L2 8MB
L3 32MB
CPU B:
8 Core
16 Thread
L2 16MB
L3 64MB
CPU B ไม่ได้เร็วกว่า CPU A อัตโนมัติ
ยังต้องดู
- IPC
- Clock
- Architecture
- Power
- Application
นี่คือหลักเดียวกับบท CPU Core กับ Thread ต่างกันอย่างไร ที่จำนวน Core/Thread ไม่ควรถูกใช้ตัดสิน Processor เพียงอย่างเดียว
เลือก CPU เล่นเกมควรดูอะไรบ้าง?
อย่างน้อยดู
- Gaming Benchmark
- Core/Thread
- Cache
- Single-core Performance
- Power
- Platform
- ราคา
ถ้าเล่นเกมเป็นหลัก Large L3 Cache อาจเป็น Feature ที่ควรให้ความสนใจเพิ่ม
แต่ไม่จำเป็นต้องไล่ซื้อ Cache สูงที่สุดโดยไม่ดู FPS
เลือก CPU Office ควรดู Cache ไหม?
ไม่ต้องเป็น Priority แรก
ควรดู
- CPU Generation
- Performance Class
- RAM
- SSD
- Battery
ก่อน
Cache Size จะถูกออกแบบให้เหมาะกับ Processor รุ่นนั้นอยู่แล้ว
เลือก Workstation ควรดู Cache ไหม?
ดูได้ แต่ Workstation มีปัจจัยสำคัญกว่าอีกหลายอย่าง
เช่น
- Core
- RAM
- GPU
- Storage
- ECC
- Certification
Workload จริงจะเป็นตัวกำหนด
อ่านต่อได้ที่ Workstation ต่างจาก Desktop Computer อย่างไร
ตารางสรุป CPU Cache
| ระดับ | จุดเด่น | ขนาดโดยทั่วไป |
|---|---|---|
| L1 | เร็วที่สุด ใกล้ Core | เล็กมาก |
| L2 | สมดุลขนาด/ความเร็ว | ใหญ่กว่า L1 |
| L3 | ใหญ่ แชร์หลาย Core ในหลาย Architecture | หลาย MB ถึงระดับใหญ่ |
| RAM | Capacity สูงมาก | หลาย GB |
ค่าจริงแตกต่างกันตาม Architecture
ก่อนซื้อ CPU อย่าเทียบ Cache อย่างเดียว
ตัวอย่าง CPU รุ่นใหม่ 24MB Cache สามารถเร็วกว่ารุ่นเก่า 64MB Cache ได้
เพราะ
- Core ใหม่กว่า
- IPC สูงกว่า
- Clock สูงกว่า
- Architecture ดีกว่า
ดังนั้น Specification ต้องถูกอ่านเป็นภาพรวม
ไม่ใช่การแข่งขันว่าใครมี MB มากที่สุด
สรุป CPU Cache คืออะไร?
CPU Cache คือหน่วยความจำความเร็วสูงที่อยู่ใกล้ Processor เพื่อเก็บข้อมูลและคำสั่งที่ CPU มีแนวโน้มจะใช้งานบ่อย
เป้าหมายคือ ลดเวลาที่ CPU ต้องรอ Main Memory
โดยทั่วไปแบ่งเป็น
L1 Cache
เล็กที่สุด แต่เร็วที่สุดและอยู่ใกล้ Core มาก
L2 Cache
มี Capacity มากขึ้น แต่ Latency สูงขึ้นเล็กน้อย
L3 Cache
มีขนาดใหญ่ที่สุดในสามระดับหลัก และมักแชร์ระหว่าง Core หลายตัวตาม Architecture
Intel อธิบาย Hierarchy ในทิศทางเดียวกันว่า L1 เร็วและเล็กที่สุด ขณะที่ L3 เป็น Last Level Cache ที่ใหญ่กว่าแต่ช้ากว่า L1/L2
Cache Size ที่มากขึ้นสามารถช่วย Performance ได้ โดยเฉพาะ Workload ที่ไวต่อ Memory Latency เช่นเกมบางประเภท
แต่ Cache เยอะไม่ได้แปลว่า CPU แรงกว่าเสมอไป
การเลือก Processor ยังต้องดู
- Core/Thread
- Clock
- IPC
- Architecture
- Power
- Benchmark
ร่วมด้วย
ดังนั้นเวลาสเปกเขียนว่า
“36MB Cache”
ให้มองว่าเป็นส่วนหนึ่งของ Processor Design ไม่ใช่ตัวเลขที่ใช้ตัดสิน Performance ทั้งหมด
ต้องการเลือก CPU หรือคอมพิวเตอร์ให้เหมาะกับงาน?
Great Ocean Engineering ให้บริการด้าน Computer Solution สำหรับองค์กร ทั้ง Notebook, Desktop, Workstation, Server และ Hardware
การเลือก CPU ควรเริ่มจาก Workload ของ User เช่น
- Office
- Developer
- Gaming
- Designer
- Engineering
- Workstation
แล้วพิจารณา Core, Cache, RAM, GPU และ Storage เป็นระบบเดียวกัน
การเลือก CPU Cache สูงที่สุดโดยไม่ได้ดูงานจริงอาจไม่คุ้ม เช่นเดียวกับการซื้อ Core จำนวนมากให้ User ที่ใช้งานเพียง Browser และ Office
FAQ
CPU Cache คืออะไร?
CPU Cache คือหน่วยความจำความเร็วสูงที่อยู่ใกล้ Processor Core ใช้เก็บ Data และ Instruction ที่ CPU มีแนวโน้มจะใช้งาน เพื่อช่วยลดการเข้าถึง RAM
L1 Cache คืออะไร?
L1 เป็น Cache ระดับใกล้ Core ที่สุด มีขนาดเล็กแต่ Latency ต่ำและเร็วที่สุดใน Cache Hierarchy หลัก
L2 Cache คืออะไร?
L2 มี Capacity มากกว่า L1 แต่ช้ากว่าเล็กน้อย ใช้เก็บข้อมูลที่ไม่อยู่ใน L1 ก่อนต้องไป L3 หรือ RAM
L3 Cache คืออะไร?
L3 หรือ Last Level Cache มีขนาดใหญ่กว่า L1/L2 และใน CPU หลาย Architecture แชร์ระหว่างหลาย Core ก่อนข้อมูลจะถูกอ่านจาก RAM
CPU Cache เยอะยิ่งแรงไหม?
ไม่เสมอไป Cache เพิ่มช่วยเฉพาะ Workload ที่ได้ประโยชน์ ต้องดู Architecture, Clock, Core และ Application ร่วมด้วย
L3 Cache ช่วยเล่นเกมไหม?
ช่วยได้มากในเกมบางประเภท เพราะลดโอกาสที่ CPU ต้องเข้าถึง RAM แต่ Performance Gain แตกต่างกันตาม Game Engine
CPU Cache กับ RAM ต่างกันยังไง?
Cache มี Capacity เล็กกว่า RAM มาก แต่เร็วและอยู่ใกล้ CPU มากกว่า ส่วน RAM ทำหน้าที่เป็น Main Working Memory ของระบบ
CPU Cache เพิ่มเองได้ไหม?
ไม่ได้ Cache เป็นส่วนหนึ่งของ Processor Design หากต้องการ Cache มากขึ้นต้องเปลี่ยน CPU
3D V-Cache คืออะไร?
เป็นเทคโนโลยีของ AMD ที่เพิ่ม Cache ในแนวตั้งบน Processor เพื่อเพิ่ม L3 Cache Capacity และช่วย Workload ที่ไวต่อ Memory Latency เช่นเกมหลายประเภท
Cache 64MB ดีกว่า 32MB ไหม?
ไม่สามารถสรุปจาก Cache Size อย่างเดียว หากเป็น Architecture ต่างกัน CPU 32MB Cache รุ่นใหม่สามารถเร็วกว่ารุ่น 64MB Cache ได้




