32Bit vs 64Bit 누가 더 빠를까?
32Bit vs 64Bit Application의 차이점과 어느 쪽이 빠른지에 대한 고찰
Memory 주소와 Register 의 크기의 차이가 나타나게 된다.
호환성
일반적인 64Bit Application이 실행에 필요한 조건
- 64Bit 프로세서
- 64Bit 운영체제
대부분의 64Bit 운영체제는 호환 모드
를 지원하여 32Bit Application 실행 가능
Memory 주소의 크기
이론적으로 처리 가능한 Memory 주소의 크기가 극단적인 차이 존재
- 64Bit
- $2^{64}$ = 16엑사바이트
- 32Bit
- $2^{32}$ = 4기가바이트
Memory 주소가 크면? 장점
- 더 많은 데이터를 Memory에 올릴 수 있기 때문에 디스크 접근을 줄일 수 있는 장점
- Memory map file의 실용성이 좋아짐
- File Access 효율이 좋아짐
- Register 의 크기가 커서 연산 자체가 빠를 수 있음
32Bit 프로세서 중 64Bit 연산을 위한 확정 기능을 제공하는 것도 있음
Memory 주소가 크면? 단점
- Pointer를 저장할 때 Memory가 두 배 필요
- Pointer를 사용하는 자료구조의 경우 Memory가 두 배 필요
- 캐시 부적증(Cache Miss)가 발생할 확률이 상승
- 프로세스의 크기
- 32Bit, 64Bit Application 입장에서는 프로세서 캐시 크기 동일
- 64Bit 자료구조는 용량을 더 많이 차지하여 캐시 공간이 적음
- Access 할 값을 Main Memory에 가져올 때까지 기다려야 하는 Cache Miss가 발생할 확률 증가
댓글남기기