x86 (80386, 80586, 80686)
i386 (80386) 이전엔 16비트였으나, i386에서 32비트로 확장되었으며, 16비트 또한 호환되었기 때문에, x86은 인텔이 개발한 마이크로 프로세서 계열이거나, 이들과 호환이 가능한 명령 집합을 의미합니다.
x86은 8086 CPU (x86_16), 즉 인텔이 처음 개발한 8086 부터 후속작인 80386 등의 뒤에 붙은 이름인 x86을 뜻합니다.
80286 또한 x86이 붙으나, 이는 16비트이기 때문에 x86_16이라는 이름이 붙여집니다.
물론 x86(32비트)는 x86_16(16비트)와 호환됩니다. 때문에 x86라는 이름이 붙게 됩니다.
x86_64 (AMD64)
AMD는 x86과 호환되는 64비트 아키텍쳐를 개발하게 됩니다. 흔히 x86_64라 불리며, x64라 불리기도 합니다.
그리고 인텔에서 x86_64 구조를 구현하여 EM64T를 개발하게 됩니다.
EM64T
인텔 또한 64비트 아키텍쳐의 프로세스가 존재합니다.
두 종류의 64비트 프로세서가 존재하는데, 바로 Itanium 계열과 EM64T 계열입니다.
Itanium 계열은 HP와 공동개발한 IA-64 프로세서를 구현한 아키텍쳐인데, 기존의 x86과는 구조가 다르기 때문에 기존의 32비트 프로그램을 실행하기 위해선 에뮬레이터가 따로 필요합니다.
반면 EM64T 계열은 AMD에서 개발한 x86_64 구조를 가져와서 구현한 계열입니다. 때문에 기존의 32비트 프로그램과 호환이 가능합니다.
AMD의 x86_64 구조를 구현한것이기 때문에, 아키텍쳐상의 차이는 거의 없다고 봐도 됩니다.
ARM (ARMv8, AArch64)
Arm Limited라는 곳에서 만들어진 명령 집합입니다.
원랜 ARMv7라는 32비트 아키텍쳐가 존재하나, 이 시기 이미 x86의 시대가 와버렸고, ARM 또한 ARMv8이라는 64비트 아키텍쳐를 개발하게 됩니다.
ARM 아키텍쳐는 임베디드에 사용되기도 합니다.
AMD나 인텔처럼 이름이 여러개가 있다싶이, ARM 또한 ARM64 = ARMv8 = AArch64 라고 생각하시면 됩니다.