
x86-64, x86 (intel) = Intel64, IA-32e, EM64T, amd64
고성능 → 많은 전력 소모, 심한 발열
WORD가 64비트인 CPU 아키텍처
- WORD : CPU가 이해할 수 있는 데이터의 단위
- WORD가 클수록 CPU 제공 메모리 크기 증가
x86-64의 레지스터
1. 범용 레지스터(General Register) : 주 용도 외에도 다양하게 사용 가능한 레지스터
- 각 범용 레지스터는 8바이트 저장 가능
- 부호 없는 정수 기준 2^64 - 1까지 표현 가능
- 자주 쓰이는 범용 레지스터
- r → e : 하위 32bit
- r → 없음 : 하위 16bit
- 하위 8bit와 상위 8bit로 나누어 표현하는 H와(상위) L(하위)로 쪼개진다.
2. 세그먼트 레지스터(Segment Register)
- cs, ds, ss 레지스터 : 코드 영역과 데이터, 스택 메모리 영역을 가리킬 때 사용
- es, fs, gs 레지스터 : 범용적
- 과거 아키텍쳐의 WORD가 확장되기 이전에는 그 범위에선 접근이 불가한 주소에 접근하기 위해 사용 → 그러나, 지금은 사용 가능한 주소 영역이 넓기에 이러한 용도로는 거의 사용X
3. 명령어 포인터 레지스터(Instruction Pointer Register, IP) : CPU가 어느 부분의 코드를 실행할지 가르킴
- rip 레지스터 → 8byte
4. 플래그 레지스터(Flag Register) : 프로세서의 현 상태를 저장
- RFLAGS 레지스터 → 64bit
- 구성하는 여러 비트들로 상태표시