Luyoung
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
GitHub 安全机制解析(三):Actions、Release 与自动发布流水线的安全边界

GitHub 安全机制解析(三):Actions、Release 与自动发布流水线的安全边界

〇、前言前两篇分别讲了 GitHub 权限分层和几种 token 的身份模型。 这一篇把它们落到一个完整的自动发布场景里: 1234example-org/web-client→ GitHub Actions 构建资源→ 发布到 example-org/resource-assets→ 用户或程序下载 release asset 这条链路看起来只是一个普通 CI/CD: 1push m
2026-06-30
Tooling
#GitHub #GitHub Actions #release #supply chain
GitHub 安全机制解析(二):PAT、GITHUB_TOKEN 与 GitHub App 到底代表谁

GitHub 安全机制解析(二):PAT、GITHUB_TOKEN 与 GitHub App 到底代表谁

〇、前言上一篇主要讲了 GitHub 的权限不是一句“我是 member”能解释的。它至少要看用户、组织、团队、仓库、分支保护、rulesets 等多层关系。 这一篇进入自动化里最容易混乱的部分:token。 在 GitHub 里,我们经常会看到很多种 token: Classic PAT; fine-grained PAT; GITHUB_TOKEN; GitHub App installat
2026-06-29
Tooling
#GitHub #GitHub Actions #PAT #GitHub App
GitHub 安全机制解析(一):用户权限不是一句 member 能说清的

GitHub 安全机制解析(一):用户权限不是一句 member 能说清的

〇、前言我以前看 GitHub 权限的时候,总觉得它应该很简单: 我是不是这个组织的 member?我是不是这个仓库的 admin?我能不能 push? 后来真正把 GitHub Actions、跨仓库 release、PAT、GitHub App 放到一起用的时候,才发现这个理解太粗了。 GitHub 的安全模型不是一层,而是很多层叠在一起。一个人可能是 organization 的 mem
2026-06-28
Tooling
#GitHub #security #permissions
CoolDA 设计仿真(五):烟测不是跑命令,而是验证契约

CoolDA 设计仿真(五):烟测不是跑命令,而是验证契约

前言很多工程报告会把 smoke test 写成“跑了几条命令,看到 PASS”。这种写法对没有环境的读者不友好,也讲不出测试设计的价值。 更好的讲法是:smoke test 在验证跨层契约。CoolDA 这种 SoC demo 的 smoke test 应该证明: 固件能构建; SoC 能仿真; shell 能接收脚本输入; runtime 能调度任务; BSP 能驱动 APB NPU; NP
2026-05-11
Computer Architecture
#testing #CoolDA #Verilator #verification
CoolDA 设计仿真(四):xOS Shell 与 Verilator 交互

CoolDA 设计仿真(四):xOS Shell 与 Verilator 交互

前言硬件 demo 如果只能在 testbench 里改输入,系统感会很弱。CoolDA 这类 SoC 仿真更进一步:让 CPU 启动一个精简 shell,用户或脚本通过 shell 触发 runtime,runtime 再驱动 NPU。 这样 Verilator 就不只是“跑 RTL”,而是变成一个可交互的系统实验环境。 交互链路整个交互链路可以写成: 123456789host termin
2026-05-10
Computer Architecture
#CoolDA #Verilator #xOS #simulation
CoolDA 设计仿真(三):BSP、runtime 与 tile 调度

CoolDA 设计仿真(三):BSP、runtime 与 tile 调度

前言硬件核只会做 4x4,但用户想算的矩阵可能是 8x8、16x16,甚至更大。解决方法不是让 CPU 直接操作每一个寄存器细节,而是分两层: BSP:把寄存器表包装成薄函数; runtime:把大任务拆成 4x4 tile,并调度硬件核反复执行。 BSP:越薄越好BSP 的职责是硬件寄存器访问。它应该非常薄。 最底层是 MMIO helper: 1234567891011static in
2026-05-09
Computer Architecture
#CoolDA #runtime #BSP #tiling
CoolDA 设计仿真(二):APB 外设与 4x4 INT8 矩阵乘核

CoolDA 设计仿真(二):APB 外设与 4x4 INT8 矩阵乘核

前言CPU 眼里的 NPU,不是一堆乘法器,而是一组寄存器。只要寄存器契约设计清楚,软件就能驱动硬件;只要契约设计混乱,硬件再能算也很难用。 这一篇拆 CoolDA 的 APB NPU:寄存器怎么排,A/B 数据怎么打包,start/busy/done 如何工作,4x4 乘法核如何完成计算。 APB 外设的基本形状一个 APB 外设大致会接收这些信号: 123456
2026-05-08
Computer Architecture
#CoolDA #APB #RTL #MMIO
CoolDA 设计仿真(一):CPU 如何把任务交给 NPU

CoolDA 设计仿真(一):CPU 如何把任务交给 NPU

前言单独写一个 NPU 矩阵乘法模块,只能说明硬件会算。真正有系统意义的问题是:CPU 怎么使用它? CoolDA 这类 SoC demo 要讲的就是这条路径: 1234567用户命令 -> 操作系统 shell -> runtime -> BSP 驱动 -> APB 总线 -> NPU 寄存器 -> 4x4 INT8 矩阵乘法核 这篇先建立系统视
2026-05-07
Computer Architecture
#SoC #CoolDA #NPU #runtime
NPU 设计(五):分层验证与波形调试

NPU 设计(五):分层验证与波形调试

前言RTL 设计最怕“看起来能跑”。一个 NPU 小 demo 如果只做一次端到端输出,很难定位问题。真正稳妥的方式是分层验证: 12345单 PE -> PE Array -> Control Unit -> NPU Top -> 算子链 每一层都锁住一部分语义,最终整机才可信。 第一层:单 PE 验证单 PE 要验证的不是“能不能输出一个数”,而是乘加合约是
2026-05-02
Computer Architecture
#NPU #RTL #Verilator #verification
NPU 设计(四):控制状态机、激活和池化

NPU 设计(四):控制状态机、激活和池化

前言PE Array 负责算,Unified Buffer 负责存,但 NPU 还缺一个“指挥系统”。这个系统就是 Control Unit。 Control Unit 不做乘法,却决定: 什么时候接收命令; 什么时候从 buffer 读数据; 什么时候启动 PE Array; 什么时候做激活和池化; 什么时候把结果输出。 32 位命令格式一个最小 NPU 可以使用 32 位命令: 123
2026-05-01
Computer Architecture
#NPU #RTL #control unit #post-processing
123…30

搜索

Hexo Fluid
总访问量 次 总访客数 人