[Arm프로세서] GIC: SGI (Software Generated Interrupt) 인터럽트

Guillermo Austin Kim|2022년 9월 12일
Posts

[Arm프로세서] GIC: SGI (Software Generated Interrupt) 인터럽트

Guillermo Austin Kim|2022년 9월 12일

SGI 인터럽트 SGI는 Software Generated Interrupt의 약자로 어셈블리 명령어가 실행되면 인터럽트가 유발됩니다. 이름과 같이 외부 I/O 디바이스가 아닌 소프트웨어적으로 발생되는 인터럽트입니다. GIC에 존재하는 특정 레지스터에 값을 써주면 SGI 인터럽트가 발생합니다. 유념할 점은 SGI는 I/O 장치에서 발생하는 인터럽트가 아니라는 사실입니다. 용어와 같이 str와 같은 명령어를 실행해 디스트리뷰터에 존재하는 특정 레지스터에 값을 써주면 발생하는 인터럽트입니다. 이 내용을 읽으면 다음과 같은 의문이 생깁니다. "svc와 같은 명령어를 실행해 발생한 소프트웨어 인터럽트와 비슷한 동작인가?" SGI는 Supervisor Call과 같은 소프트웨어 인터럽트와 구별되는