Arm의 비즈니스 모델
2023. 11. 27. 01:10ㆍArmv8-A 아키텍처
728x90
반응형
Arm 아키텍처 개요
시스템 반도체 개발 과정
스펙 확정
RTL 설계(벨릴로그)
합성 + 검증
▶코드 프리즈
FPGA 검증
Back-End 개발
▶DB Out
공정개발
Wafer 작업
▶Sample out
페키징
브링업
특성 평가
BSP 개발
System Integration
Stress Test
Arm사는 라이선스 비즈니스
- 파운드리에서 SoC와 같은 시스템 반도체가 양산
- 주요 IP에 대한 라이선스 판매
IP란
- Intellectual Property의 약자로 재사용 가능하도록 기능을 모듈화해 설계한 Core Design
- Digital IP/Mixed IP
Cortex-A
- 리눅스처럼 복잡도가 높은 운영체제를 실행
- 높은 성능이 요구되는 스마트폰, 넷북, 디지털 TV 등의 제품에 사용
Cortex-R
- 실시간 요구사항을 충족하는 RTOS를 실행
- 실시간 응답이 요구되는 통신 모뎀, 산업용 마이크로컨트롤러 등의 제품에 사용
Cortex-M
- 주로 베어메탈 RTOS를 실행
- 낮은 전력 소모와 저렴한 가격의 마이크로컨트롤러를 제작
Arm 아키텍처
- Arm 프로세서를 소프트웨어 관점으로 바라 봄
- 아키텍처는 Arm 프로세서를 설계하는 디자인을 의미하며, 프로그래머 모델
- Arm 아키텍처는 레지스터, 메모리 구조, Arm 어셈블러 명령어, 함수 호출 규약과 같이 소프트웨어 개발자가 알아야 하는 주요 기능
Arm 프로세서
- Arm 프로세서는 용어 그대로 디바이스를 뜻함
- Arm 프로세서는 Arm 아키텍처에 의존적이며 같은 아키텍처 버전 기반의 Arm 프로세서들은 같은 명령어를 사용
Architecture | Arm Core |
Armv7-A | Cortex-A7 |
Arm Architectur Reference
https://developer.arm.com/documentation/ddi0487/latest/
Documentation – Arm Developer
developer.arm.com
학습 방법
보드 브링업
- 부트로더에서 "스타트업 코드"를 작성 - 어셈블리어 명령어로 구성돼 있음
- 메모리나 캐시와 같은 시스템을 자원을 초기화
- 키보드나 USB 같은 주변 장치 초기화
스타트업 코드는 왜 어셈블리 명령어로 구성돼 있을까?
스택이 초기화돼 있어야 C, C++ 함수를 호출할 수 있음.
리눅스 커널 RTOS을 깊이 있게 이해하는 방법
리눅스 커널이나 RTOS를 구성하는 세부 서브시스템의 핵심 루틴은 Arm 어셈블리 명령어로 구현돼 있다.
- 인터럽트 핸틀러
- 컨텍스트 스위칭
- 선점 스케줄링
- 시스템 콜 핸들러를 호출하는 루틴
Arm 아키텍처 공부 방법
- 디버깅 하면서 어셈블러 명령어 익히기 - GDB 프로그램 통한 어셈블리 명령어 실습
- 운영체제 기본 원리와 Arm 아키텍처 공부
참고사이트:
https://en.wikipedia.org/wiki/ARM_architecture_family
ARM architecture family - Wikipedia
EmbeddedmicrocontrollersCortex-M0 Cypress PSoC 4000, 4100, 4100M, 4200, 4200DS, 4200L, 4200M Infineon XMC1000 Nordic nRF51 NXP LPC1100, LPC1200 nuvoTon NuMicro Sonix SN32F700 STMicroelectronics STM32 F0 Toshiba TX00 Vorago VA108x0 Cortex-M0+ Cypress PSoC 4
en.wikipedia.org
https://blog.naver.com/leeinje66/221574967243
ARM Architecture, ARM Cortex란?
Advanced RISC Machine 개요 ARM은 Advanced RISC Machine의 약자로 RISC 기반의 컴퓨...
blog.naver.com
반응형