← 목록
기타 2026-06-09 18KB 읽기 18분

크라우니집사 (Jetson AGX Orin) — 하드웨어 제어 최적화·수정 실행계획

작성일 2026-06-09 · 유형 실행계획 문서(구현 아님) 상위 문서 젯슨오린-크라우니집사-정리방향 · 크라우니집사 v0 스펙 근거 코드 /Users/ef/CrownyOS/hal/, crownyc/crownyc_os.c, build-crownyos.sh, crownyc/libs/{GPIO,HAL,하드웨어}.한선, /Users/ef/crowny-butler/libs/

표기 규약[확인] = 본 세션이 파일/코드로 직접 확인. [추정] = 설계 의도·외부 사실 기반 추론(실측 전). [가설] = 측정으로 검증해야 할 미검증 주장. 원칙 — 한선씨 우선(새 로직은 .한선부터). 비-한선(C 헤더/CUDA) 도입은 외부 HW 인터페이스 등 부득이한 지점에만, 즉시 .한선 동반.

0. 현황 요약 (직접 확인분)

항목상태근거
HAL 3플랫폼(RPi5/OPi5/Kria)[확인] 동결, 94KB 커널, 크로스컴파일 성공hal/hal_{rpi5,opi5,kria}.h, v1-stable 문서
Jetson HAL[확인] 부재hal_jetson.h 없음ls hal/ 결과
HAL 인터페이스[확인] UART 4함수(init/putc/getc/puts)만 정의. GPIO/I2C/SPI/PWM 미정의hal_common.h 18~22행 주석
GPIO 라이브러리[확인] GPIO.한선 존재 — 순수 소프트 모델(맵 기반, 실 MMIO 미연결)libs/GPIO.한선 115행 데모
Kria FPGA PL 3진 ALU[확인] AXI 레지스터 맵만 선언(PL_TRIT_ALU 등), 비트스트림·통신 미검증hal_kria.h 39~80행
집사 의사결정 모듈[확인] 7개 .한선 컴파일·실행 검증(개인/국가/기업/YAO 등)crowny-butler/libs/
hwtest 도구[확인] crowni-tvm/src/hwtest.rsRust, <rpi5\|n100\|jetson\|all> 타겟 존재Crowny/crowni-tvm/src/hwtest.rs
VM 2진→3진 전환[확인] 11/11 완료(v9.6.1+): 메모리/산술/로직/GC 네이티브 트릿project_ternary_audit.md
핵심 결론: 집사 = 신규 구축이 아니라 재배선. L0/L1 기판(CrownyOS+crownyc)·L2 의사결정 모듈은 정본 존재. 빠진 것은 (a) Jetson HAL, (b) 소프트 GPIO 모델→실 MMIO 연결, (c) CUDA/TensorRT 추론 브리지, (d) L1 BitNet 삼진 가중치 적용의 4개 결합점뿐.


1. Jetson Orin 디바이스 제어 스택 (GPIO/I2C/SPI/PWM + CUDA/TensorRT 통합)

1-1. 현황

  • [확인] HAL 인터페이스는 UART 4함수로만 정의(hal_common.h). GPIO/I2C/SPI/PWM은 인터페이스 자체가 없음.
  • [확인] GPIO.한선은 맵 기반 순수 소프트 시뮬레이션 — 실제 핀 MMIO에 닿지 않음(115행 이하가 데모).
  • [확인] Jetson HAL 부재. build-crownyos.sh는 rpi5/opi5/kria 3타겟만.
  • [추정] Jetson Orin은 Tegra(T234) SoC — UART는 8250/16550 계열(OPi5의 16550 HAL 재활용 가능), GPIO/I2C/SPI/PWM은 Tegra 전용 MMIO. CUDA/TensorRT-LLM은 Linux(L4T) 유저공간에서만 동작 → 베어메탈 커널과는 별도 평면.

1-2. 수정/최적화 (단계)

  1. hal/hal_jetson.h 신설 — OPi5의 16550 UART 헤더를 Tegra UART 베이스주소로 포팅(가장 가까운 선례). CROWNYOS_PLATFORM_ID "jetson".
