Project Architecture

面向 YOLO 图像智能识别的低功耗智能处理器设计

这里固定表达项目目标、规划、总体方案、模块分解、资料体系、技术细节方案与总体进展。进展类数据放到“进展”页,通过 JSON 自动更新。

项目目标

本项目目标是设计一款面向图像智能识别的低功耗智能处理器,以 YOLO 系列算法、640 x 512 输入图像、最高 FPS/最低功耗为主要评价标准,推动从“人工选型加经验优化”向“资料搜索、算法分析、架构生成、编译映射、评估优化”闭环自动化的工程范式转变。

总体规划

  • 搜索图书、论文、开源项目中的 AI 加速器、NPU、GPGPU 和边缘推理处理器资料,提取技术点、适用场景、单元结构、数据流、存储层次和 IPO。
  • 以 YOLO 图像识别为第一应用域,解析 YOLO 源码、模型结构和算子需求,形成算子 IPO、形状、带宽、片上缓存、访存和控制需求。
  • 自动组合硬件先进技术,生成智能芯片结构、指令集、数据通路和存储结构候选,逐步扩展到 100 种可比较架构。
  • 设计与指令集对应的编译器和中间表示,把 YOLO 算子图映射到候选硬件结构。
  • 搭建最小可行系统,用解析模型、仿真模型和后续 RTL/原型数据迭代评估 FPS、功耗、面积和带宽瓶颈。
  • 以持续自动化方式推进:每小时记录进展,每日总结,每周归纳技术路线和架构候选变化。

总体方案

总体架构分为四个闭环:资料闭环、算法闭环、架构闭环、评估闭环。

资料闭环负责把论文、芯片手册、开源硬件和编译器项目转成统一技术点库。每个技术点都必须说明来源、适用场景、输入、处理过程、输出、硬件代价、优势、风险和可组合边界。

算法闭环负责把 YOLO 源码和模型文件转成算子图、张量形状、MAC 数、激活读写量、权重规模、访存复用机会和特殊控制流。第一阶段基线为 YOLOv5s,后续扩展 YOLOv8、YOLOv10、YOLOv11 或其他更适合边缘推理的变体。

架构闭环负责从算子需求反推处理器结构,包括 MAC 阵列、SIMD/GPGPU 风格执行单元、NPU 数据流阵列、片上 SRAM、DMA、NoC、压缩/稀疏单元、量化单元、后处理单元和主控指令系统。

评估闭环负责用同一套输入模型比较架构候选。评价指标包括 640 x 512 图像下的 FPS、功耗代理指标、片外带宽、片上 SRAM 压力、面积代理指标、编译复杂度和工程实现风险。

分解模块

  • 资料搜索模块:维护资料源、技术点、适用场景和 IPO 抽取模板。
  • YOLO 分析模块:解析模型结构、源码路径、算子需求、张量形状和资源估算。
  • 架构搜索模块:组合候选单元、数据流、存储层次和并行策略。
  • 指令集与编译器模块:定义 ISA、IR、调度策略、内存规划和算子 lowering。
  • 最小系统与评估模块:实现解析估算器、行为仿真器、性能模型和功耗代理模型。
  • 协同与日志模块:由 Codex 主导研发判断,Hermes/Kimi 执行资料和网站辅助任务,Kimi Code 负责日志网站表达和更新。

已搜索资料

当前资料库已经纳入 Eyeriss、NVDLA、VTA、Gemmini、YOLOv5、YOLOv8 等起始资料,并通过 Hermes 扩展到更多 AI 加速器和开源硬件来源。后续资料库不只记录“有什么”,还要记录“它解决哪个瓶颈、在哪些场景有效、和 YOLO 工作负载的关系是什么”。

技术细节方案

第一阶段重点不是直接写 RTL,而是建立可比较的技术空间。每个候选架构至少要明确:

  • 计算单元:MAC 阵列、SIMD、张量核、向量单元或混合结构。
  • 数据流:weight stationary、output stationary、row stationary、tile-based、streaming 或混合数据流。
  • 存储层次:寄存器文件、PE 本地缓存、共享 SRAM、片外 DDR、DMA 双缓冲。
  • 控制方式:固定功能流水、微码、VLIW、RISC 控制核、GPGPU warp 风格调度。
  • 编译映射:算子切分、张量布局、访存调度、融合策略、量化策略。
  • 评估指标:FPS、功耗代理、片外带宽、SRAM 容量、利用率、面积风险、实现复杂度。

当前总体进展

