태그 : GIC 요약보기전체보기목록닫기
- [Arm프로세서] GIC: GICR_ICFGR0 레지스터 (0)2022.12.12
- [Arm프로세서] GIC: GICD_IGRPMODR<n> 레지스터 (0)2022.12.07
- [Arm프로세서] GIC: GICD_ICFGR<n> 레지스터 (0)2022.12.04
- [Arm프로세서] GIC: 디스트리뷰터 레지스터에 접근: 메모리 맵드 인터페이스 (0)2022.10.15
- [Arm프로세서] GIC: 디스트리뷰터 (GICD_*) 시스템 레지스터 (0)2022.10.15
- [Arm프로세서] GIC의 프로그래머 모델(Programmer Model)(0)2022.10.13
- [Arm프로세서] GIC: 에지 트리거(Edge-triggered) 타입 인터럽트(0)2022.10.12
- [Arm프로세서] GIC: 레벨 센시티브 타입 인터럽트의 상태 머신 (2)2022.10.11
- [Arm프로세서] GIC: GIC 인터럽트 종류와 인터럽트 아이디 정리(0)2022.09.16
- [Arm프로세서] GIC: PPI(Private Peripheral Interrupt) 인터럽트(0)2022.09.12
1 2
- Arm: GIC
- 2022/12/12 15:24
GICR_ICFGR0는 'Interrupt Configuration Register 0' 약자입니다. GICR_ICFGR0 레지스터를 통해 지정된 SGI 인터럽트를 에지 트리거(edge-triggered) 혹은 레벨 센시티브(level-sensitive)으로 설정할 수 있습니다. SGI의 인터럽트 아이디(INTID)의 범위는 0~15이므로 GI...
- Arm: GIC
- 2022/12/07 15:50
GICD_IGRPMODR<n>는 Interrupt Group Modifier Registers으로 인터럽트 그룹을 설정할 때 사용되는 레지스터됩니다. 여기서 <n>의 범위는 0~31입니다. GICD_IGRPMODR<n> 레지스터는 1개의 비트로 인터럽트의 그룹 속성을 설정하므로, 하나의 레지스터로 32개의 인터럽...
- Arm: GIC
- 2022/12/04 19:58
GICD_ICFGR(Interrupt Configuration Registers) 는 'Interrupt Configuration Registers' 약자로 GICD_ICFGR<n> 레지스터를 통해 SPI 인터럽트를 에지 트리거(edge-triggered) 혹은 레벨 센시티브(level-sensitive)으로 설정할 수 있습니다. G...
- Arm: GIC
- 2022/10/15 11:37
디스트리뷰터에서 제공하는 시스템 레지스터는 어떻게 접근할까요? 메모리 맵드 I/O 인터페이스를 통해 접근할 수 있습니다.---[중요] Arm 아키텍처에서 정의된 레지스터에 접근하는 2가지 방식Arm 아키텍처에서 정의된 레지스터에 접근하는 방식은 크게 2가지로 분류됩니다. 어셈블리 명령어로 직접 접근 메모리 맵드 인터페이스로 접근예를 들어 VBAR_E...
- Arm: GIC
- 2022/10/15 11:36
Distributor는 SPI 인터럽트를 설정할 수 있는 레지스터로 구성돼 있으며, 그 역할은 다음과 같습니다. 각각 SPI 인터럽트의 우선 순위를 설정하고 분배 각각 SPI 인터럽트를 비활성화 및 활성화 각각 SPI 인터럽트를 라우팅하는 정보 설정 level-sensitive or edge-triggered 방식 설정이 중 Distributor...
- Arm: GIC
- 2022/10/13 14:38
GIC의 기본 구조를 알아 봤으니 GIC의 프로그래머 모델을 소개합니다. GIC는 디스트리뷰터, 리디스트리뷰터 혹은 CPU interface와 같은 하드웨어 블록으로 구성됐으며 GIC에서 제공하는 레지스터를 통해 설정할 수 있습니다. 다음 그림은 GIC의 전체 구성도입니다. 그림 16.6 GIC 프로그래머 모델그림 16.6는 GIC의 전체 구조...
- Arm: GIC
- 2022/10/12 22:08
이번에는 다음 그림을 보면서 'Edge-triggered' 인터럽트의 상태 머신을 알아봅시다. 그림 16.5 에지 트리거 인터럽트의 State Machine 변경 흐름그림의 가장 왼쪽 부분에 있는 Inactive는 키보드와 터치와 같은 페리페럴에서 인터럽트가 발생하지 않는 상태입니다. 먼저 Inactive에서 pending로 상태가 바뀌는 흐름...
- Arm: GIC
- 2022/10/11 08:09
먼저 레벨 센시티브 타입 인터럽트의 상태 머신을 알아 봅시다. 다음 그림은 레벨 센시티브 타입 인터럽트가 상태 머신에서 상태 정보가 어떤 방식으로 바뀌는지 나타냅니다. 그림 16.4 레벨 센시티브 인터럽트의 State Machine 변경 흐름그림의 가장 왼쪽 부분에 있는 Inactive는 키보드와 터치와 같은 페리페럴에서 인터럽트가 발생하지 않...
- Arm: GIC
- 2022/09/16 13:53
여기까지 4가지 인터럽트 소스를 알아봤습니다. 이어서 4가지 인터럽트 소스를 관리하는 방식을 알아봅시다. 인터럽트 소스는 정수형 인터럽트 아이디로 관리하며, 이를 INTID(Interrupt ID)로 명시합니다. 다음 표에서 인터럽트 소스 별 인터럽트 아이디를 확인할 수 있습니다.표 16.3 인터럽트 타입과 인터럽트 아이디(INTID)위와 같이 정의된 ...
- Arm: GIC
- 2022/09/12 21:14
PPI는 Private Peripheral Interrupt 약자입니다. PPI는 Private와 Peripheral Interrupt의 합성어인데, 이를 개인 소유(Private)의 페리페럴 인터럽트로 해석할 수 있습니다. 여기서 언급된 개인 소유는 특정 CPU 코어라고 해석할 수 있습니다.SPI가 여러 CPU 코어에서 처리하는 I/O 디바이스의 인터...
1 2
최근 덧글