Skip to main content

การทำแผนที่โดยตรงคืออะไร?

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

แคชถูกจัดเป็นเส้นแต่ละบรรทัดมีขนาดใหญ่พอที่จะเก็บข้อมูลหนึ่งบล็อกและแท็กเพื่อระบุว่าข้อมูลมาจากไหนเมื่อผู้ใช้ร้องขอชิ้นส่วนข้อมูลคอมพิวเตอร์จะสแกนแคชก่อนเพื่อดูว่ามีข้อมูลหรือไม่หากเป็นเช่นนั้นข้อมูลจะถูกส่งกลับไปยังผู้ใช้สิ่งนี้เรียกว่าแคชตีซึ่งเร็วกว่าการดึงข้อมูลจากตำแหน่งเดิม

เปอร์เซ็นต์ของคำขอที่ส่งผลให้แคชฮิตเรียกว่าอัตราการเข้าชมหากข้อมูลที่ผู้ใช้ร้องขอไม่ได้อยู่ในแคชคอมพิวเตอร์จะพบในหน่วยความจำสำเนาของข้อมูลจะถูกฝากลงในแคชเพื่อให้สามารถพบได้อย่างรวดเร็วในครั้งต่อไปที่ผู้ใช้ร้องขอในทางทฤษฎีเพิ่มอัตราการเข้าชมทั้งหมดนี้เกิดขึ้นเบื้องหลังผู้ใช้ไม่ทราบว่าข้อมูลที่ได้รับมาจากแคชหรือหน่วยความจำ

การทำแผนที่โดยตรงเป็นวิธีหนึ่งในการตัดสินใจว่าบล็อกหน่วยความจำจะถูกเก็บไว้ในแคชแต่ละบล็อกของหน่วยความจำจะถูกกำหนดบรรทัดเฉพาะในแคชเนื่องจากแคชมีขนาดเล็กกว่าหน่วยความจำหลายบล็อกจะแชร์บรรทัดเดียวในแคชหากบรรทัดเต็มแล้วเมื่อต้องเขียนบล็อกใหม่ลงบล็อกเก่าจะถูกเขียนทับ

แม้ว่าการทำแผนที่โดยตรงเป็นวิธีที่ง่ายและง่ายมากในการออกแบบแคช แต่ก็มีปัญหาบางอย่างหากโปรแกรมเข้าถึงข้อมูลหลายบล็อกอย่างต่อเนื่องที่แชร์บรรทัดเดียวกันในแคชการแมปโดยตรงบรรทัดจะถูกเขียนใหม่บ่อยครั้งสิ่งนี้ส่งผลให้เกิดการพลาดจำนวนมากเนื่องจากข้อมูลที่คอมพิวเตอร์ต้องการมีแนวโน้มน้อยกว่าที่จะเป็นข้อมูลที่อยู่ในสายแคชนั้นในขณะนี้ดังนั้นการทำแผนที่โดยตรงจึงมีอัตราการเข้าชมต่ำกว่ารุ่นการแมปแคชอื่น ๆ