강좌 / 팁

32bit 혹은 4GB메모리 지원에 대한 이야기...

2008.03.05 10:19

(/` `)/ 와~ 조회:13873

요즘 램값이 많이 싸져서 4GB 이상의 메모리를 사용하는 분들이 많이 늘었습니다.
이런 분들이 컴을 사용하다보면 항상 겪게되는 문제가 있죠.

왜 내 컴퓨터는 3.2GB정도의 메모리 밖에 지원하지 못하는가?
아는 후배는 자신있게 말하더군요. XP가 32비트라서 3.2GB밖에 지원못한다고...

진실은 이렇습니다.

가장 일반적으로 많이 사용하는 Windows XP 32bit는 처음부터 끝까지 대부분 32비트 코드로 짜여있습니다. 특히 우리가 눈여겨 봐야할 메모리 어드레싱, 이 부분 역시 32비트로 짜여져있습니다. 이론적으로 2^32 = 4GB 입니다.

그럼에도 불구하고 우리의 XP는 메모리 전체를 표시하지 못합니다.

왜냐하면 그래픽메모리와 그 이외에 장치에 있는 각종 버퍼메모리들 모두 XP가 어드레싱해야하는 영역입니다. 총합은 4GB를 확실히 오버하게 됩니다.

그래서 XP는 중요한 결단을 내립니다.
'비디오메모리를 포기하면 모니터가 먹통이되고, 다른 버퍼메모리를 포기하면 해당장치를 사용할 수 없게되니, 차라리 4GB나 되는 주메모리의 일부를 포기하자!'
2^32 - VGA메모리 - 여러가지 a = 실제 사용가능한 메모리 영역 = 약 3.5GB에서 심하면 2.9GB정도...

따라서 모든 32비트 OS는 이런 저주받은 숙명을 겪게되는가...
대답은 절대 No입니다...

예를 들어 2003서버를 예를 들어보죠. 기본적으로 이놈 역시 XP와 비슷한 코드를 공유하여, 대부분이 32비트 코드입니다. 하지만, 메모리 어드레스는 36비트 코드로 짜여져있습니다. 따라서 이녀석이 최대로 사용할 수있는 메모리는
2^36 = 64GB... 어머어머하죠...

여기서 태클들어 오실겁니다. 어떻게, 감히, 32비트 주제에 36비트 데이터를 처리하냐고...

답은 이렇습니다.

과거에 CPU는 분명 32비트였지만 실제 메모리 어드레싱은 CPU가 아닌 메인보드 칩셋에서 이루어졌습니다. 즉 32비트 메모리가 넘더라도 CPU입출력 포트에서만 32비트로 처리할 수 있다면 아무런 문제가 없습니다. 그래서 칩셋의 메모리 컨트롤러는 일정한 데이터영역을 묶어서 가상의 인덱스로 묶고 이를 CPU에게 제공하고, CPU는 이 인덱스만 가지고 놀면 32비트를 넘는 메모리영역도 다룰 수 있게됩니다. 흔히들 말하시는 PAE가 되겠습니다.

뭐 한 2~3년 전까지만해도 우리같은 일반인들은 4GB메모리에 근접할 일이 없었기에 별문제가 없었고, 하드웨어 제조사는 36비트 어드레싱이 되는 칩셋과 그렇지 않은 칩셋을 구분해서, 소프트웨어제조사는 그에 따라서 고급컴퓨팅 영역으로 재미 좀 보고 있었죠.

그러던 중에 어떤 하드웨어 제조사가 사고를 칩니다.
CPU입출력 포트를 64비트를 늘리더니, 메모리컨트롤러까지 CPU안에 집어넣어버렸죠. 일반인들 컴퓨터에서 64bit 컴퓨팅뿐만 아니라 PAE마저 당연히 구현되버립니다.

하드웨어제조사는 크로스 라이센스를 통해 64비트 체제를 빠르게 확산시켰지만, 소프트웨어사들은 그렇지 못했습니다. 기존의 고급컴퓨팅 부문과 일반인들을 위한 64비트 부문이 겹쳐지는 아이러니, 그리고 PAE근본적인 문제인 메모리의 실제엑세스는 32비트라는 벽에 부딫칩니다. 결국 32bit와 36bit 메모리 어드레싱의 결합은 포기하고 바로 64비트 체계로 돌입합니다.