[추정] Tegra UART-A 베이스 = 0x03100000 계열 — 실기 확인 필요.
  1. HAL 인터페이스 확장hal_common.h 주석 인터페이스에 hal_gpio_*/hal_i2c_*/hal_spi_*/hal_pwm_* 시그니처를 선언만 추가(플랫폼별 구현은 각 HAL). 기존 4함수 계약 불변 → RPi5/OPi5/Kria 회귀 없음.
  2. GPIO.한선 이중 백엔드화 — 현 맵 모델을 _GPIO_백엔드(0=소프트/1=실HW) 스위치로 분기. 실HW 분기는 hal_gpio_* 호출. 소프트 모델은 헤드리스 검증·교실 에뮬레이션용으로 유지(삭제 금지).
  3. I2C/SPI/PWM 라이브러리 신설I2C.한선/SPI.한선/PWM.한선을 GPIO.한선과 동일 패턴(맵+백엔드 스위치)으로. 패턴DB search "GPIO" 선조회 후 변형.
  4. CUDA/TensorRT 브리지 = 별도 평면 — 베어메탈 커널에 CUDA를 넣지 않는다. 두 모드 분리:
- 운영 모드(권장): Jetson은 L4T Linux 부팅 → crownyc(유저공간 VM) 위에서 집사 실행 → CUDA/TensorRT-LLM은 추론 외부프로세스, 집사는 체계()/소켓/파일로 IPC(추론요청·결과 JSON). - 베어메탈 모드: GPIO/센서 직접 제어 전용(추론 없음). 저전력 현장 제어기. - [추정] 통합 지점 = 라우터 폴백 체인의 "하이브리드 SLM" 칸(v0 스펙 2-2). 집사 라우터가 음(-0) 트래픽만 추론 브리지로 보냄.

1-3. 검증

  • hal_jetson.h 추가 후 build-crownyos.sh jetson → 크로스컴파일 성공 + ARM64 디스어셈블 _start→kernel_main 확인(v1-stable과 동일 절차).
  • GPIO.한선 실HW 분기: 핀 토글 → 오실로스코프/LED 육안 + UART 로그로 T/A 출력 대조.
  • 추론 브리지: 동일 프롬프트를 브리지/직접 호출에 던져 결과 일치 + 지연 ms 기록.

2. L1 순수3진 최적화 — BitNet b1.58식 곱셈→덧셈/뺄셈 (핵심)

개념 분리(혼선 방지): Orin은 2진 실리콘이다. 트릿 기계어 1:1 에뮬레이션은 느려진다. L1 이득은 데이터구조·가중치 알고리즘 층 — 2진 HW 위에서 도는 3진 자료구조/연산이지, 기계어 에뮬레이션이 아니다(정리방향 B-2-1).

2-1. 현황

  • [확인] crownyc VM은 정수연산이 이미 네이티브 트릿(cube_add/sub/mul/divmod, Kleene 3값) — project_ternary_audit 11/11.
  • [확인] 곱셈은 cube_mul() = shift-and-add. 컴파일러 피홀에 ×3ⁿ→TSHL, ×(-1)→NEG 존재(crownyc CLAUDE.md).
  • [가설] "의미어 19,000 + 삼진 도메인 SLM이 체감 Opus급" — 측정 전 단정 금지(Phase1 KPI).
  • [확인 부재] BitNet식 삼진 가중치 행렬곱은 VM 정수연산과 별개 — 추론 엔진(TensorRT-LLM) 측에 미적용.

2-2. 적용할 구체 연산 지점

지점현재(2진)BitNet b1.58식 치환효과(추정)
가중치 행렬곱 W·xFP16/INT8 곱셈W∈{-1,0,1} → x의 덧셈/뺄셈/스킵으로 치환[추정] 곱셈기 제거, 메모리 ~10배↓(16bit→1.58bit)
추론 루프 내적MAC(곱누산)부호별 누산: +1→가산, -1→감산, 0→스킵[추정] Orin DLA/CUDA에서 정수가산만
양자화FPINT8(활성)·INT4 + 삼진(가중치) 혼합[추정] TensorRT-LLM 양자화 경로
임베딩 다이어트대형 vocab의미어 19,000 한정 → 임베딩 테이블 축소[추정] 환각↓ + 메모리↓
  • 3진 자료구조 적용처(에뮬레이션 아님): 라우터 규칙 매칭(R1 키워드 → 트릿 해시 243슬롯, 이미 VM에 trit_hash_cube 존재 [확인]), 4상 플래그 누산(티/옴/타/음 = +1/0/-1/-0), 가중치 패킹(2비트=1트릿).

