[메모리]

Memory(메모리)란 무엇인가?

Neo Park 2013. 2. 27. 10:30

 

메모리란 ?

 

컴퓨터정보공학과 권필재(1189004)


2011. 5. 16

목차

1. 메모리란?

2. FSB란 무엇인가?

3. 메모리에서 DDR과 DDR2, DDR3의 차이점은 무엇인가?


1. 메모리란?

메모리'라는 말은 기억장치라는 뜻을 가지고 있지요. 우리가 원하는 작업을 컴퓨터에서 처리하기 위해서는, 처리대상의 내용이나 또는 처리 결과를 잠시 기억하고 있어야할 필요성이 생기는데, 이때 메모리가 사용됩니다. 일반적으로 컴퓨터에서 메모리라고 하면 상황에 따라 여러가지를 의미하지만, 가장 좁은 의미로는 '메인메모리(main memory)'를 가리킵니다. 우리말로는 주기억장치라고 번역할 수 있죠. 이 메인메모리는, 프로세서처럼 전자소자로 만들어져 있고 기억할 내용이 전기적인 신호로 저장되기 때문에, 하드디스크나 디스켓을 이용하는 것보다 속도가 매우 빠른데요, 바로 이 빠른 속도때문에 메모리가 컴퓨터의 주기억장치로 사용되는 겁니다.


메인메모리를 다른 말로는 영문 대문자 RAM 이라고 쓰고, '램'이라고 발음하는 경우도 있는데, 이것은 Random Access Memory의 약자입니다. 그러니까 메인메모리, 메모리, RAM 또는 주기억장치 등 어떤 용어가 쓰이더라도 모두 같은 뜻이라는 것, 기억해 두셔야겠습니다.


메모리에는 새로운 정보를 기록할 수도 있고, 기억되어 있는 내용을 필요에 따라 읽어낼 수도 있습니다. 우리가 컴퓨터를 통해 어떤 일을 수행한다면, 그것은 곧 메모리라는 기억공간 내에서 이루어지는 것이라고 이해하시면 되는데, 메모리가 어떤 역할을 하는지에 대한 이해를 돕기 위해 예를 들어보겠습니다.


사무실에서 근무하는 사람이 어떤 일을 하려면, 책상이 필요하죠? 메모리는 바로 이 책상과 같은 역할을 합니다. 자, 어떤 직원이 출장결의서를 작성하는 업무를 처리하려고 한다고 가정해 볼까요? 처음엔 깨끗이 비워져 있는 책상에 출장결의서를 작성하기 위해 필요한 모든 것들을 하나 하나 펼쳐놓게 되는데요, 우선 출장결의서 양식, 교통비 산출을 위한 열차시각표 책자, 그리고 경우에 따라 회사의 규정집이 필요할 수도 있겠죠. 어쨌든 이것들을 한꺼번에 책상 위에 펼쳐놓고서, 필요할 때마다 그 책자들에서 정보를 얻어 일을 하게 되는데, 이때 그 직원을 프로세서라고 한다면, 작업을 위해 사용되고 있는 책상이 바로 메모리라고 할 수 있습니다.

[그림 1] 메모리란?


대개 사무실에 있는 책상의 크기는 몇 개의 서적을 한꺼번에 펼쳐 놓을 수 있는 적당한 크기라서 별 문제가 없지만, 만약 책 한 권을 겨우 펼쳐 놓을 수 있는, 작은 크기라고 가정한다면 어떨까요? 아마 사규와 열차시각표 그리고 출장결의서를 한번에 펼쳐 놓을 수가 없고, 이것들을 책상에 번갈아 가면서 펼쳤다 닫았다하며 작업을 해야겠지요? 작업이 불가능하진 않더라도, 아마도 한번에 이 모두를 펼쳐놓고 작업하는 경우보다 시간이 훨씬 더 많이 걸릴 겁니다. 이해를 돕기 위하여 위에 그림을 첨부하였습니다.


