레지스터에는 데이터 저장용 레지스터와 특별한 목적을 갖는 레지스터가 있다. 저장용 레지스터는 임시로 데이터를 저장하였다가 필요시에 사용하기 위해 사용하며, 특별한 목적을 갖는 레지스터 중 하드웨어 I/O 컨트롤을 하는데 사용되는 레지스터가 있다. 일반적으로 MCU에서는 버스에 레지스터 주소를 할당하고 해당 레지스터는 다시 MCU 내부 컨트롤 모듈들과 연결되어 컨트롤 모듈의 기능을 정의하는 역할을 한다.

예를 들어 MCU의 0x00000080 주소에 GPiO 컨트롤러가 연결되어 있다면 0x00000080 주소에 특정 값을 써서 GPIO를 Input으로 사용할 것인지 Output으로 사용할 것인지 설정이 가능한 것이다.

참고