Arm프로세서와 Arm아키텍쳐

2023. 8. 9. 22:57·Linux
728x90

시스템 소프트웨어 개발

-페키징

-브링업

-특성 평가

-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로 설정함

728x90

'Linux' 카테고리의 다른 글

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

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    커밋 아이디
    순환
    파일 입출력
    rubikpi3
    버퍼
    이진 트리
    매개변수 포인터
    rubik pi 3
    포인터
    피보나치
    Batch OS
    그래서 컴퓨터는 어떻게 동작하나요?
    Branch
    원형 덱 구현
    Git
    yolo
    스택
    커널
    동적 배열 스택
    동적메모리
    루빅보드
    가상 주소 공간
    c언어
    commit
    자료구조
    소수
    파이썬
    INIT
    C++
    백준
  • 최근 댓글

  • 최근 글

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

티스토리툴바