2. FSB란 무엇인가?


각 메모리마다 대역폭이 존재합니다. 대역폭이란 FSB(Front Side Bus)로서 용어에서 보듯이 특정 버스(Bus)1)의 명칭입니다. 보다 정확히 설명을 하자면, CPU의 L2캐쉬에서 메인메모리에 이르는 버스를 지칭하는 용어입니다.


FSB는 BSB(Back Side Bus)2)에 대비되는 개념으로서, 말하자면 CPU가 연산에 필요한 명령어와 데이터를 메인메모리로 부터 가져오는 전체 버스를 CPU를 기준으로 Back-side와 Front-side로 나누어 놓은 것으로 이해하면 되겠습니다. 메모리가 속도의 영향을 주는 주요골자중 하나가 FSB입니다. 예를 들면 막히던 2차선 구간을 4차선으로 늘려 데이터 전송을 더욱 원활이 해주는 것과 같다고 보시면 됩니다.


3. 메모리에서 DDR과 DDR2, DDR3의 차이점은 무엇인가?


메모리 용량과 더불어 항상 따라다니는 것이 DDR이라는 용어입니다. DDR이 도대체 무엇인지 알아보겠습니다.


[그림 2] SDR SDRAM



가. SDR SDRAM


우선 DDR을 논하기 전에 SDR이라는 것을 논해야 합니다. SDRAM이라는 단어는 IT관련 뉴스나 메모리에 관심 있으신 분들이라면 들어 보셨을 겁니다. 위키피디아에서 SDR SDRAM을 다음과 같이 정의하고 있습니다.

SDRAM, 에스디 램은 Synchronous Dynamic Random Access Memory 의 약자이다. SDRAM 은 DRAM 의 발전된 형태이며 보통 DRAM 과는 달리 제어 장치 입력을 클록펄스(Clock Pulse)와 동시에 일어나도록 하는 동기식 DRAM이다. DDR SDRAM의 보급으로 SDR SDRAM이라는 관례적인 명칭이 주어졌다. SDR은 Single Data Rate 의 약자이다. 이 의미는 기존의 SDRAM 이 각 클록펄스가 상승 또는 하강하는 시점에서 한번만 정보를 전송하는 것에서 나온 명칭이다.


SDR SDRAM은 SDRAM의 가장 기본적인 표준으로 ( Single Data Rate SDRAM )의 약자입니다. Single이라는 단어에서 알 수 있듯이 한번에 하나의 커멘드( 명령어 )나 한 워드의 데이터만 주고받을 수 있는 구조입니다. 전형적인 클록 주파수는 100 혹은 133MHz 입니다.

나. DDR SDRAM


[그림 3] DDR SDRAM


하지만 산업이 발전하고 고객들의 요구 수준이 높아지면서 SDR SDRAM의 속도의 한계가 드러나게 됩니다. 그래서 나온 것이 DDR SDRAM 입니다. DDR은 Double Data Rate의 약자로 Double이라는 단어에서 느껴지듯이 SDR 에 비해서 두 배의 속도를 나타냅니다. DDR SDRAM 에 대해서 위키피디아는 다음과 같이 정의하고 있습니다.

Double Data Rate synchronous dynamic random access memory (or also known as DDR SDRAM) is a class of memory integrated circuits used in computers. It achieves nearly twice the bandwidth of the preceding single data rate (SDR) SDRAM by double pumping (transferring data on the rising and falling edges of the clock signal) without increasing the clock frequency.

With data being transferred 64 bits at a time, DDR SDRAM gives a transfer rate of (memory bus clock rate) x 2 (for dual rate) × 64 (number of bits transferred) / 8 (number of bits/byte). Thus, with a bus frequency of 100 MHz, DDR SDRAM gives a maximum transfer rate of 1600 MB/s


한글로 옮겨보면

