: 명령어 집합 구조(Instruction Set Architecture, ISA)
: CPU가 해석하는 명령어의 집합
: how to implement an architecture in hardware
: CPU의 하드웨어적 설계
: ISA를 효율적으로 처리할 수 있도록 CPU의 회로를 설계하는 분야
⭐️ 아키텍쳐
: programmer’s view of computer
: Defined by instructions & operand locations
: 제어장치, 연산장치, 레지스터가 하나의 대규목 집적회로 (IC칩)에 내장된 것
: 개인용 컴퓨터(PC)에서 중앙처리장치로 사용
설계 방식에 따라 RISC, CISC로 구분(참고)
| 구분 | CPU 예시 |
|---|---|
| RISC | ARM, MIPS, SPARC |
| CISC | Intel x86, AMD Ryzen 등 |

: x86, AMD64(x86-64), ARM, MIPS, AVR 등
: 컴퓨터마다 필요한 연산 능력과 컴퓨팅 환경이 다르기 때문에 다양한 ISA가 개발되고 사용됨
: RISC
: Developed in the 1980’s by Advanced RISC Machines – now called ARM Holdings
: '32-bit architecture'라고도 부름
2011년에 출시된 ARMv8-A 아키텍처는 새로운 32비트 고정 길이 명령어 세트로 64비트 주소 공간과 64비트 산술에 대한 지원을 추가함. 보통 ARM AArch64라고 불림
[Arm Register Set]

: intel에서 개발
: CISC
| 항목 | ARM (RISC) | x86 (CISC) |
|---|---|---|
| 명령어 수 | 적음 | 많음 |
| 전력 소비 | 낮음 | 높음 |
| 성능 최적화 | 모바일, IoT | PC, 서버 |
| 명령어 길이 | 고정 | 가변 |
| 대표 기기 | 스마트폰, 라즈베리파이 | 데스크탑, 노트북 |
CPU 아키텍처는 단순히 성능만을 고려해서 만드는 것이 아니라, 설계 시 다음과 같은 원칙들을 기반으로 만들어진다.
ARM 아키텍처의 명령어는 대부분 2개의 소스 + 1개의 목적지 구조로 고정되어 있음덧셈: ADD R0, R1, R2 (R1 + R2 → R0)
ARM은 복잡한 문자열 처리 명령은 따로 없지만, 기본적인 load/store, branch, add 명령어만으로도 대부분의 프로그램을 구현할 수 있음드물게 쓰이는 기능은 소프트웨어나 명령어 조합으로 구현.
ARM은 필요한 최소한의 레지스터(예: 16개)만 제공하여 하드웨어를 작고 효율적으로 유지전력 소모도 줄고, 모바일 환경에 적합함.
ARM은 처리 속도와 전력 효율 사이에서 최적의 균형을 맞추기 위해 복잡한 명령은 줄이고, 하드웨어를 간소화함