일반인들이 사용하는 32bit OS상에서 고용량 메모리 사용부문은 버려지게 됩니다.
이러한 이유로 인해 윈도우2000과 XP SP1에서 4GB 메모리가 인식이되다가 SP2이후부터는 인식이 안되는 이유입니다. 마소도 64bit 버젼 개발하느라 엄청돈이 많이 들어갔을테니 많이 팔고 싶었을 겁니다.

즉 어떤 독점적인 소프트웨어사에 입장에서 보면, 일반인에게 있어서 36bit메모리어드레싱은 사용할 수 없는 물건이니 다른 기업단체만큼 돈을 더내던지 아니면 어둠에 길을 걸으라는, 혹은 이도저도 싫으면 오픈소스에 길로 가라라는 강한 의지입니다.

그리고 64bit 윈도우의 실제 메모리어드레싱은 48bit모델이고, 현재 데이터센터서버 에디션의 한계가 2TB정도 밖에는 안됩니다... 사실 많기는 하지만, 여러분들은 컴퓨터에 한 4TB쯤 설치하고, 왜 내 컴퓨터는 인식 못할까 고민하시기에 충분하므로 아래 결론을 잘 기억하세요.


결론 :

32bit 혹은 64bit는 CPU의 입출력포트와 액세스할 수 있는 메모리주소일뿐, 사용할 수 있는 메모리 총용량은 아니다. 좌절하지말고 OS를 바꾸자...



PS. 오늘에 글의 재료 : M사, A사, I사네 기술문서 각각 한 스푼정도, 저자생각 반 컵, 업계 풍문 한 냄비...

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
847 소프트웨어| AdGuard 확장기능(스크립트)으로 브라우저에 날개를 [6] 오호라7 2531 11 01-28
846 소프트웨어| VirtualBox에서 USB 부팅으로 OS 설치하기 [14] VenusGirls 2531 11 12-23
845 윈 도 우| gooddew님 배치파일 강좌 [7] 슈머슈마 2527 19 03-16
844 기 타| 유튜브 볼륨 컨트롤을 마우스로 편하게 (업데이트) [8] 오호라7 2527 7 12-07
843 소프트웨어| Chrome 브라우저 마그넷 확인 옵션 수정 방법 [1] DeathWing 2518 6 02-14
842 소프트웨어| utorrent 간단 사용법 [3] 간장종지646 2517 12 01-11
841 소프트웨어| AutoCAD 캐드 설치가 안 될 때.... 한번해보세요.... 전 3... [6] Alpha 2516 11 11-17
840 소프트웨어| Wise care 365 사용시 주의점 [5] heykevin 2516 9 12-30
839 윈 도 우| 윈도우10 시작화면 - 크롬아이콘 재설정 하기 [5] 준이오빠 2511 3 07-30
838 기 타| iptime 공유기. 국가별 접속제한 사용 시 iptv 안 나올 때 ... [4] heykevin 2504 7 06-08
837 윈 도 우| WIM파일로 PE 실행 해보기 [8] 하늘은높고 2502 19 02-20
836 기 타| 구글 드라이브 대역폭 제한으로 사본 만들기가 안될때 [8] Nick 2493 6 03-01
835 윈 도 우| Win10XPE 시스템 속성 컴퓨터 이름 [12] %카리스마 2478 16 03-07
834 윈 도 우| [실사] 윈도우11&10 BCD 부팅 오류, 부트 복구(설치) [16] 무월 2474 24 12-05
833 윈 도 우| 윈도우 10에서 다른 프린터 드라이버 설치하는 법 [2] 봄빛깔 2474 3 08-26
832 소프트웨어| VHD 교차 부팅으로 순간 복구 구현하기 [14] gooddew 2471 20 10-10
831 윈 도 우| 윈도우 11 에서 시스템 요구 사항이 충족되지 않다고 하는 ... [6] gooddew 2470 14 03-24
830 소프트웨어| 레인미터 스킨들 사용법 및 수정방법 간단한 설명입니다.(... [5] 갑파니 2469 15 04-14
829 기 타| MEGA 고용량 파일 다운로드 방법 [3] Antory 2467 10 01-19
828 소프트웨어| IDM 다운로드 마크 사라짐 현상 대처법 [2] DaBin 2467 1 04-26
XE1.11.6 Layout1.4.8