Arm프로세서와 Arm아키텍쳐

2023. 8. 9. 22:57·Linux

시스템 소프트웨어 개발

-페키징

-브링업

-특성 평가

-BSP개발

-System integration

-Stress Test

 

시스템 반도체 핵심은 Arm프로세서

 

Arm사는 라이센스 비지니스

-파운드리에서는 SoC와 같은 시스템 반도체가 양산

-주요 IP에 대한 라이센스 판매

 

IP?

-지적 재산권의 약자로, 재사용 가능하도록 기능을 모듈화해 설계한 Core Design

-Digital IP / Mixed IP

 

---

Arm프로세서는 왜 배워야 하는가?

 

시스템 반도체(전기 자동차)의 핵심 부품

-대다수 시스템 반도체는 Arm프로세서를 탑재

-인포테인먼트(90%이상) 자율 주행(ADAS 50%이상)

 

IoT 및 임베디드 장치에서 많이 쓰임

-휴대폰 및 디지탈 TV에서 95%이상

-VR/AR 디바이스에서 사용

 

Arm사에서 제공하는 다양한 IP사용해 시스템 구축

-generic interrupt controller

-i/o mmu

 

RTOS나 리눅스 커널을 이루는 주요 서브시스템의 핵심 동작은 Arm아키텍쳐에 의존적임

-컨텍스트 스위칭

-시그널

-시스템 콜

-메모리 관리

 

Arm아키텍쳐의 기본 동작 원리를 모르면 RTOS나 리눅스 커널의 세부 동작을 제대로 이해하지 못할 지도

-범용 레지스터

-익셉션 레벨

-익셉션 벡터 핸들러

 

리눅스를 VM으로 사용하는 하이퍼바이저 환경에서 Arm아키텍쳐의 이해는 필수임

-Guset OS(커널)

 

---

Arm 사 소개

-Advanced Risc Machine : RISC구조

-SoC전체 IP로 사업 확대

-임베디드 분야 대부분의 SoC회사에서 사용됨

 

x86과는 달리 적은 양의 트랜지스터로 설계된 아키텍쳐 개발 -> 저전력 마이크로컨트롤러 시장에서 두각

 

2010년 이후 모바일 시장 석권

---

Arm 프로세서 패밀리

Cortex-A시리즈
    -모바일에서 서버용 컴퓨터까지 다양한 플랫폼에서 사용
    -어느 정도 성능을 만족해야하는 임베디드 기기(스마트폰, TV)에서 주로 사용


Cortex-R시리즈
    -Real-time Processor 차량(자율주행), 무기 같은 실시간 처리를 위한 코어
    -RTOS에서 MPU(메모리 보호 유닛)이나 TCM(타잇 커플드 메모리)와 같이 신뢰성을 보장하는 장치
    -Cortex-A보다 낮은 성능


Cortex-M시리즈
    -MCU를 위한 라인업, 저전력
    -32비트급 MCU코어가 주력인 Cortex-M이 MCU시장에서 주도적 위치임

Arm프로세서를 SW적인 관점에서 바라보는 것을 -> Arm아키텍쳐
어셈블리 명령어를 실행 : Arm아키텍쳐
일반적인 개발에서 크래시 = Arm아키텍쳐에서는 익셉션

Armv6, Armv7
    -Armv6: ARM11제품군으로 SIMD(하나의 명령어로 여러 데이타 계산) / TrustZone사용됨
    -Armv7: Cortex제품 군, 2회의 대규모 확장(멀티코어 지원, 가상화 및 LPAE지원)

Armv8
    -64비트 동작모드 지원(32비트 호환)
    -모바일 시장 강화, 서버 시장 진출
    -저전력 / 고효율

Armv8 아키텍처 시리즈 프로세서
    -CortexA53, CortexA57, CortexA72
    -전기자동차(인포테인먼트, 자율 주행)
    -대부분 휴대폰, 디지털 TV

 

---

익셉션 레벨 : Arm 아키텍쳐에서 프로세서의 권한 수준을 나타내는 데 사용되는 개념

    -익셉션 레벨은 privilege level과 비례
    -동작 모드에서 확장된 개념
    -EL0~EL3
    -SW스택이 EL별로 구성됨

EL0
    -User모드에 해당되며, 유저 애플리케이션이 실행됨
    -시스템콜을 통해서 EL1로 진입

EL1
    -Supervisor모드에 해당, 리눅스 커널이나 드라이버가 실행됨
    -하이퍼바이저 콜 익셉션을 통해 EL2로 진입

EL2
    -하이퍼바이저가 동작하는 모드
    -Guest OS에 대한 하드웨어 리소스를 관리함

EL3
    -모니터 모드로 시큐어 월드의 진입점
    -보통 부트 시퀀스에서 가장 먼저 EL3로 설정함

'Linux' 카테고리의 다른 글

Rootfs와 Kernel 빌드 (feat Makefile)  (0) 2025.07.21
Linux개발 환경  (4) 2025.07.17
Arm 어셈블리 명령어 간단 소개  (0) 2023.08.10
프로젝트 단계 별 시스템 소프트웨어 개발 과정 정리  (0) 2023.08.09
시스템 소프트웨어 분야 동향 정리  (0) 2023.08.09
'Linux' 카테고리의 다른 글
  • Linux개발 환경
  • Arm 어셈블리 명령어 간단 소개
  • 프로젝트 단계 별 시스템 소프트웨어 개발 과정 정리
  • 시스템 소프트웨어 분야 동향 정리
Jminu
Jminu
  • Jminu
    뇌 구조가 바이너리
    Jminu
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • ARM arch
        • Cortex-M
        • FreeRTOS
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Qualcomm 기업과제
      • Linux
      • Web
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    앤드류모튼
    동적메모리
    c언어
    스택
    드라이버 분석
    커널
    커널 기여
    Git
    Qualcomm
    파이썬
    파일 입출력
    Branch
    rubik pi
    리눅스
    시스템콜
    rubikpi3
    소수
    토발즈
    백준
    포인터
    자료구조
    INIT
    순환
    버퍼
    yolo
    commit
    이진 트리
    C++
    피보나치
    arm
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Jminu
Arm프로세서와 Arm아키텍쳐
상단으로

티스토리툴바