“DDR SDRAM은 컴퓨터에서 사용되는 집적회로의 한 종류이다. 이것은 클록 주파수의 증가 없이 더블 펌핑 ( Rising Edge와 Falling Edge 두 부분에서 모두 데이터를 전송함 ) 을 이용하여 SDR SDRAM에 비하여 거의 2배의 대역폭을 구현한다.


한번에 64 Bits의 데이터가 전송 된다고 할 때, DDR SDRAM의 전송률은 다음과 같이 계산된다. ( 메모리 버스 클록율 ) * 2 ( 더블 펌핑 ) * 64 ( 전송되는 비트의 수 ) / 8 ( 바이트당 비트의 수 ). 따라서 100 MHz의 버스 주파수를 가지고 있다고 할 때, DDR SDRAM은 최대 1600MB/s의 전송률을 나타낸다. “

[그림 4] 초기DDR부터 DDR3까지의 속도비교


SDR SDRAM이 한 클록당 하나의 명령어를 전송할 때( Rising Edge나 Falling Edge 둘 중 하나에서 전송이 일어난다고 함 ) DDR SDRAM은 Rising Edge와 Falling Edge 두 부분에서 전송을 하기 때문에 최대로 2배의 전송률이 나타나게 됩니다.
. DDR2

기술의 발전을 야기 시키는 것은 항상 더 나은 기술의 요구입니다. DDR이 SDR에 비해서 2배의 대역폭을 가져( 이론 상으로는… ) 속도가 빠르다곤 하지만 사용자의 평가 기준은 또 높아져서 더 개선된 ( 혹은 더 빠른? ) 메모리를 요구하기 시작했습니다. 그래서 등장한 것이 DDR을 개선한 DDR2입니다.

[그림 5] DDR2 SDRAM



DDR2에 대해서 위키피디아는 다음과 같은 정의를 하고 있습니다

DDR2 SDRAM is a double data rate synchronous dynamic random access memory interface. It supersedes the original DDR SDRAM specification and the two are not compatible. In addition to double pumping the data bus as in DDR SDRAM, (transferring data on the rising and falling edges of the bus clock signal), DDR2 employs an I/O buffer between the memory and the data bus so that the data bus can be run at twice the speed of the memory clock. The two factors combine to achieve a total of 4 data transfers per memory clock cycle.


With data being transferred 64 bits at a time, DDR2 SDRAM gives a transfer rate of (memory clock rate) × 2 (for bus clock multiplier) × 2 (for dual rate) × 64 (number of bits transferred) / 8 (number of bits/byte). Thus with a memory clock frequency of 100 MHz, DDR2 SDRAM gives a maximum transfer rate of 3200 MB/s.

Since the memory clock runs at half the external data bus clock rate, DDR2 memory operating at the same external data bus clock rate as DDR will provide the same bandwidth but with higher latency, resulting in inferior performance. Alternatively, DDR2 memory operating at twice the external data bus clock rate as DDR may provide twice the bandwidth with the same latency (in nanoseconds). The best-rated DDR2 memory modules are at least twice as fast as the best-rated DDR memory modules.



한글로 옮겨 보면


“ DDR2 SDRAM은 double data rate synchronous dynamic random access memory 인터페이스이다. DDR2는 기존의 DDR SDRAM 스펙을 대신하며 이 둘은 호환되지 않는다. (즉, DDR2와 DDR 메모리는 함께 사용될 수 없다. )


DR SDRAM에서 사용된 더블 펌핑 데이터 버스와 더불어 DDR2는 2배의 메모리 클록 속도를 사용하기 위하여 I/O( 입출력 )버퍼를 사용하였다. 따라서 DDR2는 SDR에 비하여 4배의 속도를 낸다. ( 더블 펌핑에서 * 2 , I/O 버퍼에서 * 2 )


