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(面向大模型边缘部署)
最新实质交付:架构选型白皮书(TASK-0088)
- 时间:2026-05-26 21:06:54
- 文件:
06_reports/ARCH_SELECTION_WHITEPAPER_20260526.md - 摘要:完成从资料源、YOLO 工作负载、候选架构、ISA v2、性能预测到 RTL 风险的完整技术叙事,继续确认 ARCH-0003-Fusion 为 v1 推荐架构。
- 下一步:ONNX/PyTorch 真实图验证、Detect cycle-level 模型、batch/multi-resolution 扩展。
2026-05-26 22:34 定时发布刷新
- 当前队列:86 done / 0 in_progress / 5 pending。
- 最新待办:TASK-0081、TASK-0089、TASK-0090、TASK-0091、TASK-0092。
- 最新 hourly report:
logs/hourly_reports/progress_20260526_210600.md。 - 最新 tick:
logs/hourly_ticks/tick_20260526_210600.md。 - 关键 workstream 最新文件:
- 00_coordination →
00_coordination/TASK_BOARD.md - 01_literature →
01_literature/ACCELERATOR_GAP_MATRIX_20260525.md - 02_yolo_analysis →
02_yolo_analysis/YOLO_LAYER_PROFILE_TEMPLATE_V1_20260526.md - 03_architecture_search →
03_architecture_search/ARCHITECTURE_CANDIDATES_V1_20260526.md - 04_isa_compiler →
04_isa_compiler/END_TO_END_LOWERING_EXAMPLE.md - 05_mvp_eval →
05_mvp_eval/performance_prediction_onnx_validation.md - 06_reports →
06_reports/ARCH_SELECTION_WHITEPAPER_20260526.md - 07_artifacts →
07_artifacts/yolov5/ONNX_TOPOLOGY_CHECKLIST_20260525.md - 当前站点数据源已同步到
progress_site/src/latest-status.json和latest-status.js,并已用于重新构建与发布。
### 2026-05-26 23:09 进展快照
- TASK-0090 已完成:Detect 后处理建立 cycle-level 模型。
- 新增交付物:
05_mvp_eval/detect_cycle_model_v1.md、05_mvp_eval/detect_cycle_model_v1.csv。 - Detect 新估计:868,260 cycles / 0.8683 ms;整帧 FPS 约 152.02。