정보기술(84)
-
ARM Core - 4. ARM 프로세서의 운영 모드 및 시스템 프로그래밍 (2. ARM 예외 처리 및 보안 기능 가이드)
2. ARM 예외 처리 및 보안 기능 가이드1. ARMv8/v9의 새로운 예외 처리 모델ARM 아키텍처에서 예외(Exception)가 발생하면 현재 실행 중인 코드의 흐름이 중단되고, 예외 처리 루틴이 실행된다.1) 예외 유형 및 처리 방식 (AArch64 기준) 예외 유형 설명 진입 Exception LevelSynchronous Exception명령어 실행 오류(Undefined Instruction) 또는 시스템 콜(SVC) 발생EL1~EL3IRQ (Interrupt Request)일반 인터럽트 요청EL1, EL2FIQ (Fast Interrupt Request)빠른 인터럽트 요청EL1, EL2SError (System Error)하드웨어 장애(메모리 오류, 버스 오류)EL1~EL32) 예외 처리 ..
2025.03.07 -
ARM Core - 4. ARM 프로세서의 운영 모드 및 시스템 프로그래밍 (1. ARM의 실행 모드 가이드)
운영 모드와 예외 처리, 시스템 초기화 과정을 학습한다. 1. ARM의 실행 모드 가이드1. ARM의 주요 실행 모드 (AArch32 기준)AArch32 모드(ARMv7 및 ARMv8의 32비트 실행 모드)에서는 총 7가지 실행 모드가 있으며, 각각의 모드는 특정한 역할을 수행한다. 실행 모드 설명User 모드일반적인 애플리케이션 코드 실행 (권한 제한)FIQ 모드빠른 인터럽트 처리 (Fast Interrupt Request)IRQ 모드일반 인터럽트 처리 (Interrupt Request)Supervisor 모드OS 커널 실행 (권한 상승 가능)Abort 모드메모리 접근 오류 발생 시 실행Undefined 모드정의되지 않은 명령어 실행 시 진입System 모드User 모드와 유사하지만, 권한이 높은 실행..
2025.03.07 -
ARM Core - 3. ARM Assembly 프로그래밍 기초 (2. ARM 어셈블리 기본 명령어 및 최적화)
2. ARM 어셈블리 기본 명령어 및 최적화1. 데이터 이동 명령어 (MOV, LDR, STR)1) MOV (Move) - 레지스터 간 데이터 이동MOV 명령어는 즉시값(Immediate Value) 또는 레지스터 값을 다른 레지스터에 복사한다.예제: MOV 사용MOV R0, #10 ; R0에 10 저장MOV R1, R0 ; R1 = R0MOV R0, #10 → R0에 즉시값 10을 저장MOV R1, R0 → R0 값을 R1으로 복사2) LDR (Load) - 메모리에서 데이터 로드LDR 명령어는 메모리에서 값을 읽어 레지스터에 저장한다.예제: LDR 사용LDR R0, =0x1000 ; R0에 주소 0x1000을 저장LDR R1, [R0] ; R1 = *R0 (메모리에서 값 로드..
2025.03.07 -
ARM Core - 3. ARM Assembly 프로그래밍 기초 (1. ARM Assembly 환경 설정 가이드)
1. ARM Assembly 환경 설정 가이드1. 크로스 컴파일러 설정 및 사용법 (GNU ARM Toolchain, QEMU)1) 크로스 컴파일러란?크로스 컴파일러(Cross Compiler)는 개발 환경(PC)에서 타겟 시스템(ARM)에 맞는 바이너리를 생성하는 컴파일러이다. x86/x86_64 기반의 개발 환경에서 ARM용 실행 파일을 만들려면 크로스 컴파일러가 필요하다.2) GNU ARM Toolchain 설치 및 설정Ubuntu/Debian 환경sudo apt updatesudo apt install gcc-arm-none-eabi gdb-multiarchMac 환경 (Homebrew 사용)brew tap ArmMbed/homebrew-formulaebrew install arm-none-eab..
2025.03.07 -
ARM Core - 2. ARM 아키텍처 및 내부 구조 (4. ARM 최적화 컴파일러 기술)
4. ARM 최적화 컴파일러 기술ARM 아키텍처의 성능을 극대화하기 위해서는 컴파일러의 최적화 기능을 효과적으로 활용하는 것이 중요하다. ARM을 지원하는 대표적인 컴파일러인 LLVM(Clang)과 GCC(GNU Compiler Collection)는 지속적으로 ARM 아키텍처에 대한 최적화 기술을 개선하고 있으며, 각각 독자적인 최적화 기법과 백엔드 기술을 적용하여 실행 성능을 향상시키고 있다.1. ARM 최적화 컴파일러 개요현재 ARM을 지원하는 주요 컴파일러는 다음과 같다. 컴파일러 설명LLVM (Clang)최신 최적화 기법을 지원하는 모듈형 컴파일러GCC (GNU Compiler Collection)오픈소스 기반의 안정적인 ARM 지원 컴파일러ARM Compiler (ARMCC)ARM에서 제공하..
2025.03.07 -
ARM Core - 2. ARM 아키텍처 및 내부 구조 (3. ARM 명령어 집합(ISA) 및 SIMD 기술)
3. ARM 명령어 집합(ISA) 및 SIMD 기술ARM 아키텍처는 RISC(Reduced Instruction Set Computing) 기반으로 설계되었으며, 실행 속도를 최적화하기 위해 단순하고 효율적인 명령어 집합(Instruction Set Architecture, ISA)을 제공한다. ARM 명령어 집합은 ARM(32비트), Thumb(16비트), Thumb-2(16/32비트 혼합), AArch64(64비트)로 구성되며, 최신 SIMD(Neon) 및 확장 벡터 연산(SVE) 기술을 활용하여 AI, 머신러닝, 멀티미디어 및 신호 처리에 최적화되어 있다.1. ARM 명령어 집합(ISA)의 종류1) ARM(32비트) 명령어고정된 32비트 명령어 형식 사용로드/스토어 방식으로 메모리 접근을 최소화하여..
2025.03.07