ARM
Posts
173 posts[ARM] 익셉션이 발생하면 프로세스는 어떻게 동작할까 - ARMv8
이번에는 64비트 기반 ARMv8 아키텍처 기준으로 proc_func_ptr 함수의 코드를 봅시다. 01 ffffff8008106d7c :02 ffffff8008106d7c: d10083ff sub sp, sp, #0x2003 ffffff8008106d80: f90007e0 str x0, [sp,#8]04 ffffff8008106d84: b90017ff str wzr, [sp,#20]05 ffffff8008106d88: f94007e0 ldr x0, [sp,#8]06 ffffff8008106d8c: f9000fe0 str x0, [sp,#24]07 ffffff8008106d90: f9400fe0 ldr x0, [sp
[ARM] 익셉션이 발생하면 프로세스는 어떻게 동작할까 - ARMv7
많은 학생이나 SW 개발자들은 "ARM의 익셉션 벡터 테이블을 열심히 읽어도 잘 모르겠다", 혹은 "무슨 내용인지 와 닿지 않는다"라는 불만을 토로합니다. 또한 "ARM 익셉션의 개념이 어렵다"라고 말하기도 합니다. 그 이유에 대해 곰곰히 생각해 봤는데, 소프트웨어 관점으로 익셉션이 무엇인지 분석하지 않았기 때문이라는 결론에 이르게 됐습니다. 여기서 말하는 소프트웨어란 용어는 조금 애매하고 추상적인 의미를 내포하는듯 합니다. 그런데 소프트웨어란 용어를 구체적으로 표현하면 "운영체제의 프로세스"라고 말할 수 있습니다. 소프트웨어 개발자가 입력한 코드는 CPU에 가까운 어셈블리 명령어로 실행되는데, 이를 실행하는 주인공은 프로세스이기 때문입니다. 익셉션이 발생하면 프로세스는 어떻게 동작할까요? 어떤 익셉션
[ARM프로세서] 소프트웨어 관점에서 익셉션(Exception)이란
소프트웨어 입장에서 익셉션이란 무엇일까요? 소프트웨어 입장에서는 익셉션의 종류에 따라 익셉션을 2가지 관점으로 볼 수 있습니다. ❑ 치명적인 오류: 메모리 어보트 타입 익셉션(Prefetch Abort, Data Abort, Undefined Instruction) ❑ 운영체제 커널에서 지원하는 기능: IRQ(인터럽트 서비스 루틴), SW 인터럽트(시스템 콜) 메모리 어보트 타입 익셉션이란 첫 번째, 메모리 어보트 타입 익셉션을 소프트웨어 관점으로 보면, 소프트웨어적으로 치명적인 오류가 발생했다고 볼 수 있습니다. 여기서 말하는 치명적인 오류가 발생하면 시스템이 리셋되는데, 이를 “크래시가 발생했다”라고 말합니다. 프로젝트를 개발하는 도중에 이런 치명적인 오류를 만나
F1 2020 에밀리아로마냐 그랑프리
포르투갈 그랑프리는 여행 관계로 생략했습니다. 시간도 꽤 지나서 다시 흝어볼 가치도 해밀턴의 신기록 외엔 없는 것 같고... 이번주 경기는 이몰라에서 열렸는데, 2000년대 중반 이후로 처음이죠. 캘린더에 영구 정착할 가망은 없습니다만, 코로나19 덕분에 신기한 로케이션을 여기저기 가고 있습니다. '에밀리아로마냐'는 이몰라가 있는 주 이름입니다. 볼로냐, 모데나 등의 대도시가 있고 뭐 실질적으로 페라리의 홈입니다. 몬자, 무젤로에 이어 올해 세번째 페라리 홈경기라 할 수 있는데, 몬자는 페라리보다 오래된 트랙이지만, 무젤로는 페라리의 테스트 트랙이고(포뮬러1은 여태껏 간 적 없고 주로 모토GP만 하지만)입니다. 이몰라는 더한데, 아예 트랙 이름이 '오토드로모 인터내지오날레 엔초 에 디노



