ISA (Instruction Set Architecture)
- CPU가 이해하고 실행할 수 있는 명령어 집합
- 운영체제와 애플리케이션에 사용
- 특정 아키텍처의 하드웨어와 소프트웨어 간의 인터페이스
- 각각의 아키텍처는 고유한 ISA를 가짐
- ISA는 CPU가 무엇을 할 수 있는지에 대한 규칙
CPU 아키텍처
- CPU의 설계와 ISA를 정의하는 방식
- CPU의 내부 구성 요소, 데이터 버스, 레지스터, ISA 포함
- CPU는 ISA를 어떻게 구현했는지
CPU 아키텍처 종류
- x86
- Intel 기반 32 bit CPU
- Windows, Linux, macOS
- x86_64(amd64)
- Intel 기반 64bit CPU, x86과 호환
- Windows, Linux, macOS
고성능, 복잡한 명령어 집합
PC/서버에서 사용
- arm
- RISC(Reduced Instruction Set Computer) 아키텍처
- arm 기반 32bit CPU, x86과 호환 안됨
- Linux, macOS, Android, iOS
- arm64
- arm 기반 64bit CPU, 32bit arm과 호환
- Linux, macOS, Android, iOS
저전력, 고효율
모바일/임베디드 기기에서 사용(발열 관리)
iOS는 arm64 기반 아키텍처 사용
iOS 시뮬레이터와 실기기의 아키텍처
시뮬레이터: macOS 환경에서 동작(x86_64나 arm64)
실기기: arm 기반
명령어 세트와 하드웨어 특성 등이 다르기 때문에 네이티브 코드에서 동작 차이가 발생할 수 있음
SoC (System on a Chip)
- CPU, GPU, 메모리 컨트롤러, 통신 모듈 등 다양한 기능을 하나의 칩에 통합
- 공간, 전력 소비, 발열이 모두 중요한 모바일 -> 크기와 전력 소모를 줄이고 발열, 성능, 배터리 효율 극대화 가능
AP(Application Processor)
- iOS 기기의 중앙 칩
- 구성 요소: CPU(논리 연산 및 앱 실행), GPU(UI/그래픽 처리), Neural Engine(ML 연산 전용), RAM Controller(메모리 접근 최적화)
- 각 구성 요소가 전용 작업을 빠르게 처리하여 전체 앱의 성능과 효율을 높임