맨위로가기 타임라인 바로가기

ARM 아키텍처

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
타임라인 바로가기

1. 개요

ARM 아키텍처는 영국의 Acorn Computers가 1983년에 시작한 프로젝트로, 저전력, 고성능을 목표로 하는 RISC(축소 명령어 집합 컴퓨팅) 기반의 프로세서 아키텍처이다. 1985년 최초의 ARM1 칩 출시 이후, ARM2, ARM3 등을 거쳐 ARM6, ARM7, StrongARM, ARM9, ARM10, ARM11, Cortex 시리즈, ARMv8-A, ARMv9-A 등 다양한 코어들이 개발되었다. ARM 아키텍처는 명령어 집합, Thumb 명령어 집합, Jazelle, DSP 및 SIMD 확장, VFP(Vector Floating Point), 보안 확장(TrustZone) 등 다양한 특징을 갖추고 있으며, 32비트 및 64비트 아키텍처를 모두 지원한다. ARM은 라이선싱을 통해 다양한 기업에 IP 코어를 제공하며, 삼성전자, 애플, 퀄컴 등 많은 회사에서 ARM 아키텍처 기반의 프로세서를 개발하고 있다. ARM 아키텍처는 안드로이드, iOS, 윈도우, macOS 등 다양한 운영 체제를 지원하며, 모바일 기기, 임베디드 시스템, 서버, 자동차 등 다양한 분야에서 널리 사용되고 있다.

더 읽어볼만한 페이지

  • ARM 아키텍처 - XScale
    XScale은 인텔이 개발한 32비트 ARM 아키텍처 기반의 프로세서 제품군으로, 스마트폰, PDA, 라우터 등 다양한 기기에 사용되었다.
  • ARM 아키텍처 - 스펙터 (버그)
    스펙터는 2017년에 발견된 CPU 보안 취약점으로, 추측 실행의 부작용을 악용하여 다른 프로그램의 메모리 영역에 접근하게 하며, 인텔, AMD, ARM 등 다양한 제조사의 프로세서에 영향을 미친다.
  • 임베디드 마이크로프로세서 - 삼성 엑시노스
    삼성 엑시노스는 삼성전자 시스템LSI 사업부에서 설계 및 생산하는 모바일 AP로, 갤럭시 S에 처음 탑재된 이후 다양한 기기에 사용되었으며, ARM 코어와 자체 개발 코어를 거쳐 AMD와 협력하여 RDNA 아키텍처 기반 GPU를 탑재한 제품을 출시하고 있다.
  • 임베디드 마이크로프로세서 - 슈퍼H
    슈퍼H는 히타치에서 개발한 RISC 기반 CPU 코어 제품군으로, 상위 호환성을 갖는 명령어 집합과 높은 코드 밀도를 특징으로 하며, 다양한 모델이 개발되어 여러 기기에 탑재되었으나, ARM 아키텍처의 부상으로 개발이 중단된 후 르네사스 일렉트로닉스를 통해 라이선스가 제공되고 SH-2 특허 만료 후에는 오픈 소스 구현 프로젝트가 진행되었다.
  • 마이크로컨트롤러 - 마이크로프로세서
    마이크로프로세서는 CPU 기능을 단일 IC에 통합한 것으로, 무어의 법칙에 따라 성능이 향상되어 왔으며 다양한 아키텍처와 기술 발전을 거쳐 현재 광범위한 분야에서 사용된다.
  • 마이크로컨트롤러 - 아두이노
    아두이노는 Atmel AVR 마이크로컨트롤러 기반의 오픈 소스 하드웨어 플랫폼으로, C 언어와 유사한 스케치를 통해 프로그래밍이 가능하며, 다양한 플러그인 쉴드를 이용해 기능을 확장할 수 있어 교육, 시제품 제작, IoT 개발 등에 활용된다.
ARM 아키텍처
일반 정보
이름ARM
설계자소피 윌슨
스티브 퍼버
에이콘 컴퓨터/Arm Holdings
비트32비트, 64비트
발표1985년
설계 방식RISC
유형로드-스토어
분기조건 코드, 비교 및 분기
개방 여부독점
ARM 64/32비트
발표2011년
버전ARMv8-R, ARMv8-A, ARMv8.1-A, ARMv8.2-A, ARMv8.3-A, ARMv8.4-A, ARMv8.5-A, ARMv8.6-A, ARMv8.7-A, ARMv8.8-A, ARMv8.9-A, ARMv9.0-A, ARMv9.1-A, ARMv9.2-A, ARMv9.3-A, ARMv9.4-A, ARMv9.5-A, ARMv9.6-A
인코딩AArch64/A64 및 AArch32/A32는 32비트 명령어를 사용, AArch32/T32 (Thumb-2)는 혼합된 16비트 및 32비트 명령어를 사용함.
엔디언양방향성 (기본 리틀 엔디언)
확장SVE, SVE2, SME, AES, SM3, SM4, SHA, CRC32, RNDR, TME; 모두 필수: Thumb-2, Neon, VFPv4-D16, VFPv4; 구식: Jazelle
GPR31 × 64비트 정수 레지스터
FPR32 × 128비트 레지스터 (스칼라 32비트 및 64비트 FP 또는 SIMD FP 또는 정수용); 또는 암호화
ARM 32비트
버전ARMv9-R, ARMv9-M, ARMv8-R, ARMv8-M, ARMv7-A, ARMv7-R, ARMv7E-M, ARMv7-M, ARMv6-M
인코딩32비트, Thumb-2 확장은 혼합된 16비트 및 32비트 명령어를 사용
엔디언양방향성 (기본 리틀 엔디언)
확장Thumb-2, Neon, Jazelle, AES, SM3, SM4, SHA, CRC32, RNDR, DSP, Saturated, FPv4-SP, FPv5, Helium
GPR15 × 32비트 정수 레지스터 (R14 (링크 레지스터) 포함, R15 (PC) 제외)
FPR최대 32 × 64비트 레지스터, SIMD/부동 소수점 (선택 사항)
ARM 32비트 (레거시)
버전ARMv6, ARMv5, ARMv4T, ARMv3, ARMv2
인코딩32비트, Thumb 확장은 혼합된 16비트 및 32비트 명령어를 사용
엔디언양방향성 (기본 리틀 엔디언) (ARMv3 이상)
확장Thumb, Jazelle
GPR15 × 32비트 정수 레지스터 (R14 (링크 레지스터) 포함, R15 (PC, 구형은 26비트 주소 지정) 제외)
FPR해당 없음
추가 정보
다른 이름아키텍처

2. 역사

애콘이 1980년대 초 BBC 마이크로의 성공을 바탕으로 차세대 머신 개발을 추진하는 과정에서 ARM 아키텍처 개발이 시작되었다. 당시 애콘은 기존 6502 프로세서의 성능 한계에 직면했고, 더욱 효율적이고 저전력의 32비트 프로세서 개발이 시급했다.[216]

소피 윌슨(Sophie Wilson)과 스티브 퍼버(Steve Furber)가 프로젝트를 이끌었다. 윌슨은 명령어 집합 아키텍처 설계를, 퍼버는 하드웨어 설계를 주도했다. 이들은 버클리 RISC와 스탠퍼드 대학교 연구의 영향을 받아 RISC(축소 명령어 집합 컴퓨팅) 아키텍처를 채택했다.[216]

개발팀은 VLSI Technology영어를 "실리콘 파트너"로 선택하여, 애콘이 설계를 제공하고 VLSI가 레이아웃과 제조를 담당했다. 1985년 4월 26일, 최초의 ARM 실리콘 칩인 '''ARM1'''이 정상 작동했다. ARM1은 6MHz로 작동했으며, BBC 마이크로용 세컨드 프로세서로 처음 실용화되었다.[217]

1986년 말 '''ARM2'''가 8MHz로 등장했고, 이듬해에는 10~12MHz로 작동하는 버전이 출시되었다. ARM2는 부스의 곱셈 알고리즘을 통해 곱셈을 하드웨어로 구현하고, "FIQ(Fast Interrupt reQuest) 모드"를 추가하여 인터럽트 처리 속도를 높였다.[216]

ARM2는 1987년 애콘 아키메데스(Acorn Archimedes) 시리즈에 처음 사용되었다. Dhrystone 벤치마크에서 ARM2는 7MHz MC68000 기반 시스템보다 약 7배, 16MHz 인텔 80386과 거의 동등한 성능을 보였다.[216]

ARM2는 32비트 데이터 버스, 26비트 주소 공간, 16개의 32비트 레지스터(프로그램 카운터 포함)를 갖추었다. 트랜지스터 수는 30,000개로, 마이크로코드캐시가 없어 저전력, 간편한 열처리가 가능했다. 그럼에도 인텔 80286, 인텔 386보다 뛰어난 성능을 제공했다. 후속 기종인 '''ARM3'''는 4KB 캐시를 탑재하여 성능을 더욱 향상시켰다.

1980년대 후반, 애플은 애콘과 공동으로 새로운 ARM 코어 개발에 착수했다. 1990년 애콘은 개발팀을 분사하여 Advanced RISC Machines를 설립했다. 이 때문에 ARM은 '''Advanced RISC Machine'''의 약자로 알려져 있다. Advanced RISC Machines는 1998년 런던 증권거래소나스닥에 상장될 때 ARM Limited가 되었다.

'''ARM6'''는 1991년에 최초 모델이 출시되었고, 애플은 ARM6 기반 ARM610을 애플 뉴턴에 채용했다. ARM2는 30,000개, ARM6는 35,000개의 트랜지스터를 사용했다.

ARM6의 개량판 '''ARM7'''은 휴대 전화에 널리 채용되며 ARM의 초석이 되었다. ARMv4 아키텍처 기반 '''ARM7TDMI'''는 Thumb 명령어(후술)를 구현하여 저전력과 높은 코드 효율을 제공, 휴대 전화게임보이 어드밴스 등에 채용되었다.

DEC는 ARMv4 아키텍처 라이선스를 얻어 스트롱ARM을 제조했다. 이는 인텔로 이관되었고, 인텔은 XScale을 개발했다. 이후 '''ARM9''', '''ARM10'''을 거쳐, NEC와의 제휴 등으로 휴대 전화용 프로세서 지위를 확고히 한 '''ARM11'''이 출시된다.

2005년 제품 라인업을 개편, 애플리케이션 프로세서용 '''Cortex-A''', 실시간 제어용 '''Cortex-R''', 임베디드 시스템용 '''Cortex-M'''으로 시리즈를 분류했다.[218] 2012년 11월, ARM 최초 64비트 아키텍처 프로세서 코어 '''Cortex-A50''' 시리즈를 발표했다.[219]

ARM 칩은 세계에서 가장 많이 사용되는 CPU 설계 중 하나이며, 2004년 세계 시장 점유율은 61%였다.[220]

'''ARM 아키텍처 버전 역사'''

버전연도설명
ARMv432비트 주소 영역, 32비트 ISA(Instruction Set Architecture) 동작
ARMv4T16비트 Thumb 명령어 셋 탑재. 메모리 공간 35% 이상 절약
ARMv5TE1999개선된 thumb 아키텍처와 ‘Enhanced’ DSP 명령어 셋을 ARM ISA에 추가
ARMv5TEJ2000Jazelle(자바 하드웨어 가속기) 확장 명령어 추가
ARMv62001메모리 시스템, 예외 처리 개선, 멀티프로세싱 지원, SIMD(Single Instruction Multiple Data) 미디어 명령어 포함


