วันพุธที่ 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://srb1.go.th/kowjumpa/computer/lesson3_3.html

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

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