본문 바로가기
C.W.K.
Stream
Lesson 03 of 08 · published

모든 배선엔 길이가 있어

~12 min · homework, bus-width, signal-integrity, lpddr, package, vendor-claim

Level 0스펙 시트 훑는 사람
0 XP0/91 lessons0/19 achievements
0/100 XP to next level100 XP to go0% complete
"대역폭은 채널 곱하기 속도야. 채널은 핀이야. 핀은 패키지의 가장자리와 배선의 길이고, 핀당 초당 10기가비트에선 남는 길이가 거의 없어."

애플의 숫자를 재현하는 맞춤

애플은 모든 칩에 대역폭을 공개하고 채널 수는 절대 공개하지 않아. 코드 블록은 메모리의 전송 속도에서 그 수를 추론해. 6,400 MT/s의 64비트 LPDDR 채널은 51.2 GB/s를 나르고, 둘이면 102, M3의 "100". 여덟이면 410, M3 Max의 "400". 열여섯이면 819, M3 Ultra의 정확한 수치. 9,600 MT/s의 LPDDR5X는 M5 사다리를 같은 방식으로 만들어. 채널 둘 154, 넷 307, 여덟 614, 열여섯 1,229. 애플의 "1.2TB/s". 명시된 모든 숫자가 속도 하나와 둘, 넷, 여덟, 열여섯의 채널 수에서 떨어져 나오고, 그 수는 티어와 함께 두 배가 돼. 그러니 M5 Ultra의 버스는 1,024비트 폭이야. 채널 열여섯, 다이 넷 위에(애플이 다이 둘짜리 M5 Max 칩 둘을 이어 붙여), 둘레의 메모리 패키지 열여섯. 같은 LPDDR에서 그걸 두 배로 하려면 채널 서른둘, 2,048비트, 패키지 가장자리 두 배 아니면 넷이 있는 자리에 다이 여덟이 필요해. 아니면 더 빠른 핀, 그건 LPDDR6의 로드맵이지 애플이 젖힐 수 있는 스위치가 아니야.

배선이 짧고 납땜인 이유

풀의 첫 진지한 복제품을 지은 OEM이 공개적으로 왜인지 말했어. "fanning out that giant 256-bit memory bus requires the LPDDR5x to be soldered", 그리고 소켓 배치는 "not possible without massively downclocking the memory". 그건 8,000 MT/s의 256비트였어. JEDEC 자체의 서버 모듈 표준 SOCAMM2는 최고 속도를 "up to 9.6Gb/s per pin where platform signal integrity allows"로 명시해. 한정 절이 물리야. 몇 센티미터 배선 위 그 속도의 신호는 무선 주파수 문제야. 이웃 배선 사이의 누화와 동시 스위칭 잡음, 어느 메모리 벤더의 엔지니어들이 LPDDR2 시절에 이미 "the two dominating factors limiting the achievable data rate"로 서술한 것, 그리고 동시에 스위칭하는 배선이 하나 늘 때마다 나빠지는 것. 애플의 버스는 몇 센티미터 너비의 패키지 위에서 9,600 MT/s로 동시에 스위칭하는 배선 1,024개야. 커넥터가 신호가 감당 못 할 길이이자 임피던스 불연속이라 납땜이고, Ultra 패키지 하나의 다이들(M3는 둘, M5는 넷) 둘레에 들어가는 게 그만큼이라 1,024 폭이야.

이게 애플과 모두에게 치르게 하는 것

결과는 가장 어려운 형태의 메모리 트랙의 거래야. 넓다는 건 가장자리가 더 많다는 것. 메모리를 둘러 놓을 다이가 더 많다는 것. Ultra가 Max의 여덟에 대해 채널 열여섯을 얻는 방법이고, 다이가 가장자리야. 빠르다는 건 새 세대의 메모리. LPDDR6는 10.7 Gbps로 샘플이 나오고 채널 기하를 24비트 서브채널로 바꾸며, 밀도 레슨이 이어받고, 메모리 벤더의 시간표에 있어. 어느 쪽도 손잡이가 아니야. 라이벌 트랙은 모든 복제품이 애플 폭의 4분의 1에 있다는 걸 보여 줬어. AMD, NVIDIA, 퀄컴 전부 256비트 이하. 256이 관행적인 패키지로 다이 하나의 가장자리가 감당하는 폭이고, 애플의 이점은 어디에도 커넥터 없이 배선을 네 배 나르는 패키지니까. 그러니 숙제는 더 넓은 버스를 바라는 게 아니라 다음 버스가 다이 더, 새 메모리 세대, 아니면 계층이라는 걸 아는 거야. 그리고 두 계층 레슨이 애플이 맥에 출하하지 않은 그것이야.

Code

wire_length.py — 채널 × 속도가 애플의 모든 수치를 재현해. 더 넓은 버스엔 뭐가 필요한지·python
#!/usr/bin/env python3
"""Every wire has a length. Bandwidth is channels x rate; channels are pins; pins are
package edge and trace length. The physics cross-check that reproduces Apple's figures,
then what a 2x bus would need. Apple publishes bandwidth, not channel counts -- the
channel counts are this quest's inference from the fit."""
per_channel = lambda mts: mts * 8 / 1000            # GB/s per 64-bit channel
apple = [  # chip, MT/s, channels inferred, stated GB/s
    ("M3",       6400,  2,  100), ("M3 Max", 6400,  8, 400), ("M3 Ultra", 6400, 16, 819),
    ("M4",       7500,  2,  120), ("M4 Pro", 8533,  4, 273), ("M4 Max",   8533,  8, 546),
    ("M5",       9600,  2,  153), ("M5 Pro", 9600,  4, 307), ("M5 Max",   9600,  8, 614), ("M5 Ultra", 9600, 16, 1229),
]
print(f"{'chip':9} {'MT/s':>5} {'ch':>3} {'bits':>5} {'fit GB/s':>8} {'stated':>7}")
for chip, mts, ch, stated in apple:
    print(f"{chip:9} {mts:5d} {ch:3d} {ch*64:5d} {per_channel(mts)*ch:8.0f} {stated:7d}")
print("\nto double the M5 Ultra's bandwidth on the same LPDDR: 32 channels = 2,048 bits = twice the package edge, or eight dies where there are four;")
print("or a faster pin: LPDDR6 samples at 10.7 Gbps and its x24 sub-channels change the count -- a roadmap, not a switch.")
print("the OEM that tried a 256-bit socketed bus found it 'not possible without massively downclocking the memory' (Framework, 2025); 1,024 bits is soldered by necessity, not choice.")

External links

Exercise

wire_length.py를 돌리고 대역폭과 메모리 속도를 찾을 수 있는 아무 칩(폰, 콘솔, 노트북)을 더해. 채널 수를 추론해. 애플 밖에서 찾은 가장 넓은 버스와 그게 앉은 다이 수, 그리고 메모리가 납땜인지 카드에 써.
Hint
콘솔과 폰이 흥미로운 행이야. 256이나 320비트 버스에 GDDR을 단 게임 콘솔은 납땜된 칩을 가진 다이 하나 위의 넓은 버스고, 반대쪽 끝에서 닿은 같은 물리야. LPDDR 속도에서 128비트보다 넓은 소켓 버스를 찾으면 속도를 확인해. OEM이 서술한 다운클럭일 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.