x86-64
위키백과 ― 우리 모두의 백과사전.
x86-64는 x86 명령어 집합 아키텍처의 64비트 모임이다. x86-64 명령어 집합은 에뮬레이션 없이 인텔의 x86를 지원하며 AMD64로 이름 붙인 AMD에 의해 고안되었다. 이 아키텍처는 인텔 64라는 이름으로 인텔에 의해 복제되기도 했다. (옘힐, 클래카마스 기술, CT, IA-32e, EM64T 등으로 불렸음)[1] 이로써 x86-64 또는 x64의 이름을 일상적으로 사용하기에 이르렀다.
x86-64는 인텔의 아이테니엄 계열의 프로세서 아키텍처인 IA-64와 헷갈리면 안 된다. 이는 32비트 x86 프로세서의 명령어 집합 수준과 호환되지 않고, 호환성을 위해서라면 속도 저하와 더불어 에뮬레이션을 사용해야 한다.
목차 |
[편집] AMD64
AMD64 명령어 집합은 현재 AMD의 애슬론 64, 애슬론 64 FX, 애슬론 64 X2, 튜리온 64, 튜리온 64 X2, 옵테론 이후의 프로세서에서 쓰이고 있다.
[편집] 아키텍처 기능
- 64 비트 함수 완전 지원
- 추가 레지스터
- 추가 XMM (SSE) 레지스터
- 더 넓은 가상 주소 공간
- 더 넓은 물리 주소 공간
- 함수 포인터 관계 데이터 접근
- SSE 함수
- 실행 방지 비트
- 오래된 기능 제거
[편집] 동작 모드
운영 모드 | 운영 체제 요구 | 응용 프로그램 다시 빌드 요구 | 기본 주소 크기 | 기본 연산 크기 | 레지스터 확장 | 일반 GPR 너비 | |
---|---|---|---|---|---|---|---|
롱 모드 | 64 비트 모드 | 64비트 지원의 새로운 운영 체제 | 예 | 64 | 32 | 예 | 64 |
호환 모드 | 아니오 | 32 | 32 | 아니오 | 32 | ||
16 | 16 | 16 | |||||
레거시 모드 | 보호 모드 | 레거시 16 비트 또는 32 비트 운영체제 | 아니오 | 32 | 32 | 아니오 | 32 |
16 | 16 | 16 | |||||
가상 8086 모드 | 16 | 16 | 16 | ||||
리얼 모드 | 레거시 16 비트 운영 체제 |
[편집] 동작 모드 및 설명
아키텍처에는 두 개의 주요 운영 모드가 있다:
- 롱 모드
- 아키텍처가 고안한 주요 운영 모드. 프로세서의 네이티브 64 비트 모드와 32/16 호환 모드를 하나로 합친 것이다. 64 비트 운영 체제에서 쓰인다. 64 비트 운영 체제에서, 64 비트, 32 비트, 16 비트(또는 80286)의 보호 모드 응용 프로그램을 지원한다.
- 기본적인 명령어 집합이 같기 때문에 x86 코드를 실행하는 데 있어서 성능 상의 큰 약점은 없다. 인텔의 IA-64는 명령어 집합 구조의 차이를 보였는데 32 비트 코드가 완전히 달느 프로세서를 사용하는 것을 뜻한다. 그러나 AMD64에서는 32 비트 x86 응용 프로그램이 최적화를 위한 높은 수준의 컴파일러인 64 비트 안의 추가적인 레지스터 덕분에 여전히 64 비트에서도 이득을 볼 수 있다.
- 레거시 모드
- 이 모드는 16 비트(보호 모드, 리얼 모드)와 32 비트 운영 체제에 쓰인다. 이 모드에서 프로세서는 x86 프로세서와 같이 행동하며, 오직 16 비트와 32 비트 모드만 실행할 수 있다. 64 비트 프로그램들은 실행되지 않는다.
[편집] AMD64가 적용된 모델
다음의 프로세서들은 AMD64 아키텍처의 기능을 제공한다:
- AMD 애슬론 64
- AMD 애슬론 64 X2
- AMD 애슬론 64 FX
- AMD 옵테론
- AMD 튜리온 64
- AMD 튜리온 64 X2
- AMD 셈프론 ("팔레모르" E6 스테핑 및 모든 "마닐라" 모델)
- AMD 페넘
[편집] EM64T
EM64T는 "인텔이 구현한 AMD64"을 뜻한다. 펜티엄 4의 64비트 지원 모델 이후의 프로세서들은 대개 EM64T를 지원한다. 단, 시더밀과 같은 CPU는 EM64T를 지원하지 않는다.
세부적인 사항은 아래와 같다.
[편집] EM64T가 적용된 모델
- 인텔 넷버스트
- 인텔 제온 (노코나 이후 일부 모델)
- 인텔 셀러론 D (프레스캇 이후 일부 모델)
- 인텔 펜티엄 4 (프레스캇 이후 일부 모델)
- 인텔 펜티엄 D
- 인텔 펜티엄 익스트림 에디션
- 인텔 코어 마이크로아키텍처
- 인텔 제온 (우드크레스트 이후 모든 모델)
- 인텔 코어 2 (메롬 이후 모든 모바일 프로세서)
- 인텔 펜티엄 듀얼 코어 (E2140, E2160)
- 인텔 셀러론 (셀러론 4x0; 셀러론 M 5xx)
- 인텔 아톰 마이크로아키텍처
- 인텔 아톰