เรจิสเตอร์

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

ฟังก์ชัน

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

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

การใช้งานโดยทั่วไปของเรจิสเตอร์ประกอบด้วย:
ทำการตั้งค่า configuration และการเริ่มต้นทำงานของคุณสมบัติบางอย่าง โดยเฉพาะอย่างยิ่ง ในระหว่างการ initialization
ทำเป็นหน่วยความจำบัฟเฟอร์ชั่วคราว เช่น หน่วยความจำวิดีโอสำหรับกราฟิกการ์ด
เป็นอินพุต/เอาต์พุต (I/O) ในงานที่แตกต่างกัน
รายงานสถานะ เช่นเหตุการณ์บางอย่างได้เกิดขึ้นในหน่วยฮาร์ดแวร์หรือไม่ (ตัวอย่างเช่นเรจิสเตอร์ที่แสดงสถานะของโมเด็ม () หรือ เรจิสเตอร์ที่แสดงสถานะของสาย ()

การอ่านเรจิสเตอร์ใน "peripheral units" (ฮาร์ดแวร์คอมพิวเตอร์นอก CPU) เกี่ยวข้องกับการ เข้าถึง I/O address ที่หน่วยความจำหรือพอร์ตกำหนดไว้() ที่มีคำสั่ง "โหลด" หรือ "เก็บ"ที่ออกโดยหน่วยประมวลผล เรจิสเตอร์จะถูกเรียกด้วยคำสั่ง แต่บางครั้ง ใช้เพียงไม่กี่บิตของคำสั่ง เช่น อ่านใน หรือ เขียนไป ที่เรจิสเตอร์ใดๆ

เครื่องมือการออกแบบเชิงพาณิชย์ถูกทำให้ง่ายและโดยอัตโนมัติของการใช้ข้อกำหนดและการสร้างระหัสของเรจิสเตอร์ที่กำหนดโดยหน่วยความจำ() สำหรับฮาร์ดแวร์, เฟิร์มแวร์, การตรวจสอบ ฮาร์ดแวร์, การทดสอบ และเอกสารต่างๆ

เพราะเรจิสเตอร์แบบ write-only แก้จุดบกพร่องเกือบไม่ได้ นำไปสู่​​ปัญหา read-modify-write และยังทำให้เป็นเรื่องยากโดยไม่จำเป็นสำหรับ Advanced Configuration and Power Interface (ACPI) เพื่อตรวจสอบสถานะของอุปกรณ์เมื่อเข้าสู่สลีปโหมด เพื่อเรียกคืนสถานะเมื่อออกจากสลีปโหมด โปรแกรมเมอร์จำนวนมากบอกนักออกแบบฮาร์ดแวร์เพื่อให้แน่ใจว่าเรจิสเตอร์ทั้งหมดที่สามารถเขียนได้จะสามารถอ่านได้ด้วย อย่างไรก็ตาม มีบางกรณี เมื่อการอ่านบางประเภทของเรจิสเตอร์ จะไร้ประโยชน์ ตัวอย่างเช่น บิตของรีจิตเตอร์แบบ strobe ที่สร้างวงจรพัลส์หนึ่งรอบเข้ากับฮาร์ดแวร์พิเศษจะอ่านเป็นลอจิก 0 เสมอ

ความหลากหลายของเรจิสเตอร์

เรจิสเตอร์ภายในหน่วยประมวลผลกลาง (CPU) จะเรียกว่ารึจิสเตอร์หน่วยประมวลผล

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

เรจิสเตอร์ปกติจะถูกวัดโดยจำนวนบิตที่พวกมันสามารถเก็บไว้ ตัวอย่างเช่น "8 บิตเรจิสเตอร์" หรือ" 32 บิตเรจิสเตอร์"

นักออกแบบสามารถใช้งานเรจิสเตอร์ในหลากหลายวิธี รวมทั้ง:
ไฟล์เรจิสเตอร์
SRAM มาตรฐาน
flip-flop เฉพาะตัว
หน่วยความจำหลักความเร็วสูง

นอกจากนั้น เรจิสเตอร์ที่"โปรแกรมเมอร์มองเห็น" ที่สามารถถูกอ่านและเขียนด้วยซอฟแวร์ ชิปจำนวนมากมีเรจิสเตอร์แบบ "microarchitectural ภายใน"ที่ถูกนำมาใช้สำหรับเครื่องคำนวณหลักและเครื่องอื่นที่อยู่ระหว่างการพัฒนา; ตัวอย่างเช่น registered memory

ในสถาปัตยกรรมคอมพิวเตอร์ส่วนใหญ่ จะแบ่งประเภทของเรจิสเตอร์ ไว้เป็นหมวดหมู่ เช่น

 เรจิสเตอร์สำหรับงานทั่วไป (general purpose register)
 เรจิสเตอร์สำหรับเลขทศนิยม (floating point register)
 เรจิสเตอร์สำหรับหน้าที่พิเศษ (special purpose register)
 เรจิสเตอร์ที่เก็บตำแหน่งของชุดคำสั่งที่กำลังประมวลผลอยู่ (program counter)
 เรจิสเตอร์ที่เก็บตำแหน่งของสแตก

มาตรฐาน

SPIRIT IP- XACT และ DITA SIDSC XML เป็นตัวกำหนดรูปแบบ XML มาตรฐานสำหรับ  memory-mapped registers

อ้างอิง

ดูเพิ่ม 
 หน่วยประมวลผลกลาง
 อุปกรณ์คอมพิวเตอร์
Register-transfer level (RTL)
Input/output base address

วงจรดิจิทัล