데이터가 단위 시간당 64비트로 전송된다고 할 때, DDR2 SDRAM의 전송률은 다음과 같이 계산된다. “( 메모리 클록율 ) * 2 ( 버스 클록 멀티플라이어 ) * 2 ( 더블 펌핑 ) * 64 ( 단위 시간당 비트 전송 ) / 8 ( 바이트당 비트 수 ). 예를 들면 메모리 클록이 100MHz인 DDR2 SDRAM의 경우 최대 3200MB/s 의 속도를 낼 수 있다.


이처럼 새로운 기술을 사용하여 DDR2는 DDR보다 이론상으로 최대 2배의 속도 향상을 가져왔습니다. 표준에 의하면 DDR은 200MHz부터 400MHz까지의 동작을 보입니다. 반면 DDR2는 그 보다 2배 높은 400MHz부터 800MHz까지 동작하는 것으로 보고 있습니다.

또 한 하드웨어의 인터페이스라고 할 수 있는 핀의 갯수에서도 차이가 납니다. 초기 DDR모델은 184핀인데 비해서 DDR2는 240핀입니다.


라. DDR3(부제 – DDR3와 DDR2의 비교)


DDR2와 DDR3의 외형 비교 : 두 메모리 모두 동일한 240핀이나 핀 사이에 노치의 위치가 다르며, 메모리를 구성하는 컴포넌트가 크다.

[그림 6] DDR2, DDR3 SDRAM



DDR3 메모리 표준의 주요 골자는 바로 메모리의 속도와 대역폭을 DDR2 보다 높게 한다는 것입니다. DDR 초기 모델의 경우는 많은 분들이 알고 있다시피 200(100)MHz 부터 400(200)MHz까지 동작을 하였으며 DDR2의 경우는 이보다 높아 400(200)MHz 부터 800(400)MHz까지 동작하게 되었고, DDR3 메모리는 DDR2 보다 약 2배 정도 빠른 속도와 대역폭을 기본적으로 갖는다. 즉 800(400)MHz 부터 최대 1.6(800MHz)GHz 까지 동작한다는 것입니다.


DDR3 메모리의 장, 단점은 무엇인가?

DDR3는 DDR2 메모리와 비교를 하면 다음과 같은 큰 특징을 갖고 있습니다.


○적은 소비 전력

○보다 높은 속도

○마스터 리셋

○보다 높은 성능

○높은 용량의 메모리 집적 가능

○다양한 어플리케이션 (개인용 CE 장비) 등에 활용 가능

○늘어난 레이턴시


적은 소비 전력


DDR2와 DDR3 메모리의 가장 큰 차이점을 언급할 때 가장 많이 나오는 부분이 "소비전력" 부분입니다. 수치상으로는 DDR2의 1.8V 에서 1.5V 정도로 떨어 졌으니 약 16% 정도 떨어졌다고 볼 수 있습니다. 또한 I/O 버퍼 역시 낮은 전압으로 구동이 가능해졌는데 DDR2에서 34ohm 에서 18ohm 으로 약 45% 정도 작아졌습니다. 그렇지만 사실 컴퓨터 시스템에서 메모리의 전압이 떨어져서 소비전력량이 떨어졌다고 하는 부분은 크게 어필하기 힘들다. 그 이유는 일반적으로 사용하는 컴퓨터 시스템이 항상 전원부에 꼽혀 있기 때문에 사용자들이 무신경하기도 하지만 실제, 큰 폭으로 소비전력이 떨어졌다고 느끼기에 프로세서만큼이나 큰 차이가 아니기 때문입니다.


DDR2와 DDR3의 소비전력을 간단하게 비교 하면 아래의 표와 같습니다.

[그림 7] DDR2와 DDR3의 전력소모율

오히려 빠른 속도인 DDR3-1067 이 DDR2-800 보다 낮은 전력을 소비합니다.


보다 높은 속도


DDR3에서는 보다 높은 속도를 위해 다양한 최적화를 거쳤습니다. DDR2와는 달리 핀 배열부터 최적화를 하였으며 데이터 쓰기에 상당히 최적화를 되었습니다.