2-3. 수정/최적화 (단계)

  1. 삼진 가중치 커널 명세 .한선삼진가중치.한선: W{-1,0,1} 패킹·언패킹 + 부호별 덧셈/뺄셈 누산을 한선씨로 명세(crownyc에서 검증 가능한 참조구현). 실가속은 TensorRT 커널이 담당하되, 한선씨 명세가 정본.
  2. TensorRT-LLM 포팅 후보 조사 — BitNet b1.58 계열 소형 모델을 Orin TensorRT-LLM로(외부 의존 최소: 모델만 외부, 라우팅·후처리는 한선씨).
  3. 양자화 프로파일 — 활성 INT8/INT4 + 가중치 삼진 혼합 프로파일 정의, 메모리·지연 측정표 작성.

2-4. 검증

  • 삼진가중치.한선: 동일 W·x를 (a)일반 곱셈 (b)부호별 덧/뺄로 계산 → 결과 일치 + 연산 카운트(곱셈 0건) 확인.
  • 추론 KPI: BitNet 양자화 모델 vs FP16 baseline → 보류셋 품질·첫토큰지연·메모리 비교표. [가설] 체감 동등을 수치로 입증.

3. 2진→4상균형3진 전환 우선순위 (메모리/산술/로직/GC) + L0 TOAU 정합

3-1. 현황

  • [확인] crownyc VM 코어는 4영역 모두 3진 네이티브 완료(project_ternary_audit 1~11): 메모리(bounds+자동확장), 산술(cube_), 로직(Kleene), GC(마크-스윕+컴팩션).
  • [확인] L0 인코딩 = TOAU(2비트=1트릿=4상태). 집사 음(-0)은 TOAU의 U슬롯에 1:1 매핑 → 새 인코딩 불필요(v0 스펙 §1).

3-2. 전환 우선순위 (집사 HW 제어 관점 — 잔여분)

우선영역현황잔여 수정
1로직(라우팅)VM Kleene 완료집사 라우터 R1~R4가 VM Kleene 3값을 직접 쓰는지 정합(티/옴/타 + 음 분리). 음=가중치0과 혼동 금지(네임스페이스 분리)
2메모리(가중치 패킹)VM 큐브 OK삼진 가중치 2비트=1트릿 패킹을 L0 TOAU 셀과 동일 레이아웃으로 → FPGA 합성 시 재사용
3산술(추론)VM 정수 OK추론 행렬곱은 VM 밖(TensorRT) → §2 삼진커널로 정합
4GC(셀 153인)VM GC OK153인 셀 분산 상태 GC 동작 부하 측정(오프라인 장기구동)
  • [추정] 핵심은 음(-0)의 이중역할 가드: TOAU U=구분자 vs 집사 음=4번째 의사결정 상태. 코드 주석·네임스페이스로 분리(v0 스펙 §8-4).

3-3. 검증

  • 라우터 출력 트릿이 VM Kleene 진리표와 일치(모름&&참=모름 등) 단위테스트.
  • 가중치 패킹 ↔ TOAU 셀 라운드트립(패킹→언패킹 무손실) 검증.

4. Kria FPGA 순수3진 ALU 경로 — L1 하드웨어화 로드맵 (Jetson=소프트 / Kria=하드)

4-1. 현황

  • [확인] hal_kria.h에 AXI PL 인터페이스 선언만: PL_TRIT_ALU(0xA0000000), PL_TRIT_STATUS/DATA_IN/DATA_OUT, hal_pl_available()(비트스트림 로드 체크).
  • [확인] 비트스트림·AXI 통신은 미검증(v1-stable 잔여이슈 "FPGA 순수3진 ALU 고도화").
  • [확인] 하드웨어 기술용 한선씨 자산 존재: 하드웨어.한선(게이트/DFF/ALU 시뮬), 회로 방언(.회로), HDL opcode 470~479.

4-2. 역할 분담 (사용자 확정 방향)

플랫폼L1 순수3진역할
Jetson Orin소프트(BitNet 삼진 가중치, §2)현장 셀 브레인 — CUDA/추론 + GPIO 제어
Kria(Zynq PL)하드(FPGA 트릿 ALU)L1 산술의 하드웨어화 연구 트랙 — perf/watt 극한

