สารบัญ:
คำจำกัดความ - การจัดสรรการลงทะเบียนหมายถึงอะไร
การจัดสรรการลงทะเบียนหมายถึงวิธีปฏิบัติในการกำหนดตัวแปรให้กับการลงทะเบียนรวมถึงการจัดการการถ่ายโอนข้อมูลเข้าและออกจากการลงทะเบียน การจัดสรรการลงทะเบียนอาจเกิดขึ้น:- บนบล็อกพื้นฐานหรือที่รู้จักในชื่อการจัดสรรรีจิสเตอร์ท้องถิ่น
- ผ่านฟังก์ชั่นหรือขั้นตอนทั้งหมดหรือที่เรียกว่าการจัดสรรทั่วโลก
- ข้ามขอบเขตของฟังก์ชันผ่านกราฟการโทรหรือที่เรียกว่าการจัดสรรการลงทะเบียนระหว่างโพรซีเดอร์
Techopedia อธิบายการจัดสรรการลงทะเบียน
ในระหว่างการรวบรวมคอมไพเลอร์ควรกำหนดวิธีการที่ตัวแปรถูกจัดสรรให้กับช่วงการลงทะเบียนขนาดเล็กที่เฉพาะเจาะจง ตัวแปรบางตัวอาจไม่ถูกใช้งานหรือถูกกล่าวว่าเป็น "สด" พร้อมกัน สิ่งนี้นำไปสู่การกำหนดรีจิสเตอร์ให้กับตัวแปรหลายตัว อย่างไรก็ตามไม่มีตัวแปรแบบสดพร้อมกันสองตัวที่สามารถจัดสรรให้กับการลงทะเบียนเดียวกันโดยไม่ทำให้ค่านั้นเสียหาย
ตัวแปรที่ไม่สามารถจัดสรรให้กับรีจิสเตอร์บางตัวจำเป็นต้องเก็บไว้ใน RAM และควรโหลดเข้าและออกสำหรับการอ่านและการเขียนแต่ละครั้งตามลำดับขั้นตอนที่เรียกว่าการหก การเข้าถึงการลงทะเบียนนั้นเร็วกว่าการเข้าถึง RAM นอกจากนี้ยังเพิ่มความเร็วในการประมวลผลของโปรแกรมที่คอมไพล์ ดังนั้นคอมไพเลอร์ที่มีประสิทธิภาพมุ่งที่จะกำหนดตัวแปรให้มากที่สุดเท่าที่จะทำได้เพื่อลงทะเบียน
โดยทั่วไปตัวจัดสรรการลงทะเบียนส่วนใหญ่จะกำหนดตัวแปรทุกตัวให้กับหน่วยความจำหลักหรือหน่วยประมวลผลกลาง (CPU) การลงทะเบียน ความเร็วเป็นประโยชน์สำคัญเมื่อใช้งานรีจิสเตอร์ คอมพิวเตอร์มีช่วงของการลงทะเบียน จำกัด ซึ่งหมายความว่าไม่สามารถจัดสรรตัวแปรที่มีอยู่ทั้งหมดให้กับการลงทะเบียนได้ กระบวนการเปลี่ยนตัวแปรจากรีจิสเตอร์ไปยังหน่วยความจำเรียกว่า spilling ในขณะที่โพรเซสย้อนกลับของการย้ายตัวแปรจากหน่วยความจำไปยังรีจิสเตอร์เรียกว่าการเติม การจัดสรรทะเบียนอัจฉริยะเป็นขั้นตอนสำคัญสำหรับคอมไพเลอร์ใด ๆ
การจัดสรรการลงทะเบียนมีสองประเภท:
- การจัดสรร Local register: นี่คือกระบวนการจัดสรรหนึ่งบล็อกพื้นฐาน (หรือไฮเปอร์บล็อกหรือซูเปอร์บล็อก) ในแต่ละครั้ง การจัดสรรการลงทะเบียนในเครื่องช่วยเพิ่มความเร็ว
- การจัดสรรโกลบอลรีจิสเตอร์: หากการใช้งานรีจิสเตอร์ไม่ดีโดยใช้การจัดสรรในพื้นที่เป็นสิ่งสำคัญที่จะต้องใช้การจัดสรรรีจิสเตอร์ส่วนกลาง ในการจัดสรรโกลบอลแบบรีจิสเตอร์ค่าที่แอ็คทีฟส่วนใหญ่จะถูกจัดสรรในทุกวงภายใน การจัดสรรการลงทะเบียนทั่วโลกแบบเต็มใช้ขั้นตอนในการระบุช่วงถ่ายทอดสดในกราฟการควบคุมการไหลกำหนดช่วงถ่ายทอดสดและแบ่งช่วงตามที่ต้องการ