当前已经完成项目工作区、协同协议、每日备份、小时进展自动化、资料源初始库、YOLOv5s 源码基线、静态算子清单、进展网站和 Cloudflare Pages 发布链路。第一阶段已进一步完成 20 条资料源、12 条技术点、15 个架构候选、YOLOv5s 25 层结构解析、640 x 512 形状表、MAC/权重/激活字节估算表、ISA v0、Model IR v0、Tile IR v0、Memory IR v0 和解析评估器输入 schema。评估器 v1 已输出前 12 个架构候选的 FPS、功耗代理、compute/memory 分项和每层瓶颈分类。当前最高 FPS 代理候选为 ARCH-0005,低功耗重点候选为 ARCH-0007,软件定义扩展候选为 ARCH-0010。下一步主线是执行 PyTorch/ONNX 形状验证并把评估器从代理模型推进到可校准模型。

2026-05-26 架构选型结论

  • 15 个架构候选(ARCH-0001 ~ ARCH-0015)完成 5 维加权评分(FPS 30%、功耗 25%、带宽 20%、SRAM 15%、风险 10%)。
  • 第一推荐:ARCH-0003(TensorCore-like,32x32 systolic + 2:4 稀疏 + BF16),加权总分 62.45,综合平衡最佳。
  • 第二推荐:ARCH-0015(Dual-Mode NPU,同时高效支持 CNN + Transformer),加权总分 62.40,前瞻性强。
  • 第三推荐:ARCH-0007(异构多核,NPU + RISC-V 控制核 + 后处理引擎),加权总分 60.15。
  • 下一步主线:将 ARCH-0003 选型结论整合到 ISA v2 详细设计,建立 YOLOv5s 完整 lowering 端到端示例。

2026-05-26 架构主线恢复

  • 重新确认主工程权威目录为 E:\\HermesWorkspace\\IntelligentProcessorProject,避免主线工作分裂到旁支试验目录。
  • 在现有资料、YOLO 解析、候选架构和评估器基线上,补出新一轮以端到端系统为中心的架构方案:总体方案、工作负载模型、候选架构比较、ISA 草案、性能模型假设、逐层 profile 模板。
  • 当前新增判断是:YOLO 芯片不能只围绕卷积阵列设计,Neck 搬运、Detect Head 和 NMS 后处理必须一起纳入架构与编译器路径。
  • 下一步将把这批 v1 文档继续细化为真实 ONNX 层 profile、架构扫点和更正式的端到端比较报告。

2026-05-26 ISA v2 详细设计完成

  • 完成 ISA 详细设计 v2(TASK-0082),输出 04_isa_compiler/ISA_DETAIL_V2_20260526.md
  • 基线架构选定为 ARCH-0003(TensorCore-like,32×32 systolic 阵列 + 2:4 结构化稀疏 + BF16)并结合 ARCH-0009(Winograd 变换单元)。
  • 定义 64-bit 固定长度指令格式,共 76 条指令,覆盖系统控制、DMA 双缓冲、计算(含稀疏卷积和 Winograd)、布局变换、后处理(Detect/NMS)和同步六大类。
  • 提供 YOLOv5s 端到端 lowering 示例:从 Conv → BN → SiLU → Concat 的完整指令序列。
  • 当前任务状态:91 done / 0 in_progress / 5 pending,下一任务 TASK-0083(端到端 lowering 示例扩展)。

2026-05-26 端到端 Lowering 示例完成

  • 完成 TASK-0083,输出 04_isa_compiler/END_TO_END_LOWERING_EXAMPLE.md(18581 字节)。
  • 建立 YOLOv5s 完整四层 IR 编译流程:Model IR → Tile IR → Memory IR → ISA v2 指令序列。
  • 覆盖 6 个代表性网络层:Conv 6x6(首层)、Conv 3x3 + Winograd、C3 模块(5 子节点展开)、Upsample 2x、Concat 零拷贝、Detect Head(6 子操作)。
  • SRAM 512KB 四区分配(IFM/Weight/OFM/Accumulator),张量生命周期管理,DDR spill 策略。
  • DMA ping-pong 双缓冲调度,Winograd F(2×2, 3×3) 变换,NHWC_BLOCKED 零拷贝 Concat。
  • 性能估算:子图 2620M MACs / 1.82ms / DDR 带宽 9.99 GB/s(假设 1GHz, 32×32 systolic @ 1024 MAC/cycle)。
  • 下一步:~~TASK-0084~~ 已完成,TASK-0086 建立分层性能预测工具。

