ARMv83 WFI / WFE 해당 ARM assembly instruction은 clock을 gate시켜 저전력 모드(low power state)로 진입하기 위한 명령어이다. WFI(Wait For Interrupt)standby mode로 진입하여, 인터럽트를 기다리고 있는 상태.인터럽트가 발생되면 wake up WFE(Wait For Event)standby mode로 진입하여, 이벤트를 기다리고 있는 상태.이벤트가 발생되면 wake up(이벤트에 인터럽트가 포함되어 있음)이벤트는 주로 SEV or SEVL(Send EVent or Send EVent Local)라고 하는 명령을 통해 생성됨 주로 spinlock 상태에서 사용되며 계속 unlock을 기다리며 진입을 시도하기 보다는WFE를 통해 저전력 모드로 들어가있고, 다른.. 2024. 6. 27. ARMv8 Exception Level Exception Level Overview ARMv7 대비 ARMv8에 새로 도입된 개념 중 하나인 Exception Level은 레벨마다 System의 resource에 대한 특권(Privilege)를 다르게 부여하여 각 레벨에 맞는 동작을 수행 Privileged / Unprivileged mode를 구분하는 이유(a.k.a user space와 kernel space를 구분한 이유) Privileged mode로 동작을 하게되면 시스템의 주요 설정과 메모리 등에 접근이 가능함 만약 User Application도 Privilege가 부여되어 시스템 메모리나 시스템 설정이 가능해진 상황에서 이러한 주요 resource를 잘못 사용할 경우 시스템에 critical한 error를 유발할 수 있음. 따라.. 2024. 1. 21. ARMv8 주요 register General Purpose Registerassembly instruction의 입력과 출력을 담당하는 registerAArch64: 각 64bit size의 X0 - X30 register로 구성AArch32: 각 32bit size의 W0 - W30 register로 구성X30은 LR(Link Register)로 사용 됨주로 데이터를 연산하거나 메모리에 접근하는 명령어를 실행할 때 address나 data를 저장하는 역할Special Register프로세스의 흐름을 저장하는 기능을 수행하는 registerException Level별로 사용하는 레지스터를 구분하여 Exception 발생 이전의 Exception Level로 복귀할 때 주로 사용 됨.종류XZR / WZR(Zero Register): .. 2024. 1. 21. 이전 1 다음 728x90