테크노아
> 기획&벤치 > Tip&Tech
메모리 성능은?
테크노아  |  webmaster@technoa.co.kr
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
승인 2000.08.21  19:31:00
트위터 페이스북 미투데이 요즘 네이버 구글 msn

Ace's Memory Guide

 

■ 성능과 레이턴시
그러면, 현재 최대의 관심사이기도 한 고성능 데스크탑 시장에 있어서는 어떨까? 페이지당으로 따졌을때의 FSB-DRAM간 전 메모리 서브시스템의 레이턴시는 다음의 파라메터의 총합에 해당된다.

1) FSB-칩셋간 레이턴시
2) 칩셋-DRAM간 레이턴시
3) CAS 레이턴시
4) 크리티컬 워드분의 데이타를 전송하는 데 소요되는 레이턴시
5) DRAM 출력버퍼 - CPU간 데이터 전달시의 레이턴시

이러한 부류의 레이턴시는 대부분의 어플리케이션의 성능에 대단히 중요하다. 대다수의 프로세서는 비교적 대용량의 캐시를 탑재하고 있어서, 캐시 미싱이 일단 발생하면, 크리티컬 워드가 전송될 때까지 굉장히 안절부절하면서 마냥 기다리고만 있는 상황이 발생하게 된다. SDRAM에는 최초의 크리티컬 워드분의 데이터를 우선적으로 전송하는 기능이 있다는 점은 매우 중요한 것으로서, SDRAM이나 DDR SDRAM은 최초의 8바이트분 데이터를 프로세서에 직접 전송하는 것이 가능하다. 램버스 컨트롤러는 항시 16바이트 전송이다.

일단은 SDRAM과 DDR SDRAM의 페이지당 레이턴시 비교를 해보도록 하자. 아래 표의 3번째 열은 CAS 레이턴시를 의미하며, 4번째 열은 크리티컬 워드분의 데이터 전송에 들어가는 소요시간을 가리킨다. 5번째 열의 시스템 레이턴시는, 프로세서에서 요구하는 어드레스가 (칩셋을 거쳐) DRAM으로 넘어가서 DRAM의 해당 데이터가 (다시 칩셋을 경유해) 프로세서로 전송되기까지 소요되는 시간을 의미한다.

마지막 열에 있는 데이터는 레이턴시는, 800MHz 프로세서의 클럭사이클당 값으로 환산된 것이다. 이를테면, PC100 메모리의 레이턴시는 7사이클이다. 800MHz 프로세서는 이보다 8배 빠르게 동작하는 때문에, 프로세서 입장에서 보면 레이턴시는 8×7 = 56 사이클이 되는 셈이다.

 

PAGE HIT

Latencies

Latencies (ns)

Critical Word Transfer time

FSB

System latency

Async
Penalty

Total Latency

800 MHz is waiting for xx (cycles)

PC100 SDRAM CAS2

CAS

2x10 = 20 ns

10 ns

100 MHz

4x10 ns

0

70 ns

56 (8x7)

PC133 SDRAM CAS2 + BX133

CAS

2x7.5 = 15 ns

7.5 ns

133 MHz Sync

4x7.5 ns

0

52.5 ns

42 (6x7)

PC1600

CAS

4x5 = 20 ns

5 ns

100 MHz DDR

2x10
+2x5
ns

0

55 ns

44 (4x11)

PC2100 DDR SDRAM + EV6 DDR SDRAM

CAS

4x3.75 ns = 15 ns

3.75 ns

266 MHz

2x 7.5 +2x3.75 ns

0

31.25

33 (3x11)

앞서 언급한 바와 같이, DDR SDRAM은 데이터의 DDR 전송이 가능하지만, 어드레스까지 그렇게 되는 것은 아니다. Ace's Hardware에서 자체적으로 계산한 추정값에 따르면, PC1600 DIMM 모듈의 경우에는 PC133 CAS 2의 42사이클보다 근소하게 높은 44사이클의 레이턴시 특성을 갖는 것으로 나타났다.

