블로그 이미지
바나나♬

집지키는 잉여킹

Rss feed Tistory
하드웨어 이야기... 2007. 4. 10. 01:46

램 타이밍 수치와 성능과의 관계

퍼온 곳 : 파코즈 하드웨어

안녕하세요 임현규 입니다.
가끔 들리는 사이트에 너무나 좋은 글이 있어서 가져왔습니다.
마지막 테이블이 가장 탐났지요

이 글의 원문은 OCER.NET 이고 번역 및 편집은 기글하드웨어의 "낄낄" 님이 하신 것입니다.
감사드립니다.


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

이 글의 출처는 OCER.NET이고, 날림도 아닌 초날림 번역은 낄낄뉴스 쥔장이 직접 했습니다.

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


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는 안정성에 영향을 줍니다.
 
 

사용자 삽입 이미지

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로 하면 성능에 손해를 보는 대신 클럭은 높아집니다.

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

사용자 삽입 이미지

여담이지만 저위의 테이블에서 조금 수정하고자 싶은것이 있다면
Dram Frequency Set 의 성능의 영향은 크다
Write Cas # Latency(tWCL) 성능의 영향(1 로 잡지 않으면 성능이 떨어집니다.) 이 있다.
Dynamic Counter 을 Enable 시키면 대역폭에 영향을 줍니다. 라고 덧붙이고 싶네요

그리고  그럼 좋은 하루 보내세요~

원문 : OCER.net
번역원본 : gigglehd.com

-------------------------------------------------------

그 동안... 램 타이밍에 대해 잘 몰랐던 것들을
이 글 하나로 대부분을 해결한 듯 보이네요 ;ㅁ;

지금 현재 CPU와 램 모두 오버 상태이긴 한데...
램 타이밍도 조였습니다만은...
램 타이밍의 각각이 뭘 의미하는 지도 모르고 그냥 조였었는데..
이걸로 확실히 알게되었다는 느낌이네요~


램 오버 혹은 타이밍 조이는 것에 관심있는 분들은 한 번쯤은 길어도 읽어보세요~

,
TOTAL TODAY