본문 바로가기

노트북/노트북 활용

도둑맞은 0.5G 메모리의 행방

최근 윈도우즈 OS의 서비스팩 소식이 들려옵니다.
16일부터 비스타의 서비스팩1 이 배포되고 곧 XP의 서비스팩3가 배포된다고 합니다.
이번 서비스팩에서 주의깊게 살펴볼것은 바로 그동안 메인메모리의 용량 4GigaByte를
인식하지 못하던 윈도우즈에게 제대로된 정보를 준다는 것입니다.

오늘은 흔히들 32bit 컴퓨터에서 메모리의 최대 한계는 4기가라고 하는데 그이유에 대해 알아보도록 하겠습니다.

먼저 알아두어야 할것은 32bit컴퓨터에서 이 32bit라는것이 무엇을 의미하는가 입니다.
이것은 CPU가 한번에 처리하는 데이터코드의 크기입니다.
우리가 프로그램을 실행하면 프로그램은 로딩되어 메모리에 올라갑니다.
CPU는 처리할 데이터를 메모리에서 가져옵니다.
이 CPU가 현재 처리해야할 데이터를 메모리에서 가져올때 데이터가 메모리에 어느위치에 있는지 알려주어야하는데 이 위치를 나타낼때 32bit가 사용됩니다.
그럼 이 32bit로 어떻게 메모리 위치를 나타내는가?
   어드레스           데이터
 4294967296  
 4294967295  
 4294967294  
 ...  
 ...  
 2  
 1  
 0  

메모리 위치(주소)는 이렇게 표현됩니다.
그리고 CPU는 처리할 메모리의 주소를 받아 처리를 하는데
32bit에서는 4G까지 표현할수 있는것이죠.
4294967296 / 1024 / 1024 /1024 = 4G
그래서 32Bit컴퓨터 에서는 4기가의 메모리를 사용할수 있습니다.

그런데 왜 3.xG라고 나오는건가요?
정확히 말하면 4G까지의 메모리를 인식할수 있다고 볼수 있습니다.
무슨말이냐면, 32bit로 표현할수 있는 주소를 100% 메모리(RAM)주소를 표현하는데 사용하지 못한다는 것입니다.
우리가 사용하는 컴퓨터는 각 디바이스들, 입출력 장치들에서 사용하는 메모리도 사용을 해야하는데, 이것을 위해 32bit중 특정영역을 사용합니다.
즉, 우리가 잃어버렸던 0.8~0.5G는 바로 이영역인것이지요.
그렇다고 이것들이 우리 메인메모리의 용량을 잡아먹고 사용하는것은 아닙니다.

 4294967296~5100273664(0.75G)  밀려난 메인메모리(RAM)영역
 4026531840 ~ 4294967295  기타 디바이스 영역
 3489660928 ~ 4026531840 (512M)  그래픽 메모리
 3489660927 (3.25G)
 ....
 0
  메인메모리(RAM)
주소위치 표현을 위해 특정 대역을 잡아먹고 있기때문에 메인메모리 4G중 3.2G정도만 표현이 가능한것입니다.(나머지 메모리는 놀고 있습니다.)
왜냐하면 다른 디바이스의 메모리엑세스도 해야하기때문에(필수) 표현가능한 4G중 이부분을 차지해야한 합니다.

아니... 컴퓨터를 설계하신 분들이 바보도 아니고 어떻게 이렇게 만들어놓았을까?
라고 생각하실수 있습니다.

-출처:다음사전-

우리가 사용하는 32bit컴퓨터는 386컴퓨터, 인텔에서 1985년에 개발하였습니다.
그전에는 286(80286)컴퓨터 였는데 이것은 16bit컴퓨터였죠.
그당시 386컴퓨터는 1MB~2MB정도의 메인메모리를 탑제하고 있었습니다.
그것도 대부분 온보드메모리로 업그레이드가 불가능했습니다.
즉, 그당시 메인메모리가 1GB는 정말 상상도 할수 없는시기였습니다.
그당시 1MB 메모리는 지금의 4기가 메모리가격보다 수십배는 비쌌으니까요..
그래서 그때는 32bit로는 '충분하다'고 생각을 했죠.
그런데.. 생각보다 32bit시스템이 오랜기간 사용되었습니다.
지금 CPU는 64비트는 지원하고 64비트용 OS도 나와있지만 그 기반에서 사용가능한
프로그램의 부제로 아직 32bit시스템에 머물러 있는것입니다.
그동안 프로그램의 고사양화, D램 가격의 폭락으로 우리는 20년이 지난 지금
그당시 상상할수도 없었던 4G의 메모리를 누구나 장착할수 있는 시대가 온것이죠.

방법은 있습니다. OS를 64비트기반의 OS로 교체를 하면 됩니다.
그러나 64bit기반은 아직 시기상조입니다. 왜냐하면 우리가 흔히 사용하는 유틸리티들이
64bit 기반에서 실행되지 않기때문입니다.

그래서 마련한것이 PAE라는 기법을 사용하는것입니다.
이것은 주소체계를 32bit에서 36bit로 늘리는것으로 숨겨졌던 영역까지 표현이 가능합니다.
다만, 이것은 하드웨어적으로 지원을 해야한다는 단점이 있습니다.

앞으로는 64비트 OS환경이 되어야 할것입니다.
지금 32비트환경에서도 굳이 큰 불편없이 사용이 가능하기 때문에
관련업계에서도 굳이 64비트 환경을 준비할 필요성을 못느끼고 있는건지도 모르겠습니다.
어서빨리 64비트환경에서 노트북을 문제없이 사용할수 있는 날이 와야겠습니다.