티스토리 뷰

공부

32bit/64bit?

Zedd0202 2017. 4. 29. 11:44
반응형

안녕하세요. 오늘은 기초적인 cs를 공부하려고해요.

32비트와 64비트에대해!!

자, 요새 64비트 컴퓨터 말이 많죠?

그리고 제 컴퓨터가 32비트인지, 64비트인지 확인해야 할때도 있죠.

(옛날에는 16비트 컴퓨터도 있던거 아시나요? )



위 설명을 자세하게 풀어서 오늘 글을 써보려고해요 ㅎㅎ

시작할게요.




자. 그럼 16,32,64"비트"라고 하는데 

이 비트가 무슨말일까요?


이 Bit라는 것은 CPU가 처리하는 데이터의 최소 단위인 

'레지스터'의 크기가 몇 Bit인지에서 나온 말이에요.


그럼 16비트는 레지스터의 크기가 16이라는 소리겠네요. 

32,64도 마찬가지구요.


그럼 또 이런 질문이 있을 수 있겠죠.

레지스터가 뭐냐?


레지스터는 CPU의 레지스터란 처리의 지연 시간을 줄이기 위해 사용하고 있는 CPU 내부의 임시 기억장치입니다.


 컴퓨터가 데이터를 처리할 때 중앙처리장치인 CPU를 통해 처리를 하는데,

 매 번 메모리에서 처리를 할 때 마다 데이터를 가져오게 되면

 시간 낭비가 생기게 되어 지연이 생기게 됩니다.


 그래서 CPU 내부에 임시 기억장치인 레지스터를 두어 메모리에서 

데이터를 가져와 저장하고 필요할 때 마다 불러와서 처리를 합니다.


  임시 기억장치이기 때문에 이 레지스터 또한 용량을 가지고 있는데 

이 용량을 기준으로 CPU를 n bit 레지스터로 나누게 됩니다. 

따라서 32bit 레지스터와 64bit 레지스터로 32bit와 64bit로 나뉘게 되죠.


 그리고 물론 레지스터의 용량이 클 수록 메모리에서 더 많은 데이터를 가져와 저장할 수 있기 때문에 처리 속도도 더 빨라지게 됩니다.


그럼 이 레지스터의 용량이 클수록 많은 데이터를 빠르게 처리할 수 있겠네요.

그럼 32bit를 기준으로 설명드리자면, 레지스터가 한번에 처리할 수 있는 용량이 32bit이기 때문에 한번에 표현 가능한 수의 최대값이 2^32이겠죠.

즉,  2의 32승, 4294967296BYTE = 4194304KB = 4096MB = 4GB 입니다. 

2^30*2^2로 생각하셔도 될 것 같아요. 


레지스터가 한번에 표현할 수 있는 값의 크기는 cpu가 한번에 인식하여 처리할 수 있는 주소값의 범위가 됩니다. 


그럼 위의 계산을 통해 약 42억개의 주소를 표현할 수 있겠네요. 

그럼 43억 이상의 수를 표현하려면 레지스터의 용량이 32bit이기 때문에 주소값을 표현할 수 없게됩니다. 

그냥 32bit 컴퓨터는 4294967296이상을 모른다고 생각하시면 된답니다.

 

이 레지스터의 용량에 따라서 RAM의 크기 또한 달라지게 되는데, 

그래서 32bit에서는 최대 RAM의 크기가 4GB입니다. 

그래서!! 32bit 컴퓨터의 메모리 인식범위가 4GB가 한계인것입니다.

 32bit 컴퓨터에서 RAM을 8GB를 쓰려고 해도 최대 4GB까지 밖에 쓸 수 없다는 것이죠.





그래서 64bit 컴퓨터가 나오기 시작한것이죠.

자, 그럼 64bit는 최대로 표현할 수 있는 수가 몇까지 인지 알아봅시다. 

그럼 위랑 똑같이 하면 되겠죠? 64bit는 2^64까지 수를 표현할 수 있습니다. 

2의 64승, 18446744073709551616BYTE, 18EB(1EB = 1000TB) 입니다.

EB는 "엑사바이트"인데요. 



테라바이트도 크다고 생각했었는데.. 엑사바이트는 아주 크네요.


이론상으로 우리는 18엑사바이트의 수를 표현할 수 있겠네요.

그럼 현재 64bit컴퓨터의 RAM이 18EB일까요?


일단은..아닙니다.

현재 64bit의 RAM은 192GB를 사용할 수 있어요.




자. 오늘은 32bit/64bit에 대해 알아봤는데..어떠셨나요 ㅎㅎ

도움이 되었으면 좋겠어요👍






반응형