컴퓨터 사이언스

32비트와 64비트 차이

woohap 2024. 9. 29. 20:14

비트

비트란 정보를 표현하는 최소단위를 의미한다.

32비트 시스템과 64비트 시스템 차이점

1. 데이터 처리 단위 
CPU가 한 번에 처리할 수 있는 단위인 워드의 크기가 
32비트인 경우 32비트 시스템
64비트인 경우 64비트 시스템
32비트에 비해 64비트 시스템이 한 번에 더 많은 데이터를 한 번에 처리할 수 있음

- 이는 대용량 데이터를 다룰 때 성능 향상으로 이어짐
32비트 명령어로 여러 번 실행할 작업을 64비트 명령어로 한 번에 처리하는 경우도 존재

- 전체적인 명령어 실행 횟수 감소 

2. 메모리 주소 지정
32비트 시스템의 경우 2^32(약 4GB)까지의 메모리 주소 지정 가능 
64비트 시스템의 경우 2^64(약 18엑사바이트)의 메모리 주소를 이론적으로 지정 가능 

3. 레지스터 크기
CPU 내부 범용 레지스터 크기가 32비트 64비트인지 결정됨
**** 특수 목적 레지스터 크기는 64비트보다 클 수 있음 
64비트 시스템이 더 많은 데이터를 CPU 내부에서 직접 처리할 수 있게 됨
- 성능 향상 

4. 캐시 효율성
64비트 시스템은 일반적으로 더 큰 캐시를 가지고 있어, 자주 사용하는 데이터에 더 빠르게 접근 가능 

5. 부동소수점 연산 
64비트 시스템은 더 정확하고 효율적인 부동 소수점 연산을 수행할 수 있음 
- 정밀도 증가 
- 표현 가능한 수의 범위 확대
- 반올림 오차 감소
- 정규화된 수의 범위 확대 

** 
pintOS에서 int32_t, int64_t 와 같은 자료형을 사용한 이유 
- 컴파일 설정에 따라 달라지는 데이터 타입 크기가 달라지므로 프로그래머가 제어 불가
- 이를 해결하기 위해 고정 사이즈 정수(int32_t, int64_t와 같은 타입을 사용한다.)

** 
64비트 시스템에서 32비트 프로그램 사용가능 
32비트 시스템에서 64비트 프로그램 사용시 오류 발생 
- 메모리 주소 한계  
  32비트 CPU는 4GB 이상의 메모리 주소를 사용할 수 없음 

- 명령어 호환성
  64비트 명령어는 32비트 CPU에서 인식되지 않는다.

'컴퓨터 사이언스' 카테고리의 다른 글

1의 보수, 2의 보수  (0) 2024.10.04
JPG, PNG, GIF 차이점  (1) 2024.10.03
C언어 포인터  (0) 2024.10.02
실수 표현법(부동 소수점, 고정 소수점)  (0) 2024.10.01
Call By Value, Call By Reference Python  (0) 2024.09.30