ARM은 회사 이름이기도 하고 x86와 같은 CPU 아키텍처의 이름입니다.
이번 절에서는 ARM의 역사에 대해 소개합니다. ARM사는 에이콘에서 유래됐는데요. 아래 순서로 ARM의 역사에 대해서 살펴보겠습니다.
● 에이콘의 설립
● 조인트 벤처로 ARM사의 탄생
● 2010년 모바일 시장 석권
에이콘의 설립
1978년 영국 캠브리지에서 크리스 커리와 헤르만 하우저가 에이콘 컴퓨터라는 회사를 세웁니다. 마이크로프로세서 기반의 시스템을 개발하는 것이 주된 미션인데 6502 프로세서를 탑재해 컴퓨터 시스템을 개발합니다.
'에이콘'사는 컴퓨터 제품을 꾸준히 개발했는데, 1983년 'BBC 마이크로'란 프로젝트로 '에이콘'은 입지를 다지게 됩니다. 'BBC 마이크로'는 프로젝트 닉네임으로 컴퓨터 제품인데 영국의 방송 공사인 BBC가 컴퓨터 문맹 퇴치 프로그램으로 시작된 프로젝트에 채택됐습니다. 1984년 에이콘은 'BBC 마이크로'를 통해 영국 학교에 80%에 육박하는 컴퓨터를 보급하게 됩니다.
BBC 마이크로 프로젝트까지 에이콘은 6502 프로세서를 활용했는데, 1980년 중반에 이르러 에이콘사는 한계에 직면합니다. 컴퓨터 시장에는 그래픽 기반 환경 기반의 제품이 출시됐는데 에이콘 사는 6502 프로세서로 컴퓨터의 그래픽 환경을 지원하기 어려운 상황이었습니다. 그래서 아예 새로운 프로세서를 설계하기로 결심하고 개발에 착수했는데, 1985년에 RISC 기반 프로세서인 ARM1 프로세서가 탄생됩니다.
ARM 사의 설립
1990년 초반, 에이콘의 파트너인 VLSI는 ARM 프로세서를 위한 새로운 시스템을 찾고 있었고, 애플의 첨단 기술 그룹(ATG)는 에이콘과 접촉해 뉴턴 프로젝트를 위해 ARM 프로세서를 연구하기 시작했습니다.
에이콘 사는 뉴턴 프로젝트에 탑재될 마이크로프로세서를 개발하기 위해 애플과 VLSI Technology와의 조인트 벤처를 설립합니다. 회사의 이름은 ARM(Advanced RISC Machine)으로 지었는데 주로 적절한 전력을 소모하는 저전력 위주의 SoC(System-on-chip) 타입의 CPU 설계에 집중하게 됩니다.
ARM이 설립된 시점에 마이크로프로세서 시장의 강자는 인텔의 x86인데, x86 프로세서를 성능을 키우기 위한 방식으로 발전시켜 나갔습니다. 대신 ARM사는 x86과는 달리 적은 양의 트렌지스터로 설계된 아키텍처를 개발했는데 저전력 마이크로컨트롤러 시장에서 ARM 사는 두각을 나타냅니다.
ARM사는 지속적으로 ARM9, ARM10, ARM11 프로세서를 설계해 CPU 구조를 계속 발전시키면서 시장 영역을 소형 임베디드 디바이스인 모바일 단말, PDA로 확대시켜 나갑니다. 2000년대 초반부터 두각을 나타낸 임베디드 리눅스의 열풍을 타고 SoC 계열의 제품이 시장에서 ARM 프로세서가 시장을 석권하게 됐습니다.
2010년 이후 모바일 시장 석권
소형 임베디드 시장에서 자리를 잡던 ARM 프로세서는 2010년 아이폰과 안드로이드와 함께 열린 모바일 시장에서 확고한 위치로 자리잡게 됩니다. 2021년 현재 아이폰과 안드로이드와 같은 모바일 디바이스의 95% 이상 제품에 ARM 프로세서가 탑재된 상황입니다.
이처럼 모바일 시장의 ARM 사가 강자로 우뚝선 이유는 무엇일까요? 먼저 2005년 ARM 프로세서를 3개의 제품군으로 나누고, 각 제품군의 특성에 맞게 발전시킨 것이 가장 큰 이유입니다. ARM 프로세서가 성능을 뛰어나지 않지만 소형 기기에 적은 전력을 소모하는 프로세서로 인식됐던 것이 사실입니다. 그런데 2005년 Cortex-A 시리즈 제품군을 개발하기로 결정하면서 저전력이지만 고성능을 지원하는 프로세서를 개발하기 시작했습니다. 꾸준히 고성능을 지원하는 Cortex-A 시리즈 제품군의 성능과 관련 기능을 개선시켰습니다. 2010년 안드로이드와 아이폰과 같이 범용 운영체제를 지원하는 모바일 폰 시대가 열렸는데, Cortex-A 프로세서가 모바일 시장에서 최적의 성능을 내는 프로세서로 채택됩니다.
2011년에 64비트 명령어를 지원하는 ARMv8 아키텍처를 공개했고, 이어서 고성능 운영체제에서의 전력 소모를 개선하기 위해 ARM은 big.LITTLE 솔루션을 제시하게 됐습니다.
ARM사는 시장의 니즈(Needs)를 충족시키는 기술력을 키우면서 관련 업계의 생태계를 키우는데도 많은 노력을 기울입니다. 즉, ARM 프로세서를 사용할 관련 IT 업체들이 ARM 프로세서를 쉽고 용이하게 쓰도록 환경을 구축했습니다.
더 많은 개발자들이 쉽게 ARM 프로세서를 쉽게 배울 수 있도록 다양한 문서와 교육 자료를 배포했습니다. 또한 ARM 프로세서에서 실행될 수 있는 다양한 코드(최신 기능/최적화 코드)를 리눅스 운영제체와 RTOS에 꾸준히 기여했습니다. SoC(System-on-Chip) 업체를 포함해 일반 개발자들도 ARM 컴파일 옵션에 맞게 운영체제의 코드를 빌드만 하면 ARM 프로세서 위에서 잘 실행됐습니다.
Reference: ARM 프로세서의 주요 기능
ARM 프로세서는 왜 배워야 할까
ARM 프로세서 학습하는 방법의 문제점
ARM 프로세서 소개
ARM 아키텍처를 구성하는 주요 기능
● 어셈블리 명령어란
● ARM의 동작 모드와 익셉션 레벨
Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자
'시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 > 1장: Arm 프로세서 소개' 카테고리의 다른 글
[ARM] ARM 프로세서는 어떻게 공부해야 할까? (0) | 2023.06.10 |
---|---|
[ARM프로세서] ARM 프로세서의 패밀리 (0) | 2023.06.10 |
[ARM프로세서] ARM 프로세서를 공부하는 방법의 문제점 (0) | 2023.06.10 |
[ARM프로세서] ARM 프로세서를 일반 SW 개발자도 배워야 하는 이유 (0) | 2023.06.10 |
[ARM프로세서] 소프트웨어 개발자가 ARM 프로세서를 배워야 하는 이유 (0) | 2023.06.10 |