เรจิสเตอร์เรจิสเตอร์[1] หรือ รีจิสเตอร์[2] (อังกฤษ: register) ในอิเล็กทรอนิกส์ดิจิทัล โดยเฉพาะอย่างยิ่งในการคำนวณ เรจิสเตอร์จะเก็บข้อมูลเป็นบิทจำนวนมากเพื่อให้ระบบต่าง ๆ สามารถเขียนเข้าไปใหม่หรืออ่านบิททั้งหมดนั้นได้พร้อมกัน เรจิสเตอร์เป็นหน่วยความจำขนาดเล็ก ที่ทำงานได้เร็วมาก ในระบบคอมพิวเตอร์ หน่วยความจำเหล่านี้ ใช้เก็บข้อมูลที่จำเป็นในการคำนวณ หรือสถานะการทำงานของหน่วยประมวลผลกลาง และมักถูกอ้างถึงบ่อย ในระหว่างการคำนวณของหน่วยประมวลผล เพื่อให้โปรแกรมที่ทำงานอยู่ สามารถเข้าถึงข้อมูลที่จำเป็นเหล่านี้ ได้อย่างรวดเร็ว ฟังก์ชันสัญญาณเรียกใช้ข้อมูลจากเครื่องคำนวณหลักจะถูกส่งไปที่อุปกรณ์ควบคุมของรึจิสเตอร์เพื่อให้เรจิสเตอร์ส่งข้อมูลไปให้หรือรับข้อมูลจากอีกเรจิสเตอร์หนึ่ง บางครั้งเครื่องคำนวณหลักเปลี่ยนเส้นทางข้อมูลจากเรจิสเตอร์หนึ่งไปยังอุปกรณ์ที่ทำหน้าที่บางอย่างเช่นหน่วยบวกเลข จากนั้นจึงส่งผลลัพธ์ไปเก็บไว้ที่อีกเรจิสเตอร์หนึ่ง การใช้งานโดยทั่วไปของเรจิสเตอร์ประกอบด้วย:
การอ่านเรจิสเตอร์ใน "peripheral units" (ฮาร์ดแวร์คอมพิวเตอร์นอก CPU) เกี่ยวข้องกับการ เข้าถึง I/O address ที่หน่วยความจำหรือพอร์ตกำหนดไว้(อังกฤษ: memory-mapped I/O address หรือ port-mapped I/O address) ที่มีคำสั่ง "โหลด" หรือ "เก็บ"ที่ออกโดยหน่วยประมวลผล เรจิสเตอร์จะถูกเรียกด้วยคำสั่ง แต่บางครั้ง ใช้เพียงไม่กี่บิตของคำสั่ง เช่น อ่านใน หรือ เขียนไป ที่เรจิสเตอร์ใด ๆ เครื่องมือการออกแบบเชิงพาณิชย์ถูกทำให้ง่ายและโดยอัตโนมัติของการใช้ข้อกำหนดและการสร้างระหัสของเรจิสเตอร์ที่กำหนดโดยหน่วยความจำ (อังกฤษ: memory-mapped register) สำหรับฮาร์ดแวร์, เฟิร์มแวร์, การตรวจสอบ ฮาร์ดแวร์, การทดสอบ และเอกสารต่าง ๆ เพราะเรจิสเตอร์แบบ write-only แก้จุดบกพร่องเกือบไม่ได้[4] นำไปสู่ปัญหา read-modify-write และยังทำให้เป็นเรื่องยากโดยไม่จำเป็นสำหรับ Advanced Configuration and Power Interface (ACPI) เพื่อตรวจสอบสถานะของอุปกรณ์เมื่อเข้าสู่สลีปโหมด เพื่อเรียกคืนสถานะเมื่อออกจากสลีปโหมด[5] โปรแกรมเมอร์จำนวนมากบอกนักออกแบบฮาร์ดแวร์เพื่อให้แน่ใจว่าเรจิสเตอร์ทั้งหมดที่สามารถเขียนได้จะสามารถอ่านได้ด้วย อย่างไรก็ตาม มีบางกรณี เมื่อการอ่านบางประเภทของเรจิสเตอร์ จะไร้ประโยชน์ ตัวอย่างเช่น บิตของรีจิตเตอร์แบบ strobe ที่สร้างวงจรพัลส์หนึ่งรอบเข้ากับฮาร์ดแวร์พิเศษจะอ่านเป็นลอจิก 0 เสมอ ความหลากหลายของเรจิสเตอร์เรจิสเตอร์ภายในหน่วยประมวลผลกลาง (CPU) จะเรียกว่ารึจิสเตอร์หน่วยประมวลผล เรจิสเตอร์แบบ Strobe มีอินเตอร์เฟสเดียวกันเรจิสเตอร์ปกติ แต่แทนที่จะจัดเก็บข้อมูล พวกมันจะ กระตุกให้กระทำอะไรบางอย่างทุกครั้งที่พวกมันถูกเขียน (หรือในกรณีที่หายาก ถูกอ่านจาก) พวกมันเป็นเครื่องมือส่งสัญญาณ เรจิสเตอร์ปกติจะถูกวัดโดยจำนวนบิตที่พวกมันสามารถเก็บไว้ ตัวอย่างเช่น "8 บิตเรจิสเตอร์" หรือ "32 บิตเรจิสเตอร์" นักออกแบบสามารถใช้งานเรจิสเตอร์ในหลากหลายวิธี รวมทั้ง:
นอกจากนั้น เรจิสเตอร์ที่"โปรแกรมเมอร์มองเห็น" ที่สามารถถูกอ่านและเขียนด้วยซอฟแวร์ ชิปจำนวนมากมีเรจิสเตอร์แบบ "microarchitectural ภายใน"ที่ถูกนำมาใช้สำหรับเครื่องคำนวณหลักและเครื่องอื่นที่อยู่ระหว่างการพัฒนา; ตัวอย่างเช่น registered memory ในสถาปัตยกรรมคอมพิวเตอร์ส่วนใหญ่ จะแบ่งประเภทของเรจิสเตอร์ ไว้เป็นหมวดหมู่ เช่น
มาตรฐานSPIRIT IP- XACT และ DITA SIDSC XML เป็นตัวกำหนดรูปแบบ XML มาตรฐานสำหรับ memory-mapped registers[6][7][8] อ้างอิง
ดูเพิ่ม
|
Portal di Ensiklopedia Dunia