4-3. 로드맵 (장기 연구 트랙, 단계)

  1. 트릿 ALU RTL을 한선씨로하드웨어.한선/회로 방언으로 1트릿(2비트) 가산기·NEG·비교기 명세* → 시뮬 검증(삼진AND/OR/NOT 등 기존 함수 재사용).
  2. AXI 프로토콜 명세hal_kria.h 레지스터 맵을 한선씨 드라이버(Kria트릿ALU.한선)로: DATA_IN 쓰기→ALU 트리거→STATUS 폴링→DATA_OUT 읽기.
  3. 비트스트림 합성한선씨하드웨어합성.한선으로 트릿 ALU → (외부 합성도구는 부득이 의존) → KR260 PL 로드.
  4. L1 연결 — 집사 추론 행렬곱의 부호별 누산을 PL 트릿 ALU로 오프로드(소프트 fallback 유지).
  • [추정] 풀 삼진 가속기는 수년 R&D. Plan B(공급망)는 FPGA가 아니라 RK3588급 범용 SoC(이미 OPi5 HAL 존재 [확인]).

4-4. 검증

  • 헤드리스: 동일 입력을 (a)VM 소프트 cube_add (b)Kria PL ALU에 던져 결과 일치 + 4상 T/A 출력 대조.
  • hal_pl_available() 게이트로 비트스트림 부재 시 소프트 fallback 자동 전환 확인.

5. 교실 시나리오 디바이스 (3D프린터/CNC) + 저전력 제약

5-1. 현황

  • [확인] GPIO.한선만 존재(소프트). 3D프린터/CNC 제어 라이브러리 부재.
  • [추정] 교실 셀 = Orin 1 + 태블릿 20, 153인 규격. 태양광/ESS 15~60W 제약(정리방향 A-1).

5-2. 수정/최적화 (설계데이터 → 한선씨 → 기계어 → GPIO)

  1. G코드/스텝 생성 라이브러리 .한선CNC제어.한선/프린터제어.한선: 설계데이터(좌표/경로) → 스텝펄스·방향 신호 → §1 GPIO/PWM 실HW 백엔드. 한선씨가 정본, GPIO HAL이 물리.
  2. 저전력 프로파일 — 추론 OFF(베어메탈 제어모드) 시 Orin 전력 클램프. 제어 작업은 GPIO/PWM만 → §1 베어메탈 모드 활용.
  3. 교실 에뮬레이션 — 실 프린터 없이 GPIO 소프트 백엔드로 펄스 시퀀스 검증(태블릿 화면 시뮬). 실HW 도착 시 백엔드 스위치만 1→.

5-3. 검증

  • 헤드리스: 사각형 경로 G코드 → 스텝펄스 시퀀스 → 소프트 백엔드 로그가 기대 좌표열과 일치(T/A 출력).
  • 전력: 제어모드 vs 추론모드 소비전력 측정 → 15~60W 창 내 확인([가설] 실측 필요).

6. 전력·발열·오프라인 + 153인 셀 무중단

6-1. 현황

  • [확인] 오프라인 우선 설계(정리방향 A-1), 셀코어 분산·오프라인 동기화 자산 존재(v0 스펙 §7).
  • [확인 부재] Orin 전력/발열 거버너·셀 무중단 페일오버는 집사 측 미구현.

6-2. 수정/최적화

  1. 전력 거버너 .한선전력거버너.한선: 부하별 모드(추론/제어/대기) 전환, 추론 음(-0) 트래픽만 GPU 깨움(나머지 로컬 규칙=한계비용 0, v0 스펙 §2-3).
  2. 발열 관리 — PWM 팬 제어(§1 PWM 라이브러리 재사용) + 온도 임계 시 추론 스로틀.
  3. 오프라인 동기화 — 셀코어 N(실시간)·M(멀티에이전트) 위에 커밋규칙 통과분만 게이트웨이 병합(v0 스펙 §7). 재연결 시 패치 하향.
  4. 153인 무중단 — 셀 1대 다운 시 이웃 셀로 페일오버(셀코어 상태기계 F). 태블릿 20대는 로컬 와이파이 폐쇄망.

6-3. 검증

  • 장기 오프라인 구동(24h+) → GC 부하·메모리 누수 모니터(§3-4).
  • 셀 강제 다운 → 페일오버 시간 측정 + 작업 연속성(YAO 목표회상 복귀) 확인.

7. 단계별 마일스톤 + 검증(헤드리스 hwtest, 4상 T/A)

