컴퓨터 하드웨어에 관심이 많으신 분이시라면 램 타이밍이 무엇인지 아실 것입니다.
모르시는 분이라고 하더라도 램을 설명할때 클럭 말고 4-4-4-8 같은 식의 숫자를 보신 적은 있으시겠지요.
오늘은 그것에 대해 설명하려고 합니다.

현재 우리가 사용하는 메모리는 콘덴서의 충전과 방전 원리를 통해 데이터를 저장하고 읽어 들입니다. 이러한 과정을 거치면서 딜레이가 생기는 것은 피할 수 없는 일이기도 합니다. 바이오스의 메모리 관련 부분에서 조절할 수 있는 수치들은 모두 이 충전과 방전의 타이밍을 조절하는 것입니다. 그럼 어떤 것들이 있는지 차례대로 보도록 하겠습니다.


CL
CL은 CAS Latency를 뜻합니다. 저장 장치에서 메모리 모듈의 슬롯까지 데이터를 전송하는 시간을 뜻합니다. 당연히 짧을수록 좋지만 메모리 모듈의 제조 기술과 메모리 컨트롤러의 제약 때문에 현재 가능한 최선의 값은 2입니다. (그것도 DDR1의 경우이고, DDR2는 잘해봤자 3이지요)

아래 그림에서 CL의 변화가 데이터 처리에 어떤 영향을 미치는지 직관적으로 알 수 있습니다. 하나의 사이클에서 기다려야 하는 딜레이는 사실 그리 크지 않겠지만, 메모리 클럭이 400MHz 이상 넘어가는 지금의 램을 생각해 본다면 이런 작은 차이가 누적될 경우 그 성능 향상은 뚜렷해 지겠지요.


RAS와 CAS
메모리 내부의 데이터 유닛은 행(RAS)과 열(CAS)에 의해 규칙적으로 배열되어 있습니다. 하나의 주소 접근 명령은 행과 열의 두개 신호를 해독하여 이루어집니다. 먼저 몇 행인지를 보고 그 다음 어느 열에 속해있는지 보게 되는데 이렇게 행과 열 두가지 주소만 알면 메모리 유닛에 접근할 수 있게 됩니다.

따라서 메모리에서 정보를 읽거나 쓸때 제일 처음으로 생기는 딜레이가 바로 RAS에서 CAS까지의 딜레이인 것이며, 이렇게 주소를 통해 접근을 해도 데이터를 읽거나 쓰기 위해 준비 시간을 필요로 하게 되는데 이를 RAS 전환 준비 시간이라고 합니다. 즉 RAS to CAS 수치가 성능에 미치는 영향이 큰 이유는 RAS Prechange 때문인 것입니다.

Tras
메모리의 예비 충전과 유효 명령 사이의 간격입니다. DDR 메모리에서 일반적으로 예비 충전 명령은 유효 명령보다 50000ns(바이오스에서 5로 표시됩니다) 늦게 출발하며, 표준은 70000ns~800000ns 입니다. 이 수치는 너무 크거나 너무 작아도 안되며, 그럴 경우 메모리의 안정성에 영향을 미치게 됩니다.

쓸데없이 복잡한 소리들은 집어치우고 정리해 보자면, CAS Latency는 주소 탐색 명령의 접수와 데이터 해독 명령 사이에 필요한 시간을 결정합니다. RAS to CAS는 행 주소와 열 주소의 탐색에 필요한 딜레이를 결정합니다. RAS Prechange는 같은 주소에서 다른 작업을 하는 전환 간격을 결정합니다. Trans는 메모리의 예비 충전과 유효 명령 사이의 간격을 조절합니다.

따라서 진짜로 메모리 성능에 영향을 끼치는 수치들은 CAS Latency, RAS to CAS, RAS Prechange의 세가지 숫자이며, 보통 오버클럭을 하면서 메모리 타이밍을 표시할때 나오는 X-X-X-X가 바로 여기에 해당합니다. 예를 들어 3-4-4-8은 CL이 3, RAS to CAS가 4, RAS Prechange가 4, Tras가 8이라는 소리입니다.


