TMS320F28335 DSP Shadow Register
의 데이터 시트를 살펴보면서이 용어 를 발견했습니다 . 실제로 무엇을 의미합니까? 범용 레지스터와 같이 CPU에 물리적 위치가 있습니까?
TMS320F28335 DSP Shadow Register
의 데이터 시트를 살펴보면서이 용어 를 발견했습니다 . 실제로 무엇을 의미합니까? 범용 레지스터와 같이 CPU에 물리적 위치가 있습니까?
답변:
PIC 프로그래밍 측면 에서이 문제가 발생했다고 생각합니다. PIC는 원래 I / O 포트를 매우 직접적인 방식으로 처리했습니다. 외부에서 어떤 값을 읽었는지 또는 동일한 주소에서 출력 한 값을 쓸 수 있습니다. 이것의 단점은 출력하려는 값이 핀의 상태와 일치하지 않을 수 있다는 것입니다. 다른 것이 더 강력하게 구동되거나 아직 변경을 완료하지 않았을 수 있습니다. 따라서 포트의 일부만 업데이트하려는 경우 의도 한 상태를 추적하기 위해 별도의 변수가 필요했습니다. 필자는 개별 변수가 일반적으로 섀도우 레지스터라고 부르는 것을 기억합니다. 항상 보이지 않는 출력 레지스터의 사본을 저장하는 데 사용했기 때문입니다. 최신 PIC는 "래치"주소를 추가하여이 문제를 방지합니다. 출력 레지스터를 읽을 수있는 곳. 이는 AVR의 포트 대 핀 주소와 같은 다른 마이크로 컨트롤러에서도 일반적입니다.
섀도 메모리에 대한 PC 아키텍처에서도 비슷한 용어가 있습니다. 이 경우 일반적으로 느린 ROM의 복사본을 저장하고 동일한 주소에 매핑하는 데 사용되는 RAM 섹션을 의미합니다. 다시 다른 스토리지의 사본을 저장합니다.이 사본은 주소 공간에서이를 대체하므로 숨겨집니다.
편집 : TMS320 인 경우 섀도우 레지스터는 이중 버퍼를 제공합니다. 이 기술은 적절한 시간에 업데이트가 수행되도록하는 데 사용됩니다. 그래픽에서 프레임 버퍼 스왑 사용을 비교하십시오. 데이터 설명서 쇼 그림자 여러 레지스터의 활성 버전. 예를 들어 펄스의 끝을 나타내는 레지스터를 고려하십시오. 더 짧은 펄스로 변경하는 경우, 펄스가 아직 완료되지 않은 상태에서 펄스를 변경하면 하나의 펄스가 전혀 완료되지 않을 수 있습니다 (해당 사이클의 최종 값과 같지 않기 때문에). 그러나 섀도우 레지스터에 쓰면 하드웨어가 안전한 것으로 알려진 시점 (예를 들어, 타이머가 랩핑 될 때)에 활성 레지스터에이를 복사 할 수 있습니다. 이것은 특정 칩에 대한 특정 매개 변수를 다루는 데이터 매뉴얼에 설명되어 있지 않습니다. TI를 알고 있다면각 블록의 기능을 설명하는 별도의 매뉴얼 ; 이것에 대해서는 2.2 절의 그림자 모드에 대한 언급이 있습니다.
섀도 및 미러 레지스터는 모두 여러 주소에서 액세스 할 수있는 레지스터를 나타냅니다. 예를 들어, 하드웨어에서 지정된 레지스터에는 F00h에 하나의 인스턴스가 있습니다. 그러나 1F00h에 별명이있는 경우 F00h에 쓰거나 쓰는 것은 1F00h에 쓰거나 쓰는 것과 같으며 그 반대도 마찬가지입니다.