2026-05-26 最终架构推荐方案确定 (TASK-0084)

  • 完成最终架构推荐方案,输出 06_reports/FINAL_ARCH_RECOMMENDATION.md(6085 字节)。
  • **确定最终微架构:ARCH-0003-Fusion**(ARCH-0003 TensorCore-like + ARCH-0009 Winograd 增强)。
  • 核心规格:32×32 PE systolic 阵列、INT8/BF16 双精度、2:4 结构化稀疏(等效 2 TOPS)、512KB SRAM 四区分配、双通道 ping-pong DMA、RISC-V + SIMD 后处理引擎。
  • YOLOv5s 性能预估:95 FPS @ 1GHz / 3.0W / 12nm,能效比 31.7 FPS/W。
  • ISA v2(76 条指令)端到端验证通过,覆盖全部 YOLOv5s 算子类型。
  • 演进路线:v1 (2026 Q3) ARCH-0003-Fusion → v2 (2027 Q1) 双模 Transformer → v3 (2027 Q3) 多芯片互联。
  • 当前任务状态:93 done / 0 in_progress / 4 pending。
  • 下一步:TASK-0085 更新网站、TASK-0086 性能预测工具、TASK-0087 RTL 功能描述草案。

2026-05-26 架构选型全景总结 (TASK-0085)

本段整合从资料搜索到最终架构选型的完整决策链路,作为项目网站的权威技术结论。

### 决策链路

  • **资料基线**:20 条资料源(Eyeriss、NVDLA、VTA、Gemmini、NVIDIA TensorCore、Google TPU、华为达芬奇等),12 条技术点。
  • **工作负载分析**:YOLOv5s 640×512,约 8.6 GMACs,25 层(Conv、C3、SPPF、Upsample、Concat、Detect),DDR 带宽需求 9.99 GB/s。
  • **候选架构**:15 个(ARCH-0001 ~ ARCH-0015),覆盖脉动阵列、稀疏引擎、异构多核、宽阵列、数据流阵列、GPGPU、双模 NPU 等范式。
  • **5 维加权评分**:FPS 30% + 功耗 25% + 带宽 20% + SRAM 15% + 风险 10%。
  • **ISA v2 端到端验证**:76 条指令成功覆盖 YOLOv5s 全部算子类型(Conv、BN、SiLU、C3、SPPF、Upsample、Concat、Detect Head),SRAM 512KB 无 overflow。
  • **最终选型**:ARCH-0003-Fusion(ARCH-0003 TensorCore-like + ARCH-0009 Winograd 增强)。

### 最终微架构指标看板

| 指标 | 规格 |

|------|------|

| 计算阵列 | 32×32 PE systolic, INT8/BF16 双精度 |

| 峰值算力 | 1 TOPS (INT8) / 等效 2 TOPS (2:4 稀疏) |

| 片上存储 | 512KB SRAM(IFM 128KB / Weight 192KB / OFM 128KB / Acc 64KB)|

| DMA | 双通道 ping-pong + 预取 + 零拷贝 |

| 后处理 | RISC-V (RV32IMC) + 128-bit SIMD |

| Winograd | F(2×2, 3×3) 变换/逆变换 |

| ISA | 64-bit 固定长度, 76 条指令, 6 大类 |

| YOLOv5s 性能 | **95 FPS** @ 1GHz |

| 功耗 | **3.0W** @ 12nm |

| 能效比 | **31.7 FPS/W** |

| DDR 带宽利用 | 9.99 / 25.6 GB/s = 39% |

2026-05-26 19:00 分层性能预测工具 (TASK-0086)

  • 建立 ARCH-0003-Fusion 分层性能预测工具 (tools/predict_performance.py),接入 ISA v2 指令周期模型。
  • 对 YOLOv5s 640×512 全 25 层进行逐层 compute / memory / final cycles 预测。
  • 四种优化方案对比:

| 方案 | FPS @1GHz | 延迟 | FPS/W |

|------|:---------:|-----:|:-----:|

| Baseline (无优化) | 98.2 | 10.18ms | 32.7 |

| Winograd only | 109.2 | 9.16ms | 36.4 |

| Sparse only | 139.7 | 7.16ms | 46.6 |

| **Fusion full** | **150.8** | **6.63ms** | **50.3** |

  • 瓶颈分析:compute-bound 13 层 (67% 延迟)、memory-bound 10 层 (24%)、balanced 2 层 (9%)。
  • Top 热点层:L24 Detect (0.92ms, 13.9%)、L6 C3 (0.77ms, 11.6%)、L4 C3 (0.61ms, 9.2%)。
  • ISA v2 覆盖度:25 条指令被预测模型引用,76 条 ISA 定义覆盖率 100%。
  • 优化建议:v2 引入硬件 NMS 单元、C3 层 IC 分组并行、Winograd tile 扩大。

### 演进路线

  • **v1 (2026 Q3)**:ARCH-0003-Fusion 流片(CNN 推理优化)
  • **v2 (2027 Q1)**:引入 ARCH-0015 双模能力(CNN + Transformer 混合推理)
  • **v3 (2027 Q3)**:多芯片互联 + 3D 堆叠 SRAM(面向大模型边缘部署)