인텔 64와 AMD64의 차이점은 무엇입니까?

인텔 64와 AMD64의 차이점은 무엇입니까?

intel64와 amd64 아키텍처 사이에 차이점이 있는지 설명할 수 있는 사람이 있습니까?

답변1

내가 읽은 바에 따르면 확장 메모리 64비트 기술(EM64T)은 Intel의 AMD AMD64 구현이며 Intel64와 AMD64의 차이점은 다음과 같습니다.

  • EM64T의 BSF 및 BSR 명령어는 소스가 0이고 피연산자 크기가 32비트일 때 다르게 작동합니다. 프로세서는 0 플래그를 설정하고 대상의 상위 32비트를 정의되지 않은 상태로 둡니다.

  • AMD64는 3DNow를 지원합니다! 지침. 여기에는 메모리 대기 시간을 숨기는 데 유용한 opcode 0x0F 0x0D 및 PREFETCHW를 사용한 프리페치가 포함됩니다.

  • EM64T에는 부동 소수점 상태의 축소된(따라서 더 빠른) 버전을 저장하고 복원하는 기능이 없습니다(FXSAVE 및 FXRSTOR 명령 포함).

  • EM64T에는 AMD64 아키텍처로 간주되는 일부 모델별 레지스터가 없습니다. 여기에는 SYSCFG, TOP_MEM 및 TOP_MEM2가 포함됩니다.

  • EM64T는 32비트 모드에서처럼 마이크로코드 업데이트를 지원하는 반면, AMD64 프로세서는 다른 마이크로코드 업데이트 형식을 사용하고 MSR을 제어합니다.

  • EM64T의 CPUID 명령은 x86 스타일 프로세서의 경우와 마찬가지로 공급업체별로 매우 다릅니다.

  • EM64T는 하이퍼스레딩을 더 잘 처리하기 위해 운영 체제에서 사용되는 MONITOR 및 MWAIT 명령을 지원합니다.

  • AMD64 시스템에서는 AGP 조리개를 IO-MMU로 사용할 수 있습니다. 운영 체제는 이를 활용하여 일반 PCI 장치를 4GiB 이상의 메모리에 DMA할 수 있습니다. EM64T 시스템에서는 속도가 느린 바운스 버퍼를 사용해야 합니다.

  • SYSCALL 및 SYSRET은 EM64T의 IA-32e 모드(호환 모드 아님)에서만 지원됩니다. SYSENTER 및 SYSEXIT는 두 모드 모두에서 지원됩니다.

  • 0×66(피연산자 크기) 접두사가 있는 근처 분기는 다르게 동작합니다. 한 유형의 CPU는 상위 32비트만 지우고 다른 유형은 상위 48비트를 지웁니다.

답변2

~에Wikipedia의 x86 페이지당신은 읽을 수있다

1999년부터 2003년까지 AMD는 이 32비트 아키텍처를 64비트로 확장하여 초기 문서에서는 x86-64로 언급했고 이후에는 AMD64로 언급했습니다. Intel은 곧 IA-32e라는 이름으로 AMD의 아키텍처 확장을 채택했으며 나중에 EM64T로 이름이 바뀌고 마침내 Intel 64로 이름이 변경되었습니다.

즉, 차별화 요소는 주로 마케팅입니다. 명령 세트에는 Intel 및 AMD 전용 확장이 있지만 사용자 공간에서 프로그램을 작성하는 한 일반적으로 차이점을 알 필요는 없습니다.

관련 정보