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



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

또한, 컴퓨터는 데이터를 가져오기 위해서 메모리의 주소를 참조하게 됩니다. 
데이터의 기본 단위는 bit 인데, 주소의 기본 단위는 무엇일까요?
주소의 기본 단위는 1byte 입니다. 
데이터는 1씩 증가할 때마다 1bit가 오르는 반면에, 주소는 1씩 증가할 때 마다 1 byte 씩 증가하게 됩니다.(1byte는 1bit가 8개 모인 형태)

32bit 컴퓨터에서는 기본 데이터 형이 1bit이고 이러한 bit가 32개가 있습니다.
그렇다면 표현할 수 있는 데이터의 숫자는 232이고, 주소도 앞의 개수만큼 표시할 수 있습니다.



주소의 기본 크기인 1byte *  232을 계산해보면 위와 같이 4,294,967,296이라는 수치가 나오게 되고,
이는 4,294,967,296byte 의 주소 즉 4GB의 주소를 레지스터가 표현할 수 있다는 것을 의미합니다. 
그림으로 표현하면 아래와 같습니다. 



실제로는 4GB도 다 인식하기 어렵다고 합니다. 
실제로는 3GB 정도만 인식 가능한데, 컴퓨터를 켤때 PAM (Physical Address Map) 에서 RAM, VGA 메모리 등의 메모리 장치들이 가지고있는 정보로 일종의 인덱스, 색인을 만들어 윈도우에게 건내기 때문에 해당 메모리가 차지하는 영역만큼 RAM 에서 깎이게 된다고 합니다. 


위와 같은 형태라고 생각하시면 됩니다. 
위에 대한 자세한 내용은 아래의 참고 출처 중 가장 마지막 링크를 참조해주세요~


- 참고 출처 -
https://thrillfighter.tistory.com/116 
https://m.blog.naver.com/PostView.nhn?blogId=wwwkasa&logNo=80142503457&proxyReferer=https%3A%2F%2Fwww.google.com%2F 
https://blogs.technet.microsoft.com/sankim/2009/05/20/4gb-32-windows-xp-vista-7/