명령어 상세 인코딩¶
각 명령어는 opcode[3:0] 이후 60-bit 본체(body) 로 구성됩니다.
본 페이지는 오피코드별로 body 레이아웃과 각 필드의 의미를 기술합니다.
1. GEMV / GEMM (opcode = 0x0 / 0x1)¶
GEMV 와 GEMM 은 동일한 본체 레이아웃을 공유합니다.
비트 |
폭 |
필드 |
설명 |
|---|---|---|---|
[59:43] |
17 |
|
결과를 저장할 L2 주소. |
[42:26] |
17 |
|
액티베이션 소스 L2 주소. |
[25:20] |
6 |
|
|
[19:14] |
6 |
|
Constant Cache 의 size 엔트리 인덱스. |
[13:8] |
6 |
|
Constant Cache 의 shape 엔트리 인덱스. |
[7:3] |
5 |
|
사용할 코어 레인 수 (0 = 전체). |
[2:0] |
3 |
reserved |
0 으로 채움. |
1.1 Flags 필드 (6-bit)¶
비트 |
이름 |
설명 |
|---|---|---|
[5] |
|
출력 정규화를 위해 e_max 레지스터 갱신 (Softmax 용). |
[4] |
|
dest 위치에 누적 (기본: overwrite). |
[3] |
|
MAC 중 weight scale factor 적용. |
[2:0] |
reserved |
2. MEMCPY (opcode = 0x2)¶
비트 |
폭 |
필드 |
설명 |
|---|---|---|---|
[59] |
1 |
|
0 = NPU, 1 = Host. |
[58] |
1 |
|
0 = NPU, 1 = Host. |
[57:41] |
17 |
|
목적지 주소. |
[40:24] |
17 |
|
소스 주소. |
[23:7] |
17 |
|
보조 주소 (호스트 DDR 오프셋 등). |
[6:1] |
6 |
|
전송 shape 포인터. |
[0] |
1 |
|
0 = 동기 완료 대기, 1 = 비동기 실행. |
3. MEMSET (opcode = 0x3)¶
Constant Cache 의 shape / size / scale 레지스터 등을 초기화합니다.
비트 |
폭 |
필드 |
설명 |
|---|---|---|---|
[59:58] |
2 |
|
0 = fmap_shape, 1 = weight_shape. |
[57:52] |
6 |
|
Constant Cache 인덱스. |
[51:36] |
16 |
|
첫 번째 16-bit 값. |
[35:20] |
16 |
|
두 번째 16-bit 값. |
[19:4] |
16 |
|
세 번째 16-bit 값. |
[3:0] |
4 |
reserved |
팁
MEMSET 명령어 하나로 (M, N, K) 튜플을 한 번에 기록할 수 있도록 a/b/c 세 슬롯을 제공합니다.
4. CVO (opcode = 0x4)¶
Complex Vector Operation — SFU 에 전달되는 명령어입니다.
비트 |
폭 |
필드 |
설명 |
|---|---|---|---|
[59:56] |
4 |
|
함수 코드 (아래 표 참조). |
[55:39] |
17 |
|
입력 벡터 L2 주소. |
[38:22] |
17 |
|
결과 L2 주소. |
[21:6] |
16 |
|
처리할 원소 수. |
[5:1] |
5 |
|
|
[0] |
1 |
|
0 = 동기, 1 = 비동기. |
4.1 CVO 함수 코드¶
함수 |
코드 |
설명 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
벡터 원소의 합. |
|
|
스칼라 × 벡터. |
|
|
|
|
— |
reserved (향후 확장). |
4.2 CVO Flags (5-bit)¶
비트 |
이름 |
설명 |
|---|---|---|
[4] |
|
연산 전 e_max 뺄셈 (softmax 안정화). |
[3] |
|
스칼라의 역수 사용 (곱셈 대신 나눗셈 효과). |
[2] |
|
dst 에 누적. |
[1:0] |
reserved |
5. 요약¶
오피코드 |
핵심 활용 시나리오 |
|---|---|
GEMM |
Prefill. Q/K/V projection, FFN up/down projection. |
GEMV |
Decoding. Autoregressive step 의 모든 projection. |
CVO |
Softmax, RMSNorm, RoPE, GELU. |
MEMCPY |
Host ↔ Device 가중치 로딩, KV 캐시 업데이트, 토큰 출력. |
MEMSET |
레이어 시작 시 shape/size 포인터 프리셋, scale factor 주입. |