Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ฮาร์ดแวร์ >> ฮาร์ดแวร์

CPU Cache ทำงานอย่างไร? เข้าใจหน่วยความจำเร็วของคอมพิวเตอร์

ในทศวรรษ 1980 ความเร็วไมโครโปรเซสเซอร์เพิ่มขึ้นแบบเอ็กซ์โพเนนเชียล เทียบกับเวลาเข้าถึงหน่วยความจำ จึงเห็นชัดว่าต้องปรับปรุงความเร็วการเข้าถึงหน่วยความจำเพื่อให้ระบบมีประสิทธิภาพมากขึ้น ความแตกต่างระหว่างความเร็วประมวลผลและความเร็วหน่วยความจำ นำไปสู่การพัฒนา Cache

Cache คืออะไร

การประดิษฐ์ Cache เป็นเหตุการณ์สำคัญที่สุดในประวัติศาสตร์วิทยาการคอมพิวเตอร์ แต Cache คืออะไร ทำงานอย่างไร?

CPU Cache ทำงานอย่างไร? เข้าใจหน่วยความจำเร็วของคอมพิวเตอร์

พื้นฐานแล้ว Cache เป็นหน่วยความจำแบบเร็ว มีพูลหน่วยความจำเล็กๆ ที่เก็บคำสั่งที่ CPU น่าจะต้องใช้ต่อไปเมื่อทำงานเฉพาะงาน CPU โหลดข้อมูลเข้า Cache ด้วยอัลกอริทึมซับซ้อนและความรู้โค้ดโปรแกรม วัตถุประสงค์คือให้ CPU เข้าถึงข้อมูลที่ต้องการได้โดยไม่มีอุปสรรค และเรียงลำดับที่ถูกต้อง

เพื่อเข้าใจการทำงาน ต้องรู้ว่าคอมพิวเตอร์มีหน่วยความจำ 3 ประเภท: 1) หน่วยความจำหลัก (Primary memory) คือ ฮาร์ดดิสก์หรือ SSD ที่ใหญ่ที่สุด 2) RAM หรือ Random Access Memory เร็วกว่าแต่น้อยกว่า 3) หน่วยความจำภายใน CPU เรียกว่า Cache ซึ่งเร็วที่สุด

เมื่อโปรแกรมเริ่มทำงาน โปรแกรมจะดำเนินคำสั่งจากโค้ด ข้อมูลโหลดเข้า RAM ก่อน แล้วไป CPU CPU ต้องการหน่วยความจำเร็วเพื่อใช้ข้อมูลดำเนินคำสั่ง นั่นคือที่มาของ Cache

ระดับของ Cache

ภายใน CPU มี Cache 3 ระดับ: L1, L2, L3 บางบริษัทกำลังพัฒนา L4

L1 Cache เร็วที่สุดและเล็กที่สุด เก็บข้อมูลที่ CPU น่าจะต้องใช้เพื่อดำเนินการ ปกติ 256KB บางตัวถึง 1MB

CPU Cache ทำงานอย่างไร? เข้าใจหน่วยความจำเร็วของคอมพิวเตอร์

Cache ขนาดเล็กนี้มี 2 หน้าที่: Instruction cache (จัดการคำสั่ง CPU) และ Data cache (เก็บข้อมูลที่ต้องประมวลผล)

ต่อมา L2 Cache ช้ากว่า L1 แต่ใหญ่กว่า เก็บ 256KB - 8MB ข้อมูลที่น่าจะต้องเข้าถึงต่อไป

สุดท้าย L3 Cache ใหญ่ที่สุด ช้าที่สุด เก็บ 4MB - 50MB

Cache ทำงานอย่างไร

เมื่อโปรแกรมเริ่ม ข้อมูลไหลจาก RAM → L3 → L2 → L1 ขณะโปรแกรมทำงาน CPU ค้นหาข้อมูลที่ต้องการ เริ่มจาก L1 แล้วย้อนกลับ ถ้าพบเรียกว่า Cache Hit ถ้าไม่พบ Cache Miss ต้องไปหาที่อื่น

CPU Cache ทำงานอย่างไร? เข้าใจหน่วยความจำเร็วของคอมพิวเตอร์

Latency (เวลาแฝง) สำคัญต่อประสิทธิภาพ L1 เร็วที่สุด Latency ต่ำสุด Cache Miss ทำ Latency เพิ่มขึ้น เพราะต้องค้นหาต่อใน Cache อื่น

คอมพิวเตอร์ใหม่มีขนาดทรานซิสเตอร์ CPU เล็กลง ทำให้วาง Cache ใกล้ CPU ได้มากขึ้น การวาง Cache ใกล้ CPU ลด Latency

แม้ Cache ไม่ใช่จุดขายหลัก แต่คุ้มค่าที่จะดู เพราะ Cache เร็ว = Latency น้อย = โปรแกรมรันเร็วและมีประสิทธิภาพมากขึ้น