애플은 2020년 x86 아키텍처에서 ARM으로 전환했다. M1 맥북부터 ARM 아키텍처를 사용한다.

인터넷, 신문에서 수없이 들었던 말이다. 하지만 정작 왜 ARM 프로세서를 사용한 맥북이 더 빠른지, 왜 데스크톱 기기는 인텔/AMD을 사용하고 모바일 기기는 ARM을 사용하는지 등은 몰랐다. 그래서 오늘은 인텔과 ARM 아키텍처의 차이점에 대해서 알아본다(요즘은 노트북, 서버, 슈퍼 컴퓨터에서도 ARM을 사용한다).

어셈블리 언어


<aside> 💡 어셈블리 언어는 기계어의 한단계 위 언어다. 특정 프로세서에 바인딩된 기본 명령 집합으로 예약어가 매우 적다. 어셈블리 언어 코드는 컴퓨터가 처리하기 전에 기계어(0과 1)로 변환해야 한다. 이 변환은 어셈블러를 통해 이뤄진다. 기계어와 어셈블리어 모두 Low Level 언어(컴퓨터에 가까운 언어)에 속한다.

</aside>

void add() {
	int a, b, c; 
	a = 2;
	b = 2;
	c = a + b;
}
LOAD 0x001
PUT 2, 0x001
LOAD 0x002
PUT 2, 0x002
LOAD 0x003
PUT 0, 0x003
ADD 0x001, 0x002, 0x003