แคช หรือ cache เป็นหน่วยความจำชนิดหนึ่งที่ใช้สำหรับพักข้อมูล
ที่ใช้ในการประมวลผลหรือข้อมูลที่ได้จากการประมวลผลในเวลาสั้น
เพื่อเพิ่มความเร็วในการส่งข้อมูลมากขึ้น นั่นคือ หน่วยประมวลผลหรือ CPU สามารถพักข้อมูลต่างๆไว้ที่หน่วยความจำแคชก่อน ซึ่งเป็นหน่วยความจำที่มีความเร็วในการเข้าถึงข้อมูลสูงสุด
ข้อมูลที่มีอยู่ในแคชจะเปลี่ยนแปลงอยู่ตลอดเวลาเนื่องจากการทำงานของหน่วยประมวลผลนั่นเอง
ตัวอย่างการใช้ แคชอื่นๆ ได้แก่ แคชที่มีอยู่ในโปรแกรม เบราเซอร์
แคชจะเป็นหน่วยความจำที่เก็บเว็บเพจที่เป็นที่นิยม เมื่อมีการเรียกเว็บเพจนั้นเบราเซอร์ก็จะโหลดจากแคชก่อน
ซึ่งทำให้เบราเซอร์แสดงผลได้อย่างรวดเร็วกว่าดึงจากอินเตอร์เน็ตโดยตรงมาก
แต่อาจมีข้อเสียตรงที่เว็บเพจอาจมีการปรับปรุงเปลี่ยนเพื่อให้ทันสมัย
แต่ข้อมูลที่เก็บอยู่ในแคชของเบราเซอร์เป็นข้อมูลที่เก่าแล้วก็จะทำให้ผลที่แสดงออกมาล้าสมัย
นั่นคือ ทางแก้ก็คือ
แคชจะต้องอัพเดทเว็บเพจนั้นอยู่เสมอเพื่อให้ข้อมูลที่มีอยู่เป็นข้อมูลที่ทันสมัยและตรงกับข้อมูลบนอินเตอร์เน็ตจริงๆแคช CPU ทำหน้าที่เป็นตัวกลางระหว่าง CPU กับหน่วยความจำหลัก ซึ่งมีความจุมากกว่าหน่วยความจำหลักมาก การทำงานคือ CPU สามารถอ่านและเขียนข้อมูลลงไปได้ และให้รันโปรแกรมได้ด้วยความเร็วสูง คำสั่งต่างๆ และข้อมูลจากหน่วยความจำหลักจะถูกโหลดเข้าแคชเป็นชุดๆ ถ้าข้อมูลที่หน่วยประมวลผลต้องการนั้นอยู่ที่แคชแล้ว ก็จะทำให้การทำงานของหน่วยความจำเร็วขึ้นมาก และมีประสิทธิภาพมากขึ้นแคชในคอมพิวเตอร์ส่วนบุคคลทั่วไปมีอยู่ 2ระดับคือ L1 ถูกสร้างอยู่ภายใน หน่วยประมวลผล และ L2 สร้างอยู่ที่ สภานะรองลงมามีหน้าที่คอยส่งข้อมูลไปยัง L1 การเพิ่มความเร็วคือการเพิ่มขนาดหนว่ยความจำแคชส่วนที่สามารถเพิ่มได้คือการเพิ่มขนาดของ L2 นั่นเอง ซึ่งบางชนิดอาจสร้างอยู่ภายในหน่วยประมวลผลเลยก็ได้ ส่วนใหญ่แคชจะเป็นหน่วยความจำแบบ static RAM ในขณะที่ หน่วยความจำหลักส่วนใหญ่เป็น dynamic RAM
หน่วยความจำขนาดเล็กที่อยู่ใกล้กับไมโครโปรเซสเซอร์ (Core Processor) มากที่สุด เป็นหน่วยความจำที่ไมโครโปรเซสเซอร์สามารถเข้าถึงได้เร็วกว่าหน่วยความจำหลัก (RAM) บนระบบคอมพิวเตอร์ การเพิ่มขนาดแคชทำให้ระบบสามารถเก็บข้อมูลที่โปรเซสเซอร์ต้องใช้ในการประมวลผลได้มากขึ้น ทำให้ใช้เวลาในการค้นหาข้อมูลน้อยลง ซึ่งส่งผลให้ประสิทธิภาพโดยรวมของระบบดีขึ้นด้วย

