ARM processor의 종류

Download Report

Transcript ARM processor의 종류

ARM Processor 개요
마이크로 프로세서
(Micro Processor)
2015년 2학기
충북대학교 전자공학과
박 찬식
http://gnc.chungbuk.ac.kr
[email protected]
교육관 325호, T. 3259
1
Course Organization


마이크로프로세서와 내장형 프로세서
ARM 프로세서
 ARM
프로세서 개요
 ARM 프로세서의 종류
 명령어 집합 (Instruction Set)
 The Thumb-2 Instruction Set Architecture
(ISA)
2
마이크로프로세서의 발전

4004 from Intel at 1971
 4bit,

2,300Transistors
Moore’s Law
3
내장형프로세서

Embedded Processor
 Special
purpose
 Microcontroller
 Smart
devices
 14M
@2011
 500M @2020
4
ARM processor 개요

ARM: Advance RISC Machine
 32bit

ARM partnership
5
ARM processor의 종류
6
Cortex-A: Application processor


Linux, Android, Chrome OS, Tizen, Microsoft Windows 등
복잡한 OS를 구동
 MMU(Memory Management Unit)를 내장
주로 스마트 폰, 디지털 TV, 개인 항법 장치 등에 사용
7
Cortex-R: Real-time processor
Cortex-M: Mobile processor


Cortex-R: 실시간 요구가 강한 응용에 최적화
 노트북, 패드, 하드 디스크 등의 응용
Cortex-M: 저전력 내장 프로세서로 최적화
 지능형 장난감, 자동차 제어, 모터 제어, IOT 등의 응용
8
Cortex Applications
9
Cortex Market

판매량
 1993년부터 2013까지 누적 수량 500억개 이상 판매
 최근에 급격한 증가세, 2013년 100억개 이상 판매
10
ARM processor의 종류

구조에 따라 분류




가장 대중적인 성공을 거둔
모델은 ARMv4T 구조를
사용한 ARM7TDMI
최근 스마트 폰에서 가장
많이 사용되는 모델은
ARMv6 구조를 사용한
ARM1176TZ(F)-S
ARMv7 부터는
A(Application), R(Realtime),
M(Microcontroller) profile로
구분
Cortex-M3는 ARMv7-M
11
ARM processor naming

ARM7TDMI












T: Thumb instruction 지원,
D: JTAG debugging 지원,
M: fast multiplier,
I: ICE 모듈의 내장
T2: Thumb-2,
S는 Synthesizable code,
E: Enhanced DSP instruction set,
J: Jazelle를 이용한 JAVA 지원,
Z: TrustZone,
F: Floating point unit,
H: Handshake, clockless design for
synchronous or asynchronous design
이후 version



26/36: 캐쉬와 MMU 내장
46: MPU 내장
…
12
ARM processor 기능 발전
13
Instruction Set


ARM instruction: 32bit
Thumb instruction: 16bit


높은 code density, 높은 메모리 효율성
Thums-2: 16/32bit
14
Thumb-2 ISA


Thumb instruction set의 확장
 기존 32bit 지원: Thumb  ARM으로 상태 변경
 Thumb-2: Thumb 상태에서 처리 가능
 코드 밀집도와 성능향상 제공
Cortex-M3
 Thumb-2만 지원, ARM instruction은 지원하지 않음
 ARM 명령어로 작성된 코드가 Cortex-M3에서 수행되지 않음

NOT Backward compatible
15
ARM7 vs Cortex-M3

Performance
Code size
16