2. 1. 초기 개발

애크론 컴퓨터(Acorn Computers)는 1981년 12월 BBC 마이크로(BBC Micro)를 출시하여 첫 성공을 거두었다. MOS 테크놀로지 6502(MOS Technology 6502) CPU를 기반으로 했지만, 더 빠른 동적 램(DRAM)을 사용하여 애플 II(Apple II) 등 경쟁 기종보다 약 두 배의 성능을 보였다.[14]

1981년 IBM PC 출시로 데스크톱 컴퓨터 시장은 큰 변화를 겪었다. 인텔 8088 CPU를 사용한 PC는 이전 8비트 기종보다 향상된 성능을 제공했고, 취미와 게임 시장은 필수적인 비즈니스 도구 시장으로 변하기 시작했다. 모토로라 68000[16], 내셔널 세미컨덕터 NS32016[17]과 같은 새로운 32비트 설계도 시장에 진출했다.

에이콘은 이 시장에서 경쟁하기 위해 에이콘 비즈니스 컴퓨터(Acorn Business Computer)라는 새로운 설계를 제시했다. BBC 마이크로의 10배 성능을 동일한 가격에 구현하는 것을 목표로 했다. 그러나 기존 16비트 설계는 비싸면서도 성능이 충분하지 않았고, 새로운 32비트 설계도 지원 칩 문제로 비용이 많이 들었다.[18] 소피 윌슨(Sophie Wilson)에 따르면, 당시 테스트된 모든 프로세서는 약 4 Mbit/s 대역폭으로 거의 동일한 성능을 보였다.[19]

캘리포니아 대학교 버클리의 RISC 보고서[20]와 웨스턴 디자인 센터(Western Design Center) 방문[21]은 에이콘이 자체 CPU 설계를 시작하는 계기가 되었다. 1983년 말, 에이콘은 Acorn RISC Machine (ARM) 프로젝트를 시작했다.[21]

초기 버클리 RISC 설계는 교육용 시스템에 가까웠지만, ARM은 6502의 장점인 빠른 인터럽트 처리 기능을 추가했다. 이를 위해 ARM 설계는 물리적인 주소 공간을 64MB로 제한하고 26비트 주소를 사용했다. 명령어는 4바이트(32비트) 길이로 4바이트 경계에 맞춰야 했으므로, 명령어 주소의 하위 2비트는 항상 0이었다. 이는 프로그램 카운터(PC)가 24비트만 필요하고, 8비트 프로세서 플래그와 함께 단일 32비트 레지스터에 저장할 수 있음을 의미했다. 이 결정으로 인터럽트 오버헤드가 절반으로 줄었다.[21]

또한 ARM은 페이지 모드 DRAM을 활용하여 메모리 성능을 향상시키는 "S-사이클" 명령어를 추가했다. 이를 통해 사용 가능할 경우 메모리 성능이 두 배로 향상되었으며, 특히 그래픽 성능에 중요했다.[21]

윌슨은 BBC BASIC으로 프로세서 시뮬레이션을 작성했고, 이는 두 번째 6502 프로세서를 갖춘 BBC 마이크로에서 실행되었다.[22][23] 윌슨은 Acorn의 CEO인 허먼 하우저에게 더 많은 자원을 요청했고, 하우저는 승인하여 윌슨의 ISA를 기반으로 실제 프로세서를 설계할 소규모 팀을 구성했다.[24]

BBC 마이크로용 ARM1 두 번째 프로세서


Acorn은 VLSI 테크놀로지를 실리콘 파트너로 선택했다. 1985년 4월 26일, ARM 실리콘의 첫 번째 샘플인 ARM1이 개발되었다.[2] 이 버전은 6MHz로 작동했다.[2]

첫 번째 ARM 애플리케이션은 BBC 마이크로의 두 번째 프로세서로, 지원 칩 개발 및 CAD 소프트웨어 속도 향상에 사용되었다. 윌슨은 ARM 어셈블리어로 BBC 베이직을 다시 작성하여 코드를 매우 압축적으로 만들었고, 이는 ARM 에뮬레이터 테스트에 유용하게 사용되었다.

1980년대 초, 영국의 애콘은 Acorn RISC Machine (ARM) 프로젝트를 시작했다. 이는 BBC 마이크로의 성공을 바탕으로 차세대 머신 개발을 추진하는 과정에서 6502 프로세서의 성능 한계를 극복하고, 효율적이고 저전력의 32비트 프로세서 개발을 목표로 했다.[216]

소피 윌슨(Sophie Wilson)과 스티브 퍼버(Steve Furber)를 중심으로 한 소규모 팀은 버클리 RISC와 스탠퍼드 대학교 연구의 영향을 받아 RISC(축소 명령어 집합 컴퓨팅) 아키텍처를 채택했다.[216]

개발팀은 VLSI 테크놀로지를 실리콘 파트너로 선택하여 1985년 4월 26일에 최초의 ARM 실리콘 칩인 '''ARM1'''을 개발했다. ARM1은 6MHz로 작동했으며, BBC 마이크로용 세컨드 프로세서로 활용되었다.[217] BBC 베이직은 어셈블리어로 다시 작성되어 ARM 에뮬레이터 테스트에 사용되었다.[216]

1986년 말, 곱셈 연산 하드웨어 구현과 인터럽트 처리 속도 향상 등 개선을 거친 '''ARM2'''가 8MHz로 출시되었고, 이듬해에는 10~12MHz 버전이 출시되었다. ARM2는 1987년에 출시된 애콘 아키메데스(Acorn Archimedes) 시리즈에 탑재되어 상업적인 성공을 거두었다.[216] Dhrystone 벤치마크에 따르면, ARM2는 7MHz로 작동하는 MC68000 기반 시스템보다 약 7배의 성능을 보였고, 16MHz의 인텔 80386과 거의 동등한 속도를 가졌다. ARM2는 고속 I/O에 대응하도록 설계되었고, DMA 컨트롤러와 같은 지원 칩을 생략하여 설계를 간소화했다.[216]

ARM2는 32비트 데이터 버스, 26비트 주소 공간, 16개의 32비트 레지스터(프로그램 카운터 포함)를 갖추고 있었다. 트랜지스터 수는 30,000개로, 모토로라 68000의 68,000개보다 적었다. 이는 ARM2가 마이크로코드캐시를 탑재하지 않아 저전력과 간편한 열처리가 가능했기 때문이다. ARM2는 인텔 80286이나 인텔 386에 비해 뛰어난 성능을 제공했다.

후속 기종인 '''ARM3'''는 4KB의 캐시를 탑재하여 성능을 더욱 향상시켰다.

2. 2. Advanced RISC Machines Ltd. 설립 및 발전

1980년대 후반, 애플은 에이콘과 협력하여 새로운 ARM 코어 개발을 시작했다. 이 협력은 매우 중요하게 여겨져, 에이콘은 1990년에 개발팀을 분사하여 Advanced RISC Machines Ltd. (ARM Ltd.)를 설립했다.[216] 이로 인해 ARM은 Acorn RISC Machine이 아닌 Advanced RISC Machine의 약자로 알려지게 되었다. Advanced RISC Machines는 1998년 런던 증권거래소나스닥에 상장되면서 ARM Limited가 되었다.

이러한 과정을 거쳐 개발된 '''ARM6'''는 1991년에 최초 모델이 출시되었고, 애플은 ARM6 기반의 ARM610을 애플 뉴턴에 채택했다.[216] ARM6는 이전 모델인 ARM2에 비해 트랜지스터 수가 30,000개에서 35,000개로 약간 증가했지만, 코어 크기는 대체로 동일하게 유지되었다. 이는 최종 사용자가 ARM 코어와 다양한 옵션 부품을 조합하여 완전한 CPU를 만들 수 있도록 하여, 저렴한 비용으로 고성능을 얻을 수 있게 하는 설계 철학을 반영한 것이다.

ARM6의 개량판인 '''ARM7'''은 휴대 전화 시장에서 큰 성공을 거두었다. 특히, ARM7을 재설계한 '''ARM7TDMI'''는 Thumb 명령어(후술)를 도입하여 코드 밀도를 높이고 저전력 소비를 실현했다. 이 덕분에 ARM7TDMI는 게임보이 어드밴스와 같은 휴대용 게임기를 비롯한 다양한 민생 기기에 널리 채택되었다. TDMI는 Thumb 명령어, 디버깅(Debug) 회로, 곱셈기(Multiplier), ICE 기능을 탑재하고 있음을 의미하지만, 이후 코어에는 이러한 기능이 표준으로 탑재되면서 이 명칭은 생략되었다.[216]

DEC는 ARMv4 아키텍처 설계 라이선스를 획득하여 스트롱ARM을 제조했다. 233MHz에서 StrongARM은 단 1W의 전력만 소비했으며, 이는 나중에 소송 해결의 일환으로 인텔에 이관되었다. 인텔은 이를 기반으로 XScale을 개발했다.[216]

이후에도 StrongARM 기술의 피드백을 받은 '''ARM9'''와 '''ARM10'''을 거쳐, NEC와의 제휴 등을 통해 휴대 전화용 프로세서로서의 지위를 확고히 한 '''ARM11'''이 출시되었다.[216]

2. 3. 지속적인 발전과 64비트 아키텍처 도입

ARM은 StrongARM, ARM9, ARM10, ARM11 등 지속적인 기술 개발을 통해 성능을 향상시키고, 다양한 분야로 적용 범위를 확대했다. 2005년, Cortex 시리즈를 발표하며, 고성능 애플리케이션 프로세서 (Cortex-A), 실시간 제어 (Cortex-R), 임베디드 시스템 (Cortex-M) 등 목적에 따라 특화된 프로세서를 제공하기 시작했다.

2001년에 발표된 ARMv6 아키텍처는 메모리 시스템, 예외 처리, 멀티프로세싱 환경 지원 등이 개선되었다. SIMD (Single Instruction Multiple Data) 소프트웨어 실행을 지원하는 미디어 명령어가 포함되어 오디오 및 비디오 코덱을 포함하는 응용 프로그램들의 사용 확대를 위해 최적화되었다.

2011년, 64비트 아키텍처인 ARMv8-A를 발표하며, AArch64 (ARM64)를 도입하여 서버 시장 등 고성능 컴퓨팅 분야로 진출했다. 2021년에는 Armv9-A 아키텍처를 발표하여 보안 및 인공지능 기능을 강화하였다.

3. 주요 특징

ARM 아키텍처는 RISC 기반으로 설계되어 명령어 집합이 간결하고 효율적이며, 대부분의 명령어는 1사이클로 실행된다.[215]

다른 RISC 아키텍처와 달리 ARM 아키텍처는 PC 상대 주소 지정, 프리/포스트-인크리먼트 주소 지정 모드 등 다양한 주소 지정 모드를 지원한다.[215]

ARM 명령어의 특징은 명령어 최상위 4비트를 조건 코드로 사용하여 조건부 실행이 가능하다는 것이다. 이를 통해 분기 명령어 없이 조건에 따라 실행 여부를 결정할 수 있다.[215]