검증 공통: 헤드리스(스크린샷 반복 금지, feedback_headless_gui_verify), 4상 T/A 출력(통과=T/+1, 실패=A/-1, 보류=O/0)으로 자동 판정. hwtest는 crowni-tvm hwtest jetson 타겟 확장.
M마일스톤산출(전부 .한선 우선)검증(헤드리스)
M1Jetson HAL 부팅hal_jetson.h + boot/linker + build-crownyos.sh jetson크로스컴파일 성공 + 디스어셈블 + UART 배너 출력
M2GPIO 실HW 연결GPIO.한선 이중백엔드 + hal_gpio_*핀 토글 → LED/스코프 + T/A 로그
M3I2C/SPI/PWMI2C/SPI/PWM.한선센서 readback 일치 + PWM 듀티 측정
M4추론 브리지집사↔TensorRT IPC + 라우터 음(-0) 분기동일 프롬프트 결과 일치 + 지연 ms
M5L1 삼진 가중치삼진가중치.한선 + BitNet 양자화 모델곱셈 0건 + 품질/지연/메모리 KPI표
M6교실 디바이스CNC/프린터제어.한선G코드→펄스열 일치 + 저전력 창
M7Kria 하드 ALUKria트릿ALU.한선 + 비트스트림소프트 vs 하드 결과 일치
M8무중단·오프라인전력거버너.한선 + 셀 페일오버24h 구동 + 페일오버 시간
  • 의존성: M1→M2→M3(HW 스택). M4→M5(추론). M1·M4는 병렬 가능. M7은 장기 트랙(M1~M6과 독립).

8. 최우선 3개 액션 + 예상 효과

순위액션근거예상 효과(정량/정성)
hal/hal_jetson.h + build-crownyos.sh jetson (M1)Jetson HAL 부재가 모든 HW 제어의 차단점 [확인]OPi5 16550 헤더 재활용으로 [추정] 헤더 1개·boot/linker 2개 추가만으로 4번째 플랫폼 개통. 94KB 커널 규모 유지 예상. 이후 M2~M8 전부 해금
GPIO.한선 이중 백엔드(소프트/실HW) + hal_gpio_* 인터페이스 (M2)현 GPIO는 소프트 데모뿐 [확인]. 교실 디바이스(§5)·발열 PWM(§6)·CNC가 전부 여기 의존백엔드 스위치 1개로 소프트 검증↔실HW 무수정 전환. 교실 에뮬레이션과 실배포 코드 단일화. I2C/SPI/PWM이 같은 패턴 복제로 빠르게 따라옴
삼진가중치.한선 명세 + BitNet 양자화 KPI 측정 (M5 선행)"체감 Opus급"은 [가설]측정 없이 백서 불가(정리방향 B-3)[추정] 가중치 16bit→1.58bit ≈ 메모리 ~10배↓, 곱셈기 제거. KPI표가 나오면 가설→사실 전환, Orin 단독 추론 타당성 확정

잔여 이슈 / 미검증(측정 필요)

  • [추정] Tegra(T234) UART/GPIO MMIO 베이스주소 — 실기 데이터시트 확인 필요(M1).
  • [가설] BitNet 삼진 + 의미어 19,000 → 체감 Opus급 — Phase1 KPI로 실증(M5).
  • [가설] 교실 15~60W 창 내 제어+추론 동시 — 실측(§5-3, §6-3).
  • [추정] Kria 풀 삼진 가속기 = 수년 R&D — 장기 트랙 분리, 단기 공급망 Plan B는 RK3588(OPi5).
  • 음(-0) 이중역할(TOAU U=구분자 vs 집사 음=의사결정 4번째 상태) 네임스페이스 가드 — 코드 주석 명시 필요.
  • CUDA/TensorRT = 베어메탈 불가, L4T Linux 유저공간 평면 → 운영모드는 crownyc 유저공간 + 추론 외부프로세스 IPC로 분리(§1-2).

관련 파일

  • HAL: /Users/ef/CrownyOS/hal/hal_{common,rpi5,opi5,kria}.h (jetson 신설 대상)
  • 빌드: /Users/ef/CrownyOS/build-crownyos.sh, crownyc/crownyc_os.c
  • HW 라이브러리: /Users/ef/CrownyOS/crownyc/libs/{GPIO,HAL,하드웨어,한선씨하드웨어합성}.한선
  • 집사 의사결정: /Users/ef/crowny-butler/libs/{개인,국가,기업}의사결정·YAO상태기계·티옴타좌표.한선
  • hwtest: /Users/ef/Crowny/crowni-tvm/src/hwtest.rs (jetson 타겟 확장)
  • 상위 스펙: 2026-06-09-크라우니집사-v0-스펙.md, 2026-06-09-젯슨오린-크라우니집사-정리방향.md, 2026-05-02-crownyos-v1-stable.md