ARM core UNIT 03 로봇 SW 교육원 조용수
학습 목표 PIC, AVR, 8051 ARM 이란 ? ARM 특징 ARM and Thumb ARM Cortex-M0 Interrupt Vector 2
PIC, AVR,
CPU 프로그램을 기억장치에서 읽어서 연산, 비교, 변환 등의 작업을 처리 –Register : 데이터를 임시 저장하기 위한 메모리 특수 목적 (PC,LP, SP 등 ) 으로 사용하기도 함. – 연산장치 – 제어장치 : 데이터 흐름제어 –Bus 4
SOC (System On Chip) 다양한 목적에 맞춰서 필요한 기능을 하나의 Chip 에 구현한 반도체 CPU 및 Memory, IO Device, Network Device 등 필 요한 기능을 포함 5
Fabless Company 반도체 칩을 구현하는 하드웨어 소자의 설계와 판 매를 전문화한 회사이다 반도체 칩 하드웨어 Foundry ( 파운드리 ) : 반도체 제조과정만을 전담하 는 위탁 생산업체 –TSMC, 삼성, IBM 등 6
ARM 이란 ? Advanced RISC Machine Ltd 년 설립 ( 영국 ) Acorn 컴퓨터와 애플, VLSI 테크놀로지의 조인트 벤처로 설립 CPU 설계, 제조, 라이선스 ARM Core 문서, Compiler 및 개발 도구 제공 7
ARM 특징 32bit RISC Processor CPU 로서 Instruction Set 이 간단 32Bit 명령어인 ARM 명령과 16 bit 명령어인 Thumb 명령어를 제공 전력 소모가 적음 SOC 용 지적 재산 (IP) 를 제공 - 다양한 업체에서 CPU 를 라이센싱 하여 생산 - 사용자 특화된 Chip 을 생산할 수 있게 됨 8
ARM 특징 9
ARM 아키텍처 –V4 : 32Bit 동작, ARM/Thumb 명령어 포함 –V5 : DSP 명령 지원, Jazelle ( 자바 명령어 에 대한 하 드웨어 가속 ) 지원 –V6 : 기능 개선 및 멀티미디어 명령어 관련 지원 강화 –V7 : NEON 등 고속 동작에 적합하도록 설계 ARM 프로세서 –ARM 프로세서는 ARM7, AR720T, ARM920 등 많은 프로세서 코어를 공급한다. 최근에는 ARM v7 을 기반 으로 하는 Cortex-A,R,M 시리즈를 제공한다. 10
ARM 특징 11
ARM 동작 모드 프로세서 권한에 따라서 다수의 동작 모드. –User Mode –IRQ/FIQ Mode –SVC Mode – 기타 Exception 관련 Mode 모드의 전환은 Exception 에 의해서 변경 되며, 각 모드 별로 레지스터 셋이 존재한다. 모드 전환 후 공통으로 사용되는 레지스터는 스텍 에 저장 한 후 예외 처리를 진행해야 하며, 처리 후 기존 모드로 돌아가기 전 레지스터를 복원해야 한다. 12
ARM 레지스터 32bit 길이의 40 개의 레지스터 포함 – 데이터 연산용 : 32 개 – 프로그램 제어용 : 1 개 – 상태 표시 : 7 개 각 모드 별로 최대 16 개의 레지스터 사용 가능 xPSR : Program Status Register 13
ARM Instruction Set 명령어 개수를 최소화 하여 시스템을 작고 빠르게 함 명령어 길이가 고정되어 해독이 쉽고 파이프 라인 구성이 쉽다. 기억장치에 대한 접근은 Load, Store 명령에 국한 Load/Store 를 제외한 모든 연산은 한 사이클에 처 리 14
ARM Instruction Set ARM 명령어는 Condition Field 에 따 라서 명령어의 조건 이 추가가 된다. 따라서 같은 명령어 라도 여러 가지 조건 을 처리할 수 있다. –ADD r0, r1, r2 : r0 = r1 + r2 –ADDEQ r0, r1, r2 : Zero Flag 가 세팅된 경우 만 r0 = r1+r2 15
Thumb Instruction Set 메모리 용량을 효율적으로 사용하기 위하여 16Bit Instruction Set 을 제공 ~65% 코드 사이즈가 줄어듬 제한된 명령어로 단점이 존재 -> Thumb2 16
ARM Cortex 2000 년 중반 이후 다양한 환경을 지원하기 위하여 상황에 맞는 코어를 개발하여 지원 – 애플리케이션 프로세서 : A 스마트 폰을 비롯한 고성능 시스템을 목표 (Cortext-A12) Cortex-A8 : iPhone 3GS(S3PC100) – 리얼타임 프로세서 : R – 마이크로 컨트롤러 : M 17
ARM Cortex-A ARM Core 중 고성능 환경에 적합하도록 개발 스마트폰, 모바일 컴퓨팅, 영상 처리 에 필요한 성 능과 기능을 제공 Cortex-A57, A53 의 경우 64bit 처리를 지원 18
ARM Cortex-A ARM Core 를 사용한 모바일 프로세서 – 삼성 : 엑시노스 : 아이폰 3GS 와 겔럭시 시리즈 등에서 사용 – 애플 : A 시리즈 : 아이폰 4 이후 사용된 프로세서로서, ARM 라이선스를 받아서 커스텀 하여 사용 – 퀄컴 : 스넵 드레곤 : 통신칩과 원칩으로 생산되어 사용됨 –nVIDIA : Tegra – 락칩 – 미디어텍 –Allwinner 19
ARM Cortex-M ARM 명령어를 제거하고, Thumb/Thumb2 명령어 만 사용 전력 소모와 메모리 효율성 증가 NVIC 인터럽트 구조 채택으로 인터럽트 처리 시간 단축 20