EXCEPTION
Posts
30 posts[ARM프로세서] 익셉션(Exception) 관련 코드는 어디에 구현됐을까?
많은 소프트웨어 개발자는 예제 코드를 보면서 새로운 기능이나 개념을 배우는데, 이는 가장 효율적인 학습 방법 중 하나입니다. 대부분 코드의 구현부는 물론이고 사용 예시까지 분석합니다. 그런데 여러분들은 이전 절에서 설명된 익셉션의 구현 원리를 읽은 후 익셉션과 관련된 코드의 구현부가 무엇인지 의문을 품어 본 적이 있나요? 이번 절에서는 익셉션과 관련된 코드의 구현부에 대해서 살펴보겠습니다. 익셉션과 관련된 코드는 무엇일까 익셉션과 같은 ARM의 주요 기능을 공부할 때, 스스로 다음과 같이 질문을 던지면서 분석하면 더 많은 내용을 얻을 수 있습니다. ❑ 첫째, 해당 기능은 왜 알아야 할까? ❑ 둘째, 해당 기능은 어떤 코드로 구현됐을까? 다음 그림을 보면서 익셉션
[ARM프로세서] 아키테처 관점으로 익셉션(Exception)이란
ARM 아키텍처를 이루는 프로그래머 모델 중에서 익셉션은 가장 중요한 기능 중 하나입니다.운영제체의 커널은 ARM 아키텍처의 익셉션을 활용해 주요 서브 시스템을 구현하기 때문입니다. 또한 실전 프로젝트에서 만나는 다양한 문제를 해결하기 위해서 반드시 알아야 기반 지식입니다. 익셉션은 CPU 아키텍처마다 지원하는 기능으로, x86, MIPS, ARM 아키텍처의 핵심 기능 중 하나입니다. ARM 프로세서에서 익셉션이 어떤 방식으로 동작하는지 소개하기 앞서 익셉션과 관련된 주요 개념을 먼저 소개합니다. 익셉션이란 무엇일까요? 익셉션은 영어로 번역하면, '예외'라는 의미를 지니는데, 소프트웨어를 개발할 때 예외보다는 '예외 처리'란 용어를 자주 사용합니다. '예외(Exception) 처리'란 여러분이 작성한 코드
[ARM] 익셉션(Exception)이란
ARM 프로세서는 익셉션을 지원하며 운영체제의 ARM 프로세서가 지원하는 익셉션을 활용해 세부 기능을 구현합니다. 익셉션의 타입에 대해 알아보고 익셉션의 세부 동작에 대해 살펴보겠습니다. ARMv7과 ARMv8 아키텍처 별로 익셉션 벡터 테이블의 종류가 상이하지만, 익셉션이 동작하는 방식은 유사하므로 ARMv7 아키텍처 기준으로 익셉션에 대해 소개합니다. 익셉션의 종류 익셉션의 세부 동작에 대해 설명드리기 전에 먼저 익셉션의 타입에 대해 알아봅시다. 다음은 ARM의 익셉션의 종류입니다. 표 1.3 익셉션의 타입과 종류 먼저 메모리 어보트 타입으로 분류되는 익셉션에 대해 살펴봅시다. 다음은 메모리 어보트 타입으로 분류되는 익셉션입니다. ❑ Undefined Instruction:
[RISC-V] 익셉션 벡터 핸들러 코드 산책 - 리눅스 커널
이번 시간에는 RISC-V 기반 리눅스 커널에 구현된 익셉션 벡터 테이블과 익셉션 벡터 핸들러를 분석하겠습니다. 익셉션 벡터 핸들러를 호출하는 코드 확인하기 다음은 익셉션 벡터 핸들러의 구현부입니다. RISCV_PTR do_trap_insn_misaligned RISCV_PTR do_trap_insn_fault RISCV_PTR do_trap_insn_illegal RISCV_PTR do_trap_break RISCV_PTR do_trap_load_misaligned RISCV_PTR do_trap_load_fault RISCV_PTR do_trap_store_misaligned RISCV_PTR do_trap_store_fault RISCV_PTR do_trap_ecall_u /* system cal


