แคช (อังกฤษ: cache) คือส่วนของข้อมูลที่ถูกเก็บซ้ำไว้ในคอมพิวเตอร์ เพื่อใช้ในการใช้งานครั้งต่อไปโดยไม่ต้องเรียกข้อมูลจากต้นแหล่งอีกครั้ง นิยมใช้เมื่อเรียกข้อมูลจากต้นแหล่งได้ยาก เมื่อแคชถูกสร้างขึ้น การเรียกใช้ข้อมูลในครั้งต่อไปจะถูกอ่านข้อมูลจากแคช แทนที่จะอ่านข้อมูลจากต้นฉบับหรือต้นแหล่งเพื่อประหยัดเวลาและค่าใช้จ่าย รวมถึงการเพิ่มความเร็วในการเรียกใช้งาน แคชนิยมใช้เมื่อรูปแบบการใช้ข้อมูลมีลักษณะที่ใกล้เคียงกันและมีการใช้ซ้ำบ่อยครั้ง

แผนภาพการดำเนินการแคชซีพียูหน่วยความจำ

เนื่องจากแคชมีจุดประสงค์เพียงแค่ต้องการจะเพิ่มความเร็วในการเข้าถึงข้อมูล ไม่ใช่ใช้เก็บข้อมูลจริงๆ ข้อมูลในแคชจึงมีโอกาสหายไปได้ตลอดเวลา ในกรณีที่มีคำสั่งเรียกข้อมูลและข้อมูลยังไม่หายไปจากแคช จะเรียกว่า cache hit (แคช ฮิท) นั่นคือสามารถอ่านข้อมูลจากแคชได้ อย่างไรก็ตามหากข้อมูลไม่อยู่ในแคชแล้ว จะเรียกว่า cache miss (แคช มิสส์) ซึ่งทำให้ต้องไปอ่านข้อมูลจากต้นแหล่งซึ่งเสียเวลามากกว่า

แคชมีหลายประเภท เช่น แคชหน่วยความจำ แคชจานข้อมูล แคชเว็บ เป็นต้น

การดำเนินการ (Operation) แก้

เมื่อคอมพิวเตอร์ต้องการเข้าถึงข้อมูลที่อาจจะเก็บอยู่ภายใน cache คอมพิวเตอร์จะทำการตรวจสอบว่า cache hit (แคช ฮิท) หรือ cache miss (แคช มิสส์) ถ้าหากเกิด cache miss (แคช มิสส์) ก็จะเข้าไปหาข้อมูลในหน่วยความจำต่อ ระหว่างการเกิด cache miss (แคช มิสส์) ข้อมูลแคชบางรายการก็จะถูกกำจัดออกเมื่อแคชเต็ม เพื่อให้มีพื้นที่ว่างสำหรับข้อมูลที่เข้ามาใหม่โดยใช้นโยบายการแทนที่ (replacement policy) หนึ่งในนโยบายการแทนที่ที่ดีที่สุดคือ 'Least Recently Used (LRU)' โดยนำข้อมูลใหม่ไปแทนที่รายการข้อมูลที่เก่าที่สุด และรายการที่มีการเข้าถึงหรือเรียกใช้น้อยกว่ารายการอื่นๆ

การนำไปใช้งาน แก้

แคชหน่วยความจำ แก้

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

แคชจานข้อมูล แก้

แคชเว็บ แก้

แคชอื่น ๆ แก้

ความแตกต่างระหว่างแคชกับบัฟเฟอร์ แก้

อ้างอิง แก้