x64가 64 비트를 나타낼 때 x86이 32 비트를 나타내는 이유는 무엇입니까? [닫은]


97

내 질문은 64 비트의 속기가 x64 일 때 왜 32 비트 x86의 속기가 무엇입니까?

32 비트 프로세서가 모두 86로 끝났을 때 386 및 486 시대와 관련이 있다고 생각하지만 86에서 끝나지 않고 여전히 32 비트 인 프로세서가 있었습니까?

누구든지 이것의 역사를 알고 있거나 좋은 정보원으로 안내 할 수 있습니까?

감사


7
무모한 호기심을 위해 항상이 +1을 알고 싶었습니다!
Gabriel Guimarães

나는이 아침에 나 자신에게 물었다!
Sean Howat

9
나는 전체 용어가 x64가 아니라 x86_64라고 생각한다
Kedare

3
IMHO, "x86"은 일반적인 32 비트 아키텍처만을 의미하지는 않습니다. 아래의 다니엘의 대답은 역사를 보여줍니다. 80386과 동시 (또는 그 이전 버전) 인 32 비트 프로세서가 많이 있으며 오늘날에도 여전히 상당수의 프로세서가 여전히 살아 있습니다. 예를 들어, 원래 Macintosh에서 사용 된 68000 제품군은 8086보다 훨씬 오래되었습니다. x86과 68K 모두에 대한 강력한 에뮬레이션 지원이 새로운 PowerPC의 명성을 얻었습니다. ARM은 32 비트, 더 현대적이며 상당히 일반적입니다.
RBerteig

나는 그것을 x64로 보지 않는다. 적어도 그렇게하지 않았다. 나는 그것을 각각 32b와 64b로 씁니다.
vol7ron

답변:


34

아마도 x86 라인은 꽤 오랫동안 32 비트 프로세서와 동의어가되었지만 x64는 특히 응용 프로그램 및 운영 체제가 전환 될 때 64 비트로 지정되었으므로 실행하려면 64 비트 지정이 필요한 소프트웨어 응용 프로그램이 있습니다. (일부 VM 소프트웨어와 같은).

다시 말해, 이유 때문에 기술보다 마케팅입니다.


20
x86은 8086, 286, 386, 486, 586 등에서
나옵니다.

6
그리고 x86은 8086에서 시작 되었기 때문에 왜 항상 32 비트와 관련이 있는지 알아낼 수 없었습니다. 제가 기억 하듯이 8086은 16 비트 프로세서였으며 32 비트 메모리 주소 지정을 위해 이중 레지스터를 사용했습니다. 당시 인텔은이 분야의 리더가 아니 었습니다. BTW @gWaldo, 당신은 80186을 생략했습니다.
John Gardeniers

우연의 일치. 위키피디아에서 "아키텍처와 물리적 칩은 소그룹의 사람들에 의해 다소 빠르게 개발되었으며, 8085 년과 약간 동일한 8085의 기능을 수행 할 때와 동일한 기본 마이크로 아키텍처 요소와 물리적 구현 기술을 사용합니다. 계속해서) " 8087과 8089도 있었다.
Bart Silverstrim

예, 출시 된 제품인지 (그리고 제품을보기에는 너무 게으른 느낌인지) 솔직히 기억할 수 없었기 때문에 80186을 생략했습니다.
gWaldo

1
이 답변에는 아무런 문제가 없지만 정직하게 다니엘이 훨씬 더 자세하게 받아 들여 져야한다고 생각합니다.
Massimo

189

글쎄, 한때 8086이라는 칩이 있었고, IBM PC라는 개인용 컴퓨터에 사용 된 8088이라는 저렴한 버전이있었습니다. 그 칩의 개선 된 버전이 만들어졌고 80186으로 불리지 만, 그 인기는 많지 않았습니다. 그러나 개선 된 개선 된 버전이 만들어져 80286이라고 불렀습니다. 이제는 특히 IBM PC AT라는 컴퓨터에서 사용 되었기 때문에 매우 인기있는 칩이었습니다.

나중에 16 비트 아키텍처를 가진 8086, 8088, 80186 및 80286 칩을 만들어 판매 한 인텔은 다른 업체와 유사한 제품과 경쟁하기 위해 32 비트 칩을 만들어야한다는 것을 알았습니다. 기존의 위치를 ​​활용하기 위해 새로운 칩을 사용하여 이전에 언급 한 칩용 소프트웨어를 실행할 수있었습니다. 당연히 인텔은이 새로운 칩을 80386이라고 불렀습니다.

그때까지 다양한 버전의 인텔 칩을 사용하는 많은 컴퓨터가 있었고 인텔과 호환되는 비 인텔 칩도있었습니다. 그래서 사람들은 80x86으로 언급하기 시작했습니다.

