เนื้อหาหลัก Key Topics
- หลักการท้องถิ่น (Principle of Locality) เชิงเวลา (Temporal Locality): ข้อมูลที่เพิ่งใช้มีแนวโน้มใช้อีก; เชิงพื้นที่ (Spatial Locality): ข้อมูลที่อยู่ใกล้กันมักถูกใช้ใกล้กัน — รากฐานของการทำงาน Cache
- Cache — Direct Mapped, Set-Associative, Fully Associative ลำดับชั้นหน่วยความจำ (L1/L2/L3 Cache → DRAM) ใช้ Cache เก็บข้อมูลที่ใช้บ่อยใกล้ CPU; การออกแบบ Set-Associativity ลด Conflict Miss ได้
- การปรับปรุงสมรรถนะ Cache ลด Miss Rate ด้วย Associativity สูงขึ้น, Block Size ที่เหมาะสม; ลด Miss Penalty ด้วย Multi-level Cache, Early Restart; ลด Hit Time ด้วย Cache เล็กและเรียบง่าย
- Replacement Algorithm LRU (Least Recently Used), FIFO, Random — LRU ให้ Miss Rate ต่ำที่สุดโดยทั่วไป แต่ FIFO และ Random ออกแบบวงจรง่ายกว่า
- Write Management Write-Through: เขียนทั้ง Cache และ Memory พร้อมกัน (สอดคล้องสม่ำเสมอ แต่ช้า); Write-Back: เขียน Cache ก่อน เขียน Memory เมื่อ Block ถูกแทนที่ (เร็วกว่า)
- หน่วยความจำเสมือน (Virtual Memory) OS จัดการ virtual address space; TLB เร่งการแปลง virtual → physical address; Page Fault เกิดเมื่อ Page ไม่อยู่ใน RAM ต้องโหลดจากดิสก์
- การเหลื่อมขั้นตอน Cache และ Virtual Memory ออกแบบ Cache ให้ใช้ Index จาก page offset (ไม่ต้องรอการแปล virtual address) เพื่อลด Hit Time
สูตรสำคัญ Key Formulas
Average Memory Access Time (AMAT)
\[ \text{AMAT} = \text{Hit Time} + \text{Miss Rate} \times \text{Miss Penalty} \]
AMAT แบบหลายระดับ (Multi-Level Cache)
\[ \text{AMAT} = T_{L1} + \text{MR}_{L1} \times (T_{L2} + \text{MR}_{L2} \times T_{\text{mem}}) \]
Miss Rate ประเภทต่างๆ (3C Model)
Compulsory Miss — ครั้งแรกที่เข้าถึง Block (ไม่สามารถหลีกเลี่ยงได้)
Capacity Miss — Cache เล็กเกินไป
Conflict Miss — หลาย Block แย่งตำแหน่งเดียวกัน
คำสำคัญ Key Terms
แคช · Cache
ถูก/พลาด · Hit / Miss
AMAT
แมปตรง · Direct-Mapped Cache
แบบเซต · Set-Associative Cache
LRU / FIFO / Random
เขียนผ่าน · Write-Through
เขียนกลับ · Write-Back
หน่วยความจำเสมือน · Virtual Memory
ตารางหน้า · Page Table
TLB (Translation Lookaside Buffer)
ข้อผิดพลาดหน้า · Page Fault
หลักการท้องถิ่น · Locality (Temporal / Spatial)