또한, 쉬프트 연산을 "데이터 처리" 명령어(산술, 논리, 레지스터 간 대입)와 통합할 수 있다. 이러한 특징으로 ARM 프로그램은 일반적인 RISC 프로세서보다 높은 코드 밀도를 가진다.[215]

코드 효율을 높이기 위해 ARM 프로세서는 Thumb이라는 16비트 명령어 모드를 제공한다. Thumb 명령어는 메모리 포트나 버스가 32비트보다 좁은 환경에서 더 나은 성능을 낼 수 있다.

ARM은 자바 바이트코드를 하드웨어에서 직접 실행하는 '''Jazelle DBX'''(Direct Bytecode eXecution) 기술을 구현했다.

'''ARMv5TE''' 및 '''ARMv5TEJ''' 아키텍처는 디지털 신호 처리(DSP) 및 멀티미디어 애플리케이션을 위해 부호 있는 곱셈-누산 연산, 포화 가산 및 감산, 선행 0 개수(leading zero count) 등의 명령어를 추가했다.

'''고급 SIMD''' 확장은 '''NEON'''이라고도 불리며, 미디어 및 디지털 신호 처리에 적합한 64비트 및 128비트 SIMD 명령어 집합이다.

'''VFP''' (Vector Floating Point)는 ARM 아키텍처의 부동 소수점 연산 코프로세서 확장 기능으로, 반정밀도(v3 이상), 단정밀도, 배정밀도 부동소수점 연산을 지원한다.[221]

'''트러스트존(TrustZone)''' 기술은 ARMv6KZ 이상 아키텍처에 포함된 보안 확장 기능이다.

3. 1. 명령어 집합 아키텍처 (ISA)

ARM 아키텍처는 RISC 기반으로 설계되어, 명령어 집합이 간결하고 효율적이다. 기본적으로 32비트 고정 길이 명령어를 사용하며, 로드/스토어 아키텍처, 3 오퍼랜드 레지스터 간 연산 방식을 채택하고 있다. 대부분의 명령어는 1사이클로 실행 가능하다.[215]

다른 RISC 아키텍처에 비해 ARM 아키텍처는 PC 상대 주소 지정, 프리/포스트-인크리먼트 주소 지정 모드 등 다양한 주소 지정 모드를 지원한다.[215]

시간이 지나면서 ARM 명령어 집합은 점차 확장되었다. 예를 들어, 초기 ARM 프로세서(ARM7TDMI 이전)에는 2바이트 값을 로드하는 명령어가 없었다.[215]

ARM 명령어 집합의 독특한 점 중 하나는 명령어의 최상위 4비트를 조건 코드로 사용하여 조건부 실행이 가능하다는 것이다. 이를 통해 대부분의 명령어는 분기 명령어 없이 조건에 따라 실행 여부를 결정할 수 있다.[215]

조건부 실행은 코드 내에서 작은 if문에 해당하는 부분을 분기 명령어 없이 처리할 수 있게 해준다. 예를 들어, 유클리드 호제법을 C언어로 작성하면 다음과 같다.

```c

int gcd(int i, int j)

{

while (i != j) {

if (i > j)

i -= j;

else

j -= i;

}

return i;

}

```

이 코드를 ARM 어셈블리어로 작성하면 다음과 같이 while 루프 부분을 구현할 수 있다.

```assembly

loop

CMP Ri, Rj ; i와 j를 비교

SUBGT Ri, Ri, Rj ; "GT" (i > j)이면 i = i - j;

SUBLT Rj, Rj, Ri ; "LT" (i < j)이면 j = j - i;

BNE loop ; "NE" (i != j)이면 loop로 돌아감

```

위 코드에서는 조건 코드(GT, LT, NE)를 사용하여 분기 명령어 없이 조건부 실행을 구현함으로써 코드 밀도를 높였다.[215]

또 다른 특징은 쉬프트 연산을 "데이터 처리" 명령어(산술, 논리, 레지스터 간 대입)와 통합할 수 있다는 점이다. 예를 들어, C언어의 `a += (j << 2);` 문장은 ARM 명령어 하나로 표현 가능하다.

```assembly

ADD Ra, Ra, Rj, LSL #2

```

이러한 특징들 덕분에 ARM 프로그램은 일반적인 RISC 프로세서보다 높은 코드 밀도를 가진다. 명령어 페치 횟수가 줄어들고, 분기로 인한 지연을 피하기 쉬워 파이프라인 처리를 효율적으로 사용할 수 있다. 이는 ARM이 복잡한 CPU 설계와 경쟁할 수 있게 해준 중요한 요인 중 하나이다.[215]

3. 2. Thumb 명령어 집합

ARM 프로세서는 코드 효율을 높이기 위해 Thumb이라는 16비트 명령어 모드를 가지고 있다. 이는 SuperH의 16비트 명령어/32비트 데이터 구조를 본떠 추가되었다. Thumb 명령어는 조건 실행을 위한 4비트 프리디케이트(predicate)가 제거되어, 메모리 포트나 버스가 32비트보다 좁은 환경에서 32비트 코드보다 더 나은 성능을 제공한다.

임베디드 애플리케이션에서는 32비트 데이터 경로가 일부 주소 범위에만 해당하고(예: 게임보이 어드밴스), 나머지는 16비트 또는 그보다 좁은 경우가 많다. 이러한 상황에서는 Thumb 코드로 컴파일하고, CPU 부하가 큰 부분만 32비트 명령어 집합을 사용하여 수작업으로 최적화하는 것이 일반적이다.

Thumb 명령어와 ARM 명령어는 단일 실행 파일 내에서 함께 사용할 수 있지만, Thumb 명령어 실행 모드와 ARM 명령어 실행 모드는 독립적이다. 따라서 둘을 모두 사용하려면 프로세서 상태를 전환해야 한다. 상태 전환은 분기 명령어(BX, BLX)를 통해 수행되며, 일반적으로 함수 단위로 Thumb 명령어와 ARM 명령어를 구분하여 함수 호출 시 전환한다.

