32bit vs. 64bit

CPU의 차이

  • 레지스터의 bit 폭 차이
    • 레지스터의 크기가 16bit이면 16bit CPU
    • 레지스터의 크기가 64bit이면 64bit CPU

레지스터

  • 연산의 대상 및 연산 결과를 기억하는 버퍼
  • 레지스터가 클수록 한 번에 처리할 수 있는 정보의 양이 증가
    • 16bit가 한번에 처리할 수 있는 정보는 2^16 제곱
  • 한번에 취급할 수 있는 정보의 증가 -> 처리의 고속화 + 기능의 고도화
    • CPU의 편리한 명령 가능
  • 버전에 따라 상호 호환이 불가능할 수 있다
    • x86 명령을 x86_64에서 실행가능, 반대로는 불가
    • 64but의 CPU가 32but 명령을 실행하는 것은 가능, 반대로는 불가

메모리 제한

  • 32bit 환경에서 메모리 4GB 이상 사용 불가
    • 32bit 환경은 4294967296 byte 주소 공간이 존재
  • 64bit는 18446744073709551616 byte 지원
    • 약 18446744TB
    • 128bit의 시대가 오기 전까지는 괜찮다

64비트 환경에서 32비트 프로그램 구동은 가능?

  • 32bit 라이브러리가 없으면 불가능

출처

Categories: ,

Updated: