x86은 Intel의 8086에서 시작해 32비트와 64비트로 확장된 명령어 집합 계열이다. 프로그램이 사용하는 명령·레지스터·실행 모드의 약속을 뜻하며, 특정 CPU 제품이나 내부 회로 설계 하나를 가리키지는 않는다. 같은 x86 프로그램을 실행하는 CPU라도 캐시, 분기 예측, 실행 유닛과 전력 특성은 서로 다르다. 이 차이는 명령어 집합과 마이크로아키텍처에서 구분한다.
16비트에서 64비트까지
1978년 8086은 16비트 연산과 세그먼트 주소 체계를 사용했다. 1985년 Intel386은 32비트 레지스터와 주소 공간을 갖춘 확장을 도입했다. 이후 AMD의 AMD64는 기존 x86 소프트웨어 계보를 유지하면서 64비트 실행 모드를 더했고, Intel의 64비트 구현도 오늘날 x86-64 소프트웨어 생태계에 참여한다.
64비트 CPU의 주소 공간이 곧 장착 가능한 메모리 용량은 아니다. 실제 물리 주소 비트 수와 메모리 컨트롤러, 소켓·보드 배선, 운영체제의 제한이 함께 적용된다. 구형 코드의 실행 역시 CPU 모드뿐 아니라 운영체제가 제공하는 호환 환경에 달려 있다.
명령어와 내부 실행 구조
x86 명령은 길이가 가변적이고 피연산자를 지정하는 방식도 여러 가지다. 현대 고성능 구현은 명령을 내부 작업으로 나누고, 준비된 작업부터 실행하며, 프로그램에 보이는 결과 순서는 유지한다. 파이프라인과 비순차 실행은 이런 구현 원리를 설명한다. CISC라는 분류만으로 성능이나 소비전력을 예측할 수 없는 이유다.
SIMD·암호·가상화 확장은 제품과 세대별로 다르다. 응용 프로그램이 요구하는 기능을 CPU의 CPUID 정보와 운영체제 지원에서 함께 확인해야 한다. 예를 들어 벡터 레지스터를 쓰는 기능은 CPU 명령 지원과 함께 운영체제가 그 상태를 저장·복원할 수 있어야 안전하게 사용할 수 있다. 같은 x86-64라는 표기만으로 모든 확장 명령의 실행을 보장하지 않는다.
CPU 구현과 기업의 계보
Intel과 AMD 외에도 Cyrix·Centaur가 x86 구현을 개발했고, 두 사업은 VIA의 CPU 사업 역사로 이어진다. 현재의 Zhaoxin은 PC·임베디드용과 서버용 프로세서를 개발하며, VIA와의 투자·기술 거래 역사는 제품 설계의 계보와 함께 읽을 수 있다. Hygon은 x86-64 CPU와 DCU 제품을 구분해 제공하며, AMD와의 초기 협력은 별도 합작법인 구조를 거쳤다.
명령어 호환성, 회로 설계 자산의 사용권, 회사 지분 관계는 각각 다른 사실이다. CPU가 같은 소프트웨어를 실행한다는 이유만으로 다른 회사의 자회사이거나 최신 코어 설계를 계속 제공받는다고 볼 수 없다.
처음에는 명령어 집합과 마이크로아키텍처 → x86 → VIA → Zhaoxin 순서로 읽고, 별도 계보는 AMD → Hygon으로 이어진다. 제품 세대는 2000년 이후 Intel CPU 흐름과 2000년 이후 AMD CPU 흐름, 실제 장착 조건은 CPU 소켓과 플랫폼 호환성에서 찾을 수 있다.