บัฟเฟอร์ Lookaside Translation คืออะไร?

หน่วยประมวลผลกลาง (CPU) ของคอมพิวเตอร์มีระบบแคชที่เรียกว่า translation lookaside buffer (TLB) ซึ่งทำหน้าที่แปลหน่วยความจำกายภาพเป็นหน่วยความจำเสมือน นี่เป็นระบบแคชแยกต่างหากเพราะมันเร็วกว่าสำหรับ CPU ในการค้นหาแคชนี้เพื่อหาที่อยู่หน่วยความจำมากกว่าจะวางไว้ในแคชปกติ ในการจัดเก็บที่อยู่หน่วยความจำ TLB ใช้รายการตารางหน้าสร้างแผนที่ระหว่างที่อยู่หน่วยความจำเสมือนและทางกายภาพ เมื่อมีการใช้บัฟเฟอร์การแปล lookaside อาจมีการตีหรือพลาด TLB ซึ่งหมายความว่าพบหน่วยความจำหรือไม่ทราบ คอมพิวเตอร์สามารถมี TLB หลายระดับเพื่อจัดเก็บข้อมูลที่อยู่หน่วยความจำ

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

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

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

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