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

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




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


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





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






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













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

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






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

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