ARM
Posts
173 posts[Arm프로세서] Armv8: VBAR_ELx 기준으로 익셉션 벡터 테이블 분석 정리
이전 포스트까지 EL1에 존재하는 VBAR_EL1와 EL1에 있는 VBAR_EL2 기준으로 익셉션 벡터 테이블에 대해 알아봤습니다. 이제 원점으로 돌아가서 이번 절의 앞 부분에 소개한, Armv8 스팩 문서에 있는 익셉션 벡터 테이블을 보면서 배운 내용을 정리해봅시다. VBAR_EL1 기준으로 바라본 익셉션 벡터 테이블 먼저 VBAR_EL1 기준으로 익셉션 벡터 테이블을 분석해봅시다. 표 9.18 Armv8 아키텍처의 익셉센 벡터 테이블(출처: DDI0487Fc_armv8_arm.pdf) 표의 왼쪽 행의 2번째 열에 보이는 'Current Exception level'은 운영체제의 커널이 구동하는 EL1을 의미하며, EL1에서 익셉션이 유발되면 익셉션 벡터 베이스 주소에 아래와 같은 오프셋을 더한
ARM CPUs는 인텔 CPU를 대체 할 수 있을까?
현재 CPU시장에서의 관심은 ARM을 가고있습니다.- 아마존과 애플은 모두 미친 성능 증가와 자체 제작 CPU를 사용하고 있으며 또 이어서 마이크로소프트 또한 ARM Base CPU의 개발 소문이 돌도 있습니다. ARM은 역사적으로 저전력 모바일 칩에 사용되어 왔으므로 ARM이 데스크톱 및 서버 공간에서 x86을 대체 하려는 이유는 무엇 일까요? 요즘 애플, 아마존, 그리고 마이크로소프트 까지 ARM CPU로 인텔의존에서 벗어나려 하고 있습니다. 프로세서(CPU) 세계는 복잡한 산업이며, 소수의 회사에서 단 몇 가지 디자인만 성능의 높은 끝에서 경쟁 할 수 있습니다. 일반적으로 인텔 또는 AMD는 성능의 크라운을 보유하고 있으며 둘 다 x86 CPU를 제조합니다. 그 러나 최근 ARM을 기반으로 한
[Arm프로세서] Armv7: 익셉션이 발생한 명령어로 어떻게 복귀할까?
ARM 코어가 파이프 라인의 어느 단계에서 어떤 방식으로 익셉션을 유발하는지 알면, 자연히 익셉션이 발생한 다음 명령어로 복귀하는 방법도 알게 됩니다. 다음 표를 보면서 이 내용을 정리해 봅시다. 표 8.3 익셉션의 종류 별로 익셉션이 발생한 순간으로 복귀하는 명령어 먼저, 표 8.3 2번째 줄에 있는 Undefined Instruction 익셉션이 유발된 명령어로 복귀하는 방법에 대해 알아봅시다. ARM 파이프 라인의 구조에서 Undefined Instruction 익셉션은 디코딩 단계에서 유발되는데 ARM 코어는 r14_und 레지스터에 익셉션이 유발된 다음 명령어의 주소를 넣어줍니다. 그래서 r14_und 레지스터의 값을 프로그램 카운터로 이동하면 Undefined Instruction 익셉션이
[ARM프로세서] ARMv7: 익셉션의 종류별 ARM 동작 모드 정리
이전 절에서 배운 바와 같이, ARM 코어는 익셉션을 유발할 때 익셉션의 종류에 따라 ARM의 동작 모드를 변경합니다. 익셉션을 다른 관점으로 보면, 익셉션은 "ARM 동작 모드를 변경하는 유발 인자"라고 볼 수 있는데, 다음 표에서 익셉션의 종류 별로 변경되는 ARM 동작 모드를 확인할 수 있습니다. 표 8.2 익셉션의 종류와 변경되는 ARM 동작 모드 표 8.2의 가장 왼쪽 부분은 익셉션의 종류, 가운데 부분은 해당 익셉션이 발생할 때 변경되는 ARM의 동작 모드를 나타냅니다. 가장 왼쪽 부분은 ARM 동작 모드를 담고 있는 CPSR 레지스터의 [4:0] 비트 정보입니다. ARM의 동작 모드를 변경하려면 CPSR 레지스터의 [4:0] 비트를 변경하면 됩니다. Written by <디버깅을 통해



