แคช (CACHE) คือ หน่วยความจำภายในชนิดหนึ่ง ซึ่งมีขนาดเล็ก และมีความเร็วสูง จากโครงสร้างหน่วยความจำของเครื่องคอมพิวเตอร์ที่มีการจัดโครงสร้างเป็นแบบลำดับชั้น หน่วยความจำแคช (CACHE) เป็นลำดับชั้นที่อยู่ถัดลงมาจากลำดับชั้นสูงสุด ซึ่งแคชหากมีหลายระดับ เรียกว่าแคช ระดับ L1,L2,…
แคช มักถูกเชื่อมต่อเข้ากับหน่วยความจำหลักซึ่งมักถูกซ่อนเอาไว้จากผู้เขียนโปรแกรม หรือแม้กระทั่งตัวโปรเซสเซอร์เอง คือจะทำงานอัตโนมัติ สั่งการให้ทำงานตามที่ต้องการโดยตรงไม่ได้ จึงเปรียบเสมือนบัฟเฟอร์เล็กๆ ระหว่างหน่วยความจำหลักกับรีจิสเตอร์ในโปรเซสเซอร์
รูปที่ 1 แสดงถึงสถาปัตยกรรมหน่วยความจำภายในคอมพิวเตอร์ในปัจจุบัน
ลักษณะพื้นฐานของหน่วยความจำแคช (Cache)
หน่วยความจำแคชสร้างขึ้นมาด้วยวัตถุประสงค์เพื่อให้เป็นหน่วยความจำที่ทำงานได้เร็วที่สุด และเพิ่มประสิทธิภาพการทำงานของหน่วยความจำหลักโดยตรง ในเวลาเดียวกันก็ต้องการให้มีขนาดใหญ่ที่สุดในราคาที่ไม่แพงจนเกินไป โดยรูปที่ 2 แสดงให้เห็นถึงความเร็วในเครื่องคอมพิวเตอร์มีหน่วยความจำหลักที่มีความเร็วต่ำ (เมื่อเปรียบเทียบกับความเร็วของซีพียู) ที่มีปริมาณมาก และมีหน่วยความจำแคชที่เร็วกว่าแต่มีขนาดเล็ก
รูปที่ 2 แสดงหน่วยความจำ Cache และหน่วยความจำหลัก
รูปที่ 3 แสดงการอ่านข้อมูลจากหน่วยความจำ Cache
จากรูปแสดงขั้นตอนในกระบวนการอ่านต่างๆ ที่เกิดขึ้น ซึ่งสะท้อนให้เห็นโครงสร้างของส่วนประกอบภายในดังนี้
รูปที่ 4 แสดงโครงสร้างหน่วยความจำ Cache โดยทั่วไป
จากรูปโครงสร้างนี้แคชเชื่อมต่อกับโปรเซสเซอร์ผ่านสายสัญญาณข้อมูล 3 สาย ได้แก่ สายบอกตำแหน่งที่อยู่ สายควบคุมการทำงาน และสายสัญญาณข้อมูล สายบอกตำแหน่งที่อยู่จะเชื่อมต่อเข้ากับบัฟเฟอร์ ซึ่งเชื่อมต่อเข้ากับสายบัสหลักของระบบที่นำไปสู่หน่วยความจำหลัก เมื่อสามารถค้นพบข้อมูลที่ต้องการในแคช (เรียกว่า cache hit) บัฟเฟอร์สำหรับข้อมูลและตำแหน่งข้อมูลจะถูกสั่งไม่ให้ทำงาน (disable) และสื่อสารจะเกิดขึ้นระหว่างโปรเซสเซอร์กับแคช โดยไม่มีการใช้บัสหลักด้วย แต่ถ้าไม่สามารถหาข้อมูลที่ต้องการในแคชได้ (เรียกว่า cache miss) ตำแหน่งข้อมูลที่ต้องการจะถูกส่งเข้าไปในบัสหลัก ข้อมูลในหน่วยความจำหลักจะถูกส่งมาที่บัฟเฟอร์ โปรเซสเซอร์ และเข้าเก็บไว้ในแคชตามลำดับ
ที่มา : http://srb1.go.th/kowjumpa/computer/lesson3_3.html
ที่มา : http://www.vcharkarn.com
ไม่มีความคิดเห็น:
แสดงความคิดเห็น