[Arm프로세서] GIC의 기본 기능
Post
원문 보기 →[Arm프로세서] GIC의 기본 기능
GIC는 Arm 사에서 디자인한 인터럽트 콘트롤러입니다. 다음 그림을 보면서 GIC의 구조를 배워봅시다. 그림 16.2 간략화한 GIC의 전체 구조 그림을 보면 가운데 박스에 GIC가 있습니다. 그림 왼쪽에 있는 ‘peripheral 1 ~ peripheral n’은 시스템을 구성하고 있는 외부 I/O 디바이스입니다. 예를 들어 peripheral이 3개인 경우 다음과 같은 peripheral로 구성될 수 있습니다. ● peripheral 1: 마우스 ● peripheral 2: 키보드 ● peripheral 3: 캠코더 센서 peripheral와 GIC 사이에 있는 화살표는 peripheral에서 GIC에게 전달되는 인터럽트를 나타냅니다. 그림 가장 오
Related Posts
3 posts[Arm프로세서] GIC: 인터럽트 소스와 타입
GIC는 4가지 타입의 인터럽트 소스를 처리하며 그 종류는 다음 테이블에서 확인할 수 있습니다. 표 16.2 GIC를 구성하는 인터럽트 소스의 종류 GIC는 4가지 인터럽트 입력을 처리하는데 기능에 따라 다음과 같이 분류할 수 있습니다. ● PPI, SPI, LPI: 외부 I/O 디바이스에서 발생하는 하드웨어 인터럽트 ● SGI: 외부 I/O 장치가 아닌 소프트웨어적으로 유발되는 인터럽트 외부 I/O 장치에서 인터럽트가 발생하면 SPI나 PPI를 통해 CPU 코어로 전달됩니다. 먼저 SPI와 PPI에 대해 알아볼까요?
[Arm프로세서] GIC의 기본 구조
효율적으로 인터럽트를 설정 및 처리하기 위해 GIC를 사용합니다. GIC를 구성하는 하드웨어 블록을 제대로 이해하고 GIC에서 정의한 레지스터의 용도와 사용 방법만 익히면 됩니다. GIC의 가장 중요한 기능은 무엇일까요? 이 질문에는 다음과 같이 답할 수 있습니다. ● 인터럽트의 우선 순위를 각 I/O 장치에 적용해 설정 ● 입력으로 받은 인터럽트를 CPU에 전달 GIC는 인터럽트 콘트롤러이므로 GIC의 주된 기능은 다른 인터럽트 콘트롤러와 다르지 않습니다. 대신 GIC에서 인터럽트를 4가지로 분류해 관리합니다. 이어서 GIC에서 정의된 4가지 인터럽트 소스를 소개하고 인터럽트 상태 머신을 설명합니다.
[Arm프로세서] GIC 버전과 주요 기능
Armv7, Armv8와 같은 아키텍처 버전이 있듯이 GIC에도 버전이 있습니다. GIC 버전은 GICv1 ~ GICv4인데 GIC 버전마다 지원하는 기능이 달라 GIC 버전 별로 사용되는 Arm 프로세서가 어느 정도 정해져 있습니다. 다음 표에서 GIC 버전 별로 사용되는 프로세서 목록을 확인할 수 있습니다. 표 16.1 GIC 버전 별 특징 사실 어느 Arm 프로세서에서 어떤 GIC 버전을 선택할지는 개발자의 선택에 달려 있지만, 표 16.1와 같은 조합으로 사용됩니다. 1세대 GIC 버전인 GICv1은 Cortex-A5, Cortex-A9 프로세서에서 주로 사용됩니다. GICv2는 Cortex-A7, Cortex-A15, Cortex-A17 프로세서에 적용됩니다. 주로 32비트 Arm