Command Rate
DDR 메모리의 주소에 접근할때는 먼저 CPU의 명령을 받은 다음에야 비로소 행과 열을 통해 주소를 선택하고 활성화 하게 됩니다. Command Rate의 의미는 메모리가 CPU의 명령을 받기 전에 기다리는 시간(이 시간 후에 CL 레이턴시가 있습니다)을 뜻하며, 단위는 T 입니다. 당연히 이 숫자가 작을수록 성능이 높아지지만 메모리 모듈이 늘어날수록 컨트롤러 칩셋에 가해지는 부하는 늘어날 수밖에 없으며, 너무 짧은 Command Rate는 안정성에 영향을 줍니다.


Command Per Clock Enable는 Command Rate 1T를 뜻합니다. CAS latency Control을 높이면 메모리 대역폭을 느슨하게 풀어주는 대신 더 높은 안정성과 더 높은 클럭이 가능하겠지만 BH5/UTT 같은 모듈에서 3으로 셋팅하면 컴퓨터가 켜지지 않습니다.

Trcd 2, Tras 5, Trp 2, Tref Auto, 이것들은 BH5/UTT의 표준 설정입니다. 만약 안정성을 높이려면 Trfc를 낮게 조절하면 되며 BH5/UTT에서는 최저 12까지 가능합니다. 이 수치는 슈퍼 파이에 큰 영향을 줍니다.


DRAM Drive Strength와 DRAM Data Drive Strength는 안정성에 있어서 매우 중요하며, BH5/UTT에서는 5나 3이 제일 안정적인 수치입니다.
Max Async Latency는 안정성과 성능에 비교적 큰 영향을 주는 값이며 이 값을 여유있게 주면 안정적이 되지만 성능이 떨어집니다. 일반적으로 8이고 불안정하다면 9, 최소 7까지 가능합니다.
Read Preamble Time도 아주 중요한 값으로 이 값을 풀어줄 경우 성능 하락이 엄청납니다. 기본값은 5.5이고 최소값은 4입니다.
read premable과 max async time을 바짝 조이면 성능에 영향이 있습니다.
IdleCycle Limit는 8과 16이 최적의 값이며, 32 Byte Granulation은 클럭과 성능에 주는 영향이 뚜렸하며 심지어 Command Rate보다도 더 큰 영향을 주기도 합니다. 이 값을 Enable로 하면 성능에 손해를 보는 대신 클럭은 높아집니다.

요약하자면, 이렇습니다.

top
  1. Favicon of http://blog.naver.com/ultrazet BlogIcon QuadXeon 2007.01.31 02:32 댓글주소 | 수정/삭제 | 댓글

    용산에 바람쐬러 갔더니 견적좀 내고 가라고 아우성이길래 한번 자리에 앉아봤지.

    코어 2 듀오 출시 직후였는데 램을 DDR2 800Mhz짜리로 해서 FSB400 먹이고 타이밍

    4-4-4-12로 쓰려고 ST꺼 DDR2 PC6400램을 2기가 박겠다고 했지.

    그랬는데 ST 물건이 없다고 하이닉스나 다른 회사의 램을 권하길래 나는 그게

    타이밍이 5-5-5-15라서 싫다구 했지.

    그랬더니 여기저기 전화를 하는데 내가 ST메모리 타이밍이 얼마라고 말 안해줬거든.

    이놈들이 전화 끊고 와서는 ST꺼 있고 가격이 좀 센데 내가 원하는 대로 타이밍이

    조여져 있다고 말을 하길래 나는 짐짓 물었지.

    "타이밍이 얼마에요?"

    "아...저....그게.....잠시만요;;"

    다시 전화 열나게 하더니

    "4-4-3-8이라고 하네요"

    푸핫;;;

    얼마냐고 물었더니 15만원이래.

    세상에......

    4-4-3-8의 살인 타이밍을 가진 PC6400 DDR2램이 나왔다는것 자체도 경악인데(그것도

    그때는 그런게 나올 시점이 아니었지) 그게 15만원밖에 안한다는거야.

    맘같아선 당장 그것만 일단 구해다 달라고 한 다음에 타이밍값이 4-4-4-12라고 고객을

    속였다고 난동부리고 싶었는데 돈아깝고 시간 아까워서 걍 안하기로 했어 ㅋ.

Write a comment