얼마 후 인텔은 새로운 칩을 출시했지만 80을 떨어 뜨리기로 결정했기 때문에 80486 대신 486이되었습니다. 마찬가지로 사람들은 "80x86"앞에서 "80"을 떨어 뜨리고이 물건을 x86이라고 부릅니다. .

이제는 인텔이 자신의 칩을 x86과 같은 시간에 브랜드화했다고 말하지만 걱정하지는 않습니다.

사실 점점 증가하는 가운데 숫자는 80x86으로 증가했으며 x86은 80186과 80286이 32 비트가 아니더라도 그로부터 나왔습니다.

인텔이 마침내 64 비트를 갔다면 새로운 아키텍처는 무엇이었을 까? 권리! IA64! :-) 또한 x86을 IA32로 소급 변경했습니다. IA64만이 x86과 호환되지 않았기 때문에 IA32이므로 모든 사람이 무시했습니다.

그리고 나서 AMD는 x86 제품군과 호환 가능한 64 비트 CPU를 시장에 내놓기로 결정했습니다. 마케팅 어필로 그들은 "x86-64"제품군이라고 불렀으며 매우 성공적이었습니다. 그래서 인텔은 x86 기반의 자체 64 비트 CPU를 따돌리고있었습니다.

나중에 사람들이 게으 르기 때문에 x86-64는 단순히 x64로 알려졌습니다.

따라서 x64가 x86-64보다 짧기 때문에 귀하의 질문에 대한 답변으로.


10
nit pick이 아니라 완전히 정확하기 위해 AMD는 결코 64 비트 칩을 판매하지 않았습니다. AMD가 출시 한 x64 또는 x86_64는 인텔이 만든 x86 명령어 세트에 64 비트 확장이 추가되었으므로 x86 명령어 세트와 호환되지 않는 진정한 64 비트 칩인 Intel Itanium (IA_64)과는 대조적으로 x86_64입니다.
Jeremy Hajek

6
또한 인텔은 숫자를 사용하고 있기 때문에 상표 문제에 직면했다고 생각하며 일련의 숫자를 상표로 지정할 수 없기 때문에 80586이 Pentium이 되었기 때문에 계속 상표로 사용할 수있는 이름입니다.
cdkMoose

3
명확히하기 위해 : AMD는 확장을 AMD64라고 불렀으며 Intel은 자신의 (AMD에서 라이센스를 받았다고) Intel64를 호출합니다. 약간의 미묘한 차이점이 있지만 (100 % 호환되지는 않음) 대부분의 OS 공급 업체는 일반적으로 공통 하위 집합을 사용합니다. Windows 2008 DVD에서 설치 폴더는 실제로 AMD64라고합니다 (32 비트의 I386과 반대). x86_64가 어디에서 왔는지 모르겠습니다. AMD는 x86으로의 확장이므로 중립적 인 용어를 원했던 Unix-Vendors입니다.
Michael Stum

20
@Jeremy Hajek : AMD64 / x86_64는 진정한 64 비트 칩 설계이며 64 비트 모드는 에뮬레이션이 아니며 성능에 영향을 미치지 않습니다 (실제로 32 비트 모드도 에뮬레이션이 아닙니다). 이 칩에는 64 비트 명령어 세트와 64 비트 레지스터가있어 64 비트 칩이됩니다. AMD가 64 비트 칩을 판매하지 않았다는 인상을 어디서 얻었는지 모르겠습니다. 그러나 AMD가 인텔이 IA64와 마찬가지로 32 비트 칩과의 호환성을 깨는 64 비트를 판매하지 않았다는 것은 사실입니다.
Lie Ryan

1
x64는 Windows / Microsoft 용어에서만 사용됩니다. GNU / Linux는 아키텍처 x86-64 또는 amd64를 호출합니다. (그리고 32 비트 x86 호출 i386). x86이 32 비트 x86을 의미하는 것은 Windows 세계에서 유일합니다. CPU에 대해 이야기하는 대부분의 하드웨어 사람들은 x86을 이해하여 작동하는 모드 (일반적으로 64 비트 긴 모드 또는 때로는 64 비트 커널에서 32 비트 compat 모드)에 관계없이 8086과 역 호환되는 모든 CPU를 의미합니다. "x86에는 효율적인 릴리스 / 획득 잠금없는 원자가 있습니다."라고 말하지만 64 비트는 제외하지 않습니다.
Peter Cordes

16

에서 위키 백과 : 용어의 x86은 인텔 8086 CPU를 기반으로 명령 세트 아키텍처의 가족을 의미한다.


3

기술적으로 x86은 단순히 프로세서 제품군과 이들이 사용하는 명령 세트를 나타냅니다. 실제로 데이터 크기에 대한 구체적인 내용은 없습니다.

