All DDR memory has one problem: the increased bus
frequency makes it hard to create parallel data busses. A
DDR2 module has 240 pins. All connections to data and
address pins must be routed so that they have approximately the same length. Even more of a problem is that,
if more than one DDR module is to be daisy-chained on
the same bus, the signals get more and more distorted for
each additional module. The DDR2 specification allow
only two modules per bus (aka channel), the DDR3 specification only one module for high frequencies. With 240
pins per channel a single Northbridge cannot reasonably
drive more than two channels. The alternative is to have
external memory controllers (as in Figure 2.2) but this is
expensive.
전체 맥락은 위와 같다.
All connections to data and address pins must be routed so that they have approximately the same length.
이게 무슨말을 하는건지 도와줄 영잘알 도움!!!
모든 DDR 메모리에 한가지 문제가 있고 그게 버스의 주파수가 높아질수록 병렬 데이터 버스를 만들기 어려워진다는 거라는것 까지 이해햇어. 근데 DDR2 모듈이 핀이 240개고 데이터랑 주소 핀에 대한 모든 연결이 반드시 routed?되야 그것들이 거의 같은 길이가 된다? 이 부분이 이해가 안감.. 뒷부분까지 다 읽어봤는데 뒷부분은 이해가 됨.. 근데 앞뒤 다읽어봐도 아래 문장만 이해가 안됨. 핀이 240개인거랑 데이터와 주소핀 길이가 같아야 하는 이유나 그게 왜 문제가 되는지나 다 이해가 안됨...
ddr로 고속 병렬 버스를 구성하려니까, 데이터랑 주소 어드레스를 하나하나 240개 핀에 지정해야한다. 그래야 매 클럭마다 같은 길이의 데이터를 주고 받을 수 있고, 그래야 빠른 대역폭이 나온다
영어가 문제가 아니라 그냥 내가 도메인 지식이 전무해서 그런거 같음
All connections to data and address pins must be routed so that they have approximately the same length.를 직역해서 그렇게 나오진 않을텐데 기존에 뭔가 알고 있는게 있으니 그렇게 의역이 가능했던거임? "왜 ddr로 고속 병렬 버스를 구성하려면, 데이터랑 주소 어드레스를 하나하나 240개 핀에 지정해야 하는지", "왜 빠른 대역폭이 나오려면, 매 클럭마다 같은 길이의 데이터를 주고 받아야 하는지" 이해가 안됨.. 따로 참고한 자료같은거라도 있어??
내가 지금 읽고 있는 자료는
https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
인데 그런 내용은 앞에 못본거 같아서
ㄴ 왠지 무슨말인지 알거 같은데 주소와 데이터 핀이 온전하면 32비트 시스템에서 메모리의 데이터를 읽을때 주소 32비트 + 데이터 32비트 버스가 제공되어야 주소를 보냈을때 한 클럭에 데이터를 받아올 수 있는데 일부 시스템들은 핀 숫자를 줄이기 위해서 버스를 통합시켰다는 겁니다. 그래서 주소값을 먼저 CPU 외부에 있는 메모리 주소 레지스터에 저장하고 다음 클럭에 그 메모리 위치에 있는 데이터를 읽어오는 거시와요. 단순 계산으로 버스가 둘다 살아있으면 절반의 시간밖에 안걸리는건데 2클럭에 나눠서 보내고 받아야 하니 두배 느린거죠.
그러나 이는 CPU의 동작 속도와 메모리의 물리적 접근 속도를 고려하지 않은 조건으로 실제로는 애플의 칩셋처럼 메모리 접근속도가 극단적으로 낮아지지 않는 한 32비트 양방향 포트 하나로 주소 + 데이터를 모두 전달 및 전송해도 크게 느리지는 않을겁니다. 왜냐하면 메모리 접근 속도가 느린건 사실이지만 그렇다고 동작속도가 낮다는 말은 아니거든요. 저장장치처럼 블록 단위로 데이터를 전송할수도 있죠. 시스템에 따라 다르겠지만요.
아마도 내 댓글이 틀렸고, 토끼말대로 물리적 길이를 말하는 게 맞는 듯. 메모리에서 물리적 길이의 중요성은 numa를 찾아보고, 대역폭 이야기는 시리얼과 패럴럴 버스의 차이를 말하는 것임
수능 영어 21번이노
주소와 데이터핀 길이가 같아야 할 특별한 이유는 없는데... 이미 8비트 시절부터 16비트 주소, 8비트 데이터 폭처럼 비대칭형 구조가 주류였는데 이제와서 "주소와 데이터 버스의 폭은 항상 같아야 한다!" 이런 소리가 나올 합당한 사정은 없다는 이야기에요. 저장장치쪽은 애초에 블록 단위 입출력을 하므로 주소 버스에서 하위 몇비트 정도가 짤려도 상관없지만.
전기 신호가 전달되는 물리적 거리를 말하는 거일 수도? 거리 차이가 생기면 그걸 빛의 속도로 나눈 것만큼 시간차가 생기니 클럭이 올라가면 싱크가 꼬일 수 있다는 뜻 같은데
이 아조씨말이 맞다. 데이터랑 어드레스 핀으로 가는 배선의 길이가 같아야만 한다
앞 뒤 내용에 그런 말은 못본거 같은데 적당히 유추해서 이해해야 되는 부분일까? "All connections to data and address pins must be routed so that they have approximately the same length." 라는 문장에 "거리 차이가 생기면 그걸 빛의 속도로 나눈 것만큼 시간차가 생기니 클럭이 올라가면 싱크가 꼬일 수 있다" 라는 내용이 생략된거야?? 원래 이게 아예 생략할정도로 너무 당연한 이야긴가
나도 다른 게 안 떠올라서 그냥 생각나는 대로 적어본 거라 확실하진 않음
다들 고마워
아만보 영어인듯 - dc App