Distributor는 SPI 인터럽트를 설정할 수 있는 레지스터로 구성돼 있으며, 그 역할은 다음과 같습니다.
각각 SPI 인터럽트의 우선 순위를 설정하고 분배
각각 SPI 인터럽트를 비활성화 및 활성화
각각 SPI 인터럽트를 라우팅하는 정보 설정
level-sensitive or edge-triggered 방식 설정
이 중 Distributor의 핵심 동작은 다음과 같이 요약할 수 있습니다.
I/O 장치에서 요청한 SPI 인터럽트를 어느 CPU에 분배할까?
SPI 인터럽트 소스의 우선 순위를 어떻게 설정할까?
위와 같은 동작을 설정하려면 디스트리뷰터에서 제공하는 시스템 레지스터를 설정해야 합니다.
Distributor에서 제공하는 레지스터 목록
Distributor에서 제공하는 시스템 레지스터의 목록은 다음과 같습니다.
GICD_ISENABLER<n>
GICD_ICFGR<n>
GICD_IPRIORITYR<n>
GICD_IROUTER<n>
GICD_IGROUPR<n>
GICD_IGRPMODR<n>
프로그래머 입장에서 디스트리뷰터를 구성하는 레지스터를 통해 디스트리뷰터의 세부 동작을 설정할 수 있습니다.
[정보] GIC의 프로그래머 모델이란
소프트웨어 관점으로 하드웨어 블록을 바라 본 기능을 프로그래머 모델이라고 합니다.
대부분 프로그래머 모델은 관련 동작을 설정할 수 있는 레지스터와 명령어로 구성돼 있습니다.
최근 덧글