RAM에 데이터를 어떻게 기록하는가

 

소프트웨어는 운영체제와 함께 동작해 램(RAM) 칩에 에칭된 전도성 물질의 미세한 가닥인 주소 라인 (address line)을 따라 전기를 보낸다. 각 주소 라인은 칩 안에 데이터를 저장할 수 있는 곳의 위치를 알아낸다. 전기가 가득차면 RAM 칩의 수많은 주소 라인 중에 어디에 데이터를 기록할지 판별한다.

 

전기 펄스는 데이터를 저장할 수 있는 RAM 칩에서 각 메모리 위치에 있는 데이터 라인(data line)과 연결된 트랜지스터를 켠다(닫음). 트랜지스터는 본래 아주 작은 전기 스위치이다.

 

트랜지스터가 켜져 있으면 소프트웨어는 선택된 데이터 라인을 따라 전기 신호를 보낸다. 각 신호는 1 비트를 나타낸다. 1 비트와 0비트는 컴퓨터가 처리하는 정보의 가장 기본적인 단위인 프로세서의 언어를 구성한다.

 

트랜지스터가 켜져 있는 주소 라인으로 전기 펄스가 도달하면 펄스는 닫혀 있는 트랜지스터를 통해 흐르고 전기를 저장하는 전자 장치인 커패시터를 충전한다. 이 과정은 커패시터의 충전이 다시 시작 될 때까지 계속 반복되는데 그렇지 않을 경우 전기가 누출된다. 컴퓨터의 전원을 끄면 커패시터는 모두 방전된다. 주소 라인에 있는 각각의 커패시터는 1비트를 나타낸다. 충전되지 않은 커패시터는 0비트를 나타낸다. 컴퓨터는 1비트와 0비트를 이진수로 사용하여 글자와 이미지 등 모든 정보를 저장하고 처리한다.

RAM칩에 있는 8개의 스위치가 있을 때 각각의 스위치는 트랜지스터와 커패시터로 되어 있다. 트랜지스터의 닫힘과 열림을 조합하면 ASCII 표기법에서 대문자 A를 표시하는 이진수 01000001을 나타낸다. 주소 라인에 있는 8개의 커패시터 중 첫 번째 커패시터는 충전되지 않고(0), 두 번째 커패시터는 충전되고(1), 그 다음 5개의 커패시터는 충전되지 않고(0000), 8번째 커패시터는 충전된다(1).

 

RAM으로부터 어떻게 데이터를 읽어오는가?

RAM에 저장되어 있는 데이터를 읽으려면 또다른 전기 펄스를 주소 라인으로 전송하고 다시 한 번 여기에 연결된 트랜지스터를 닫는다.

 

전하를 보유한 커패시터가 있는 모든 주소 라인에서 닫힌 트랜지스터가 만드는 회로를 통해 커패시터는 방전되고, 데이터 라인으로 전기 펄스를 보낸다.

 

소프트웨어는 펄스가 어느 데이터 라인에서 오는지 인식하고 각 펄스를 1로 해석한다. 펄스를 전송하지 않는 라인은 모두 0으로 해석한다. 8개의 데이터 라인에서 만들어지는 10의 조합이 1바이트(byte)의 데이터를 만든다.

 

칩이 더 많은 데이터를 이동시키는 방법

메모리가 얼마나 빨리 데이터를 공급하는지에 따라 가장 빠른 프로세서로 제약을 받는다. 원래 데이터를 더 많이 공급하는 방법은 클럭 속도 (clock speed)를 높이는 것이다. 여기에 설명된 SDRAM(Synchronous Dynamic Random Access Memory) 메모리는 프로세서의 클럭 조절 동작과 메모리 데이터 이동의 매 주기(cycle) 또는 매 틱(tick)마다 값을 저장하거나 프로세서로 향하는 데이터 버스로 값을 이동시킬 수 있었다. 그러나 프로세서의 속도가 빨라져 RAM의 속도를 능가하자 메모리는 다음과 같은 두 가지 방법으로 그 격차를 좁혔다.

 

한 가지 방법은 DDR(Double Data Rate)이다. 예전에는 클럭의 각 주기(cycle)마다 비트를 기록하거나 읽었다. 이것은 마치 시카고에서 뉴욕으로 가는 기차에 누군가가 짐을 싣고(데이터 기록), 그 짐을 내린(데이터 읽기) 다음, 돌아가는 길에 실을 수 있는 새로운 짐이 뉴욕에 있음에도 불구하고 빈 기차를 시카고 되돌려 보내는 것과 같다. DDR을 사용하면 기차가 뉴욕에 도착할 때 짐을 내릴 수 있고 시카고로 돌아가기 전에 새로운 짐을 실을 수 있다. 이렇게 하면 기차는 같은 시간에 두 배의 트래픽(데이터)을 처리한다. 짐을 싣고 내리는 사람을 메모리 컨트롤러(memory controller), 기차의 왕복 주기를 클럭 사이클 (clock cycle)로 대신하는 것이 DDR이다.

 

또 다른 방법인 DDR2는 다른 방식을 사용해 데이터 전송 속도를 두 배로 늘렸다. DDR2는 메모리의 내부 클럭 속도를 데이터 버스(data bus) 속도의 절반으로 줄였다. DDR2DDR3, DDR4로 빠르게 발전햐였고,. 각각 이전 버전에 비해 프로세서의 클럭 속도를 절반으로 줄였다. 메모리 소도를 줄임으로써 RAM의 전기 사용량을 줄인 부가적인 효과도 얻었다. 월별 전기 요금을 현저히 줄인다기보다는 작동이 잘 되고 안정적인 메모리칩을 얻은 것이다.

 


+ Recent posts