[Arm프로세서] AAPCS: Armv7: SP(스택 포인터) 레지스터의 세부 동작
By Guillermo Austin Kim | 2021년 6월 15일 |
SP는 스택 포인터(Stack Pointer) 레지스터라고 하며 약어로 R13으로 표기합니다. 일반적으로 여러분이 작성한 코드는 프로세스의 스택 공간에서 동작하므로, 어떤 코드가 실행하던 스택 주소의 위치를 알 수 있습니다. 스택 주소의 위치를 추적하는 레지스터가 SP 혹은 R13입니다. SP 레지스터와 프로세스의 스택과의 관계 그렇다면 SP 레지스터는 어떤 값을 저장할까요? SP(R13) 레지스터는 프로세스 스택 포인터의 주소를 저장합니다. 그러면 여기서 말하는, 프로세스의 스택 포인터 주소는 무엇일까요? 바로 프로세스에게 할당된 스택 주소의 위치를 나타냅니다. 프로세스는 처음 생성될 때 운영체제로부터 스택 공간을 할당받고, 자신에게 할당된 스택 공간 내에서 함수를 호출합니다. 달리 말하면 SP
[ARM프로세서] ARMv7: 소프트웨어 인터럽트 타입 익셉션을 유발할 때 ARM 코어의 세부 동작
By Guillermo Austin Kim | 2020년 12월 9일 |
ARM 코어가 ‘svc’ 명령어를 실행하면 소프트웨어 인터럽트를 유발합니다. 다음 그림을 보면서, 소프트웨어 인터럽트가 발생할 때 ARM 코어의 세부 동작을 알아봅시다. 그림 8.11 소프트웨어 인터럽트를 유발할 때 변경되는 레지스터 그림 8.11은 소프트웨어 인터럽트 익셉션이 실행되는 흐름을 나타내는데, 그림의 가운데 부분을 보면 ARM 코어가 하드웨어적으로 처리되는 부분이 슈도 코드로 표기돼 있습니다. 이 슈도 코드 분석을 통해 ARM 코어의 세부 동작을 알아보겠습니다. 먼저 01번째 줄을 봅시다. 01 R14_svc = 0xc000d000 + 0x4 'svc' 명령어를 ARM 코어가 디코딩을 하면 ARM 의 동작 모드를 슈퍼바이저 모드로 변경할 준비를 합니다. 먼저 슈퍼바이저 모드에서만 사
ARM CPUs는 인텔 CPU를 대체 할 수 있을까?
By Jini 가 만들어가는 세상 | 2020년 12월 29일 |
현재 CPU시장에서의 관심은 ARM을 가고있습니다.- 아마존과 애플은 모두 미친 성능 증가와 자체 제작 CPU를 사용하고 있으며 또 이어서 마이크로소프트 또한 ARM Base CPU의 개발 소문이 돌도 있습니다. ARM은 역사적으로 저전력 모바일 칩에 사용되어 왔으므로 ARM이 데스크톱 및 서버 공간에서 x86을 대체 하려는 이유는 무엇 일까요? 요즘 애플, 아마존, 그리고 마이크로소프트 까지 ARM CPU로 인텔의존에서 벗어나려 하고 있습니다. 프로세서(CPU) 세계는 복잡한 산업이며, 소수의 회사에서 단 몇 가지 디자인만 성능의 높은 끝에서 경쟁 할 수 있습니다. 일반적으로 인텔 또는 AMD는 성능의 크라운을 보유하고 있으며 둘 다 x86 CPU를 제조합니다. 그 러나 최근 ARM을 기반으로 한
[ARM] 트러스트존(Trustzone) 이란
By Guillermo Austin Kim | 2020년 10월 6일 |
ARM 아키텍처는 운영체제에서 다양한 구조로 시스템을 설계할 수 있게 부가 기능(Extentions)을 지원합니다. 그 중 대표적인 기능이 트러스트 존(Trustzone)입니다. 트러스트 존(Trustzone) 소개 트러스트 존은 ARM 아키텍처에서 지원하는 Security Extention(보완 확장) 기능으로, 여러 보안 애플리케이션이 ARM의 트러스트 존을 활용해 구현돼 있습니다. 다른 관점으로 보완을 위한 추가 기능이라고 볼 수 있습니다. ARM 아키텍처에서 보완을 위한 트러스트 존을 지원하는 이유는 무엇일까요? 바로 해킹으로부터 시스템을 보호하기 위해서인데요, 사실 예전부터 소프트웨어 분야에서 하드웨어 제조 분야까지 보안을 위협하는 해킹의 위험이 항상 존재했습니다. 컴퓨터의 기술이 발전함에