v001 → v002 설계 근거¶
pccx v001 은 구현 직전 단계 까지 갔지만 최종적으로 실장되지 않고
docs/archive/experimental_v001/ 로 이동되었습니다. 본 페이지는 어떤
아키텍처적 결함을 발견했고 v002 가 이를 어떻게 해소했는지를 정리합니다.
1. v001 의 핵심 결함¶
결함 |
현상 |
|---|---|
코어 역할 분담 모호 |
Matrix / Vector / CVO 코어의 경계가 애매하여, 같은 연산을 여러 코어가 중복 지원하거나 어느 코어에도 정확히 맞지 않는 연산이 존재. |
불필요한 버스 다수 |
Weight / Activation / 중간 결과가 서로 다른 버스를 통해 교차 이동 하여 라우팅 혼잡 및 타이밍 악화. |
L2 ↔ Global Cache 역할 중복 |
두 레벨의 책임이 중첩되어, 동일 데이터가 양쪽에 복제되고 일관성 유지 로직이 추가 비용을 유발. |
HP 포트 배치 비효율 |
단일 시스톨릭 어레이에 1 개의 HP 포트만 매핑되어, 외부 250 MHz 속도가 내부 400 MHz 소비 속도의 상한을 좁혔음. |
시스톨릭 어레이 미최적화 |
1 DSP = 1 MAC 구조로 DSP48E2 의 비트 공간 잉여를 활용하지 못함. |
2. v002 의 응답¶
v002 는 위의 결함 각각에 대해 다음과 같이 대응했습니다.
대응 |
설명 |
|---|---|
3 코어 체제 |
GEMV, GEMM, SFU 로 코어를 명확히 분리. 각 코어는 L2 Cache, Weight Buffer, 파이프라인 레지스터 / FIFO 로 연결되어 역할 중복 제거. |
버스 단순화 |
|
L2 중앙 집중화 |
Global Cache 역할을 L2 에 흡수하고 플로어플랜 중앙에 배치. 상·하 슬라이스가 대칭 접근. |
HP 포트 분산 |
HP2 / HP3 두 포트를 독립 슬라이스에 할당하여 병목 해소. |
듀얼 채널 비트 패킹 |
1 DSP = 2 MAC (DSP48E2 W4A8 비트 패킹과 부호 복원) — 시스톨릭 어레이 전체가 클럭 당 2,048 multiply + 2,048 accumulate 수행. |
3. 속도 향상 분석 — 3.125 배¶
v001 대비 v002 의 이론 처리량 개선은 다음 세 요소의 합성으로 설명됩니다.
개선 항목 |
배수 |
근거 |
|---|---|---|
내부 클럭 향상 |
× 400 / 250 = 1.6 |
외부 AXI 250 MHz → 내부 코어 400 MHz 로 분리. |
HP 포트 2 개화 |
(이미 400 MHz 도메인에서 소비) |
4 개 HP 포트 중 2 개 (HP2 / HP3) 를 상·하 슬라이스에 독립 할당, 가중치 공급 대역폭 2 배. |
비트 패킹 |
× 2 |
1 DSP = 2 MAC 동시 수행. |
이 세 요소를 곱해 1.6 × 2 × (공급 병목 해소) ≈ 3.125 배의 유효 처리량 향상이 도출됩니다.
3.1 부하 관점의 유도¶
v001 의 경우: 250 MHz × 1 HP × 1 MAC/DSP = 250 단위 처리량. v002 의 경우: 400 MHz × 2 MAC/DSP, 그리고 HP 포트가 250 MHz × (HP2+HP3) 로 쌓이는 버퍼 위에서 400 MHz 로 소비 → 내부 소비율 기준 800 단위.
즉, 외부 포트 속도 자체는 변하지 않지만, 버퍼에 쌓고 내부에서 빠르게 소비 + 한 사이클에 두 번의 MAC 를 수행함으로써 시스톨릭 어레이가 받는 유효 처리량이 3.125 배가 됩니다.
3.2 매 클럭 내부 Throughput 의 구성¶
flowchart LR
subgraph ext[외부 250 MHz 도메인]
HP2[AXI HP2] --> BUF[Weight Buffer<br/>CDC FIFO]
HP3[AXI HP3] --> BUF
end
subgraph core[내부 400 MHz 도메인]
BUF -->|broadcast| SA[Systolic Array<br/>32×32 · 1 DSP = 2 MAC<br/>cascade break @ 16 행]
SA --> ACC[Result Accumulator<br/>819 GMAC/s peak]
end
32 × 32 단일 격자가 1,024 PE × 2 MAC = 2,048 MAC/clk 을 수행하고, 400 MHz 로 동작하여 819 GMAC/s 이론 피크가 산출됩니다.
4. 새로운 트레이드오프¶
속도 향상의 대가로 v002 는 다음 제약을 수용합니다.
제약 |
설명 |
|---|---|
가중치 정밀도 제한 |
W4 초과 시 guard bits 부족으로 |
K-split 필요 |
K > 4,096 인 레이어는 드라이버 계층에서 타일 분할. |
부호 복원 후처리 |
PE 당 1-bit adder + 23-bit 분리 로직이 추가되지만 throughput 영향 없음. |
CDC 복잡도 |
250 MHz ↔ 400 MHz async FIFO 설계 및 검증 비용. |
5. 아카이브 된 v001 과의 요약 비교¶
항목 |
v001 (Archived) |
v002 |
|---|---|---|
설계 편중 |
GEMM 중심 (프리필 최적화) |
GEMM · GEMV · SFU 3 코어 체제 |
L2 캐시 위치 |
외곽 |
중심 배치, 양측 대칭 인터커넥트 |
Global Cache |
별도 블록 |
L2 에 통합 |
양자화 |
W4A16 (BF16 activation) |
W4A8 (INT8 activation) |
HP 포트 |
단일 SA 에 1 개 |
HP2 / HP3 분산 (상·하 슬라이스) |
DSP 활용 |
1 DSP = 1 MAC |
1 DSP = 2 MAC |
이론 피크 (400 MHz) |
~320 GMAC/s |
819 GMAC/s (×2.56 실측 기대) |
더 보기
v001 상세: 아카이브: v001 실험적 아키텍처
비트 패킹 상세: DSP48E2 W4A8 비트 패킹과 부호 복원
KV 캐시 전략: KV 캐시 최적화 전략