แนวคิดพื้นฐานของการจัดการภายในหน่วยความจำแคช คือการเก็บคำสั่ง หรือข้อมูลที่ถูกเรียกใช้งานบ่อย ๆ ลงในแคช ซึ่งจะทำให้ค่าเฉลี่ยของการเข้าถึงข้อมูลมีค่าใกล้เคียงกับเวลาที่ใช้ในการเข้าถึงข้อมูลในแคช ถึงแม้ว่าแคชจะเป็นเพียงส่วนประกอบย่อยที่มีขนาดเล็กของหน่วยความจำในระบบคอมพิวเตอร์ แต่โปรแกรมหรือข้อมูลที่เรียกใช้งานส่วนใหญ่ก็ถูกเก็บไว้ในส่วนนี้
กระบวนการทำงานของแคชในระบบคอมพิวเตอร์
ชนิดของ
Cache
Memory
1. Asynchronous Cache หน่วยความจำแคชประเภทนี้ ถูกนำมาใช้งานบนเครื่องที่ใช้โปรเซสเซอร์ 486 เป็นหน่วยความจำแคช ที่มีลักษณะเป็นตัวๆ คล้ายกับ DRAM สมัยก่อน ทำงานที่ความเร็วสัญญาณนาฬิกา 25-33 MHz เท่านั้น ความเร็วในการเข้าถึงเพื่ออ่านหรือเขียนข้อมูลที่ตัวของ Cache ชนิดนี้ มีตั้งแต่ 15 - 30 นาโนวินาที เป็นหน่วยความจำแคช ที่ทำงานช้าที่สุด ไม่เหมาะสำหรับเครื่อง PC ที่ใช้ Pentium เป็นโปรเซสเซอร์
2. Synchronous Burst Cache เป็นหน่วยความจำแคชที่ทำงานด้วยสัญญาณนาฬิกาชุดเดียวกัน รวมทั้งความเร็วเดียวกับที่ป้อนให้กับโปรเซสเซอร์หรือบัสระบบ (System Bus) ดังนั้น จึงสามารถทำงานได้เร็วเทียบเท่ากับบัสภายนอกของโปรเซสเซอร์ ซึ่งจะช่วยลดปัญหาคอขวดลงได้มาก ข้อสังเกตของหน่วยความจำแคช ชนิดนี้ สังเกตได้จากตัวอักษรที่พิมพ์บนตัวชิป จะเห็นว่ามี -14 เสมอ และมีขาสัญญาณอยู่ที่ 80-120 ขาเช่นกัน หน่วยความจำแคช นี้นอกจากจะทำงานเท่ากับระบบบัสภายนอกของโปรเซสเซอร์แล้ว ยังสามารถรับส่งข้อมูลในรูปแบบที่เรียกว่า Burst ซึ่ง Burst หมายถึงการรับส่งข้อมูล ที่มีปริมาณมากในแต่ละครั้ง เช่น ครั้งละ 256 บิต ไปจนถึง 512 บิต หรือมากกว่า
3. Synchronous Pipeline Burst Cache เป็นหน่วยความจำแคช ที่ถูกนำมาใช้อย่างแพร่หลายที่สุดในปัจจุบัน เนื่องจากมีความเร็วในการทำงานสูง สามารถทำงานแบบท่อ (pipeline) ได้ ซึ่งในที่นี้ หมายถึงขีดความสามารถที่จะรับและส่งข้อมูลที่เกี่ยวข้องกับหน่วยความจำแคชในเวลาพร้อมๆ กันได้
Cache มี 2 แบบคือ
1.disk cache คือการเก็บข้อมูลไว้ในหน่วยความจำหลักของเราก่อน
เมื่อ CPU ต้องการจะหาข้อมูล ก็จะหาใน dish cache ก่อนแล้วค่อยเข้าไปค้นหาใน
Harddisk
2.Memory cache จะดึงข้อมูลมาเก็บไว้ใน memory ซึ่งจะถึงขอ้มูลได้รวดเร็วกว่า
แต่มีความจำที่เล็กกว่าเพราะฉะนั้นถ้า คอมพิวเตอร์เครื่องใดที่มี cache ความเร็วสูงก็จะเข้าถึงข้อมูลได้ง่าย
แต่อย่างไรก็ตามยิ่งขนาดใหญ่ก็เก็บข้อมูลได้เยอะ แต่การเข้าถึงจะช้ากว่า cache
ที่มีขนาดเล็ก
ระบบ Cache นอกจาก
ใน computer แล้ว ระบบ Cache ยังเอามาใช้งานบนเว็บ
ด้วย CMSส่วนใหญ่จะมีระบบ Cache เพื่อลดภาระการทำงานของฐานข้อมูลลง
ประสิทธิภาพการทำงานของแคช วัดได้จาก อัตราการพบข้อมูล หรือ hit
ratio เมื่อซีพียูต้องการนำคำสั่งหรือข้อมูลเข้า
และพบว่าข้อมูลดังกล่าวถูกเก็บไว้ในแคชแล้วนั้น เราจะเรียกขั้นตอนนี้ว่า “พบ” หรือ hit
แต่ถ้าเราไม่พบข้อมูลที่ต้องการในแคช
เนื่องจากข้อมูลดังกล่าวอยู่ในหน่วยความจำหลัก เราก็จะเรียกว่า “พลาด” หรือ miss
โดยอัตราส่วนของจำนวนที่พบข้อมูล
(hit) หารด้วยจำนวนครั้งที่ซีพียูทำการเรียกคำสั่ง หรือข้อมูล (hit บวก miss)
ก็คืออัตราการพบข้อมูล
หรือ hit ratio นั่นเอง
การจัดการด้านอื่น ๆ ของแคช
นอกจากวิธีการเชื่อมโยงแบบต่าง ๆ ระหว่างแคชกับหน่วยความจำหลัก ยังมีการจัดการด้านอื่น ๆ ที่สำคัญในการออกแบบแคชอีกด้วย ดังนี้
นอกจากวิธีการเชื่อมโยงแบบต่าง ๆ ระหว่างแคชกับหน่วยความจำหลัก ยังมีการจัดการด้านอื่น ๆ ที่สำคัญในการออกแบบแคชอีกด้วย ดังนี้
- วิธีการสับเปลี่ยนข้อมูล (Replacement)
- วิธีการเขียนข้อมูล (Write Policy)
- จำนวนของแคชแคชที่มีหลายลำดับชั้นการใช้งานแคชแบบเก็บข้อมูลรวม
กับแบบแยก
- การเริ่มต้นใช้งานของแคช
ที่มา : http://srb1.go.th/kowjumpa/computer/lesson3_3.html
http://www.thaiseoboard.com/index.php-topic=82109.0;wap2
http://www.il.mahidol.ac.th/e-media/computer/system/cache.htm
ที่มา : http://srb1.go.th/kowjumpa/computer/lesson3_3.html
http://www.thaiseoboard.com/index.php-topic=82109.0;wap2
http://www.il.mahidol.ac.th/e-media/computer/system/cache.htm
ไม่มีความคิดเห็น:
แสดงความคิดเห็น