[운영체제] 32 bit CPU vs 64 bit CPU

2021. 7. 1. 19:37운영체제

32 bit CPU와 64 bit CPU의 차이는 한번에 다룰 수 있는 데이터의 최대 크기입니다.

32 bit CPU에서 한번에 다룰 수 있는 데이터의 최대 크기가 32 bit이고,

64 bit CPU에서 한번에 다룰 수 있는 데이터의 최대 크기가 64 bit입니다.

 

 

그렇다면 32 bit CPU의 물리 메모리의 크기는 얼마일까요?

 

bit는 데이터의 최소 단위입니다.

하나의 비트는 0이나 1의 값을 가질 수 있으며 각각은 참 혹은 거짓을 의미합니다.

32bit는 1bit가 32개 있는 것과 같고 1 bit당 경우의 수는 2이며 첫 비트는 부호를 나타내므로,

32bit로 표현할 수 있는 수의 범위는 \(-2^{31}\)부터 \(2^{31}\)까지 입니다.

즉, 32bit로 표현할 수 있는 수의 갯수는 \( 2^{32}-1 \)입니다.

 

옛날부터 단일 문자를 인코딩하는데 사용된 바이트수는 8bit = 1byte 였으며,

이러한 이유로 컴퓨터에서 메모리의 주소값을 나타내는 가장 작은 단위는 1 byte입니다.

메모리 주소값은 0xFF와 같이 16진수로 이루어집니다.

 

그렇다면, 32 bit CPU의 메모리 크기는

$$ (2^{32}-1)B = 4,294,967,295B \simeq 4GB$$

 

 

위의 규칙으로 64 bit CPU의 메모리 크기를 구해보면 얼마가 나올까요?

 

\(2^{10}\)이 곱해질 때마다 바이트 단위가 B -> KB -> MB -> GB -> TB 순으로 증가하므로,

64 bit CPU의 메모리 크기는

$$ (2^{64}-1)B \simeq 2^{64}B = (2^{10})^6 \times 2^{4}B = 16EB $$ 

 

사실상 거의 무한대에 가까운 메모리를 사용할 수 있습니다.

 

이러한 메모리 주소 범위의 차이로 인해 소프트웨어와 하드웨어의 호환성 문제가 발생할 수 있습니다.

프로그램 자체도 32 bit용이나 64 bit용을 구분해서 제작하기 때문에

32 bit 컴퓨터에서 64 bit 프로그램을 실행하면 성능 문제가 발생할 수 있습니다.

 

 

Ref.

https://ko.wikipedia.org/wiki/%EB%B9%84%ED%8A%B8_(%EB%8B%A8%EC%9C%84) 

 

비트 (단위) - 위키백과, 우리 모두의 백과사전

비트(bit, binary digit)[1]는 하나의 비트는 0이나 1의 값을 가질 수 있고,[2] 각각은 참, 거짓 혹은 서로 배타적인 상태를 나타낸다. 바이트는 비트가 여러 개 모인 것으로, 원래는 크기가 명확히 정해

ko.wikipedia.org

https://en.wikipedia.org/wiki/Byte

 

Byte - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Unit of digital information commonly consisting of eight bits The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number

en.wikipedia.org

https://thrillfighter.tistory.com/116

 

32비트 컴퓨터와 64비트 컴퓨터의 차이점

이번엔 32비트 컴퓨터와 64비트 컴퓨터의 내부동작에 대해서 간략하게 포스팅 하려 합니다. 그리고 왜 32bit와 64bit 컴퓨터에서 메모리 인식범위가 차이가 날까 하는 의문에 대한 해답도 찾을 겁

thrillfighter.tistory.com

http://melonicedlatte.com/computerarchitecture/2019/03/07/151740.html

 

32bit 컴퓨터에서는 왜 4GB 크기 까지의 램만 인식 될까? - Easy is Perfect

32bit 컴퓨터는 컴퓨터에서 레지스터를 사용할 때, 레지스트터의 크기를 32bit로 한다는 것입니다.  이는 컴퓨터가 처리하는 기본 데이터의 크기(한 번에 처리할 수 있는 데이터의 크기)가 32bit라

melonicedlatte.com