x86-64

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
x86 아키텍처
16비트
1978   IA-16
1982   실제 모드
  비실제 모드
  보호 모드
32비트
1986   IA-32
  가상 8086 모드
1989   부동 소수점 장치 내장
1995   물리 주소 확장(PAE)
1997   MMX
1997   3DNow!
1999   SSE
2000   SSE2
2001   3DNow! 프로페셔널
2004   SSE3
2006   SSE4
64비트 (x64)
2003   AMD64 (x86-64)
  롱 모드
  NX 비트
2004   EM64T (IA-32e)
범례:   아키텍처
  프로세서 모드
  명령 집합

x86-64x86 명령어 집합 아키텍처64비트 모임이다. x86-64 명령어 집합은 에뮬레이션 없이 인텔의 x86를 지원하며 AMD64로 이름 붙인 AMD에 의해 고안되었다. 이 아키텍처는 인텔 64라는 이름으로 인텔에 의해 복제되기도 했다. (옘힐, 클래카마스 기술, CT, IA-32e, EM64T 등으로 불렸음)[1] 이로써 x86-64 또는 x64의 이름을 일상적으로 사용하기에 이르렀다.

x86-64는 인텔의 아이테니엄 계열의 프로세서 아키텍처인 IA-64와 헷갈리면 안 된다. 이는 32비트 x86 프로세서의 명령어 집합 수준과 호환되지 않고, 호환성을 위해 32비트 응용 프로그램을 실행할 경우 속도 저하와 더불어 에뮬레이션을 사용해야 한다.

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 아키텍처의 기능을 제공한다:

인텔 64[편집]

인텔 64는 "인텔이 AMD로부터 라이선스 받아 구현한 인텔 64비트 기술"을 뜻한다. 펜티엄 4의 64비트 지원 모델 이후의 프로세서들은 대개 EM64T를 지원하지만, 일부의 CPU는 EM64T를 지원하지 않는다. 인텔에서는 실질적인 64비트 기술을 구현하기 위하여 HP와 함께 IA64를 개발하여 일부 워크스테이션에 사용하고 있다. 2004년 3월에 인텔은 공식적으로 이 기술 이름을 EM64T로 정하였으나 2006년 말에 인텔은 AMD64의 이름에 대응하여 인텔 64로 이름을 바꾸었다.

세부적인 사항은 아래와 같다.

EM64T가 적용된 모델[편집]

지원 운영 체제[편집]

주석[편집]