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

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

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

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

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

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