PC1600은 PC100과 동일한 레이턴시특성을 가져서, CAS 레이턴시가 2클럭사이클 10nsec 또는 4사이클 5nsec에 달한다(100MHz DDR을 200MHz로 가정할 경우.) PC133 SDRAM 대신 DDR SDRAM을 탑재한 애슬론 시스템의 경우에는 이보다 레이턴시 수치가 좀더 낮아질 수 있다. 이것은, 100MHz DDR 전송을 수행하는 DDR SDRAM이 DDR EV6 버스와는 싱크로 동작하는 때문에, 별도의 레이턴시 페널티를 적용받지 않는 특별한 경우라서 그렇다.

표에는 PC133 CAS2 메모리대응의 133MHz 오버된 BX 칩셋에서의 레이턴시도 계산되어 있는 것을 볼 수 있다. 133MHz SDRAM과 KX133 칩셋의 조합에서 얻을 수 있는 레이턴시와의 비교를 위해서는, PC133 SDRAM과 동기화가 불가능한 KX133에 1사이클의 레이턴시를 더해주는 것이 타당하다. 즉, KX133 시스템의 전체 레이턴시는 6×8 사이클 도합 48사이클이 되는 것이다. 그러나, 저대역 어플리케이션의 경우에는 주의할 필요가 있다. 이경우, DDR SDRAM은 시스템의 성능을 별로 향상시키지 않는 때문이다. 가장 대폭적인 성능향상은 애슬론 시스템에서 볼 수 있으며, 이는 메모리와 FSB가 완전히 싱크로 동작하는 덕택이라고 할 수 있다. 펜티엄 III 시스템의 경우 프로세서-칩셋간 연동속도가 100MHz와 133MHz로 1GB/sec 정도의 제약을 받는 때문에, 순간최고 데이터전송에 있어서는 제약이 더 심한 편이다.

그러나 DDR SDRAM과 램버스 메모리를 비교하면 어떨까? 램버스나 SDRAM 메모리나 기실 동일한 메모리 셀 방식이기는 마찬가지이며, 차이라고는 인터페이스밖에 없다. 따라서, 램버스 메모리의 CAC(Column Access Latency)는 SDRAM의 그것과 거의 동일하다. 램버스 메모리의 CAC는 8사이클 2.5nsec (400MHz 기준) 으로, PC100은 2사이클 10nsec 정도이다.

램버스 채널은 SDRAM보다 2배 정도의 속도로 데이터를 전송하지만, SDRAM은 최초의 8바이트분의 데이터를 대기시키지 않고 바로 내보내는 때문에, 램버스 메모리가 16바이트당으로 사이클마다 전송을 해야 하는 것보다는 메리트가 있다. 램버스 메모리는 사이클당 2바이트 전송이 가능하므로, 16바이트 10nsec의 전송에는 4사이클 2.5nsec이 소요된다.

MTH(Memory Translation Hub)는 CAC 레이턴시에 7사이클이나 덤탱이를 씌우기 때문에, i820에 MTH, SDRAM의 조합은 사실 끔찍하게 느릴 수밖에 없는 것이다.

PAGE HIT

Latencies

Latencies (ns)

(Critical )Word Transfer time

FSB

System latency

Async
Penalty

Total Latency

800 MHz is waiting for xx (cycles)

RDRAM PC800(4 Devices) TRDLY= 0

Tcac

8x2.5 ns = 20 ns

10 ns
(16 bytes)

133 MHz

4x7.5 ns

7.5 ns

67.5

54 (6x9)

RDRAM PC800 (32 Devices) Parm = 4

Tcac + Trdly

8x2.5 + 4x2.5 = 30 ns

10 ns
(16 bytes)

133 MHz

4x7.5 ns

5 ns

75

60 (6x10)

PC100 + MTH (i820)

Tcac

15x2.5 = 37.5

20 ns

133 MHz

4x7.5 ns

2.5 ns

90

72 (6x12)

PC2100 DDR SDRAM + EV6 DDR SDRAM

CAS

4x 3.75 ns= 15ns

3.75 ns

266 MHz

2x7.5 + 2x3.75 ns

0

41.25

33 (3x11)

PC2100 DDR SDRAM +
GTL+ SDRAM

CAS

4x 3.75 ns = 15 ns

3.75 ns

133 MHz

4x7.5 ns

0

48.75

39 (3x13)

램버스 메모리의 레이턴시는 SDRAM보다 낮은 것으로 잘못 알고 있는 경우를 자주 볼 수 있지만, 이상적인 상황에서라면 최고스펙의 DRDRAM은 최저스펙의 SDRAM보다 레이턴시적인 측면에서 우수한 정도이다.

