i386 다운로드와 amd64의 차이점은 무엇입니까?


164

표준 i386 다운로드와 Ubuntu 11.04의 amd64 다운로드의 차이점은 무엇입니까? 현재 amd 시스템에서 i386을 실행하고 있는데 amd64 다운로드로 시스템이 더 잘 작동합니까? (내 컴퓨터는 Windows 7 64 비트를 실행했지만 Ubuntu를 설치하기 전에 그 내용을 보지 않았습니다.)



답변:


165

i386은 32 비트 버전을, amd64 (또는 x86_64)는 Intel 및 AMD 프로세서의 64 비트 버전을 나타냅니다.

위키 백과의 i386 항목 :

i386 또는 386으로도 알려진 Intel 80386은 1985 년에 Intel에서 도입 한 32 비트 마이크로 프로세서입니다. 상황에 따라 x86, IA-32 또는 i386 아키텍처라고합니다.

위키 백과의 x86_64 항목 :

x86-64는 x86 명령어 세트의 확장입니다. x86에서 가능한 것보다 훨씬 더 큰 가상 및 물리적 주소 공간을 지원하므로 프로그래머는 훨씬 더 큰 데이터 세트로 편리하게 작업 할 수 있습니다. "x86-64"라는 이름으로 아키텍처를 시작한 후 AMD는 이름을 AMD64 ... x86으로 변경했습니다. -64는 여전히 많은 업계에서 벤더 중립적 용어로 사용되는 반면 Sun Microsystems (현재 Oracle Corporation) 및 Microsoft는 x64를 사용합니다.

인텔 CPU가 있더라도 AMD64를 사용하여 컴퓨터에 64 비트를 설치해야합니다 (동일한 명령어 세트를 사용함).

나는 그것을 사용하는 것이 좋습니다. 대부분의 경우 차이를 느끼지 않지만 비디오 편집, 게임 등의 큰 작업 부하의 경우 컴퓨터가 더 빠르게 수행됩니다 (컴퓨터는 수행하지 않고 2 + 2 + 2 = 6을 계산할 수 있음). 예에서 2 + 2 = 4 + 2 = 6). Windows 세계에서는 32 비트 OS를 사용하면 컴퓨터에서 3.5Gig 이상의 RAM을 사용할 수 없습니다 (8 개가 있더라도). 모든 RAM을 완전히 사용하려면 64 비트 OS를 사용해야합니다. 그러나 Linux의 경우 그러한 제한이 없습니다 (감사합니다, Uri).

그럼에도 불구하고 세계는 32 비트에서 벗어나 64 비트를 실행할 수없는 구형 컴퓨터 만 지원합니다.


마지막 부분은 이제 (물론 Linux에서) 사실이 아닙니다. PAE 커널에 32GB의 3.5GB 이상의 RAM을 사용할 수 있습니다.
Uri Herrera

32 비트의 3.5GB 램 제한이 4GB- <그래픽 카드 메모리>가 아닌가?
Chriskin

3
간단하게하기 위해 그래픽 카드 메모리와 같은 기술을 생략했습니다. 내 목표는 "3.5-4 기가 이상인 경우 64 비트를 사용하십시오"라고하는 것이 었습니다.

1
@Treefroginc 정확한 조정은 무엇입니까?
Uri Herrera

1
64 비트는 특정 시간에 특정 시간 동안 행성이 우주 광선을 방출하는 것과 일치하는 경우 거의 무시할 수없는 플래시를 제외하고 32 비트만큼 유용하고 안정적입니다.

41

이 아키텍처는 AMD가 Athlon 64를 사용하여 발명 한 것이기 때문에 AMD의 이름을 따서 명명되었습니다. 마찬가지로, 32 비트 i386 아키텍처는 인텔의 386 프로세서의 이름을 따서 명명되었습니다. 이는 최초의 종류 였지만 i386은 AMD 프로세서에서도 작동합니다. 예, ISO 이미지를 사용할 수 있습니다.