x86은 16 비트 프로세서 (8086 및 8088 프로세서) 용 16 비트 명령어 세트로 시작한 다음 32 비트 프로세서 (80386 및 80486) 용 32 비트 명령어 세트로 확장되었으며 현재 64 비트 프로세서 용 64 비트 명령어 세트 칩 모델 번호의 중간에 변화하는 값을 반영하기 위해 80x86으로 쓰여졌지만 앞선의 80을 따라 어딘가에 x86이 남았습니다.

인텔의 x86 명령어 세트를 사용하는 모든 최신 프로세서는 여전히 x86, i386 또는 i686 호환 (이것은 모두 원래 8086의 확장을 사용함을 의미하지만) 펜티엄을 비난하고 프로세서의 이름을 지정하고 판매하는 방식을 바꾸는 자손입니다. 명령어 세트).

x64는 여기서 이상한 사람입니다. x86 세트의 64 비트 확장명은 x86-64입니다. 나중에 AMD64로 이름이 바뀌 었습니다 (AMD는 원래 64 비트 확장 프로그램을 사용했기 때문에). 인텔은 64 비트 명령어 세트를 라이센스하고 버전을 EM64T로 지정했습니다. 명령어 세트와이를 사용하는 프로세서는 모두 여전히 x86으로 간주됩니다.


x86-64는 AMD64 및 EM64T를 포함하는 벤더 중립적 용어로 돌아 왔습니다. 앞선 80은 항상 부품 번호에 있었지만 80186 이후에는 186 대 8086 대 386이라고 말하기가 더 쉬워 졌습니다. html ); i586 및 i686 용어는 CPU 자체보고 방식의 CPUID "family"필드를 기반으로합니다.
Peter Cordes

3

x86 및 x64는 CPU 아키텍처 의 이름입니다 . 레지스터 당 비트 수보다 CPU 아키텍처가 더 많습니다.

64 비트로의 점프 는 x86에서 아키텍처에서 가장 큰 변화 이기 때문에 x64는 이름 이지만, 그 점프는 유일한 변화와 는 거리가 멀기 때문입니다 .

x86은 80286, 80368, 486 등을 포함하여 8080 프로세서 및 제품군에서 이름을 얻습니다. x86이 아키텍처의 이름으로 설정 될 때 레지스터 당 32 비트는 건물을 정당화하기에 충분한 중요한 기능으로 간주되지 않았습니다. 이름으로.


2

글쎄, x64결코 실제로 명령어 세트 나 칩 제조업체에서 온 것이 아닙니다. 원래 Windows XP에서 나왔습니다. 최초의 64 비트 버전의 Windows에 제목이 부여되었습니다 Windows XP x64. 그리고 나는 그 용어 x64가 거기에서 붙어 있다고 생각합니다 .

x86모니 커는 32 비트 명령어 세트에서 온다. 따라서 모든 x86프로세서 (선행 없음 80)는 동일한 32 비트 명령어 세트를 실행하므로 모두 호환됩니다. 따라서 x86해당 세트의 실제 이름이되었습니다 (따라서 32 비트).

세트에서 AMD의 원래 64 비트 확장명을 x86이라고했습니다 AMD64. 인텔은 나중에 라이센스를 부여했지만 여전히 64 비트 x86명령어 세트 의 이름 은 일반적으로 AMD64입니다.

그러나 대부분 브랜드 차이입니다. 다음은 몇 가지 주요 운영 체제 배포판이 각각의 64 비트 버전입니다.

따라서 기본적으로 Linux는 x86_64BSD가 선호 amd64하고 다른 것은 선호 합니다 x64.

그러나 주목해야 할 것은 마케팅 목적으로 모두 동일한 것을 의미한다는 것입니다. 미묘에서 그들은 (물론, 다른 의미 할 amd64뭔가 다른 의미 x86_64(이전 인 공급 업체 특정 아키텍처 및 2 개 개의 벤더 아키텍처)의 후반 부분 집합을하지만 x86_64=== x64), 그러나 프로그래머를 제외하고 사람이 조립 또는 기계에 쓰는 실제로 다른 것을 만들지 않는 코드 ...


1
IA64가 사망 한 이후 모든 현재 x64는 실제로 AMD-64입니다.
Overmind

@Overmind : x64와 IA-64는 항상 별개의 것입니다. IA-64는 x86 또는 x86-64와 완전히 관련이 없습니다. (즉, 초기 IA-64 구현을 제외하고,의 compat 이유에 대한 86 코어를 포함 인텔 ... 때문에)
피터 코르

네 맞습니다. 그러나 "죽었다, 짐".
Overmind
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.