Skip to main content

บัฟเฟอร์การแปล Lookaside คืออะไร?

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

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

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

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

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