[Arm프로세서] Armv8 익셉션 레벨: PSTATE와 currentEL 레지스터
By Guillermo Austin Kim | 2021년 11월 4일 |
Armv8 아키텍처는 프로세서의 상태를 PSTATE를 통해 제공하는데, 이 정보 중에 익셉션 레벨이 포함돼 있습니다. 먼저 Armv8 아키텍처 문서를 보면서 PSTATE가 무엇인지 알아봅시다. (출처: DDI0487Fc_armv8_arm.pdf)D1.7 Process state, PSTATE In the Armv8-A architecture, Process state or PSTATE is an abstraction of process state information. 스팩 문서의 내용을 해석하면 PSTATE는 프로세서의 다양한 상태 정보를 담고 있는 인터페이스(Abstraction)이라고 볼 수 있습니다. PSTATE에서 프로세서의 상태는 PSTATE.field에서 확인할 수 있으며, 이 필드 중
[Arm프로세서] GIC의 기본 구조
By Guillermo Austin Kim | 2022년 8월 21일 |
효율적으로 인터럽트를 설정 및 처리하기 위해 GIC를 사용합니다. GIC를 구성하는 하드웨어 블록을 제대로 이해하고 GIC에서 정의한 레지스터의 용도와 사용 방법만 익히면 됩니다. GIC의 가장 중요한 기능은 무엇일까요? 이 질문에는 다음과 같이 답할 수 있습니다. ● 인터럽트의 우선 순위를 각 I/O 장치에 적용해 설정 ● 입력으로 받은 인터럽트를 CPU에 전달 GIC는 인터럽트 콘트롤러이므로 GIC의 주된 기능은 다른 인터럽트 콘트롤러와 다르지 않습니다. 대신 GIC에서 인터럽트를 4가지로 분류해 관리합니다. 이어서 GIC에서 정의된 4가지 인터럽트 소스를 소개하고 인터럽트 상태 머신을 설명합니다.
[Arm프로세서] AAPCS: Armv7: push 명령어
By Guillermo Austin Kim | 2021년 5월 31일 |
SP 레지스터와 프로세스의 스택이 변경될 때 실행되는 명령어는 push와 pop입니다. 각 명령어의 의미를 알아보고, 예제 코드를 분석하겠습니다. 먼저 Arm 스팩 문서에서 push 명령어를 어떻게 설명하는지 알아봅시다. A8.8.133 PUSH Push Multiple Registers stores multiple registers to the stack, storing to consecutive memory locations ending just below the address in SP, and updates SP to point to the start of the stored data.(출처: DDI0406C_C_arm_architecture_reference_manual) 스팩 문서에서 p
애플 실리콘 DTK 벤치마크 및 추가적인 정보들...
By being nice to me | 2020년 6월 30일 |
예상은 했지만, 이게 올라온 것을 보고 든 생각은... 와...용자들(https://browser.geekbench.com/v5/cpu/search?q=eperm-d995af6e2ef02771)... Dev Transition Kit 사용 조건에 분명 '벤치마크 결과를 올리는 것 뿐 아니라 벤치마크를 돌리는 것 조차도 허용 안한다'라고 명시되어 있고, 이 조건을 어기면 애플 개발자 영구제명이 가능하다고 되어 있음에도 호기심은 어쩔 수 없나보네요. 물론, 덕분에 다른 겁쟁이들(...)은 돌려볼 필요도 없게 해 준 것은 감사합니다. 이제 다른 용자가 제명을 각오하고 분해 인증만 해 주면 되겠군요. (애플인사이더는 핸즈온 동영상도 올렸다가 내렸네요) 저정도면 생각보다 낮은 점수인가...라고 했는데 이건 로제