ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [컴퓨터 구조] ARM - PSCI
    공학/컴퓨터구조 2023. 12. 27. 20:35

    글의 참고

    - Power State Coordination Interface


    글의 전제

    - 밑줄로 작성된 글은 강조 표시를 의미한다.

    - 그림 출처는 항시 그림 아래에 표시했다.


    글의 내용

    - Overview

    " PSCI 는 `Power State Control Interface` 약자로 arm processor 기반의 OS 를 만드는 OS vendors 사에게 power management 관련 standard interface 를 제공한다. 예를 들어, ARMv8 기반에서 low-level power management 를 수행하기 위해서는 PSCI 에서 제시하는 스펙을 반드시 따라야 한다. 

     

    " PCSA 가 도입된 ARM A-profile architecutre 에서 power management 관련 작업은 처리할 때는 Linux & Windows 와 같은 rich operating system(non-secure OS), hypervisors, secure firmware 와 Trusted OS 구현체들은 반드시 서로 통신할 수 있는 메커니즘이 있어야 한다. 왜냐면, power management 관련 작업은 권한이 높기 때문에, 기본적으로 EL3 에 대한 접근이 가능해야 한다.

     

    " PSCI 의 목적은 아래의 3 가지 기능을 타겟으로 인터페이스를 통일 하는데 있다.

    1. Core idle management
    2. Dynamic addition and removal of cores, and secondary core boot
    3. System shutdown and reset

     

     

    " PSCI 에서는 `Dynamic Voltage and Frequency Scaling(DVFS) or device power management(예를 들어, GPUs 와 같은 peripehrals management)` 는 다루지 않는다. 그리고, PSCI 는 ACPI(Advanced Configuration and Power Interface) & FDT(Flattened Device Tree)` 와 같은 hardware discovery technologies 들과 함께 동작할 수 있도록 설계되었다. PSCI 를 ACPI 및 FDT 의 대체제라고 오해하면 안된다. ACPI 와 FDT 에서 제공하는 문법을 지원해서 각각의 방식으로 PSCI 를 명시할 수 있다는 뜻이다.  

     

     

     

     

    - PSCI call flows

    1. CPU_SUSPEND, CPU_DEFAULT_SUSPEND, and SYSTEM_SUSPEND call flow

    " 아래 block diagram 은 CPU_SUSPEND(위에 언급된 calls 들도 동일한 flow 를 탄다) 이 exception levels 들을 거쳐서 secure platform firmware 에서 완료되는 것을 보여준다. 또한, 각 expcetion level 에서 context 가 어떻게 저장되고 복구되는지를 보여준다. EL2 의 hypervisor 는 non-secure EL1 의 power request 를 trap 해서 EL3 에 있는 power controller 에게 power state request 를 전달하기전에 자신의 context(context), NS-EL1 의 resume point(NS-EL1 entry point), NS-EL1 caller 의 context ID 를 저장한다(사실, hypervisor 가 NS-EL1 의 power request 를 trap 할 때, secure virtual partition 을 통해서 firmware interface 를 emulate 한다. 즉, EL3 에 있는 실제 power controller 와 동일한 virtual device 를 S-EL2 에 emulate 해서 EL3 까지 갈 일이 없게 만든다. 이렇게 내용을 언급하는 이유는 아래 그림에서 EL3 를 명확히 명시하는 부분이 없기 때문이다).

     

    Power State Coordination Interface

     

     

    " EL2 의 hypervisor 로 부터 power state request 를 받은 Secure world 또한 NS-EL1 및 EL2 와 유사하게 동작한다. 즉, 실제로 core 를 shutdown 하기 전에, 자신의 state, EL2 entry(resume) point, NS-EL2 caller(hypervisor) 의 context ID 와 `start up reason` 을 저장한다. wakeup events 가 발생했을 때, power controller 는 이전에 CPU_SUSPEND call 을 요청했던 core 는 shutdown 되어있기 때문에, 다시 power-on 을 시켜 boot 를 진행한다. initialization 과정에서, secure world 는 

Designed by Tistory.