728x90
728x90

arm 4

ARM 프로세서 동작모드

프로세서가 프로그램 실행할 때 권한을 설정하며 6개의 특권 모드(Privileged Mode)와 1개의 사용자 모드(User Mode)로 총 7개의 동작모드가 존재함. Privileged Mode예외 처리, 시스템 자원에 접근하며, 아래 모드로 구성됨. - SystemOS를 위한 동작모드로 OS 커널 작업을 실행하며, 시스템 자원에 접근이 가능함. 예외 발생 없이 진입하며, User Mode와 동일한 레지스터 셋을 사용함. - Abort명령어, 데이터 메모리 접근에 오류가 발생하면 나오는 Abort 예외 발생 시 진입. 명령어 접근 오류(Pre-fetch abort)는 명령어 Pre-fetch 과정에서 발생하는 오류이며 데이터 접근 오류(Data abort)는 데이터 alignment, 가상 어드레스 변..

ARM에 대한 기초적인 지식

ARM;Advanced RISC Machine여러 회사의 투자를 통해 설립한 회사로 ARM 프로세서 코어를 IP(Intellectual Property;지적 재산권) 형태로 무수히 많은 반도체 제조 회사에 라이센싱함. 32 bit 임베디드 프로세서 시장의 70% 이상 차지하며, 저전력 고성능 퍼포먼스로 휴대용 장치에 많이 사용됨. 16 bit 명령어, Java 코드 가속, DSP 기능, 보안 기능을 제공함. - ARM CoreARM 프로세서의 명령어 셋을 실행가능한 HW로 이를 ARM 코어의 HW 구조를 ARM 구조라고도 함. ARM 시스템 코어가 구조와 성능 결정함. 하드 매크로 셀과 합성 가능한 코어로 제공. 하드 매크로 셀;Hard Macrocell(레이아웃 수준 설계, 설계 변경 불능, 코어 크기..

ARM 레지스터

일반 목적 30개PC(Program Counter) 1개상태 레지스터 6개(CPSR 1 + SPSR 5) CPSR : 현재 프로세서 상태를 저장, 모든 모드들이 공용으로 사용SPSR : 모드 변경 시 이전 모드의 상태값 저장, 예외 모드에 하나씩 주어짐 특수 레지스터 #Stack Point(SP) - 프로그램의 스택 위치를 저장하는 레지스터- ARM은 모드별 스택을 따로 사용해 모드별로 SP 필요 #Link Register(LR) - 서브루틴으로 분기할 때 되돌아 올 주소를 저장하기 위한 레지스터- 모드별로 할당 #Program Counter(PC) - 프로그램의 위치를 저장- 하나만 존재해 모든 모드가 공용 사용 상태 레지스터 - ARM의 상태를 저장하기 위한 레지스터 (CPSR 1개 + SPSR 5개..

System] ARM Exception

ARM Exception ## Exception 외부에서 발생한 인터럽트나 알 수 없는 명령어가 실행되는 것처럼 오류 발생 시 사건을 처리하는 것 프로그램 실행->예외 발생->예외 모드 전환->예외 모드->예외 처리->프로그램 복귀 # 종류 Reset, Data Abort, Undefined Instructions, IRQ(Normal interrupt), Software Interrupt(SWI), FIQ(Fast interrupt), Prefetch Abort ## Exception Vector 에외가 발생하면 실행하던 프로그램을 멈추고 지정된 주소로 분기하기 위해 지정된 주소 ## 예외 처리 1. r14_ = 복귀 주소2. SPSR_ = CPSR3. CPSR[4:0] = 예외 모드 번호4. CPSR..

728x90