intel64와 amd64 아키텍처 사이에 차이점이 있는지 누군가 설명 할 수 있습니까?
intel64와 amd64 아키텍처 사이에 차이점이 있는지 누군가 설명 할 수 있습니까?
답변:
내가 읽은 확장 메모리 64 비트 기술 (EM64T)은 인텔의 AMD AMD64 구현이며 Intel64와 AMD64의 차이점은 다음과 같습니다.
EM64T의 BSF 및 BSR 명령어는 소스가 0이고 피연산자 크기가 32 비트 인 경우 다르게 작동합니다. 프로세서는 영 플래그를 설정하고 대상의 상위 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 장치 DMA를 4GiB 이상의 메모리로 전송할 수 있습니다. EM64T 시스템은 바운스 버퍼를 사용해야하는데 속도가 느립니다.
SYSCALL 및 SYSRET는 EM64T의 IA-32e 모드 (호환 모드 아님)에서만 지원됩니다. SYSENTER 및 SYSEXIT는 두 모드에서 모두 지원됩니다.
접두사가 0x66 (피연산자 크기) 인 니어 브랜치는 다르게 동작합니다. 한 유형의 CPU는 상위 32 비트 만 지우고 다른 유형은 상위 48 비트를 지 웁니다.
에서 위키 백과의 86 페이지 는 읽을 수 있습니다
1999-2003 년에 AMD는이 32 비트 아키텍처를 64 비트로 확장하여 초기 문서에서 x86-64로, 나중에 AMD64로 언급했습니다. 인텔은 곧 IA-32e라는 이름으로 AMD의 아키텍처 확장을 채택했으며, 이후 EM64T와 인텔 64로 이름이 바뀌 었습니다.
다시 말해, 차별화 요소는 주로 마케팅입니다. 명령어 세트에 대한 Intel 및 AMD 고유의 확장이 있지만 사용자 공간에서 프로그램을 작성하는 한 일반적으로 차이점을 알 필요는 없습니다.
you don't generally need to know the difference
잘못된 : 일반적인 지침에 사소한 차이는 매우 중요하다 bugs.chromium.org/p/nativeclient/issues/detail?id=2010