태그>gic(총 20개의 글)
'gic' 관련 최근글
-
- [Arm프로세서] GIC: GICR_ICFGR0 레지스터
-
Arm Linux Kernel Hacks by AustinKim|2022/12/12 15:24
GICR_ICFGR0는 'Interrupt Configuration Register 0' 약자입니다. GICR_ICFGR0 레지스터를 통해 지정된 SGI 인터럽트를 에지 트리거(edge-triggered) 혹은 레벨 센시티브(level-sensitive)으로..
- [Arm프로세서] GIC: GICR_ICFGR0 레지스터
-
- [Arm프로세서] GIC: GICD_IGRPMODR<n> ..
-
Arm Linux Kernel Hacks by AustinKim|2022/12/07 15:50
GICD_IGRPMODR는 Interrupt Group Modifier Registers으로 인터럽트 그룹을 설정할 때 사용되는 레지스터됩니다. 여기서 의 범위는 0~31입니다. GICD_IGRPMODR 레지스터는 1개의 비트로 인터럽트의 그..
- [Arm프로세서] GIC: GICD_IGRPMODR<n> ..
-
- [Arm프로세서] GIC: GICD_ICFGR<n> 레지스터
-
Arm Linux Kernel Hacks by AustinKim|2022/12/04 19:58
GICD_ICFGR(Interrupt Configuration Registers) 는 'Interrupt Configuration Registers' 약자로 GICD_ICFGR 레지스터를 통해 SPI 인터럽트를 에지 트리거(edge-triggered) 혹은 레벨 센시..
- [Arm프로세서] GIC: GICD_ICFGR<n> 레지스터
-
- [Arm프로세서] GIC: 디스트리뷰터 레지스터에 접..
-
Arm Linux Kernel Hacks by AustinKim|2022/10/15 11:37
디스트리뷰터에서 제공하는 시스템 레지스터는 어떻게 접근할까요? 메모리 맵드 I/O 인터페이스를 통해 접근할 수 있습니다.-[중요] Arm 아키텍처에서 정의된 레지스터에 접근하는 2가지 방식 Arm 아키텍처에..
- [Arm프로세서] GIC: 디스트리뷰터 레지스터에 접..
-
- [Arm프로세서] GIC: 디스트리뷰터 (GICD_*) 시스템 레지스터
-
Arm Linux Kernel Hacks by AustinKim|2022/10/15 11:36
Distributor는 SPI 인터럽트를 설정할 수 있는 레지스터로 구성돼 있으며, 그 역할은 다음과 같습니다. 각각 SPI 인터럽트의 우선 순위를 설정하고 분배 각각 SPI 인터럽트를 비활성화 및 활성화 각각 SPI 인터럽트를 라우팅하는 정보 설정 level-sensitive or edge-tr..
- [Arm프로세서] GIC: 디스트리뷰터 (GICD_*) 시스템 레지스터
-
- [Arm프로세서] GIC의 프로그래머 모델(Progra..
-
Arm Linux Kernel Hacks by AustinKim|2022/10/13 14:38
GIC의 기본 구조를 알아 봤으니 GIC의 프로그래머 모델을 소개합니다. GIC는 디스트리뷰터, 리디스트리뷰터 혹은 CPU interface와 같은 하드웨어 블록으로 구성됐으며 GIC에서 제공하는 레지스터를 통해 설..
- [Arm프로세서] GIC의 프로그래머 모델(Progra..
-
- [Arm프로세서] GIC: 에지 트리거(Edge-trigge..
-
Arm Linux Kernel Hacks by AustinKim|2022/10/12 22:08
이번에는 다음 그림을 보면서 'Edge-triggered' 인터럽트의 상태 머신을 알아봅시다. 그림 16.5 에지 트리거 인터럽트의 State Machine 변경 흐름 그림의 가장 왼쪽 부분에 있는 Inactive는 키보드와 터치와..
- [Arm프로세서] GIC: 에지 트리거(Edge-trigge..
-
- [Arm프로세서] GIC: 레벨 센시티브 타입 인터럽..
-
Arm Linux Kernel Hacks by AustinKim|2022/10/11 08:09
먼저 레벨 센시티브 타입 인터럽트의 상태 머신을 알아 봅시다. 다음 그림은 레벨 센시티브 타입 인터럽트가 상태 머신에서 상태 정보가 어떤 방식으로 바뀌는지 나타냅니다. 그림 16.4 레벨 센시티브 인터럽트의 St..
- [Arm프로세서] GIC: 레벨 센시티브 타입 인터럽..
-
- [Arm프로세서] GIC: GIC 인터럽트 종류와 인터럽..
-
Arm Linux Kernel Hacks by AustinKim|2022/09/16 13:53
여기까지 4가지 인터럽트 소스를 알아봤습니다. 이어서 4가지 인터럽트 소스를 관리하는 방식을 알아봅시다. 인터럽트 소스는 정수형 인터럽트 아이디로 관리하며, 이를 INTID(Interrupt ID)로 명시합니다. ..
- [Arm프로세서] GIC: GIC 인터럽트 종류와 인터럽..
-
- [Arm프로세서] GIC: PPI(Private Peripheral Interrupt) 인터럽트
-
Arm Linux Kernel Hacks by AustinKim|2022/09/12 21:14
PPI는 Private Peripheral Interrupt 약자입니다. PPI는 Private와 Peripheral Interrupt의 합성어인데, 이를 개인 소유(Private)의 페리페럴 인터럽트로 해석할 수 있습니다. 여기서 언급된 개인 소유는 특정 CPU 코어라고 해석할 수 있습니다. SPI가 여러 CPU 코어에서..
- [Arm프로세서] GIC: PPI(Private Peripheral Interrupt) 인터럽트
-
- [Arm프로세서] GIC: SPI(Shared Peripheral Interrupt) 인터럽트
-
Arm Linux Kernel Hacks by AustinKim|2022/09/12 21:14
SPI는 Shared Peripheral Interrupt의 약자입니다. SPI는 Shared와 Peripheral Interrupt의 합성어인데, 이를 공유된 페리페럴 인터럽트로 해석할 수 있습니다. 여기서 Shared의 의미는 무엇일까요? 여러 I/O 디바이스에서 전달되는 인터럽트는 SPI 통해 여러 CPU 코어에..
- [Arm프로세서] GIC: SPI(Shared Peripheral Interrupt) 인터럽트
-
- [Arm프로세서] GIC: 인터럽트 소스와 타입
-
Arm Linux Kernel Hacks by AustinKim|2022/09/02 11:54
GIC는 4가지 타입의 인터럽트 소스를 처리하며 그 종류는 다음 테이블에서 확인할 수 있습니다. 표 16.2 GIC를 구성하는 인터럽트 소스의 종류 GIC는 4가지 인터럽트 입력을 처리하는데 기능에 따라 다음과 같이 ..
- [Arm프로세서] GIC: 인터럽트 소스와 타입
-
- [Arm프로세서] GIC의 기본 구조
-
Arm Linux Kernel Hacks by AustinKim|2022/08/22 08:00
효율적으로 인터럽트를 설정 및 처리하기 위해 GIC를 사용합니다. GIC를 구성하는 하드웨어 블록을 제대로 이해하고 GIC에서 정의한 레지스터의 용도와 사용 방법만 익히면 됩니다. GIC의 가장 중요한 기능은 무엇일까요? 이 질문에는 다음과 같이 답할 수 있습니다. ●..
- [Arm프로세서] GIC의 기본 구조
-
- [Arm프로세서] GIC 버전과 주요 기능
-
Arm Linux Kernel Hacks by AustinKim|2022/08/22 07:59
Armv7, Armv8와 같은 아키텍처 버전이 있듯이 GIC에도 버전이 있습니다. GIC 버전은 GICv1 ~ GICv4인데 GIC 버전마다 지원하는 기능이 달라 GIC 버전 별로 사용되는 Arm 프로세서가 어느 정도 정해져 있습니..
- [Arm프로세서] GIC 버전과 주요 기능
-
- [Arm프로세서] GIC의 기본 기능
-
Arm Linux Kernel Hacks by AustinKim|2022/08/16 10:01
GIC는 Arm 사에서 디자인한 인터럽트 콘트롤러입니다. 다음 그림을 보면서 GIC의 구조를 배워봅시다. 그림 16.2 간략화한 GIC의 전체 구조 그림을 보면 가운데 박스에 GIC가 있습니다. 그림 왼쪽에 있는 ‘peri..
- [Arm프로세서] GIC의 기본 기능