วันพุธที่ 28 สิงหาคม พ.ศ. 2556

หน่วยความจำแคช (Cache)




หน่วยความจำแคช
1. ความหมาย
                แคช (CACHE) คือ หน่วยความจำภายในชนิดหนึ่ง ซึ่งมีขนาดเล็ก  และมีความเร็วสูง  
จากโครงสร้างหน่วยความจำของเครื่องคอมพิวเตอร์ที่มีการจัดโครงสร้างเป็นแบบลำดับชั้น 
 หน่วยความจำแคช (CACHE) เป็นลำดับชั้นที่อยู่ถัดลงมาจากลำดับชั้นสูงสุด  ซึ่งแคชหากมี
หลายระดับ เรียกว่าแคช ระดับ L1,L2,…
แคช มักถูกเชื่อมต่อเข้ากับหน่วยความจำหลักซึ่งมักถูกซ่อนเอาไว้จากผู้เขียนโปรแกรม  หรือ
แม้กระทั่งตัวโปรเซสเซอร์เอง  คือจะทำงานอัตโนมัติ  สั่งการให้ทำงานตามที่ต้องการโดยตรง
ไม่ได้  จึงเปรียบเสมือนบัฟเฟอร์เล็กๆ ระหว่างหน่วยความจำหลักกับรีจิสเตอร์ในโปรเซสเซอร์


รูปที่ 1 แสดงถึงสถาปัตยกรรมหน่วยความจำภายในคอมพิวเตอร์ในปัจจุบัน
2. ลักษณะพื้นฐานของหน่วยความจำแคช (Cache)
                หน่วยความจำแคชสร้างขึ้นมาด้วยวัตถุประสงค์เพื่อให้เป็นหน่วยความจำที่ทำงานได้
เร็วที่สุด และเพิ่มประสิทธิภาพการทำงานของหน่วยความจำหลักโดยตรง  ในเวลาเดียวกันก็ต้อง
การให้มีขนาดใหญ่ที่สุดในราคาที่ไม่แพงจนเกินไป   โดยรูปที่2  แสดงให้เห็นถึงความเร็วในเครื่อง
คอมพิวเตอร์มีหน่วยความจำหลักที่มีความเร็วต่ำ (เมื่อเปรียบเทียบกับความเร็วของซีพียู)  ที่มีปริ
มาณมาก  และมีหน่วยความจำแคชที่เร็วกว่าแต่มีขนาดเล็ก 





รูปที่ 2 แสดงหน่วยความจำ Cache และหน่วยความจำหลัก
โดยปกติหน่วยความจำแคช จะเก็บสำเนาของข้อมูลบางส่วนในหน่วยความจำหลักเอาไว้  เมื่อโปร
เซสเซอร์ต้องการอ่านข้อมูลจำนวนหนึ่ง word ในหน่วยความจำ  ข้อมูลส่วนนั้นจะถูกตรวจสอบว่า
มีอยู่ในแคชหรือไม่ ถ้ามีจะนำข้อมูลในแคชไปใช้  ถ้าไม่มีอยู่  ก็จะเกิดการคัดลอกสำเนาข้อมูลหนึ่ง
บล็อกจากหน่วยความจำหลักมายังแคช แล้วจึงนำ word ที่ต้องการส่งต่อไปให้โปรเซสเซอร์ในภา
ยหลัง  เนื่องจากปรากฏการณ์การอ้างอิงในพื้นที่เดียวกัน (locality of reference) จะทำให้การอ้างอิง
ข้อมูลในหน่วยความจำครั้งต่อๆไปเป็นการอ้างอิงที่เดิมหรือตำแหน่งใกล้เคียงจุดเดิม  ดังนั้นการ
คัดลอกข้อมูลหนึ่งบล็อกจากหน่วยความจำหลักมายังแคช จะสามารถถูกนำมาใช้งานได้ในระยะ
หนึ่ง  ก่อนที่จะมีการคัดลอกข้อมูลในครั้งต่อไป






รูปที่ 3 แสดงการอ่านข้อมูลจากหน่วยความจำ Cache
จากรูปแสดงขั้นตอนในกระบวนการอ่านต่างๆ ที่เกิดขึ้น  ซึ่งสะท้อนให้เห็นโครงสร้างของส่วนประกอบ
ภายในดังนี้













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

ที่มา http://www.vcharkarn.com






ไม่มีความคิดเห็น:

แสดงความคิดเห็น