컴퓨터 공학 기초 - RAM

📅 TIL #139




🎯 Achievement Goals

  1. RAM이 하드디스크보다 비싼 이유
  2. RAM 메모리 주소는 왜 16진법으로 표현할까?
  3. 32-bit 운영체제에서 4GB밖에 램을 사용할 수 없는 이유는 무엇일까?







RAM이 하드디스크보다 비싼 이유


RAM (Random Access Memory) : 사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치.

컴퓨터가 켜지는 순간부터 CPU는 연산을 하고 동작에 필요한 모든 내용이 전원이 유지되는 내내 이 기억장치에 저장된다. ‘주기억장치’로 분류되며 보통 램이 많으면 한번에 많은 일을 할 수 있기에 ‘책상’에 비유되곤 한다. - 나무위키 -


하드디스크(HDD: Hard Disk Drive)는 사용자가 실행하는 모든 프로그램에 대한 데이터를 저장하고 메모리로 올려져 프로그램을 실행하게 한다. 즉, CPU가 처리할 정보나 처리한 정보를 RAM을 통해서 저장한다. 그래서 HDD는 ‘보조 기억장치’라고도 한다.


그러면 RAM은 CPU가 처리할 데이터가 전원이 유지되는 내내 저장되는 곳인데, 그렇기 때문에 CPU와 직접 맞닥뜨리는 것은 RAM에 해당된다.


그렇다면 RAM이 더 비싼 이유는 무엇일까?


RAM이 하드디스크보다 더 비싼 결정적 이유는, 가격 대비 용량은 적지만 훨씬 작고 가벼우며 속도가 빠르다는 점이다. 그래서 빠른 부팅과 프로그램 실행을 위해 RAM을 더 많이 사용한다.


빠른 속도를 보장하기 위해 더 어렵고 많은 기술을 필요로 한다. 그렇기 때문에 가격이 비싸지는 것은 당연하다고 볼 수 있다.
참고자료 - 메모리는 어떻게 만들어지는가?


반면에 하드디스크는 물리적인 방식으로 읽기, 쓰기 작업을 하기 때문에 제작하는 장비의 원자제 가격도 저렴한 편이다. 애초에 RAM을 만드는 과정에서 들어가는 비용이 더 비싸기 때문에 RAM 가격이 더 비싸다고 볼 수 있다.

뿐만 아니라, RAM이 나날히 발전하다보니 생산공정 및 생산장비의 업그레이드가 더 빈번해진다. 반면 하드디스크는 정말 필요로 하는 기업 외에는 잘 사용하지 않다보니 생산장비의 업그레이드가 잦을 필요가 없다. 생산공정부분에서도 가격이 더 비싼 이유는 명확하다.

CPU와 직접 맞닥뜨리는 것은 RAM이라고 하였는데, 그래서 CPU의 성능이 아무리 뛰어나도 저장매체의 한계가 있다면 성능을 온전히 다 발휘하기는 힘들 것이다.

어렸을 때 게임을 즐겨했던 사람이라면… 좋은 컴퓨터를 사기 위해 컴퓨터 사양등을 알아봤던 사람들이 많을 것이다. RAM이 좋은 것은 알고 있지만 왜 하드디스크보다 가격이 비싸고, 써야하는 이유에 대해서는 크게 궁금해 하지 않았던 것 같다. 개발 공부를 하면서 이러한 이유들을 알아가게 되는 과정들은 정말 뿌듯했고 즐거운 과정들이다!






RAM 메모리 주소는왜 16진법으로 표현할까?

16 진법 표현법

16진법은 자릿수 하나가 0부터 15까지 표현할 수 있다. 하지만 우리가 흔히 사용하는 숫자는 0부터 9까지 밖에 없기 때문에 나머지 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F로 표현한다. 따라서 12는 16진수로 C가 되는거고, 15는 16진수로 F가 되는 형태이다. 16진법은 2진수의 가독성 향상을 위한 툴이므로 사실상 2진수처럼 2개나 다름 없다. - 나무위키-


16진법


정보를 처리하기 위한 최소 단위는 1비트(1bit)이고 8bit는 1바이트(1Byte)로 정의한다. 그러면 1바이트는 2^8이므로 표헌할 수 있는 수는 총 256가지가 된다. 이를 16진법으로 표현하면 OxFF와 같이 나타낼 수 있다. 그러면 2바이트는 Ox0000 부터 OxFFFF로 표현하면 되고, 바이트 수가 늘어나도 가장 큰 주소값은 OxFF...FF처럼 나타나기 때문에 일관성 있는 메모리 주소의 작성이 가능해지는 장점이 있다.


그러면 만약 10진법으로 변환하려고 한다면 어떨까? 굉장히 복잡해질 것이다. 1바이트는 0 ~ 256이고, 2바이트는 0 ~ 65535, 3바이트는 0 ~ 16777216이다. 메모리 주소의 일관성이 없어진다. 복잡하기도 하고 일관성을 위해 16진법으로 메모리를 표현하는 것이 이제는 관용적인 표현이라고 볼 수 있다.


결국 메모리 주소를 16진법으로 표기하는 이유는 우리가 덜 복잡하고 더 보기 편하기 위해 16진법을 쓰는 것이라고 볼 수 있다.






32-bit 운영체제에서 4GB밖에 램을 사용할 수 없는 이유는 무엇일까?


먼저 32-bit 운영체제는 컴퓨터가 처리하는 기본 데이터의 크기(한 번에 처리할 수 있는 데이터의 크기)가 32-bit라는 것을 의미한다.


컴퓨터는 데이터를 가져오기 위해 메모리의 주소를 참조하게 된다. 32-bit 환경에서 메모리 주소를 0 또는 1로 표현했을 때, 최대 크기는 11111111111111111111111111111111이고, 16진수로 표현하면 0xFFFFFFFF가 된다.


따라서 32-bit 환경에서 메모리 주소의 범위는 16진수로 0x00000000 ~ 0xFFFFFFFF라고 할 수 있다. 그러면 최대 주소값을 10진수로 바꾼다면 4,294,967,295가 되는데 약 4GB의 크기가 된다.


그래서 32-bit 환경에서의 CPU에서는 아무리 메모리의 크기가 커도 최대 4GB밖에 인식하지 못한다.