Shadow Register
在浏览TMS320F28335 DSP 的数据表时,我注意到了该术语。实际上是什么意思?它是否具有通用寄存器在CPU中的物理位置?
Shadow Register
在浏览TMS320F28335 DSP 的数据表时,我注意到了该术语。实际上是什么意思?它是否具有通用寄存器在CPU中的物理位置?
Answers:
我猜您在PIC编程方面遇到了这个问题。PIC最初以非常直接的方式处理I / O端口-您可以在相同的地址上读取它们在外部具有的值,或写入输出的值。不利的一面是,您试图输出的值可能与引脚上的状态不匹配-可能是其他原因在更强地驱动它,或者可能还没有完成更改。这意味着,如果您只想更新端口的一部分,则需要一个单独的变量来跟踪您想要的状态,而不是获取状态。我记得那个单独的变量通常被称为影子寄存器,因为您总是使用它来存储(不可见的)输出寄存器的副本。最近的PIC通过添加“闩锁”地址来避免这种情况,可以读取输出寄存器的位置。这在其他微控制器中也是常见的,例如AVR上的端口与引脚地址。
在PC体系结构中,影子存储器有一个类似的术语。在这种情况下,通常意味着一部分RAM用于存储较慢ROM的副本,并映射到相同的地址。它再次存储其他一些存储的副本,该副本是隐藏的,因为该副本会在地址空间中替换它。
编辑:看到它是TMS320,影子寄存器提供了一个双缓冲区;此技术用于确保更新在适当的时间发生。比较图形中帧缓冲区交换的使用。该数据手册显示阴影的几个寄存器活动版本。例如考虑一个指示脉冲结束的寄存器。如果要将其更改为较短的脉冲,则在脉冲尚未完成时执行此操作可能会导致一个脉冲根本无法完成(因为它永远不等于该循环中的最终值)。但是,如果您写入影子寄存器,则硬件可以在已知安全的位置将其复制到活动寄存器中-例如,恰好在定时器结束时。《数据手册》中没有对此进行描述,该手册涵盖了给定芯片的特定参数。了解TI,很可能单独的手册描述每个模块的功能;此人在第2.2节中提到了阴影模式。