[ARM프로세서] 익셉션이 발생할 때 전체 흐름
By Guillermo Austin Kim | 2020년 10월 18일 |
이번에는 익셉션의 전체 실행 흐름도를 보면서 익셉션의 동작 원리를 알아봅시다. 그림 7.7 익셉션이 발생할 때 전체 흐름 익셉션의 전체 실행 흐름도는 4단계로 분류할 수 있습니다. 1단계: 프로세스가 실행하는 도중에 익셉션을 유발하는 동작 실행 먼저 ①로 표시된 부분을 눈으로 따라가 봅시다. 프로세스가 실행하는 도중에 메모리 어보트를 유발하는 명령어를 실행하거나 소프트웨어 인터럽트를 유발하는 명령어를 실행합니다. 또한 외부 하드웨어에서 인터럽트를 유발합니다. 2단계: ARM 프로세서가 익셉션을 감지 ② 로 표시된 부분은 ARM 프로세서가 익셉션을 감지하는 동작입니다. 1단계에서 익셉션을 유발하는 명령어나 외부 하드웨어 인터럽트가 발생하면, ARM 프로세서가 이를 감
[ARM프로세서] 아키테처 관점으로 익셉션(Exception)이란
By Guillermo Austin Kim | 2020년 10월 6일 |
ARM 아키텍처를 이루는 프로그래머 모델 중에서 익셉션은 가장 중요한 기능 중 하나입니다.운영제체의 커널은 ARM 아키텍처의 익셉션을 활용해 주요 서브 시스템을 구현하기 때문입니다. 또한 실전 프로젝트에서 만나는 다양한 문제를 해결하기 위해서 반드시 알아야 기반 지식입니다. 익셉션은 CPU 아키텍처마다 지원하는 기능으로, x86, MIPS, ARM 아키텍처의 핵심 기능 중 하나입니다. ARM 프로세서에서 익셉션이 어떤 방식으로 동작하는지 소개하기 앞서 익셉션과 관련된 주요 개념을 먼저 소개합니다. 익셉션이란 무엇일까요? 익셉션은 영어로 번역하면, '예외'라는 의미를 지니는데, 소프트웨어를 개발할 때 예외보다는 '예외 처리'란 용어를 자주 사용합니다. '예외(Exception) 처리'란 여러분이 작성한 코드
[Arm프로세서] AAPCS: Armv8: 브랜치와 복귀 명령어 - RET
By Guillermo Austin Kim | 2021년 8월 28일 |
마지막으로 AAPCS와 연관된 명령어로 RET 에 대해 알아봅시다. 다음은 Arm 스팩 문서에서 명시된 RET 명령어에 대한 내용입니다. C6.2.219 RET Return from subroutine branches unconditionally to an address in a register, with a hint that this is a subroutine return.[출처: DDI0487Fc_armv8_arm.pdf] Armv8 아키텍처에서 꼭 알아둬야 할 명령어가 RET입니다. RET는 Return from subroutine의 약자인데, 서브 루틴을 호출한 후 복귀할 주소가 담긴 X30 레지스터의 값을 PC로 로딩하는 역할을 수행합니다. 여기서 X30 레지스터의 값을 PC에 로딩하는 동
[ARM] ARM 프로세서의 전망
By Guillermo Austin Kim | 2020년 9월 22일 |
이번 포스트에서 ARM 프로세서의 전망에 대해서 살펴보겠습니다. ARM 프로세서의 출하량 2000년대 초반까지만 해도 ARM 프로세서는 소형 임베디드 제품군에만 사용된 특화된 CPU 프로세서였습니다. 이제 ARM 프로세서는 고성능 CPU 시장에도 두각을 드러내며 수 많은 IT 기기에 사용되고 있습니다. 현재 ARM 기반 프로세서는 시장에서 얼마나 사용되고 있을까요? ARM 기반 프로세서는 스마트폰 95%, 태블릿 85%, 웨어러블 90%를 점유하고 있습니다. 2016년 기준으로, 750억 개(누적) 이상의 ARM 프로세서가 탑재된 칩이 출하됐습니다. ARM 프로세서는 절전형이면서 고성능 스팩을 만족하므로 인텔 CPU 대비 배터리 용량과 크기가 핵심인 스마트 기기 시장에서 선전하고 있습니다. 또한 A