필자가 이상적인 상황을 전제하는 까닭은,

1) 램버스 채널에 모듈을 2개 이상 추가하게 되면, 단일 램버스 채널상으로 맨 처음과 맨 마지막 컴포넌트간의 거리가 증가하게 된다. 램버스 채널은 400MHz급의 매우 높은 주파수로 작동하므로, 맨 마지막에 위치한 컴포넌트에서의 데이터가 맨 처음의 컴포넌트의 데이터보다 늦게 도달할 가능성이 훨씬 높다. 이 문제를 해결하기 위해서, 램버스 메모리는 통상의 레이턴시에 4에서 7사이클 정도가 추가되는 것이 일반적이다(TParm.)

2) 컴포넌트 가운데 어느 하나라도 비활성화된 상태였다면, 레이턴시는 수 사이클에서(STANDBY 모드의 경우) 수십사이클 증가한다(NAP 모드.)

사실 이 문제는 DRDRAM으로서도 그리 심각한 것은 아니다(결코 램버스 테크놀러지 자체가 무용지물이라고는 할 수 없다.) 대량의 센스 뱅크가, 항상 훨씬 많은 숫자의 페이지가 오픈되어 있는지, 그리고 페이지 히트의 확율이 훨씬 높은지를 확인하기 때문이다. 덕분에 램버스 메모리의 평균 레이턴시는 크게 낮아지는 것이 가능하다. 그러나, 로우엔드급인 i820 칩셋의 경우에는 활성화상태로 유지할 수 있는 컴포넌트의 숫자가 전체 32개 가운데 4개로 극심한 제약을 받고 있기 때문에, 최대로 오픈할 수 있는 페이지는 8개밖에 되지 않는다. 따라서 최대 16개의 컴포넌트, 이보다 훨씬 많은 수의 페이지(32개 이상)를 동시활성화시키는 것이 가능한 i840보다 성능이 크게 떨어지는 것은 당연하다.

코어로직을 아예 프로세서로 떠넘기는, 즉 램버스 메모리 컨트롤러를 프로세서 자체의 일부로 만들어버리게 되면, 이러한 현행 램버스 메모리의 레이턴시 문제를 좀더 근본적으로 해결하는 것이 가능하다.
썬(Sun Microsystems)의 MAJC나, 플레이스테이션 2가 프로세서-온-다이 램버스 메모리 컨트롤러를 내장한 대표적인 경우이다. 또다른 사례는 컴팩의 차세대 알파코어인 EV7(21364)를 들 수 있다. EV7에는 초고대역을 커버하기 위해서뿐 아니라 레이턴시를 낮추기 위한 목적으로 최대 8채널까지 지원가능한 고성능의 램버스 메모리 컨트롤러가 온다이로 프로세서 코어에 탑재되어 있다(멀티채널링은 단일채널상에서 직렬로 대용량의 DRDRAM을 일괄로 억세스하는 것보다 레이턴시를 낮추는 측면에서 월등히 유리하게 작용한다.)

테크노아의 다른기사 보기  
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
트위터 페이스북 미투데이 요즘 네이버 구글 msn 뒤로가기 위로가기
이 기사에 대한 댓글 이야기 (0)
자동등록방지용 코드를 입력하세요!   
확인
- 200자까지 쓰실 수 있습니다. (현재 0 byte / 최대 400byte)
- 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
이 기사에 대한 댓글 이야기 (0)
e피플
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
나이가 들면 들수록 공부하기가 어렵다는 말이 있다. 더군다나 실업인 상태에서 공부하는 것이라면 부담이 더 클 수 밖에 없다.하지만 이를 비웃듯이 극복하고, 올해 2월 공조냉동기능사...

제호 : 테크노아  |  발행인 : 김필규  |  편집인 : 김필규  |  청소년보호책임자 : 박상규
서울지사 : 서울특별시 구로구 디지털로32가길 18, 7F | 제보 : it@technoa.co.kr
발행소 : 전라북도 전주시 완산구 전룡6길 6 3F | 등록번호 : 전라북도 아00057
등록일자 : 2008년 1월 14일  |  대표전화 : 070-8755-6291  |  FAX : 02-6280-9562
Copyright © 1999-2017 테크노아. All rights reserved. mail to technoa@technoa.co.kr