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