위의 그림은 DDR2, DDR3의 설계도면입니다. 보시면 많은 핀들과 그라운드 (흔히 "0" 값) 등이 추가가 되어 보다 높은 클럭에서 노이즈가 타지 않게끔 설계부터가 다릅니다. 그리하여, 전압과 그라운드를 강화하여 높다 높은 클럭에서 안정적인 작동을 보장하게 만들었습니다.

[그림 8] DDR2와 DDR3의 설계도면


[그림 9] DDR2와 DDR3의 데이터읽기 비교

위의 도식은 DDR2와 DDR3의 데이터 읽기 명령어를 내릴 때 작동이 되는 것을 간단하게 표현 한 것입니다. 일단 프로세서의 캐쉬에서 프로그램에서 필요로 한 해당 데이터가 없다면 첫 번째로 접근하는 것이 바로 시스템 메모리인데. 이런 경우가 발생하면 해당 어플리케이션은 셀 안에 있는 어드레스 (즉 주소) 값을 주고 읽기 명령을 시작합니다. 하지만 DDR2의 경우는 한번의 명령어로 동시에 여러 셀에 접근을 하여 데이터를 찾아내지만 DDR3 에서는 각 셀들을 직렬로 연결하여 명령어를 주어 데이터를 읽게 됩니다. 즉, DDR2는 데이터를 찾을 때 병렬로 접근하여 직렬로 찾아 읽으나, DDR3에서는 데이터를 찾을 때 직렬로 접근하여, 데이터를 병렬로 읽게 됩니다.


[그림 10] 메인보드내 전원연결도

마스터 리셋

마스터 리셋은 흔히 시스템, 메인보드에 있는 리셋 버튼 등 다양한 컴퓨터 리셋에 적용이 됩니다. 이것도 DDR2 와 많이 달라진 부분이구요. 쿨부팅 (메인보드에서 리셋 버튼을 누를 때)와 웜부팅 (컨트롤+알트+델키)를 할 때도 동일하게 작동이 되어 시스템 메모리를 완전히 클리어 하여 보다 빠르게 시스템을 사용할 수 있게 해줍니다.


최대 메모리 용량

또한 DDR2에서 보다 많은 메모리 용량을 사용할 수 있게 되었습니다. 약 2배에 해당되는 용량을 사용 가능하게 해서 보다 많은 시스템 메모리를 장착할 수 있습니다. 고로 메인메모리를 최대 32GB까지 한 개의 메모리 모듈로 만들 수 있습니다.

[그림 11] 하나의 모듈로 제작가능한 용량도표


치명적인 단점, 늘어난 레이턴시

DDR2보다 DDR3의 레이턴시가 높다는 것입니다. 레인턴시라 함은 메모리가 동작하는 일련의 속도를 규격화 해둔 것입니다. 레이턴시 값은 낮을 수로 빠른 것을 의미하는데 예를 들자면 하나의 명령어를 수행하는데 걸리는 사이클을 규정해둔 것입니다. DDR2-800의 레이턴시는 5-5-5-15 이며 DDR3-800은 7-7-7-15 입니다. 즉 동일한 속도로 동작하는 DDR2와 DDR3는 오히려 DDR3가 느리다는 것을 의미입니다. 그래서 DDR3는 최소 DDR3-1066을 사용하여야 DDR2보다 나은 속도가 나옵니다.


참고 문헌 및 그림 출처


『텀즈』

http://terms.co.kr/


『용산테크 뉴스』

http://www.yongsantec.com/shopuser/etc/bbsView.html?no=287&bbs=news&sl_search=&keyword=&srch_cate_idx=&PageNo


『꼬마낙타 티스토리 블로그』

http://plusblog.tistory.com/155

 

 

 

참조 : http://blog.naver.com/PostView.nhn?blogId=mipal&logNo=80130509454