← 목록
기타 2026-04-27 3KB 읽기 4분

729진법 벡터형 4상균형3진 레이어 고도화

개요

crownyc v10.3 — 729진법 네이티브 벡터 연산 레이어 추가. 큐브(27 trits)를 4-digit₇₂₉ 벡터로 해석하여 digit-parallel SIMD-style 연산을 구현.

무엇을 했는지

1. 729진법 ALU 코어 (crownyc.c +619줄)

  • digit729_encode/decode — 6-trit ↔ 729-digit 변환
  • cube729_pack/unpack — 큐브 ↔ 4-digit 벡터 변환
  • vec729_add/sub/scale/dot/dist2/lerp/proj — 벡터 산술
  • mat729_multiply/transpose/determinant — 행렬 연산
  • phase_extract/merge3 — 4상 분리/합성
  • vec729_batch_op — 배치 연산 (스케일/부정/시프트/절대값)
  • vec729_mem_add — 메모리 벡터 연산

2. ISA729+ opcode 820~845 (26개)

범위카테고리내용
820~826벡터ADD, SUB, SCALE, DOT, DIST, LERP, PROJ
827~829행렬MUL, TRANS, DET
830~8324상SPLIT, MERGE, VEC
833~839큐브729ENCODE, DECODE, GET, SET, BATCH, TRIT6_PACK/UNPACK
840~845고급NORM, CLAMP, MAP, REDUCE, PHASE_WEIGHT, CONV

3. 한선씨 컴파일러 (hanseonc_high.c +28줄)

26개 한글 키워드 추가: 벡터729더하기, 벡터729내적, 큐브729생성, 상분리, 상합성

4. 표준 라이브러리: libs/벡터729.한선

  • 고수준 래퍼: 벡터생성, 영벡터, 단위벡터, 채움벡터
  • 산술: 벡터더하기단일, 벡터빼기단일, 벡터곱단일, 벡터내적단일
  • 유틸리티: 벡터729문자열, 벡터영인가, 벡터반전, 벡터절대값, 벡터최대/최소
  • 변환: 정수에서729, 에서정수729
  • 4상: T상추출, O상추출, A상추출, 상결합
  • 행렬: 행렬729단위생성, 행렬729원소, 행렬729설정
  • 배치: 배치스칼라곱, 배치부정, 배치시프트, 배치절대값

5. 피홀 최적화

  • CUBE729_ENCODE + CUBE729_DECODE 왕복 제거
  • TRIT6_PACK + TRIT6_UNPACK 왕복 제거

6. 데모: apps/삼진신경망729.한선

729진법 3진 신경 레이어 — 3값 활성(T/O/A), 4상 에너지 분석 포함.

관련 파일

  • /Users/ef/CrownyOS/crownyc/crownyc.c (14058줄, +619)
  • /Users/ef/CrownyOS/crownyc/hanseonc_high.c (3590줄, +28)
  • /Users/ef/CrownyOS/crownyc/libs/벡터729.한선 (신규)
  • /Users/ef/CrownyOS/crownyc/apps/삼진신경망729.한선 (신규)
  • /Users/ef/CrownyOS/crownyc/tests/벡터729테스트.한선 (신규)
  • /Users/ef/CrownyOS/crownyc/tests/벡터729라이브러리테스트.한선 (신규)
  • /Users/ef/CrownyOS/ISA729_FINAL.md (업데이트)

아키텍처

큐브(27 trits) = [d₀|d₁|d₂|d₃|메타]
                  6t  6t  6t  6t  3t

digit₇₂₉ 범위: -364 ~ +364 (3⁶/2)
4상: T(+1)=데이터, O(0)=명령, A(-1)=체이닝, U=구분자

벡터 연산 파이프라인:
  입력 → cube729_unpack → digit-parallel op → cube729_pack → 출력
  (모든 중간 연산이 트릿 네이티브, 2진 변환 없음)

잔여 이슈

  1. 벡터같은가(v1, v1) — 동일 큐브를 양쪽 인자에 넘길 때 VM 스택 메모리 접근 오류 (기존 VM 제약)
  2. 벡터곱단일 오버플로 — digit₇₂₉ 범위 초과 시 modular wrap (의도적 설계 vs 클램핑 옵션)
  3. 중첩 반복문에서 __내장__(7, ...) 주소 계산 시 간헐적 범위 오류

통계

  • ISA729 총 opcode: 729 + 92(확장) = 821개
  • 한선씨 내장함수: 222 + 26 = 248개
  • 표준 라이브러리: 163 + 1 = 164개