내가 이해할 수없는 한 가지는 Intel CPU 용으로 컴파일 된 코드가 어떻게 AMD CPU에서 작동하는지입니다.기성품 응용 프로그램이 Intel 및 AMD 프로세서 모두에서 작동하는 이유는 무엇입니까?
내 기본적인 이해는 C 코드를 컴파일하면 컴파일러가 소스 코드를 특정 프로세서에 대한 지침이있는 기계어로 변환한다는 것입니다. 따라서 응용 프로그램에서 사용할 플랫폼을 컴파일러로 컴파일해야합니다. AMD 대 Intel 용 컴파일러가 필요없고 특정 프로세서 용 소프트웨어를 구입해야하는 이유는 무엇입니까?
AMD 프로세서와 인텔 프로세서가 이전 x86 명령어에서 일부 호환성을 공유한다는 것을 알고 있습니다. 제가 알고 싶습니다. 어떻게 그 일을합니까? 내 말은, AMD 나 인텔이 서로 전화를 걸어 서로의 영업 비밀을 말하고있는 것과는 다르다는 것입니다. 그렇다면 어떻게 호환 가능한 명령어 세트를 만들 수 있습니까?
386 명령어 세트를 기반으로 한 모든 호환성은 "IF AMD CPU라면이 경우 인텔이 그렇게합니까?"
그래서 bdonlan의 대답과 함께 명령 세트가 Intel이나 AMD에 공개적으로 게시 된 다음 다른 명령 세트는 해당 명령 세트와 동일한 (또는 일부 확장 된) 명령 세트를 지원합니까? 그 차이점은 이러한 지침의 특정 하드웨어 구현 내에 있습니다. 그게 옳은가? – romandas
@romandas : 예, 이해가 정확합니다. 칩 제조업체는 명령어 세트를 문서화하여 다른 사람들이 명령어 세트를 복사 할 수있게한다. – Zifre
나는 그 정보를 당신의 대답에 추가하거나 bdonlan을 당신의 것에 추가 할 것을 제안합니다, 그래서 나는 합병 된 대답을 최종적인 것으로 받아 들일 수 있습니다. – romandas