출처 : https://superuser.com/questions/128482/ubuntu-amd64-vs-i386


10

예, Intel 64 비트 프로세서에 amd64 비트를 설치할 수 있습니다. AMD는 x86-64 비트 명령어 세트 프로세서를 발명하여 이름은 AMD에 대한 찬사입니다.


이것을 정리해 주셔서 감사합니다. 나는 그것이 간단한 질문이라는 것을 알고 있지만 어디서도 답을 찾을 수 없었습니다.
Dave Wolover

8

차이 AMD64I386는 점이다 AMD64가64 비트를 동시에 I386가32 비트 . 코어에서 사용할 수있는 레지스터의 너비 (비트)입니다.

기본적으로 32 비트 CPU 코어가 한 번에 처리 할 수있는 가장 큰 수는 42 억 2 천만 개이며 64 비트 코어는 188 억 4 천만 개가 넘는 비트를 처리 할 수 ​​있습니다.

최신 PC의 코어는 설치 한 운영 체제 버전에 따라 64 비트 또는 32 비트 프로세서로 작동 할 수 있습니다.

64 비트 코드는 32 비트 코드보다 빠르게 실행되는 경향이 있습니다. 64 비트 코어는 더 많은 숫자를 처리 할 수 ​​있거나 64 비트 코어에 더 많은 레지스터가 있으므로 외부 메모리에 저장하지 않고도 더 많은 것을 저장할 수 있기 때문입니다. 프로세서의 추가 기능을 활용하기 위해 코드를 작성하지 않은 경우 64 비트 코드가 더 빨리 실행된다는 보장은 없습니다.

32 비트 시스템에서 컴파일하면 64 비트 시스템과 다른 코드가 생성됩니다. 두 시스템에서 어셈블리 코드를 컴파일하여이를 증명할 수 있습니다. C 파일이 myfile.c 라고 가정하면 gcc -S myfile.c두 시스템 모두에서 시도 하고 myfile.s를 비교 하십시오.

32 비트 시스템에 대해 잘 작성된 코드는 64 비트 시스템에서 컴파일 및 실행해야하지만 모든 코드가 제대로 작성되지는 않았습니다. 많은 프로그래머들은 레지스터 폭이나 바이트 순서와 같이 사실이 아닐 수도있는 시스템에 대해 가정합니다.

소스 코드에 액세스하지 않으면 문제가 무엇인지 알기가 어렵지만 segmenation fault프로그램에 속하지 않은 메모리에 액세스하려고 시도했음을 나타냅니다. 예를 들어, mem_ptr 은 32 비트 시스템에서는 괜찮지 만 64 비트 시스템에서는 64 비트 포인터 여야 하는 32 비트 포인터 임을 나타낼 수 있습니다.


내가 그것을 확인하고 다시 올 것이다 ... Thankx
bikram990

realloc(mem_ptr, 0)함수는 이전 malloccalloc, 등으로 할당 된 메모리를 비 웁니다 . 포인터가 어떤 방식 으로든 손상된 경우 소유하지 않은 메모리를 비우려고 시도하는 경우 세그먼트 오류가 발생합니다.
Warren Hill

6

예, .ISO를 사용할 수 있습니다. amd64는 아키텍처를 나타냅니다. AMD는 64 비트 CPU를 처음으로 만들었으므로 당시에 이름이 붙여진 것으로 생각합니다. 약간 혼란스러워 보이지만 amd64는 64 비트를 의미합니다.


10
64 비트 CPU를 처음으로 만든 것은 아닙니다. 이전에는 인텔이 있었지만 이전 버전과 호환되지 않았으므로 널리 채택되지 않았습니다. amd64라는 이름은 AMD의 아키텍처를 인텔의 IA64와 차별화하기 위해 사용이 중단되었습니다.
psusi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.