Thumb 기술이 처음 탑재된 프로세서는 ARM7TDMI이다. ARM9 및 이후 제품군(XScale 포함)은 모두 Thumb 기술을 탑재하고 있다.
ThumbEE(Thumb 실행 환경)는 Jazelle RCT(런타임 컴파일 대상)라고도 불리는 네 번째 명령어 모드이다. 2005년에 발표되었으며, Cortex-A8 프로세서에 처음 구현되었다. ThumbEE는 Thumb-2 명령어 집합을 약간 변경하여 JIT 컴파일러처럼 실행 시 코드를 생성하는 환경에 적합하다. 주요 대상은 자바, .NET MSIL(C# 등), 파이썬, 등의 언어이다.

3. 3. Jazelle

ARM은 자바 바이트코드를 하드웨어에서 직접 실행할 수 있게 해주는 기술을 구현했다. 이 기술은 ARM 및 Thumb 모드와 함께 또 다른 실행 모드로, ARM/Thumb 모드 전환과 마찬가지로 접근할 수 있다. 이 기술은 '''Jazelle DBX'''(Direct Bytecode eXecution)라고도 불리며, 나중에 나올 Jazelle RCT와는 구별된다.

Jazelle 기술이 탑재된 최초의 프로세서는 '''ARM926EJ-S'''이다. CPU 명칭에서 'J'는 Jazelle을 의미한다.

3. 4. DSP 및 SIMD 확장

ARM 아키텍처는 디지털 신호 처리(DSP) 및 멀티미디어 애플리케이션을 위해 확장되면서 여러 명령어들이 추가되었다. '''ARMv5TE''' 및 '''ARMv5TEJ''' 아키텍처의 "E"는 이러한 확장을 나타낸다.

추가된 명령어는 디지털 신호 프로세서 아키텍처에서 일반적인 것으로, 부호 있는 곱셈-누산 연산, 포화 가산 및 감산, 선행 0 개수(leading zero count)의 변형 등이 있다.

'''고급 SIMD''' 확장은 '''NEON'''이라고도 불리며, 미디어 및 디지털 신호 처리에 적합한 64비트 및 128비트 SIMD 명령어 집합이다. 8/16/32/64비트 정수 연산과 32비트(단정밀도) 부동 소수점 연산을 위한 SIMD 명령어가 정의되어 있으며, ARMv7부터 사용 가능하다. 32비트 CPU에서는 배정밀도 부동 소수점수는 사용 불가능하며, 배정밀도에는 VFP를 사용한다.

대부분의 ARMv7 SoC는 NEON을 지원하지만, 엔비디아 테그라(NVIDIA Tegra) 2 시리즈 등은 지원하지 않는다.

레지스터는 VFP 레지스터로 준비된 32개의 64비트 레지스터를 사용하여 32개의 64비트 SIMD 레지스터(D0-D31) 또는 16개의 128비트 SIMD 레지스터(Q0-Q15)로 접근할 수 있다. 예를 들어 128비트 레지스터 Q0은 D0과 D1의 두 개의 64비트 레지스터 영역에 매핑되어 있다.

Cortex-A15 등에서는 NEONv2(version 2)가 탑재되어 Fused Multiply-Add가 가능하다. 이를 통해 단정밀도 부동 소수점수에서 8 FLOPS/cycle이 되었다.

'''무선 MMX'''(WMMX)는 인텔이 XScale 프로세서를 위해 개발한 SIMD 명령어 집합이다. 64비트 너비의 레지스터가 16개 제공되며, 8/16/32/64비트 SIMD 정수 연산이 가능하다. XScale 및 그 매각처인 마벨 테크놀로지 그룹(Marvell Technology Group) 제 ARM SoC에 채택되었다. 명령어 집합 자체는 x86 프로세서의 MMX와는 완전히 다르지만, GCC나 Visual C++ 등의 컴파일러에서 사용할 수 있는 내장 함수는 MMX와의 호환성이 어느 정도 확보되어 있으며, 이를 이용하면 MMX용으로 작성된 코드를 비교적 쉽게 이식할 수 있다.

3. 5. 부동 소수점 연산 (VFP)

VFP (Vector Floating Point)는 ARM 아키텍처의 부동 소수점 연산 코프로세서 확장 기능이다. 반정밀도(v3 이상), 단정밀도, 배정밀도 부동소수점 연산 기능을 제공한다.[221]

  • VFPv1: 폐기됨
  • VFPv2: ARMv5TE, ARMv5TEJ, ARMv6에서 사용 가능
  • VFPv3: ARMv7에서 사용 가능. 일반적으로 레지스터 수는 32개이지만, 엔비디아 테그라(NVIDIA Tegra) 2 시리즈 등은 레지스터 수가 절반인 VFPv3-D16을 채용. Cortex-A8의 구현은 파이프라이닝되지 않아 매우 느림 (VFP Lite).
  • VFPv4: Cortex-A5, A7, A15, 애플 A6(Apple A6), 퀄컴 스냅드래곤(Snapdragon) Krait 등에서 사용 가능. IEEE754 준수의 (곱셈 결과의 반올림을 수행하지 않는) Fused multiply add 지원. VFPv4-D16도 있음.


"Vector"라는 이름에서 알 수 있듯이, 일부 명령어에서는 벡터 모드라고 불리는 한 명령어로 여러 레지스터에 대해 연산을 수행하는 모드가 제공된다. 이 모드를 사용하면 SIMD 연산이 가능하지만, 프로그래밍 모델이 다소 복잡했다. 당시 ARM11 프로세서의 구현은 스칼라 명령어를 요소 수만큼 순차적으로 실행하는 SIMD 연산의 장점을 누릴 수 없었기 때문에, 적극적으로 사용되지 않았다. VFPv3을 구현하는 ARMv7 세대 이후에는 Advanced SIMD 확장 명령어 (NEON)가 도입되었기 때문에, 현재는 벡터 모드의 사용이 권장되지 않는다. Cortex-A9 및 A15는 벡터 모드를 지원하지 않으므로, 현재 ARM 아키텍처에서 VFP의 위치는 스칼라 전용 부동소수점 연산 코프로세서이며, SIMD 연산 용도는 NEON에 자리를 내주었다.

단정밀도 부동소수점 연산은 NEON에서도 실행 가능하지만, 배정밀도 부동소수점 연산이나 IEEE754 준수의 4가지 반올림 모드, 비정규화 수 지원 등은 NEON에는 없으므로, 이들을 사용하려면 VFP 명령어를 사용해야 한다.

3. 6. 보안 확장 (TrustZone)

트러스트존(TrustZone) 기술은 ARMv6KZ 이상의 애플리케이션 프로파일 아키텍처에 포함된 보안 확장 기능으로, "TrustZone Technology"라는 이름으로 마케팅되었다. 이는 하드웨어 기반 접근 제어를 통해 두 개의 가상 프로세서를 제공함으로써, 별도의 보안 코어를 추가하지 않고도 비용을 절감할 수 있게 해준다.[25]

ARMv8-M 아키텍처에는 "TrustZone for ARMv8-M Technology"로 마케팅되는 보안 확장 기능이 도입되었다. 이처럼 TrustZone은 Cortex-A 시리즈와 Cortex-M 시리즈에 각각 적용되어, 다양한 환경에서 보안 기능을 제공한다.

4. ARM 코어 종류

0.33 DMIPS/MHzARMv2aARM250MEMC (MMU) 구현, 그래픽과 IO 프로세스. 아키텍처 2a:SWP와 SWPB 등의 스왑 명령추가.없음, MEMC1a7MIPS @ 12 MHzARM3ARMv2aARM2aARM에 프로세스 캐시 최초 사용4K 통합12MIPS @ 25 MHz
0.50 DMIPS/MHzARM6ARMv3ARM60v3 아키텍처, 최초로 32 비트 메모리 지원(26 비트에 반대된)없음10MIPS @ 12 MHzARM600캐시와 코프로세스 버스(FPA10 부동소수점 모듈).4K 통합28MIPS @ 33 MHzARM610캐시, 코프로세서 버스 없음.4K 통합17MIPS @ 20 MHz
0.65 DMIPS/MHzARM7ARMv3ARM7008 KB 통합40 MHzARM7108KB 통합40 MHzARM710a8 KB 통합40 MHz
0.68 DMIPS/MHzARM7100SoC.8 KB 통합18 MHzARM7500SoC.4 KB 통합40 MHzARM7500FESoC. "FE" FPA와 EDO 메모리 컨트롤러 추가4 KB 통합56 MHz
0.73 DMIPS/MHzARM7TDMIARMv4TARM7TDMI(-S)3-단계 파이프라인, Thumb없음15MIPS @ 16.8 MHz
63DMIPS @ 70 MHzARM710T8 KB 통합, MMU36MIPS @ 40 MHzARM720T8 KB 통합, MMU60MIPS @ 59.8 MHzARM740TMPUARMv5TEJARM7EJ-SJazelle DBX, 향상된 DSP 명령, 5-단계 파이프라인없음StrongARMARMv4SA-11016 KB/16 KB, MMU203 MHz
1.0 DMIPS/MHzSA-111016 KB/16 KB, MMU233 MHzARM8ARMv4ARM810[247]5-단계 파이프라인, 고정된 예측 분기, 이중 대역폭 메모리8 KB 통합, MMU84MIPS @ 72 MHz
1.16 DMIPS/MHzARM9TDMIARMv4TARM9TDMI5-단계 파이프라인없음ARM920T16 KB/16 KB, MMU200MIPS @ 180 MHzARM922T8 KB/8 KB, MMUARM940T4 KB/4 KB, MPUARM9EARMv5TEARM946E-S향상된 DSP 명령가변적, 메모리 밀착형 MPUARM966E-S캐시없음, TCMsARM968E-S캐시없음, TCMsARMv5TEJARM926EJ-SJazelle DBX, 향상된 DSP 명령가변적, TCMs, MMU220MIPS @ 200 MHzARMv5TEARM996HSClockless 프로세서, 향상된 DSP 명령캐시없음, TCMs, MPUARM10EARMv5TEARM1020EVFP, 6-단계 파이프라인, 향상된 DSP 명령32 KB/32 KB, MMUARM1022EVFP16 KB/16 KB, MMUARMv5TEJARM1026EJ-SJazelle DBX, 향상된 DSP 명령가변적, MMU or MPUXScaleARMv5TE80200/IOP310/IOP315I/O 프로세서, 향상된 DSP 명령80219400/600 MHzIOP321600 BogoMips @ 600 MHzIOP33xIOP34x1-2 core, RAID Acceleration32K/32K L1, 512K L2, MMUPXA210/PXA250응용분야 프로세서, 7-단계 파이프라인PXA25532KB/32KB, MMU400 BogoMips @ 400 MHzPXA26xdefault 400 MHz, up to 624 MHzPXA27x응용분야 프로세서32 KiB/32 Kb, MMU800MIPS @ 624 MHzPXA800(E)FMonahans1000MIPS @ 1.25 GHzPXA900IXC1100Control Plane 프로세서IXP2400/IXP2800IXP2850IXP2325/IXP2350IXP42xIXP460/IXP465ARM11ARMv6ARM1136J(F)-SSIMD, Jazelle DBX, VFP, 8-단계 파이프라인가변적, MMU740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHzARMv6T2ARM1156T2(F)-SSIMD, Thumb-2, VFP, 9-단계 파이프라인가변적, MPUARMv6KZARM1176JZ(F)-SSIMD, Jazelle DBX, VFP가변적, MMU+TrustZoneARMv6KARM11 MPCore1-4 코어 SMP, SIMD, Jazelle DBX, VFP가변적, MMUCortexARMv7-ACortex-A8응용분야 형상, VFP, NEON, Jazelle RCT, Thumb-2, 13-단계 슈퍼스칼라 파이프라인가변적 (L1+L2), MMU+TrustZone2000 (2.0 DMIPS/MHz, 600 MHz부터 1 GHz) 까지Cortex-A9응용분야 형상, VFP, (NEON), Jazelle RCT and DBX, Thumb-2MMU+TrustZone2.5 DMIPS/MHzCortex-A9 MPCoreAs Cortex-A9, 1-4 코어 SMPMMU+TrustZone2.0 DMIPS/MHzCortex-A122.96 DMIPS/MHzCortex-A153.5 DMIPS/MHzARMv7-RCortex-R4(F)임베디드 형상, (FPU)가변적 캐시, MPU optional600 DMIPSARMv6-MCortex-M1FPGA와 연동, 마이크로컨트롤러 형상, Thumb-2 (BL, MRS, MSR, ISB, DSB, and DMB).없음, 선택적 메모리 밀착형.ARMv7-MCortex-M3마이크로컨트롤러 형상, Thumb-2 only.캐시없음, (MPU)125DMIPS @ 100 MHzARMv7E-MCortex-M4마이크로컨트롤러 형상125DMIPSARMv8-ACortex-A5364비트 명령어 지원MMU, TrustZone, 64bit 가상 주소2.3 DMIPS/MHzCortex-A5764비트 명령어 지원MMU, TrustZone, 64bit 가상 주소4.1 DMIPS/MHzCortex-A7264비트 명령어 지원MMU, TrustZone, 64bit 가상 주소



분류:ARM CPU

5. 32비트 아키텍처 (ARMv7-A 이전)

0.33 DMIPS/MHzARMv2aARM250MEMC (MMU) 구현, 그래픽과 IO 프로세스. 아키텍처 2a: SWP와 SWPB 등의 스왑 명령 추가.없음, MEMC1a7 MIPS @ 12 MHzARM3ARMv2aARM2aARM에 프로세스 캐시 최초 사용4K 통합12 MIPS @ 25 MHz
0.50 DMIPS/MHzARM6ARMv3ARM60v3 아키텍처, 최초로 32 비트 메모리 지원(26 비트에 반대)없음10 MIPS @ 12 MHzARM600캐시와 코프로세스 버스(부동소수점 모듈).4K 통합28 MIPS @ 33 MHzARM610캐시, 코프로세서 버스 없음.4K 통합17 MIPS @ 20 MHz
0.65 DMIPS/MHzARM7ARMv3ARM7008 KB 통합40 MHzARM7108KB 통합40 MHzARM710a8 KB 통합40 MHz
0.68 DMIPS/MHzARM7100SoC.8 KB 통합18 MHzARM7500SoC.4 KB 통합40 MHzARM7500FESoC. "FE" FPA와 EDO 메모리 컨트롤러 추가4 KB 통합56 MHz
0.73 DMIPS/MHzARM7TDMIARMv4TARM7TDMI(-S)3-단계 파이프라인, Thumb없음15 MIPS @ 16.8 MHz
63 DMIPS @ 70 MHzARM710T8 KB 통합, MMU36 MIPS @ 40 MHzARM720T8 KB 통합, MMU60 MIPS @ 59.8 MHzARM740TMPUARMv5TEJARM7EJ-SJazelle DBX, 향상된 DSP 명령, 5-단계 파이프라인없음StrongARMARMv4SA-11016 KB/16 KB, MMU203 MHz
1.0 DMIPS/MHzSA-111016 KB/16 KB, MMU233 MHzARM8ARMv4ARM810[247]5-단계 파이프라인, 고정된 예측 분기, 이중 대역폭 메모리8 KB 통합, MMU84 MIPS @ 72 MHz
1.16 DMIPS/MHzARM9TDMIARMv4TARM9TDMI5-단계 파이프라인없음ARM920T16 KB/16 KB, MMU200 MIPS @ 180 MHzARM922T8 KB/8 KB, MMUARM940T4 KB/4 KB, MPUARM9EARMv5TEARM946E-S향상된 DSP 명령가변적, 메모리 밀착형 MPUARM966E-S캐시없음, TCMsARM968E-S캐시없음, TCMsARMv5TEJARM926EJ-SJazelle DBX, 향상된 DSP 명령가변적, TCMs, MMU220 MIPS @ 200 MHzARMv5TEARM996HSClockless 프로세서, 향상된 DSP 명령캐시없음, TCMs, MPUARM10EARMv5TEARM1020EVFP, 6-단계 파이프라인, 향상된 DSP 명령32 KB/32 KB, MMUARM1022EVFP16 KB/16 KB, MMUARMv5TEJARM1026EJ-SJazelle DBX, 향상된 DSP 명령가변적, MMU or MPUXScaleARMv5TE80200/IOP310/IOP315I/O 프로세서, 향상된 DSP 명령80219400/600 MHzIOP321600 BogoMips @ 600 MHzIOP33xIOP34x1-2 core, RAID Acceleration32K/32K L1, 512K L2, MMUPXA210/PXA250응용분야 프로세서, 7-단계 파이프라인PXA25532KB/32KB, MMU400 BogoMips @ 400 MHzPXA26xdefault 400 MHz, up to 624 MHzPXA27x응용분야 프로세서32 KiB/32 Kb, MMU800 MIPS @ 624 MHzPXA800(E)FMonahans1000 MIPS @ 1.25 GHzPXA900IXC1100Control Plane 프로세서IXP2400/IXP2800IXP2850IXP2325/IXP2350IXP42xIXP460/IXP465ARM11ARMv6ARM1136J(F)-SSIMD, Jazelle DBX, VFP, 8-단계 파이프라인가변적, MMU740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHzARMv6T2ARM1156T2(F)-SSIMD, Thumb-2, VFP, 9-단계 파이프라인가변적, MPUARMv6KZARM1176JZ(F)-SSIMD, Jazelle DBX, VFP가변적, MMU+TrustZoneARMv6KARM11 MPCore1-4 코어 SMP, SIMD, Jazelle DBX, VFP가변적, MMUCortexARMv7-ACortex-A8응용분야 형상, VFP, NEON, Jazelle RCT, Thumb-2, 13-단계 슈퍼스칼라 파이프라인가변적 (L1+L2), MMU+TrustZone2000 (2.0 DMIPS/MHz, 600 MHz부터 1 GHz) 까지Cortex-A9응용분야 형상, VFP, (NEON), Jazelle RCT and DBX, Thumb-2MMU+TrustZone2.5 DMIPS/MHzCortex-A9 MPCoreAs Cortex-A9, 1-4 코어 SMPMMU+TrustZone2.0 DMIPS/MHzCortex-A122.96 DMIPS/MHzCortex-A153.5 DMIPS/MHzARMv7-RCortex-R4(F)임베디드 형상, (FPU)가변적 캐시, MPU optional600 DMIPSARMv6-MCortex-M1FPGA와 연동, 마이크로컨트롤러 형상, Thumb-2 (BL, MRS, MSR, ISB, DSB, and DMB).없음, 선택적 메모리 밀착형.ARMv7-MCortex-M3마이크로컨트롤러 형상, Thumb-2 only.캐시없음, (MPU)125 DMIPS @ 100 MHzARMv7E-MCortex-M4마이크로컨트롤러 형상125 DMIPS



애크론 컴퓨터(Acorn Computers)의 첫 번째 성공적인 디자인은 1981년 12월에 출시된 BBC 마이크로(BBC Micro)였다. 이 기기는 MOS 테크놀로지 6502(MOS Technology 6502) CPU를 기반으로 했지만, 더 빠른 동적 램(DRAM)을 사용하여 애플 II(Apple II)와 같은 경쟁 제품보다 약 두 배의 성능을 보였다. 당시 일반적인 DRAM은 약 2MHz로 동작했지만, 애크론은 히타치(Hitachi)와 계약하여 더 빠른 4MHz 부품을 공급받았다.[14]

당시 기계들은 일반적으로 프로세서와 프레임버퍼(framebuffer) 간에 메모리를 공유하여 프로세서가 별도의 입출력(I/O) 없이 화면 내용을 빠르게 업데이트할 수 있었다. 6502 설계의 특징으로 CPU는 시간의 절반 동안 메모리를 사용하지 않았다. CPU를 1MHz로 실행하면 비디오 시스템은 이러한 다운타임 동안 데이터를 읽어 RAM의 총 2MHz 대역폭을 활용했다. BBC 마이크로에서는 4MHz RAM을 사용하여 동일한 기술을 적용, 속도를 두 배로 늘렸다. 이를 통해 시장에 나와 있는 유사한 기계보다 뛰어난 성능을 발휘했다.[15]

1981년 IBM PC가 출시되면서 데스크톱 컴퓨터 시장은 급변했다. 인텔 8088을 사용하여 전반적인 성능이 향상되었고, 이전의 8비트 설계는 경쟁력을 잃었다. 모토로라 68000[16] 및 내셔널 세미컨덕터 NS32016[17]과 같은 새로운 32비트 설계도 시장에 진출했다.

에이콘(Acorn)은 에이콘 비즈니스 컴퓨터(Acorn Business Computer)라는 새로운 설계를 통해 경쟁할 방법을 모색했다. BBC 마이크로의 10배 성능을 동일한 가격에 구현하는 것을 목표로 삼았다. 이는 PC보다 성능이 뛰어나고 가격이 저렴하게 만들 수 있었다. 한편, 애플 리사(Apple Lisa)는 그래픽 사용자 인터페이스(GUI) 개념을 대중에게 알렸고, 미래는 GUI를 갖춘 기계가 될 것임을 시사했다.[18] 그러나 리사는 당시 매우 비쌌던 지원 칩, 많은 양의 메모리 및 하드 디스크 드라이브가 포함되어 9995USD의 높은 가격에 판매되었다.

엔지니어들은 사용 가능한 모든 CPU 설계를 연구했다. 기존 16비트 설계는 더 비싸면서도 BBC 마이크로 설계보다 약간 높은 성능만 제공했다. 또한, 많은 수의 지원 칩이 필요하여 컴퓨터 전체 비용을 증가시켰다. 새로운 32비트 설계도 고려했지만, 더 비쌌고 지원 칩 문제가 있었다. 소피 윌슨(Sophie Wilson)에 따르면, 당시 테스트된 모든 프로세서는 약 4Mbit/s 대역폭으로 거의 동일한 성능을 보였다.[19]

캘리포니아 대학교 버클리의 보고서 발표와[20] 스티브 퍼버(Steve Furber)와 소피 윌슨의 웨스턴 디자인 센터(Western Design Center) 방문은 에이콘(Acorn)이 ARM으로 이끄는 주요 사건이었다. 에이콘 팀은 고등학생들이 애플 II 기계에서 칩 레이아웃을 제작하는 것을 보고 누구든지 할 수 있다는 것을 알게 되었다.[21] 반면, 현대적인 32비트 CPU를 개발하는 다른 설계 회사를 방문했을 때는 12명 이상의 팀원이 이미 설계의 H 버전을 작업하고 있었지만 여전히 버그가 있었다. 이는 1983년 말에 자체 CPU 설계인 에이콘 RISC 머신(Acorn RISC Machine)을 시작하기로 결정한 것을 확고하게 했다.

초기 버클리 RISC 설계는 교육용 시스템이었으며, 단순한 성능 향상을 위해 특별히 설계된 것은 아니었다. ARM은 6502의 여러 가지 장점 있는 설계 개념을 추가했다. 가장 중요한 것은 인터럽트를 빠르게 처리하는 기능이었는데, 이를 통해 추가적인 외부 하드웨어 없이도 적절한 입출력(I/O) 성능을 제공할 수 있었다. ARM 설계는 물리적인 주소 공간을 총 64MB로 제한하여 26비트의 주소를 사용했다. 명령어는 4바이트(32비트) 길이이며 4바이트 경계에 맞춰야 했으므로 명령어 주소의 하위 2비트는 항상 0이었다. 이는 프로그램 카운터(PC)가 24비트만 필요하다는 것을 의미하며, 8비트 프로세서 플래그와 함께 단일 32비트 레지스터에 저장할 수 있었다. 이 결정으로 인터럽트 오버헤드가 절반으로 줄었다.

또 다른 변화 중 하나는 명령어 집합을 수정하여 페이지 모드 DRAM을 활용한 것이다. 페이지 모드는 DRAM 칩의 거의 같은 위치 또는 "페이지"에 있을 경우 후속 메모리 액세스 속도를 두 배로 높일 수 있었다. ARM 설계는 페이지 모드를 사용하여 단일 페이지에서 여러 레지스터를 채우거나 저장하는 데 사용할 수 있는 특수 벡터와 같은 메모리 액세스 명령어인 "S-사이클"을 추가했다. 이를 통해 사용 가능할 경우 메모리 성능이 두 배로 향상되었으며, 특히 그래픽 성능에 중요했다.

버클리 RISC 설계는 레지스터 윈도우를 사용하여 프로시저 호출에서 수행되는 레지스터 저장 및 복원 횟수를 줄였지만, ARM 설계는 이를 채택하지 않았다.

윌슨은 BBC BASIC으로 프로세서 시뮬레이션을 작성했는데, 이는 두 번째 6502 프로세서를 갖춘 BBC 마이크로에서 실행되었다.[22][23] 이는 Acorn 엔지니어들이 올바른 방향으로 나아가고 있다는 확신을 주었다. 윌슨은 Acorn의 CEO인 허먼 하우저에게 더 많은 자원을 요청했고, 하우저는 승인하여 윌슨의 ISA를 기반으로 실제 프로세서를 설계할 소규모 팀을 구성했다.[24] 공식 Acorn RISC Machine 프로젝트는 1983년 10월에 시작되었다.

Acorn은 ROM과 맞춤형 칩의 공급업체였던 VLSI 테크놀로지를 "실리콘 파트너"로 선택했다. Acorn은 설계를 담당하고 VLSI는 레이아웃과 생산을 담당했다. ARM 실리콘의 첫 번째 샘플은 1985년 4월 26일에 처음 수령되어 테스트되었을 때 제대로 작동했다.[2] ARM1로 알려진 이 버전은 6MHz로 작동했다.

첫 번째 ARM 애플리케이션은 BBC 마이크로의 두 번째 프로세서로, 지원 칩(VIDC, IOC, MEMC) 개발을 완료하기 위한 시뮬레이션 소프트웨어 개발에 도움을 주었고 ARM2 개발에 사용된 CAD 소프트웨어의 속도를 높였다. Wilson은 그 후 ARM 어셈블리어로 BBC 베이직을 다시 작성했다. 명령어 세트 설계를 통해 얻은 심층적인 지식을 통해 코드를 매우 압축적으로 만들 수 있었기 때문에 ARM BBC 베이직은 모든 ARM 에뮬레이터에 대한 매우 좋은 테스트가 되었다.

6. 64비트 아키텍처 (ARMv8-A 이후)

ARMv8-A 아키텍처는 64비트 명령어 집합인 AArch64 (ARM64)를 지원한다.

아키텍처코어 비트 너비Arm Ltd. 코어제3자 코어프로필참조
ARMv8-A32응용
64/32, , , ,X-Gene, 엔비디아 Denver 1/2, Cavium ThunderX, AMD K12, 애플 Cyclone (A7)/Typhoon (A8, A8X)/Twister (A9, A9X)/Hurricane+Zephyr (A10, A10X), 퀄컴 Kryo, 삼성 M1/M2 ("Mongoose") /M3 ("Meerkat")응용
64응용
ARMv8.1-A64/32발표 예정Cavium ThunderX2응용[68]
ARMv8.2-A64/32,[69] ,[70] ,[71] , , , ,엔비디아 Carmel, 삼성 M4 ("Cheetah"), Fujitsu A64FX (ARMv8 SVE 512비트)응용
64, with 동시 멀티스레딩 (SMT), [75] (also having e.g. ARMv8.4 Dot Product; made for safety critical tasks such as 첨단 운전자 지원 시스템 (ADAS))애플 Monsoon+Mistral (A11) (2017년 9월)응용
ARMv8.3-A64/32발표 예정응용
64발표 예정애플 Vortex+Tempest (A12, A12X, A12Z), Marvell ThunderX3 (v8.3+)[76]응용
ARMv8.4-A64/32발표 예정응용
64ARM Neoverse V1애플 Lightning+Thunder (A13), 애플 Firestorm+Icestorm (A14, M1)응용
ARMv8.5-A64/32발표 예정응용
64발표 예정응용
ARMv8.6-A64발표 예정애플 Avalanche+Blizzard (A15, M2), 애플 Everest+Sawtooth (A16)[77], A17응용
ARMv8.7-A64발표 예정응용
ARMv8.8-A64발표 예정응용
ARMv8.9-A64발표 예정응용
ARMv9.0-A64ARM Cortex-A510, ARM Cortex-A710, ARM Cortex-A715, ARM Cortex-X2, ARM Cortex-X3, ARM Neoverse E2, ARM Neoverse N2, ARM Neoverse V2응용
ARMv9.1-A64발표 예정응용
ARMv9.2-A64ARM Cortex-A520, ARM Cortex-A720, ARM Cortex-X4, ARM Neoverse V3,[81] ARM Cortex-X925[82]애플 M4[83], A18응용
ARMv9.3-A64발표 예정응용
ARMv9.4-A64발표 예정응용
ARMv9.5-A64발표 예정응용
ARMv9.6-A64발표 예정응용


7. 라이선싱

ARM 홀딩스는 자체적으로 ARM 아키텍처 기반 칩을 제조하지 않고, 지적 재산권(IP) 형태로 다른 회사에 라이선스를 제공한다.

8. 운영체제 지원

ARM 코어는 다양한 제품, 특히 PDA(개인용 디지털 보조기기)와 스마트폰에 널리 사용된다. 마이크로소프트의 서피스 1세대(Surface), 서피스 2 및 포켓 PC 기기(2002년 이후), 애플아이패드, 에이수스의 이이패드 트랜스포머 태블릿 컴퓨터, 그리고 여러 크롬북 노트북 등이 ARM 기반 컴퓨팅 기기의 예시이다. 이 외에도 애플아이폰 스마트폰과 아이팟 휴대용 미디어 플레이어, 캐논 파워샷 디지털 카메라, 닌텐도 스위치 하이브리드 및 보안 프로세서, 닌텐도 3DS 휴대용 게임 콘솔, 톰톰 턴바이턴 내비게이션 시스템 등에도 ARM 코어가 사용되었다.

트론스마트 MK908, 록칩 기반 쿼드코어 안드로이드 "미니 PC", 크기 비교를 위해 마이크로SD 카드를 옆에 놓았다.


2005년, Arm은 맨체스터 대학교의 컴퓨터 스피나커(SpiNNaker) 개발에 참여했으며, 이 컴퓨터는 ARM 코어를 사용하여 인간 뇌를 시뮬레이션했다.[89]

또한 ARM 칩은 라즈베리 파이, 비글보드, 비글본, 판다보드 등과 같은 싱글보드 컴퓨터에도 사용되는데, 이는 ARM 칩이 매우 작고 저렴하며 전력 소모량이 매우 적기 때문이다.

9. 한국 내 현황 및 전망

삼성전자, LG전자 등 대한민국의 주요 기업들은 ARM 아키텍처 기반 프로세서를 개발하고 있으며, 특히 모바일 AP 시장에서 높은 경쟁력을 보이고 있다. 삼성전자의 엑시노스 시리즈는 갤럭시 스마트폰, 태블릿 등 다양한 제품에 탑재되고 있으며, 자체 CPU 코어 개발 (Mongoose, Meerkat 등)을 통해 성능 향상을 추구하고 있다. LG전자는 자체 모바일 프로세서 개발을 중단했지만, ARM 기반 칩셋을 활용하여 스마트폰, 스마트 TV 등 다양한 제품을 출시하고 있다. 퀄컴스냅드래곤 프로세서도 국내 스마트폰 제조사들에 의해 널리 채택되고 있다.

ARM 아키텍처는 5G, 인공지능, 사물 인터넷 등 미래 기술 발전에 따라 더욱 다양한 분야에서 활용될 것으로 전망된다. 특히, 저전력, 고성능 특성을 바탕으로 모바일 기기뿐만 아니라 서버, 자동차, 가전제품 등 다양한 분야로 적용 범위가 확대될 것으로 예상된다.

참조

[1] 웹사이트 6.1.2.1 VFP register usage conventions https://github.com/A[...] Arm Holdings 2023-10-06
[2] 뉴스그룹 Some facts about the Acorn RISC Machine https://groups.googl[...] 1988-11-02
[3] 뉴스 ARM Cores Climb into 3G Territory https://www.extremet[...] 2002-10-14
[4] 뉴스 The Two Percent Solution https://www.embedded[...] 2002-12-18
[5] 뉴스 New #1 Supercomputer: Fujitsu's Fugaku and A64FX take Arm to the Top with 415 PetaFLOPs https://www.anandtec[...] 2020-06-22
[6] 보도자료 Arm Partners Have Shipped 200 Billion Chips https://www.arm.com/[...]
[7] 웹사이트 Enabling Mass IoT connectivity as ARM partners ship 100 billion chips https://community.ar[...] 2017-02-27
[8] 웹사이트 MCU Market on Migration Path to 32-bit and ARM-based Devices: 32-bit tops in sales; 16-bit leads in unit shipments https://www.icinsigh[...] IC Insights 2013-04-25
[9] 웹사이트 The Two Percent Solution https://www.embedded[...] embedded.com
[10] 웹사이트 Arm Holdings eager for PC and server expansion https://www.theregis[...] 2011-02-01
[11] 뉴스 ARM from zero to billions in 25 short years https://community.ar[...] Arm Holdings 2010-05-11
[12] 보도자료 ARM Discloses Technical Details of the Next Version of the ARM Architecture https://www.arm.com/[...] Arm Holdings 2011-10-27
[13] 웹사이트 Announcing the ARM Neoverse N1 Platform https://community.ar[...] 2019-02-20
[14] 웹사이트 Oral History of Sophie Wilson http://archive.compu[...] 2012-01-31
[15] 뉴스 The BBC Micro turns 30 http://www.reghardwa[...] 2011-11-30
[16] 웹사이트 Chronology of Microprocessors https://processortim[...]
[17] 뉴스 The National Semiconductor NS16000 Microprocessor Family https://archive.org/[...] 1983-04-01
[18] 뉴스 ARM's way https://www.electron[...] 1998-04-29
[19] 영상매체 Sophie Wilson at Alt Party 2009 (Part 3/8) https://www.youtube.[...]
[20] 서적 Understanding ARM Architectures https://www.informit[...] 2010-08-23
[21] 서적 ARM system-on-chip architecture Addison-Wesley
[22] 웹사이트 ARM Instruction Set design history with Sophie Wilson (Part 3) https://www.youtube.[...] 2015-05-10
[23] 웹사이트 Oral History of Sophie Wilson – 2012 Computer History Museum Fellow http://archive.compu[...] 2012-01-31
[24] 저널 ARM gets serious about IP (Second in a two-part series [Associated Editors' View] https://ieeexplore.i[...] 2009-06-01
[25] 웹사이트 From one Arm to the next! ARM Processors and Architectures https://www.cs.umd.e[...]
[26] 웹사이트 The History of The ARM Architecture: From Inception to IPO https://reds.heig-vd[...]
[27] 웹사이트 Introducing the Commodore Amiga 3000 http://oldcomputers.[...] Commodore-Amiga, Inc. 1991
[28] 웹사이트 Computer MIPS and MFLOPS Speed Claims 1980 to 1996 http://www.roylongbo[...]
[29] 서적 Embedded System Design https://books.google[...] PHI Learning Pvt. Ltd.
[30] 웹사이트 32 bit operation https://www.heyrick.[...]
[31] 웹사이트 ARM Company Milestones https://www.arm.com/[...]
[32] 서적 Co-verification of hardware and software for ARM SoC design https://archive.org/[...] Elsevier
[33] 뉴스 Apple to Join Acorn, VLSI in Chip-Making Venture https://www.latimes.[...] 1990-11-28
[34] 웹사이트 ARM Corporate Backgrounder https://www.arm.com/[...]
[35] 저널 A 160-MHz, 32-b, 0.5-W CMOS RISC Microprocessor https://www.hpl.hp.c[...] 1997
[36] 웹사이트 ARM's Race to Embedded World Domination https://www.realworl[...] 2000-11-09
[37] 웹사이트 March of the Machines https://www.technolo[...] MIT Technology Review 2010-04-20
[38] 뉴스 ARMed for the living room https://www.cnet.com[...] CNET 2006-04-03
[39] 웹사이트 Celebrating 50 Billion shipped ARM-powered Chips https://community.ar[...] 2014-02-12
[40] 웹사이트 ARM's Reach: 50 Billion Chip Milestone https://www.broadcom[...] 2014-03-03
[41] 뉴스 ARM netbook ships with detachable tablet http://www.linuxford[...]
[42] 뉴스 Amazon Now Sells Own ARM chips https://www.eetimes.[...] 2016-01-07
[43] 보도자료 MACOM Successfully Completes Acquisition of AppliedMicro https://www.macom.co[...] 2017-01-26
[44] 웹사이트 ARM Details Built on ARM Cortex Technology License https://www.anandtec[...]
[45] 웹사이트 ARM Flexible Access: Design the SoC Before Spending Money https://www.anandtec[...]
[46] 웹사이트 ARM Flexible Access Frequently Asked Questions https://www.arm.com/[...]
[47] 문서 Early ARM processors and addressable memory
[48] 웹사이트 STORM CORE Processor System https://opencores.or[...] OpenCores
[49] 문서 ARMv3 and 26-bit address compatibility
[50] Github ZAP https://github.com/k[...]
[51] 웹사이트 Cortex-M23 Processor https://www.arm.com/[...] ARM
[52] 웹사이트 Cortex-M33 Processor https://www.arm.com/[...] ARM
[53] 웹사이트 ARMv8-M Architecture Simplifies Security for Smart Embedded https://www.arm.com/[...] ARM
[54] 웹사이트 M-Profile Architectures https://www.arm.com/[...]
[55] 웹사이트 ARMv8-R Architecture https://www.arm.com/[...]
[56] 웹사이트 ARM Cortex-R Architecture https://arm.com/file[...] Arm Holdings 2013-10
[57] 뉴스 ARM Announces Cortex-R52 CPU: Deterministic & Safe, for ADAS & More https://www.anandtec[...] 2016-09-20
[58] 웹사이트 Cortex-A32 Processor https://developer.ar[...] ARM
[59] 웹사이트 Cortex-A35 Processor https://www.arm.com/[...] ARM
[60] 웹사이트 Cortex-A72 Processor https://www.arm.com/[...] ARM
[61] 웹사이트 Cortex-A73 Processor https://www.arm.com/[...] ARM
[62] 웹사이트 ARMv8-A Architecture https://www.arm.com/[...]
[63] 웹사이트 Cavium Thunder X ups the ARM core count to 48 on a single chip https://semiaccurate[...] SemiAccurate 2014-06-03
[64] 웹사이트 Cavium at Supercomputing 2014 https://finance.yaho[...] 2014-11-17
[65] 웹사이트 Cray to Evaluate ARM Chips in Its Supercomputers https://www.eweek.co[...] 2014-11-17
[66] 웹사이트 Samsung Announces Exynos 8890 with Cat.12/13 Modem and Custom CPU https://www.anandtec[...]
[67] 웹사이트 Cortex-A34 Processor https://developer.ar[...] ARM
[68] 웹사이트 D21500 [AARCH64] Add support for Broadcom Vulcan https://reviews.llvm[...]
[69] 웹사이트 Cortex-A55 Processor https://developer.ar[...] ARM
[70] 웹사이트 Cortex-A75 Processor https://developer.ar[...] ARM
[71] 웹사이트 Cortex-A76 Processor https://developer.ar[...] ARM 2018-10-11
[72] 웹사이트 ARM Architecture – ARMv8.2-A evolution and delivery https://community.ar[...] 2017-04-00
[73] 웹사이트 Samsung Announces the Exynos 9825 SoC: First 7nm EUV Silicon Chip https://www.anandtec[...] 2019-10-11
[74] 웹사이트 Fujitsu began to produce Japan's billions of super-calculations with the strongest ARM processor A64FX http://images.firstx[...] 2019-08-17
[75] 웹사이트 Cortex-A65AE – ARM https://www.arm.com/[...] 2020-04-08
[76] 웹사이트 Marvell Announces ThunderX3: 96 Cores & 384 Thread 3rd Gen ARM Server Processor https://www.anandtec[...] 2020-05-26
[77] 웹사이트 AArch64: add support for newer Apple CPUs · apple/llvm-project@677da09 https://github.com/a[...] 2022-09-23
[78] 웹사이트 New features for the Armv8-A architecture - Architectures and Processors blog - Arm Community blogs - Arm Community https://community.ar[...] 2020-09-21
[79] 웹사이트 Arm's solution to the future needs of AI, security and specialized computing is v9 https://www.arm.com/[...] 2021-08-16
[80] 웹사이트 First Armv9 Cortex CPUs for Consumer Compute https://community.ar[...] 2021-05-25
[81] 웹사이트 Documentation – Arm Developer https://developer.ar[...] 2024-10-03
[82] 웹사이트 Documentation – Arm Developer https://developer.ar[...] 2024-10-03
[83] 웹사이트 Apple M4 Support Added To The LLVM Compiler, Confirming Its ISA Capabilities https://www.phoronix[...] 2024-06-15
[84] 웹사이트 Arm A-Profile Architecture Developments 2021 - Architectures and Processors blog - Arm Community blogs - Arm Community https://community.ar[...] 2021-09-08
[85] 웹사이트 Arm A-Profile Architecture Developments 2022 - Architectures and Processors blog - Arm Community blogs - Arm Community https://community.ar[...] 2022-09-29
[86] 웹사이트 Arm A-Profile Architecture Developments 2023 - Architectures and Processors blog - Arm Community blogs - Arm Community https://community.ar[...] 2022-09-29
[87] 웹사이트 Arm A-Profile Architecture Developments 2024 - Architectures and Processors blog - Arm Community blogs - Arm Community https://community.ar[...] 2022-09-29
[88] 웹사이트 Line Card http://infocenter.ar[...] 2003-00-00
[89] 잡지 One Million ARM Cores Linked to Simulate Brain https://www.eetimes.[...] 2011-07-14
[90] 논문 An Interview with Steve Furber
[91] 웹사이트 Processor mode http://infocenter.ar[...] Arm Holdings 2013-03-26
[92] 웹사이트 KVM/ARM https://blog.linuxpl[...] 2023-02-14
[93] 학회 Extensions to the ARMv7-A Architecture 2010-08-00
[94] 웹사이트 How does the ARM Compiler support unaligned accesses? http://infocenter.ar[...] 2013-10-05
[95] 웹사이트 Unaligned data access http://www.heyrick.c[...] 2013-10-05
[96] 웹사이트 Cortex-M0 r0p0 Technical Reference Manual http://infocenter.ar[...]
[97] 웹사이트 ARMv7-M Architecture Reference Manual https://developer.ar[...] Arm 2022-07-18
[98] 웹사이트 ARMv7-A and ARMv7-R Architecture Reference Manual; Arm Holdings https://developer.ar[...] arm.com 2013-01-19
[99] 웹사이트 ARM Information Center http://infocenter.ar[...] 2015-07-10
[100] 웹사이트 Condition Codes 1: Condition flags and codes https://community.ar[...] 2013-09-11
[101] 웹사이트 9.1.2. Instruction cycle counts http://infocenter.ar[...]
[102] 웹사이트 ARMv8-A Technology Preview https://www.arm.com/[...] 2011-10-31
[103] 웹사이트 CoreSight Components: About the Debug Access Port http://infocenter.ar[...]
[104] 웹사이트 The Cortex-M3: Debug Access Port (DAP) http://infocenter.ar[...]
[105] 웹사이트 Understanding ARM HW Debug Options https://elinux.org/i[...]
[106] 웹사이트 CMSIS-DAP Debugger User's Guide http://www.keil.com/[...]
[107] 웹사이트 CMSIS-DAP https://www.nimblema[...]
[108] 웹사이트 ARM DSP Instruction Set Extensions https://www.arm.com/[...] 2009-04-18
[109] 잡지 EPF: ARC, ARM add DSP extensions to their RISC cores https://www.eetimes.[...] 1999-05-03
[110] 잡지 ARM Tunes Piccolo for DSP Performance https://www.cecs.uci[...] 1996-11-18
[111] 웹사이트 DSP & SIMD https://www.arm.com/[...] 2015-07-10
[112] 웹사이트 ARM7TDMI Technical Reference Manual http://www.atmel.com[...]
[113] 서적 ARM Architecture Reference Manual Prentice Hall
[114] 웹사이트 Resurrecting the SuperH architecture http://lwn.net/Artic[...] LWN.net 2015-06-10
[115] 웹사이트 ARM Processor Instruction Set Architecture https://www.arm.com/[...] ARM.com 2009-04-18
[116] 웹사이트 ARM aims son of Thumb at uCs, ASSPs, SoCs http://www.linuxdevi[...] Linuxdevices.com 2009-04-18
[117] 웹사이트 ARM Information Center http://infocenter.ar[...] Infocenter.arm.com 2009-04-18
[118] 웹사이트 Jazelle https://www.arm.com/[...] ARM Ltd.
[119] 웹사이트 ARM strengthens Java compilers: New 16-Bit Thumb-2EE Instructions Conserve System Memory https://www.arm.com/[...]
[120] 문서 ARM Architecture Reference Manual, Armv7-A and Armv7-R edition, issue C.b, Section A2.10 2012-07-25
[121] 웹사이트 ARM Compiler toolchain Using the Assembler – VFP coprocessor http://infocenter.ar[...] ARM.com 2014-08-20
[122] 웹사이트 VFP directives and vector notation http://infocenter.ar[...] ARM.com 2011-11-21
[123] 웹사이트 Differences between ARM Cortex-A8 and Cortex-A9 https://www.shervine[...] Shervin Emami 2011-11-21
[124] 웹사이트 FPA10 Data Sheet http://chrisacorns.c[...] GEC Plessey Semiconductors 1993-06-11
[125] 웹사이트 Cortex-A7 MPCore Technical Reference Manual – 1.3 Features http://infocenter.ar[...] ARM 2014-07-11
[126] 웹사이트 ArmHardFloatPort – Debian Wiki https://wiki.debian.[...] Wiki.debian.org 2012-08-20
[127] 웹사이트 Cortex-A9 Processor https://www.arm.com/[...] 2011-11-21
[128] 웹사이트 About the Cortex-A9 NEON MPE http://infocenter.ar[...] 2011-11-21
[129] 특허 US20050125476A1 https://patents.goog[...]
[130] 특허 US20080141004A1 https://patents.goog[...]
[131] 웹사이트 ARM Options https://gcc.gnu.org/[...] 2019-09-20
[132] GitHub Ne10: An open optimized software library project for the ARM Architecture https://github.com/p[...]
[133] 웹사이트 Introduction to ARMv8.1-M architecture https://www.arm.com/[...] 2022-07-18
[134] 웹사이트 Genode – An Exploration of ARM TrustZone Technology https://genode.org/d[...] 2015-07-10
[135] 보도자료 ARM Announces Availability of Mobile Consumer DRM Software Solutions Based on ARM TrustZone Technology https://news.thomasn[...] News.thomasnet.com 2009-04-18
[136] 웹사이트 Bits, Please!: Full TrustZone exploit for MSM8974 https://bits-please.[...] 2015-10-08
[137] 웹사이트 Attacking your 'Trusted Core' Exploiting TrustZone on Android https://www.blackhat[...] Black Hat Briefings
[138] 웹사이트 ARM TrustZone and ARM Hypervisor Open Source Software http://www.openvirtu[...] Open Virtualization 2013-06-14
[139] 웹사이트 AMD Secure Technology https://www.amd.com/[...] 2016-07-06
[140] 뉴스 AMD 2013 APUs to include ARM Cortex A5 Processor for Trustzone Capabilities https://www.anandtec[...] 2012-06-13
[141] 뉴스 AMD Beema Mullins Architecture A10 micro 6700T Performance Preview https://www.anandtec[...] 2014-04-29
[142] 뉴스 AMD Launches Mobile Kaveri APUs https://www.anandtec[...] 2014-06-04
[143] white paper Root of Trust https://docs.samsung[...] Samsung Electronics 2016-04-01
[144] 웹사이트 ARM Architecture Reference Manual https://www.arm.com/[...]
[145] 서적 ARM Architecture Reference Manual, ARMv7-A and ARMv7-R edition ARM Limited
[146] 웹사이트 Cortex-A65AE https://developer.ar[...]
[147] 보도자료 ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors https://www.arm.com/[...] Arm Holdings
[148] 보도자료 AppliedMicro Showcases World's First 64-bit ARM v8 Core https://www.business[...] AppliedMicro 2011-10-28
[149] 웹사이트 Samsung's Exynos 5433 is an A57/A53 ARM SoC https://www.anandtec[...]
[150] 웹사이트 ARM Cortex-A53 MPCore Processor Technical Reference Manual: Cryptography Extension http://infocenter.ar[...] ARM
[151] 웹사이트 Impact of implemented Exception levels https://developer.ar[...] Arm
[152] 웹사이트 Cortex-A32 https://developer.ar[...]
[153] 웹사이트 Cortex-A34 https://developer.ar[...]
[154] 웹사이트 Cortex-A72 https://developer.ar[...]
[155] 뉴스 ARM Announced Cortex-R82: First 64-bit Real Time Processor https://www.anandtec[...] 2020-09-03
[156] 뉴스 Arm Announces Armv9 Architecture: SVE2, Security, and the Next Decade https://www.anandtec[...] 2021-03-30
[157] 보도자료 Arm's Solution to the Future Needs of AI, Security and Specialized Computing is v9 https://newsroom.arm[...] Arm Holdings 2021-03-30
[158] 웹사이트 SystemReady Compliance Program https://www.arm.com/[...]
[159] 웹사이트 Arm Base System Architecture https://developer.ar[...]
[160] 웹사이트 Arm Server Base System Architecture https://developer.ar[...]
[161] 웹사이트 Arm Base Boot Requirements https://developer.ar[...]
[162] 웹사이트 Base Boot Security Requirements https://developer.ar[...]
[163] 웹사이트 Arm SystemReady Requirements Specification https://developer.ar[...]
[164] 웹사이트 ARM announces PSA security architecture for IoT devices https://www.zdnet.co[...] ZDNet
[165] 웹사이트 ARM's Platform Security Architecture Targets Cortex-M https://www.electron[...] 2017-10-25
[166] 웹사이트 ARM: Security Isn't Just a Technological Imperative, It's a Social Responsibility https://www.vdcresea[...] 2017-10-31
[167] 웹사이트 ARM Reveals More Details About Its IoT Platform Security Architecture https://www.tomshard[...] 2018-02-22
[168] 웹사이트 ARM PSA IoT API? BRB... Toolbox of tech to secure net-connected kit opens up some more https://www.theregis[...]
[169] 웹사이트 Embedded World: Arm introduces fourth security element to PSA https://www.electron[...] Electronics Weekly 2019-02-25
[170] 웹사이트 PSA Certified: building trust in IoT https://www.psacerti[...]
[171] 웹사이트 PSA Certified–building trust, building value https://www.eetimes.[...] EE Times 2019-03-04
[172] 웹사이트 The $6trn importance of security standards and regulation in the IoT era https://www.iot-now.[...] IoT Now 2020-03-16
[173] 웹사이트 Arm Introduces Security Certification Testing For IoT https://www.forbes.c[...] 2019-03-04
[174] 웹사이트 Azure IoT heads spaceward to maintain connectivity at the edge, courtesy of Inmarsat https://www.theregis[...] TheRegister 2019-02-26
[175] 웹사이트 OS-9 Specifications http://www.microware[...] Microware
[176] 웹사이트 Pharos https://sourceforge.[...] 2018-05-24
[177] 웹사이트 PikeOS Safe and Secure Virtualization https://www.arm.com/[...] 2013-07-10
[178] 웹사이트 Safety Certified Real-Time Operating Systems – Supported CPUs http://www.sciopta.c[...]
[179] 웹사이트 ARM Platform Port https://web.archive.[...] opensolaris.org 2012-12-29
[180] 웹사이트 Green Hills Software's INTEGRITY-based Multivisor Delivers Embedded Industry's First 64-bit Secure Virtualization Solution https://www.ghs.com/[...] 2018-03-14
[181] 웹사이트 Enea OSE real-time operating system for 5G and LTE-A Enea https://web.archive.[...] 2018-04-17
[182] 웹사이트 Supported Platforms https://docs.sel4.sy[...] 2018-11-23
[183] 웹사이트 QNX Software Development Platform (SDP 7.0) BlackBerry QNX https://blackberry.q[...] 2020-07-27
[184] 보도자료 Wind River Releases 64-Bit VxWorks RTOS https://windriver.co[...] Wind River Systems 2011-02-28
[185] 웹사이트 Manjaro-ARM https://wiki.manjaro[...] 2022-06-20
[186] 메일링리스트 Re: [GIT PULL] arm64: Linux kernel port https://lkml.org/lkm[...] 2019-05-02
[187] 웹사이트 64-bit ARM Version of Ubuntu/Debian Is Booting https://www.phoronix[...] Phoronix 2014-08-17
[188] 웹사이트 Debian Project News – August 14th, 2014 https://www.debian.o[...] Debian 2014-08-17
[189] 웹사이트 Ubuntu Server for ARM https://ubuntu.com/d[...]
[190] 웹사이트 Architectures/AArch64 https://fedoraprojec[...] 2015-01-16
[191] 웹사이트 Portal:ARM/AArch64 https://en.opensuse.[...] 2015-01-16
[192] 웹사이트 SUSE Linux Enterprise 12 SP2 Release Notes https://www.suse.com[...] 2016-11-11
[193] 웹사이트 Red Hat introduces ARM server support for Red Hat Enterprise Linux https://www.redhat.c[...] 2019-01-18
[194] 웹사이트 64-bit ARM architecture project update http://freebsdfounda[...] The FreeBSD Foundation 2014-11-24
[195] 웹사이트 OpenBSD/arm64 https://www.openbsd.[...] 2023-09-25
[196] 웹사이트 NetBSD/arm64 https://mail-index.n[...] 2018-08-05
[197] 뉴스 HP, Asus announce first Windows 10 ARM PCs: 20-hour battery life, gigabit LTE https://arstechnica.[...] 2018-01-22
[198] 웹사이트 Windows 10 on ARM64 gets its first compiled apps https://mspoweruser.[...] 2016-12-10
[199] 웹사이트 VLC becomes one of first ARM64 Windows apps https://www.engadget[...] 2018-06-01
[200] 웹사이트 Official support for Windows 10 on ARM development https://blogs.window[...] Microsoft 2019-12-17
[201] 뉴스 macOS Big Sur is now available to download https://www.theverge[...] 2020-11-13
[202] 뉴스 Rosetta Won't Support x86 Virtualization Apps Running Windows https://www.macrumor[...] 2020-11-13
[203] 웹사이트 ARM – The Official Wine Wiki https://wiki.winehq.[...] 2015-07-10
[204] 웹사이트 ARM64 – The Official Wine Wiki https://wiki.winehq.[...] 2015-07-10
[205] 웹사이트 ARM Security Updates https://developer.ar[...] 2018-05-24
[206] 웹사이트 Arm’s Solution to the Future Needs of AI, Security and Specialized Computing is v9 https://www.arm.com/[...]
[207] 웹사이트 Arm® (日本)|半導体IP|アーム公式サイト – Arm® https://www.arm.com/[...] arm.com 2022-11-18
[208] 웹사이트 世の中ARMだらけ!? 現代社会を支える「ARM」ってなんだろう? https://www.dospara.[...] ドスパラ 2022-11-18
[209] 웹사이트 ARMとは https://kotobank.jp/[...] コトバンク 2022-11-18
[210] 웹사이트 Armがマイコン向けハイエンドCPUコア、Cortex-M85発表 https://xtech.nikkei[...] 日経 2022-11-18
[211] 문서 http://www.arm.com/m[...]
[212] 웹사이트 スマホ向け「CPUコア」で世界シェア9割超のARMを買収 https://president.jp[...]
[213] 웹사이트 http://www.jp.arm.co[...]
[214] 웹사이트 https://news.mynavi.[...]
[215] 웹사이트 https://ascii.jp/ele[...]
[216] 웹사이트 Oral History of Sophie Wilson http://archive.compu[...] 2016-02-02
[217] 뉴스그룹 Some facts about the Acorn RISC Machine https://groups.googl[...] 2024-09-12
[218] 웹사이트 スマートフォンを席巻するARMプロセッサーの歴史 https://ascii.jp/ele[...] ASCII.jp 2013-07-24
[219] 웹사이트 ARMが初の64ビットCPU「Cortex-A50シリーズ」発表、サーバー向けに16コア以上に対応 https://xtech.nikkei[...] ITpro 2014-11-27
[220] 문서 2005년, ARM사의 세미나 자료 2005-00-00
[221] 웹사이트 Sony Japan プレスリリース クリエ用新アプリケーションCPU「Handheld EngineTM」の開発について https://www.sony.co.[...] 2019-04-08
[222] 웹사이트 News:米速報:次世代マイクロアーキテクチャ「ARM11」発表 https://www.itmedia.[...]
[223] 웹사이트 Googleが新型「Chromebook」を発表、Samsung製で249ドル https://internet.wat[...]
[224] 웹사이트 Samsung、初のARM Cortex-A15プロセッサ「Exynos 5250」 https://pc.watch.imp[...]
[225] 웹사이트 日本TI、モバイルの概念を一変させる高性能、高機能のOMAP™5プラットフォームを発表 http://newscenter.ti[...]
[226] 웹사이트 【後藤弘茂のWeekly海外ニュース】 ARMが次世代CPU「Atlas」と「Apollo」の計画を発表 https://pc.watch.imp[...]
[227] 웹사이트 AMD’s K12 ARM CPU Now In 2017 http://www.anandtech[...]
[228] 웹사이트 苦難の2013年を越え、輝かしい2014年に賭けるAMD (大きな期待が寄せられているサーバー向け64ビットARMプロセッサ) https://cloud.watch.[...]
[229] 웹사이트 ARM Sets New Standard for the Premium Mobile Experience - ARM http://www.arm.com/p[...]
[230] 웹사이트 Qualcomm Introduces Next Generation Snapdragon 600 and 400 Tier Processors for High Performance, High-Volume Smartphones with Advanced LTE | Qualcomm https://www.qualcomm[...]
[231] 웹사이트 ARM Cortex-M1 http://www.arm.com/p[...] 2007-04-11
[232] 웹사이트 ARM Extends Cortex Family with First Processor Optimized for FPGA http://www.arm.com/n[...] 2007-04-11
[233] 웹사이트 ARM Cortex-M1 http://www.altera.co[...]
[234] 웹사이트 Actel: 製品とサービス: プロセッサ: ARM: Cortex-M1 http://www.actel.com[...]
[235] 웹사이트 AnandTech | Cortex-M7 Launches: Embedded, IoT and Wearables http://www.anandtech[...]
[236] 웹사이트 Cortex-M7 Overview - ARM https://developer.ar[...]
[237] 웹사이트 Cortex-M23 Overview - ARM https://developer.ar[...]
[238] 웹사이트 Cortex-M33 Overview - ARM https://developer.ar[...]
[239] 웹사이트 ARMv8-A Synchronization primitives https://documentatio[...] 2024-01-03
[240] 웹사이트 Cortex-A78C https://www.arm.com/[...] 2023-01-14
[241] 웹사이트 Processor mode http://infocenter.ar[...] ARM홀딩스 2013-03-26
[242] 웹사이트 KVM/ARM http://www.linuxplum[...] 2013-04-03
[243] 웹사이트 2.14. The program status registers - Cortex-A8 Technical Reference Manual http://infocenter.ar[...]
[244] 웹사이트 DSP & SIMD - ARM http://www.arm.com/j[...]
[245] 웹인용 ARMv8-A Technology Preview https://www.arm.com/[...] 2011-10-31
[246] 웹사이트 Procedure Call Standard for the ARM Architecture http://infocenter.ar[...] ARM 홀딩스 2013-11-30
[247] 웹사이트 ARM810 - Dancing to the Beat of a Different Drum http://www.hotchips.[...] ARM Limited 2011-07-23
[248] 문서 Eclipse CDT for C/C++, Cross GNU, Cross ARM GNU
[249] 웹사이트 The GNU Embedded Toolchain for Arm https://developer.ar[...]
[250] 간행물 STM32 Nucleo 보드 - multiple IDE support https://www.st.com/c[...]
[251] 웹사이트 Quick Start to STM Nucleo on Arduino IDE https://www.instruct[...]
[252] 웹사이트 STM32 NUCLEO-F303K8, Arduino-Nano-compatible headers https://os.mbed.com/[...]
[253] 웹사이트 STM32 Nucleo-32 development board with STM32F303K8 MCU, supports Arduino connectivity https://www.st.com/c[...]
[254] 웹사이트 오드로이드 https://www.hardkern[...]
[255] 웹사이트 삼성 갤럭시S https://www.samsung.[...]

관련 사건 타임라인

( 최근 20개의 뉴스만 표기 됩니다. )



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com