แคช(Cache)
หน่วยความจำแคช(Cache) เป็นหน่วยความจำที่จัดวางไว้ระหว่างซีพียูและหน่วยความจำหลักและโดยทั่วไปแล้ว เวลาที่ใช้ในการเข้าถึงข้อมูลที่อยู่ในแคช ก็จะมีความเร็วมากกว่าเวลาที่ใช้ในการเข้าถึงข้อมูลที่อยู่ในหน่วยความจำหลักประมาณ 5-10 เท่า โดยหน่วยความจำแคชนี้ เป็นส่วนหนึ่งในลำดับชั้นของหน่วยความจำที่มีความเร็วที่สุด และมีความเร็วเกือบใกล้เคียงกับซีพียู ความคิดพื้นฐานคือ การเก็บคำสั่ง หรือข้อมูลที่ถูกเรียกใช้งานบ่อย ๆ ลงในแคชทำให้ค่าเฉลี่ยของการเข้าถึงข้อมูลมีค่าใกล้เคียงกับเวลาที่ใช้ในการเข้าถึงข้อมูลในแคช
การออกแบบหน่วยความจำแคช
• ประสิทธิภาพการทำงานของแคชนั้น สามารถวัดได้จาก อัตราการพบข้อมูล หรือ hit ratio
• เมื่อซีพียูต้องการนำคำสั่งหรือข้อมูลเข้า และพบว่าข้อมูลดังกล่าวถูกเก็บไว้ใแคชแล้วนั้น เราจะเรียกขั้นตอนนี้ว่า “พบ” หรือ hit
• ถ้าไม่พบข้อมูลที่ต้องการในแคชเนื่องจากข้อมูลดังกล่าวอยู่ในหน่วยความจำหลัก เราก็จะเรียกว่า “พลาด” หรือ miss
• อัตราส่วนของจำนวนที่พบข้อมูล (hit) หารด้วยจำนวนครั้งที่ตัวประมวลผลทำการเรียกคำสั่ง หรือข้อมูล (hit บวก miss) ก็คืออัตราการพบข้อมูล หรือ hit ratio นั่นเอง
จำนวนของแคช
• แคชที่มีหลายลำดับชั้น
• แคชที่อยู่บนชิพ (On-chip cache) หรือที่เรียกว่าแคช L1
• แคชภายนอก ที่เรียกว่าแคชL2
• การใช้งานแคชแบบเก็บข้อมูลรวมหรือแยก ถ้าใช้แบบรวมข้อมูลจะมีข้อดีคือ
• การเก็บแบบรวมจะมีอัตราการพบข้อมูลมากกว่าการเก็บแบบแยก
• การออกแบบและการนำไปใช้งานในการเก็บแบบรวมจะง่ายกว่าการเก็บแบบแยก
• แนวโน้มการเก็บข้อมูลจะมุ่งไปทางการเก็บแบบแยก ซึ่งมีข้อดีตรงที่ช่วยลดการแข่งขันของแคช ในการนำข้อมูลเข้าและแปลข้อมูล
การเริ่มต้นใช้งานแคช
• เมื่อมีกระแสไฟฟ้าเลี้ยงคอมพิวเตอร์
• เมื่อหน่วยความจำหลักโหลดโปรแกรม
• เริ่มต้นมาจากหน่วยความจำอื่น
• ใช้บิตพิเศษ (valid bit) เพื่อตรวจสอบความถูกต้องของแคช เนื่องจากในแคช มักมีข้อมูลขยะ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น