본문 바로가기
IT/IT 지식

32bit 64bit 의미와 차이

by SidePower 2020. 10. 9.

CPU는 인간의 두뇌와 같은 컴퓨터의 핵심입니다.
중앙처리장치 「Central Processing Unit」라고 합니다.


반도체 칩이 내장되어 연산, 제어, 해독 장치로 집적되어 마이크로프로세서라고 하며
우리가 동영상을 보고 싶어 파일을 더블클릭하면
동영상 실행에 필요한 명령어가 CPU에 전달되며
CPU는 명령어를 해석하고 1초에 수억 번 이상의 연산 작업을 수행해서

결과로 화면에 동영상이 실행하게 됩니다.


이렇게 엄청나게 빠른 작업을 위해
CPU 칩 내부에 레지스터(Register)라는
메모리(기억장치)가 있습니다.


레지스터는 명령어 해석이나 연산시에 사용되는
데이터를 순간적으로 저장합니다.


CPU에서 바로바로 사용할 수 있어야 돼서 칩 내에 장착되어야 돼서 엄청 작고 견고하고
데이터 읽고 쓰기도 RAM(메모리카드)보다는 수십 배 또는 수백 배 빨라야 됩니다.
그래서 가격이 엄청 비싸서 많이 장착할수도 없을 거예요.

갑자기 레지스터 얘기를 계속하는 이유는
컴퓨터에서 CPU, 윈도우, 리눅스 또는
프로그램이나 PC 게임 설치할 때 32bit 버전과 64bit 버전이 따로 있는 게
바로 CPU가 한 번에 처리하는 레지스터의 크기가
32bit 인지 64bit 인지 구분되는 것입니다.

우리나라에 1980년대 8비트 컴퓨터가 있었고
대략 1983년부터 개인용 16비트 컴퓨터 보급되었습니다.
그리고 현재 32비트와 64비트가 공존하고 있으며
서서히 64비트로 사용되는 추세입니다.

 

 


그럼 8 16 32 64 비트는 CPU가 레지스터를 이용해서

한 번에 처리할 수 있는 데이터 크기인 거는 알겠는데요.
얼마나 차이가 있을까요?

CPU는 0과 1이라는 두 개의 비트만 표현할 수 있습니다.
8 비트 컴퓨터는 2^8 = 256
16 비트 컴퓨터는 2^16 = 65,536
32 비트 컴퓨터는 2^32 = 4,294,967,296
64 비트 컴퓨터는 2^64 = 18,446,744,073,709,551,616
저 수만큼 한 번에 처리를 할 수 있다는 거예요.
비트가 올라갈수록 비교할 수도 없는 차이죠.

또 한 번에 처리할 수 있는 한계이기도 합니다.
32bit 컴퓨터는 메인 메모리인 RAM을 읽고 쓸 때
2^32 = 4,294,967,296 = 4 GB(기가바이트) 까지만 인식할 수 있습니다.
RAM을 10GB를 꽂아도 4GB만 표시됩니다. 6GB는 그냥 버려지는 거예요.

윈도우 설치하실 때 32bit / 64bit 구분되어 원하시는 버전으로 설치하실 거예요.
그리고 게임이나 프로그램을 만들 때 이런 거를 고려해서
32bit 버전과 64bit 버전을 같이 출시합니다.
그렇다면 32비트와 64비트 서로 호환이 될까요?


쉬운 예로

64비트로 만들어진 게임이라면 실행될 때
한 번에 64비트만큼을 게임파일에서 읽어서

64비트만큼을 메모리에 기록해서 게임을 시작할 거예요.


근데 만약에

32비트 윈도우에 설치한다면 
32비트만큼을 게임파일에서 읽어서 32비트만큼을 메모리에 기록하고

드디어 게임을 시작할려는데..


게임 시작하는 명령어가

64비트만큼 필요한데 32비트만큼만 있기 때문에 실행 오류가 발생합니다.


반대로 64비트 윈도우에 32비트 게임을 실행하면
64비트만큼의 여유가 많아서 32비트만큼을 게임파일 읽고
메모리에 기록하고 시작해도 필요한 모든 데이터가 있기 때문에

정상적으로 잘 시작됩니다.


한마디로 64에서는 32가 되고 32에는 64가 안된다고 생각하시면 될 거예요.

컴퓨터에서 32비트와 64비트 차이에 대해서
이 정도만 알고 계셔도 유용할 거예요.

감사랍니다.

반응형

댓글