การลงทะเบียนเงาคืออะไร


15

ฉันสังเกตเห็นคำศัพท์Shadow Registerขณะที่อ่านแผ่นข้อมูลของTMS320F28335 DSP จริงๆแล้วมันหมายความว่าอะไร? มีตำแหน่งทางกายภาพใน CPU ตามที่วัตถุประสงค์ทั่วไปมีหรือไม่


ไมโครคอนโทรลเลอร์ตัวไหน?
Leon Heller

@LeonHellersorry สำหรับข้อผิดพลาด .. มันเป็น dsp ... TMS320F28335
พฤศจิกายน

คำตอบ:


11

ฉันคาดเดาว่าคุณจะพบสิ่งนี้ในแง่ของการเขียนโปรแกรม PIC เดิม PIC มีพอร์ต I / O ที่จัดการอย่างตรงไปตรงมา - คุณสามารถอ่านค่าที่พวกเขามีจากภายนอกหรือเขียนค่าที่คุณส่งออกทั้งที่อยู่เดียวกัน ข้อเสียของสิ่งนี้คือค่าที่คุณพยายามส่งออกอาจไม่ตรงกับสถานะของหมุด - มีอย่างอื่นที่สามารถขับได้อย่างแรงกว่าหรืออาจเพิ่งเสร็จสิ้นการเปลี่ยนแปลง นี่หมายความว่าจำเป็นต้องมีตัวแปรแยกต่างหากเพื่อติดตามสถานะที่คุณต้องการแทนที่จะได้รับหากคุณต้องการอัปเดตเฉพาะบางส่วนของพอร์ต อย่างที่ฉันจำได้ว่าตัวแปรแยกต่างหากคือสิ่งที่มักจะเรียกว่า shadow register เนื่องจากคุณใช้มันเพื่อเก็บสำเนาของเอาต์พุตลงทะเบียน (ที่มองไม่เห็น) PIC ล่าสุดหลีกเลี่ยงสิ่งนี้โดยการเพิ่มที่อยู่ "latch" ตำแหน่งที่เอาต์พุตรีจิสเตอร์สามารถอ่านได้ นี่เป็นเรื่องปกติในไมโครคอนโทรลเลอร์อื่น ๆ เช่นกันเช่นพอร์ตเทียบกับที่อยู่พินบน AVR

มีคำที่คล้ายกันในสถาปัตยกรรมพีซีสำหรับหน่วยความจำเงา ในกรณีนั้นมันมักจะหมายถึงส่วนของ RAM ที่ใช้ในการเก็บสำเนาของ ROM ที่ช้ากว่าและแมปไปยังที่อยู่เดียวกัน อีกครั้งจะเก็บสำเนาของที่เก็บข้อมูลอื่นซึ่งถูกซ่อนไว้เนื่องจากสำเนาจะแทนที่ในพื้นที่ที่อยู่

แก้ไข: เนื่องจากเป็น TMS320, shadow register จะมี double buffer; เทคนิคนี้ใช้เพื่อให้การอัพเดทเกิดขึ้นในเวลาที่เหมาะสม เปรียบเทียบการใช้เฟรมบัฟเฟอร์เฟรมในกราฟิก ข้อมูลด้วยตนเองการแสดงเงาและการใช้งานรุ่นหลายลงทะเบียน พิจารณาตัวอย่างของการลงทะเบียนที่ระบุจุดสิ้นสุดของพัลส์; หากคุณเปลี่ยนเป็นพัลส์ที่สั้นลงการทำเช่นนั้นเมื่อพัลส์ยังไม่เสร็จอาจทำให้พัลส์หนึ่งไม่เสร็จเลย (เนื่องจากมันไม่เท่ากับค่าสิ้นสุดในรอบนั้น) แต่ถ้าคุณเขียนลงใน shadow register ฮาร์ดแวร์สามารถคัดลอกลงใน active register ณ จุดที่ทราบว่าปลอดภัย - ตัวอย่างเช่นเมื่อตัวจับเวลาล้อมรอบ สิ่งนี้ไม่ได้อธิบายไว้ในคู่มือข้อมูลซึ่งครอบคลุมพารามิเตอร์เฉพาะสำหรับชิปที่ระบุ รู้ TI มีโอกาสคู่มือแยกอธิบายการทำงานของแต่ละบล็อก; อันนี้มีการกล่าวถึงโหมดเงาในส่วนที่ 2.2


3
การใช้คำว่า "เงา" ที่ใช้โดยเฉพาะกับรีจิสเตอร์ก็คือการแม็พชื่อสถาปัตยกรรมรีจิสเตอร์กับรีจิสเตอร์ทางกายภาพที่แตกต่างกันเพื่อให้สามารถสลับบริบทได้อย่างรวดเร็วเต็มหรือบางส่วน (บางครั้งใช้ "Banked register" เป็นคำพ้องความหมาย) โดยทั่วไปมีวัตถุประสงค์เพื่อเร่งการขัดจังหวะ
Paul A. Clayton

1

การลงทะเบียน shadow และ mirror ทั้งหมดอ้างถึงการลงทะเบียนที่สามารถเข้าถึงได้จากหลายที่อยู่ ตัวอย่างเช่นในฮาร์ดแวร์รีจิสเตอร์ที่กำหนดมีหนึ่งอินสแตนซ์ที่ F00h อย่างไรก็ตามหากมีนามแฝงที่ 1F00h การอ่านหรือเขียนไปที่ F00h จะเหมือนกับการอ่านหรือเขียนไปที่ 1F00h และในทางกลับกัน


2
มันจะเป็นการดีถ้าอธิบายว่าจุดประสงค์ของการลงทะเบียนเงานั้นคืออะไร
Rev1.0

0

พูดง่ายๆคือ Shadow register เป็นรีจิสเตอร์ภายในไมโครคอนโทรลเลอร์เพื่อเก็บข้อมูลบางอย่างไว้ใช้ในภายหลัง ชื่อ "เงา" หมายถึงการทำซ้ำบางค่าและใช้อีกครั้ง - ดังนั้นมันจะไม่หลงทาง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.