32 비트와 64 비트 시스템의 차이점은 무엇입니까?
둘 다 사용했다면 어떤 차이가 있습니까?
경우에 따라 64 비트 시스템에서 32 비트 프로그램을 사용하는 것이 문제가됩니까?
32 비트와 64 비트 시스템의 차이점은 무엇입니까?
둘 다 사용했다면 어떤 차이가 있습니까?
경우에 따라 64 비트 시스템에서 32 비트 프로그램을 사용하는 것이 문제가됩니까?
답변:
참고 :이 대답은 표준 x86 기반 PC CPU (Intel 및 AMD) 및 Windows (일반적으로 최종 사용자 용으로 구성)에 적용됩니다. 다른 32 비트 또는 64 비트 칩, 다른 OS 및 기타 OS 구성은 서로 다른 단점을 가질 수 있습니다.
기술적 관점에서 볼 때 64 비트 OS는 다음과 같은 이점을 제공합니다.
개별 프로세스가 4GB 이상의 RAM을 처리 할 수 있습니다. 실제로 모든 32 비트 OS가 아니지만 대부분은 사용 가능한 총 시스템 RAM을 애플리케이션 당 최대 용량이 아닌 4GB 미만으로 제한합니다.
모든 포인터는 4 바이트 대신 8 바이트를 사용합니다. RAM 사용에 미치는 영향은 최소화됩니다 (응용 프로그램에 기가 바이트로 채워질 가능성이 없으므로). 그러나 최악의 이론적 인 경우 CPU 캐시가 포인터를 1/2만큼 유지할 수 있습니다 그것은 실제로 크기의 1/2 일 것입니다). 대부분의 어플리케이션에서, 이것은 큰 문제가 아닙니다.
64 비트 모드에는 더 많은 범용 CPU 레지스터가 있습니다. 레지스터는 전체 시스템에서 가장 빠른 메모리입니다. 64 비트 모드에서는 32 비트 모드에서 8 개와 16 개의 범용 레지스터 만 있습니다. 필자가 작성한 과학 컴퓨팅 응용 프로그램에서는 64 비트 모드로 다시 컴파일하여 최대 30 %의 성능 향상을 보았습니다 (응용 프로그램에서 실제로 추가 레지스터를 사용할 수 있음).
대부분의 32 비트 OS는 실제로 4GB가 설치되어 있어도 개별 응용 프로그램이 2GB의 RAM 만 사용하도록합니다. 이는 다른 2GB의 주소 공간이 응용 프로그램과 OS간에 데이터를 공유하고 드라이버와 통신하기 위해 예약되어 있기 때문입니다. Windows 및 Linux에서는 응용 프로그램과 3GB 공유에 대해이 절충안을 조정할 수 있지만 변경을 예상하지 않는 일부 응용 프로그램에서는 문제가 발생할 수 있습니다. 또한 RAM이 1GB 인 그래픽 카드가 손상 될 수도 있습니다 (그러나 확실하지 않습니다). 64 비트 OS는 개별 32 비트 응용 프로그램을 전체 4GB에 더 가깝게 사용할 수 있습니다.
사용자 관점에서 :
응용 프로그램 속도는 일반적으로 64 비트 OS의 64 비트 응용 프로그램이 32 비트 OS의 32 비트 응용 프로그램과 비교할 때 빠르지 만 대부분의 사용자는이 속도 향상을 볼 수 없습니다. 일반 사용자를위한 대부분의 응용 프로그램은 실제로 여분의 레지스터를 활용하지 않거나 캐시를 가득 채우는 더 큰 포인터로 이점을 균형있게 처리합니다.
사진 편집자, 비디오 프로세싱, 과학 계산 등과 같은 메모리 호그 응용 프로그램이있는 경우 3GB 이상의 RAM이 있고 응용 프로그램의 64 비트 버전을 얻을 수있는 경우 (또는 구매할 수있는 경우) 선택이 쉽습니다 : 64 비트 OS를 사용하십시오.
일부 하드웨어에는 64 비트 드라이버가 없습니다. 스위치를 만들기 전에 마더 보드, 모든 플러그인 카드 및 모든 USB 장치를 확인하십시오. Windows Vista 초기에는 드라이버에 많은 문제가있었습니다. 요즘 상황이 일반적으로 좋습니다.
RAM이 부족한 상황에서 많은 응용 프로그램을 한 번에 실행하면 (일반적으로 컴퓨터가 느리게 시작되어 하드 디스크 드라이브의 성능이 저하되기 때문에이를 알 수 있습니다), 64 비트 OS (그리고 충분한 RAM).
64 비트 Windows에서 문제없이 32 비트 응용 프로그램 (드라이버 제외)을 실행할 수 있습니다. 필자가 64 비트 Windows에서 32 비트 응용 프로그램에 대해 측정 한 최악의 속도 저하는 약 5 %입니다. 즉, 32 비트 Windows에서 60 초가 걸리면 최대 60 * 1.05 = 65 초가 걸립니다. 64 비트 Windows에서 동일한 32 비트 응용 프로그램).
32 비트 대 64 비트의 차이점 아니 암시 :
x86 시스템에서 32 비트 대 64 비트 직접 포인터의 크기를 나타냅니다. 그게 다야.
그것은 C의 크기를 언급하지 않는다. int
유형. 이것은 특정 컴파일러 구현에 의해 결정되며, 널리 사용되는 대부분의 컴파일러는 32 비트 int
64 비트 시스템에서.
그것은하지 않습니다. 직접 일반적인 비 포인터 레지스터의 크기를 참조하십시오. 그러나 64 비트 산술 레지스터를 사용하면 응용 프로그램과 OS가 64 비트 포인터 모드로 실행되어야합니다.
그것은하지 않습니다. 직접 물리적 주소 버스의 크기를 참조하십시오. 예를 들어, 64 비트 폭의 캐시 라인 및 최대 512GiB 메모리를 갖는 시스템은 그 어드레스 버스 (즉, log2(512*1024**3) - log2(64) = 33
).
실제 데이터 버스의 크기는 제조 비용 (CPU 소켓의 핀 수) 및 캐시 라인 크기와 관련이 있습니다.
기본적으로 모든 것을 더 큰 규모로 할 수 있습니다.
64 비트 아키텍처의 두 가지 큰 유형은 x64 및 IA64 아키텍처입니다. 그러나 x64는 지금까지 가장 인기가 있습니다.
x64는 x64 명령뿐만 아니라 x86 명령도 실행할 수 있습니다. IA64는 x86 명령도 실행하지만 SSE 확장은 수행하지 않습니다. x86 명령어 실행을 위해 Itanium 전용 하드웨어가 있습니다. 그것은 에뮬레이터이지만 하드웨어에 있습니다.
@ Phil이 언급했듯이, 당신은 더 깊은 모습을 볼 수 있습니다. 그것이 어떻게 작동하는지 여기에서 .
현재 사람들이 주목할 가장 큰 영향은 32 비트 PC가 최대 4GB의 메모리 만 처리 할 수 있다는 것입니다. 운영 체제에서 다른 용도로 할당 된 메모리를 꺼내면 PC는 3.25GB의 사용 가능한 메모리 만 표시합니다. 64 비트로 이동하면이 한도가 사라집니다.
심각한 발전을하는 경우 이것이 매우 중요 할 수 있습니다. 여러 개의 가상 컴퓨터를 실행 해보면 곧 메모리가 부족합니다. 서버는 추가 메모리가 필요할 가능성이 높으므로 서버보다 64 비트 사용량이 데스크톱보다 훨씬 큽니다. 무어의 법칙은 우리가 기계에서 더 많은 메모리를 확보 할 수있게 해 주므로, 어느 시점에서 데스크톱도 표준으로 64 비트로 전환 할 것입니다.
프로세서 차이점에 대한 자세한 설명은이 훌륭한 기사를 확인하십시오. ArsTechnica .
아무 것도 무료입니다 : 64 비트 응용 프로그램 양철통 32 비트 응용 프로그램보다 많은 메모리를 액세스 할 수 있다는 단점이 있습니다. 필요한 것 더 많은 메모리. 예를 들어, Emacs의 기본 요구 사항은 64 비트 아키텍처 용으로 빌드 될 때 60 % 더 많은 메모리입니다. 이 여분의 풋 프린트는 메모리 계층 구조의 모든 수준에서 성능을 저하시킵니다. 디스크에서로드하는 데 시간이 오래 걸리면 작업 집합이 많아지면 페이징이 많아지며 개체가 클수록 프로세서 캐시가 적어집니다. 16K L1 캐시가있는 CPU에 대해 생각해 보면 32 비트 응용 프로그램은 누락되기 전에 4096 포인터로 작동하고 L2 캐시로 이동하지만 2048 포인터 후에는 64 비트 응용 프로그램이 L2 캐시에 도달해야합니다.
x64에서는 더 많은 레지스터와 같은 다른 아키텍처 향상으로 완화되지만, 응용 프로그램이 & gt; 4G를 사용할 수없는 경우 PowerPC에서 "ppc"보다 "ppc"에서 더 빨리 실행될 가능성이 있습니다. 인텔에서도 x86에서 더 빠르게 실행되는 워크로드가 있고 x86보다 x86보다 5 % 이상 빠름.
64 비트 OS는 더 많은 RAM을 사용할 수 있습니다. 실제로 그것에 관한 것입니다. 64 비트 Vista / 7은 중요한 구성 요소를 RAM에 배치하는 곳의 안전 기능을 사용하지만 실제로 그렇게 눈에 띄지는 않습니다.
ChrisInEdmonton 보낸 사람 :
ix86의 32 비트 운영 체제 PAE가있는 시스템은 최대 64 개의 주소를 지정할 수 있습니다. GB의 RAM. 64 비트 운영 체제 x86-64에서 최대 256 TB의 액세스 가능 가상 주소 공간. 후속 프로세서에서 재배치 ~ 16 EB. 일부 작동 중 시스템은 주소 공간을 제한합니다. 더 나아가, 대부분의 마더 보드는 추가 제한 사항이 있습니다.
전체 에세이를 작성하지 않고도 모든 질문에 답변 할 수 있는지 확신 할 수는 없지만 (항상 Google이 있습니다 ...), 64 비트 용으로 앱을 다르게 설계 할 필요는 없습니다. 나는 포인터 크기가 int와 더 이상 같은 크기가 아니라는 것을 염두에 두어야 만한다는 것을 알 수 있습니다. 그리고 더 이상 사실이 아닐 수도있는 4 바이트 길이의 특정 유형의 데이터에 대한 내장 된 가정에 대해 잠재적 인 문제가 발생할 수 있습니다.
이것은 파일에서 저장 / 로딩, 데이터 반복, 데이터 정렬, 데이터의 비트 연산에 이르기까지 애플리케이션의 모든 종류의 문제를 일으킬 수 있습니다. 포팅을 시도하고있는 기존 코드베이스를 가지고 있거나 두 가지 모두에 대해 작업하고 있다면, 약간의 문제를 해결할 수 있습니다.
나는 이것이 디자인 문제가 아니라 구현 문제라고 생각한다. 나. 내 생각에 "디자인"은 사진 편집 패키지가 단어가 무엇이든지간에 동일 할 것이라고 말합니다. 우리는 32 비트와 64 비트 버전 모두로 컴파일되는 코드를 작성합니다. 디자인은 확실히 두 코드 사이에 다르지 않습니다 - 동일한 코드베이스입니다.
64 비트의 근본적인 "큰 문제"는 32 비트보다 훨씬 큰 메모리 주소 공간에 액세스 할 수 있다는 것입니다. 즉, 실제로 컴퓨터에 4GB 이상의 메모리를 넣고 실제로 효과를 낼 수 있습니다.
나는 다른 대답이 세부 사항에 들어가고 나보다 더 많은 이익을 얻을 것이라고 확신한다.
차이를 발견하는 측면에서 프로그래밍 방식으로 포인터의 크기 (예 : sizeof (void *)) 만 확인하면됩니다. 4의 답은 32 비트를 의미하고 8은 64 비트 환경에서 실행 중임을 의미합니다.
32 비트 프로세스에는 4GB의 가상 주소 공간이 있습니다. 일부 앱의 경우 너무 적을 수 있습니다. 64 비트 앱은 사실상 무제한의 주소 공간을 가지고 있습니다 (물론 제한적이지만이 제한에 부딪 힐 가능성은 거의 없습니다).
OSX에는 다른 장점이 있습니다. 자세한 내용은 다음 기사 , 왜 64 비트 주소 공간에서 커널을 실행 시키는가 (앱이 64 또는 32를 실행하는지 여부에 관계없이) 또는 64 비트 주소 공간에서 실행되는 앱 (커널이 여전히 32 비트 인 동안)을 사용하면 성능이 훨씬 향상됩니다. 요약하면 : 64 비트 (커널 또는 응용 프로그램 또는 둘 다) 인 경우 TLB ( "번역 lookaside 버퍼")는 커널에서 공간을 사용하거나 다시 사용할 때마다 플러시 할 필요가 없습니다. 업 RAM 액세스).
또한 "long long int"변수 (uint64_t와 같은 64 비트 변수)로 작업 할 때 성능이 향상됩니다. 32 비트 CPU는 두 개의 64 비트 값을 더하거나 나누거나 빼거나 곱할 수 있지만 단일 하드웨어 연산에서는 더할 수 없습니다. 대신이 작업을 두 개 (또는 그 이상)의 32 비트 작업으로 분할해야합니다. 따라서 64 비트 숫자를 많이 사용하는 앱의 경우 하드웨어에서 64 비트 수학을 직접 수행 할 수있는 속도가 향상됩니다.
마지막으로 x86-64 아키텍처는 기존 x86 아키텍처보다 많은 레지스터를 제공합니다. 레지스터로 작업하는 것은 RAM으로 작업하는 것보다 훨씬 빠르며 CPU가 더 많은 레지스터 일수록 레지스터 값을 RAM으로 스왑하고 레지스터로 다시 가져 오는 것이 더 적습니다.
CPU가 64 비트 모드에서 실행될 수 있는지 알아 보려면 다양한 sysctl 변수를 살펴보십시오. 예 : 터미널을 열고 입력하십시오.
sysctl machdep.cpu.extfeatures
EM64T를 나열하면 CPU가 x86-64 표준에 따라 64 비트 주소 공간을 지원합니다. 당신은 또한 찾을 수 있습니다
sysctl hw.optional.x86_64
1 (true / enabled)이라고하면 CPU는 x86-64 비트 모드를 지원하고 0 (false / disabled)이라고 표시하면 그렇지 않습니다. 설정이 전혀 발견되지 않으면 허위로 간주하십시오.
참고 : 네이티브 C 응용 프로그램 내에서 sysctl 변수를 가져올 수도 있습니다. 명령 줄 도구를 사용할 필요가 없습니다. 만나다
man 3 sysctl
addressspace는 (실제) 이상의 메모리에 사용될 수 있습니다. 또한보다 큰 액세스 패턴에서 성능을 향상시킬 수있는 대용량 파일을 메모리 매핑 할 수 있습니다.보다 강력하고 효율적인 블록 수준의 VM 수준 캐싱이 시작되므로 heapmanager가 적기 때문에 64 비트에서 대용량 메모리 블록을 할당하는 것이 더 안전합니다 큰 블록을 할당 할 수없는 주소 공간 조각화가 발생할 가능성이 있습니다.
이 스레드에서 (# 레지스터를 두 배로 늘린 것과 같은) 몇 가지 것들은 x86- & gt; x86_64, 일반적으로 64 비트가 아닙니다. 사실 x86_64에서 보장되는 것은 SSE2, 686 개의 opcode와 PIC를 수행하는 저렴한 방법입니다. 이러한 기능은 엄격하게 64 비트가 아니며 기존 x86 기반 제한 사항을 해결하고 수정하는 것에 관한 것입니다.
더욱이 사람들은 레지스터 증가를 속도 향상의 원인으로 지적하지만, SSE2의 기본 사용법 (memcpy 및 유사 기능 가속화)은 그럴 것입니다. x86에 대해 동일한 세트를 사용하면 차이가 작아집니다. (*) (***)
포인터의 크기가 더 크기 때문에 평균 데이터 구조가 간단히 증가하기 때문에 초기 페널티가 포함되는 경우가 종종 있습니다. 이것은 캐시 효과도 있지만 평균 memcpy () (또는 메모리 복사에 해당하는 것이 무엇이든지간에)가 오래 걸린다는 점에서 더 현저합니다. 이것은 단지 몇 퍼센트 btw의 크기이지만 위의 속도 향상도 그 정도입니다.
일반적으로 정렬 오버 헤드는 64 비트 아키텍처에서도 커집니다 (이전의 32 비트 레코드는 종종 32 비트와 64 비트 값의 혼합이됩니다).
전반적으로 간단한 테스트에 따르면, 드라이버와 런타임 라이브러리가 완전히 개조되어 평균적인 앱에 상당한 속도 차이가없는 경우 서로를 대략 취소 할 것입니다. 그러나 일부 앱은 갑자기 빨라질 수 있습니다 (예 : AES에 따라 다를 때). 또는 느린 경우 (중요한 데이터 구조가 끊임없이 이동 / 스캔 / 보행되고 포인터가 많이 포함됨). 테스트는 Windows에서 수행되었으므로 PIC 최적화는 벤치 마크되지 않았습니다.
대부분의 JIT-VM 언어 (Java, .NET)는 평균보다 (예 : 내부) 평균적으로 훨씬 더 많은 포인터를 사용합니다. C ++. 아마도 평균 메모리 사용량보다 메모리 사용량이 더 많을 것입니다. 그러나 이러한 현상은 속도가 느린 효과와 직접적으로 동일시하지 않습니다. (이는 실제로 복잡하고 펑키 한 짐승이며 측정하지 않고 예측하기가 어렵 기 때문에)
(*) 조금 알려진 사실은 64 비트 모드에서 SSE 레지스터의 수가 두 배가된다는 것입니다
(**) Dobbs 박사는 몇 년 전에 그것에 대한 좋은 기사를 가지고있었습니다.
대부분의 사람들이 여기서 언급하고있는 명백한 기억 영역 문제 외에, Knuth가 최근에 말하고있는 "broadword computing"의 개념을 살펴볼 가치가 있다고 생각합니다. 비트 조작을 통해 얻을 수있는 많은 효율성이 있으며 64 비트 단어의 비트 연산은 32 비트 단어보다 훨씬 더 많이 사용됩니다. 즉, 메모리를 사용하지 않고도 레지스터에서 더 많은 연산을 수행 할 수 있으며, 성능면에서 볼 때 상당한 이점이 있습니다.
제가 말하고있는 멋진 트릭의 몇 가지 예를 보려면, Pre-Fascicle 1A의 Volume 4를보십시오.
더 많은 메모리를 처리 할 수있는 기능 이외에도 x86_64에는 컴파일러가보다 효율적인 코드를 생성 할 수 있도록 더 많은 레지스터가 있습니다. 성능 향상은 대개 비교적 작습니다.
x86_64 아키텍처는 x86과 역 호환됩니다. 수정되지 않은 32 비트 운영 체제를 실행할 수 있습니다. 또한 64 비트 OS에서 수정되지 않은 32 비트 소프트웨어를 실행할 수도 있습니다. 그것은 모든 일반적인 32 비트 라이브러리를 필요로합니다. 별도로 설치해야 할 수도 있습니다.
이 스레드는 이미 너무 길지만 ...
대부분의 응답은 사용자가 64 비트 주소 공간이 더 크다는 사실에 초점을 맞추기 때문에 더 많은 메모리를 처리 할 수 있습니다. 모든 응용 프로그램의 약 99 %에 대해 이것은 완전히 부적절합니다. 큰 우프.
그만큼 레알 이유는 64 비트 좋은입니다 아니 레지스터가 더 크지 만 그 수는 두 배입니다! 이는 컴파일러가 값을 메모리에 쏟아 넣지 않고 몇 가지 지침으로 나중에 다시로드하는 대신 레지스터에 더 많이 저장할 수 있음을 의미합니다. 최적화 컴파일러가 루프를 풀어 주면 루프를 두 배 정도 풀어서 성능을 실제로 향상시킬 수 있습니다.
또한 64 비트에 대한 서브 루틴 호출자 / 호출 수신자 규칙은 전달 된 매개 변수의 대부분을 호출자가 스택에 밀어 넣고 호출 수신자가 호출하는 대신 레지스터에 유지하도록 정의되었습니다.
따라서 "일반적인"C / C ++ 응용 프로그램은 64 비트 용으로 다시 컴파일하면 성능이 약 10 % 또는 15 % 향상됩니다. (앱의 일부가 계산 된 것으로 가정 할 때 물론, 이는 사실을 보장하지 않으며 모든 컴퓨터는 같은 속도로 기다립니다. 마일리지가 다를 수 있습니다.)
32 비트 컴퓨터에서는 4,294,967,295 바이트의 메모리 만 처리 할 수 있습니다. 64 비트 컴퓨터에서는 1.84467441 × 10 ^ 19 바이트의 메모리가 있습니다.
64 비트 프로세서는 32 비트 환경에서 작업하는 것보다 두 배 빠른 특정 작업 (예 : 큰 숫자의 계승)을 계산합니다 (주어진 예제는 32 비트와 64 비트 Windows 계산기 간의 비교에서 파생 됨, 100 000 ). 이는 64 비트 최적화 응용 프로그램의 이론적 가능성에 대한 일반적인 느낌을줍니다.
64 비트 아키텍처는 디지털 비디오, 과학 컴퓨팅 및 대용량 데이터베이스와 같은 응용 프로그램에서 대용량 데이터 세트로 쉽게 작업 할 수 있지만 32 비트 호환 모드가 비교 가격보다 더 빠를 것인지에 대해서는 상당한 논란이있었습니다 다른 작업을위한 32 비트 시스템. x86-64 아키텍처 (AMD64)에서 대부분의 32 비트 운영 체제 및 응용 프로그램은 64 비트 하드웨어에서 원활하게 실행할 수 있습니다.
Sun은 64 비트 플랫폼 용 "서버"JIT 컴파일러 (C2) 만 구현했기 때문에 Sun의 64 비트 Java 가상 시스템은 32 비트 가상 시스템보다 시작 속도가 느립니다. 덜 효율적인 코드를 생성하지만 훨씬 빠르게 컴파일되는 "클라이언트"JIT 컴파일러 (C1)는 64 비트 플랫폼에서 사용할 수 없습니다.
속도가 32 비트 및 64 비트 프로세서를 비교할 때 고려해야 할 유일한 요소는 아닙니다. 멀티 태스킹, 스트레스 테스트, 클러스터링 (고성능 컴퓨팅 용)과 같은 애플리케이션 인 HPC는 올바른 배치를 고려할 때 64 비트 아키텍처에 더 적합 할 수 있습니다. 이러한 이유로 64 비트 클러스터는 IBM, HP 및 Microsoft와 같은 대규모 조직에 널리 배포되었습니다.
위에서 언급 한 장점 외에도 보안과 관련하여 다음과 같은 이점이 있습니다.
마음에 떠오르게되는 또 다른 장점은 다음과 같이 할당 된 가상 연속 메모리의 양 vmalloc()
Linux 커널의 경우 64 비트 모드에서 더 커질 수 있습니다.
Microsoft.com의 견적 :
다음 표에서 증가 된 컴퓨터의 최대 자원 64 비트 버전의 Windows 및 64 비트 Intel 프로세서 기존의 32 비트와 비교된다. 리소스 최대 값.
크리스토프 (Kristof)와 포시 (Poshi)는 32 비트와 64 비트 OS 간의 주요 기술적 차이점을 언급했다. 사용자 경험은 대개 이론과 많이 다르다. 현재 64 비트 소비자 버전의 Windows (XP 및 Vista)는 드라이버 지원에 큰 결함이 있습니다. 필자는 32 비트 버전에서 잘 작동하는 64 비트 버전에서는 작동하지 않는 많은 프린터, 스캐너 및 기타 외부 장치를 가지고있었습니다. 이들은 64 비트 드라이버를 가진 장치이며 여전히 작동하지 않습니다. 이 시점에서 Microsoft는 Windows 7이 현재 액세스 권한을 가진 uber-geek뿐만 아니라 실제 최종 사용자로부터이 문제를 처리하는 방법을 듣기 전까지 Microsoft의 64 비트 소비자 기반에서 벗어나도록 권장합니다. 최소한 6 개월을주고 사람들이 경험하고있는 것을보십시오. 개인적으로 필자는 Windows 7의 32 비트 버전을 설치하게 될 것입니다. 64 비트 버전의 Vista는 값 비싼 종이 무게로 이전에 사용을 중단하고 XP 32 비트로 되돌아갔습니다.
일부 게임 프로그램은 비트 보드 대표. 예를 들어, 체스, 체커 및 오델로 (oshello)는 8x8 보드를 가지고 있으며, 즉 64 개의 정사각형이므로 기계어에 64 비트 이상을두면 성능이 크게 향상됩니다.
64 비트 빌드가 32 비트 버전의 거의 두 배 빠른 체스 프로그램에 대해 읽은 것을 기억합니다.
32 비트 및 64 비트라는 용어는 컴퓨터 프로세서 (CPU라고도 함)가 정보를 처리하는 방식을 나타냅니다. 64 비트 버전의 Windows는 32 비트 시스템보다 더 많은 RAM (Random Access Memory)을보다 효과적으로 처리합니다.
내 의견으로는 속도가 다를 수 있습니다.
Microsoft Windows와 관련하여 또 다른 요점은 32 비트 운영 체제 용이며 64 비트 컴파일에 최적화되지 않은 Win32 API가 여러 해 동안 존재한다는 것입니다. 내 응용 프로그램 용 DLL을 작성할 때 일반적으로 64 비트 버전이 아닌 Win32에서 컴파일합니다. Vista 이전에는 64 비트 버전의 Windows를 성공적으로 수행하지 못했습니다. 새 컴퓨터에서 4GB RAM을 사용할 수 있다고 생각하지만 여전히 32 비트 Windows XP Pro를 사용하고 있습니다. 안정적인 O / S는 XP64 또는 Vista와 관련이 있습니다.
16 비트에서 32 비트로의 전환이 있었을 때 왜 어떤 사람들에게는 큰 변화가 될 수 있는지에 대해 자세히 알아보기를 원할 수도 있습니다. 회사가 데스크톱에서 실행할 수있는 업무용 응용 프로그램 (예 : 작은 회계 패키지는 64 비트 운영 체제에서 실행되지 않을 수 있으므로 레거시 시스템을 가상 또는 실제 주위에 두어야 할 필요가 있습니다.
주소의 크기를 변경하면 큰 파급 효과와 반향이있을 수 있습니다.
대부분의 실제적인 목적을 위해 당신은 아마 차이를 느끼지 않을 것입니다.
64 비트 운영 체제를 설치하려면 64 비트 CPU (지난 몇 년 동안 대부분의 CPU)가 있어야합니다.
64 비트 운영 체제에는 몇 가지 장점이 있습니다.
대부분의 시나리오에서 64 비트 프로그램은 약간 더 많은 메모리를 사용하지만 개인용 컴퓨터의 경우 일반적으로 인식되지 않습니다.