본문 바로가기
코스웨어/15년 스마트컨트롤러

20151126-김재홍-ARM_Assembly_1일차

by 알 수 없는 사용자 2015. 11. 26.
728x90
반응형

/***ARM_Assembly_1일차***/


embedded recipes 107_Page

Barrel Shifter


시프트(비트를 옆으로 이동시키는 연산) 전용회로 배럴쉬프터

일종의 Shift 가속기입니다.


ARM    Advanced RISC Machine

어째서 ARM은 저전력이고?

어째서 Embedded system에 적합한 고성능 Processor인가?


Micro Processor는 흔히들 

CISC(Complex Instruction Set Computer)와 RISC(Reduced Instruction Set Computer)로 나누는데 ARM은 이 중에 RISC범주에 속합니다.

CISC는 많은 수의 명령어와, 데이터 형태, 그리고 Addressing 기법들을 모두 채택하고 있습니다. 그렇기 때문에, Chip의 크기가 크며, 명령어가 복잡하고, 

Chip이 복잡하게 생겼습니다. 그러다 보니, 이런 많은 양의 기능을 단순화해서, 많이 사용되는 명령어, 데이터 형태, Addressing기법 등만을 모아 

단순한 Micro processor를 만든 것이 바로 RISC입니다.

RISC Microprocessor는 명령어 길이가 고정되어 있고, 그 종류가 많지 않고, 적은 수의 Addressing 기법이 그 특징입니다. 그러다 보니, 

자연스레 Chip의 복잡도가 단순해지고, 크기도 작아지고, 전력소비도 줄어들게 된 것입니다.



embedded recipes 112_Page


ARM의 7가지 동작 Modes


SVC :    Supervisor

USR :    User

SYS :    System

ABT :    Abort

IRQ :    Interrupt Request

FIQ :    Fast Interrupt Request

UND :   Undefined Instruction


실행 Mode를 잘 살펴 보면 User Mode는 표준 사용자 mode라고 부르며,

나머지 6개 Mode는 Privileged mode라고 분류됩니다.

이런 mode 자체가 운영체제를 염두해두고 만듦니다.



embedded recipes 116_Page


ARM Register와 Context

ARM Core는 총 37개의 register를 가지고 있습니다.

R0~R15까지 16개 +

CPSR 1개 +

FIQR8~R14 + SPSR해서 8개 +

SVCR13, R14, SPSR 3개 +

AbortR13, R14, SPSR 3개 +

IRQR13, R14, SPSR 3개 +

UNDR13, R14, SPSR 3개 를 다 더해서

37개의 레지스터를 가지고 있습니다.





728x90