• Latest Articles
  • Computer Science
  • Books Reading
  • CPP
  • OS
  • Graph
  • Big Data

构建之法 – 学习笔记

因为是自己边读边记录的,会有些乱 章节 1 概论 讨论了什么是软件工程,小项目跟公司级别的大项目的区别。各种工程化和管理化的方法。 纸飞机、莱特兄弟的飞机、波音747客机的飞机例子举的非常好,让人对大型软件项目有了更深的理解。 这些天我在调制SGLang的时候,也遇到了类似的问题。LLM Serving已经进入到了一个非常复杂的问题境界,如同当年Oracle和MS Server一样复杂,每个公司都

ICML26 Memarena Agent Memory Benchmark

一句话总结:这篇文章揭示了当前 LLM 智能体在处理长期、复杂交互任务时记忆能力的不足,并提供了一个更具挑战性的评估平台来推动该领域的进步 已有benchmark的特点 Large language model (LLM) agents have two complementary core capabilities: the ability to memorize task-relevant

Airport 95: Automated Baggage System?

Paper Link https://dl.acm.org/doi/pdf/10.1145/227531.227544 一篇1996年的老文章。作为课程学习阅读。 这篇文章《Airport 95: Automated Baggage System?》由 A. John Swartz 撰写,主要分析了丹佛国际机场(DIA)自动行李处理系统的失败案例。文章以该项目为研究对象,探讨了大型软件/系统工程中

OS与硬件的交互:TLB

我: 我已经知道了 OS 里的物理地址和虚拟地址。那难道每次我进行内存访问,都要进行一次转换吗? GPT: 是的,从概念上说,每次内存访问都需要把虚拟地址翻译成物理地址。但这不是每次都由操作系统慢慢查表完成,而主要由硬件完成。CPU 里有一个叫 TLB 的缓存,它保存最近用过的地址翻译结果。如果 TLB 命中,虚拟地址可以很快转换成物理地址;如果 TLB miss,硬件才会去查 page tabl

从零开始造一颗 RISC-V CPU(六):微架构验证体系与 IPC 性能评估

从零开始造一颗 RISC-V CPU(六):微架构验证体系与 IPC 性能评估报告 系列博客第 6 篇(最终篇) —— 在现代 CPU 设计中,验证(Verification)往往占据了流片前 70% 的工作量。本文将全面解析我们如何通过 Python 构建指令集模拟器(ISS)、约束随机验证(CRV)以及端到端的状态机快照比对,验证这套复杂的双发乱序引擎,并给出最终的微架构 IPC 性能跑分。

从零开始造一颗 RISC-V CPU(五):乱序执行的来龙去脉与微架构实现

从零开始造一颗 RISC-V CPU(五):乱序执行的来龙去脉与微架构实现 系列博客第 5 篇 —— 深入探讨乱序执行(Out-of-Order Execution)的底层硬件机制。本文将从体系结构历史出发,讲解 Tomasulo 算法的演进,并结合完整的微架构全景图(Mermaid 框图)与核心 Verilog 源码,解析我们在 1000 多行代码内构建的这套乱序执行引擎。 1. 乱序执行的来龙

从零开始造一颗 RISC-V CPU(四):Cache 微架构演进与组相联设计

从零开始造一颗 RISC-V CPU(四):Cache 微架构演进与组相联设计深度解析 系列博客第 4 篇 —— 深入探讨存储器层级(Memory Hierarchy)的底层硬件机制。本文将从早期的“存储墙”问题出发,讲解从直接映射(Direct Mapped)到 2路组相联(2-Way Set-Associative)的架构演进,并结合完整的微架构数据通路(Mermaid 框图)与 Verilo

从零开始造一颗 RISC-V CPU(三):TAGE分支预测微架构

从零开始造一颗 RISC-V CPU(三):分支预测微架构 — 从 Bimodal 到 TAGE 引擎的硬核解析 系列博客第 3 篇 —— 深入探讨影响深级流水线性能的核心命题:分支预测(Branch Prediction)。本文将通过微架构层面的演进逻辑,讲解从基础的 Bimodal 到目前工业界最先进的 TAGE(TAgged GEometric History Length)预测器的算法本质

从零开始造一颗 RISC-V CPU(二):顺序双发射(In-Order Dual-Issue)

从零开始造一颗 RISC-V CPU(二):顺序双发射(In-Order Dual-Issue)基线架构与冒险黑洞 系列博客第 2 篇 —— 这是一个非常有意思的工程伏笔:为什么我们最终走向了“乱序执行(OoO)”?本文将解剖我们的基线版本(main 分支)—— 顺序双发射(In-Order Dual-Issue)架构。我们将看看在这套初代架构中,为了保证两条指令同时无碰撞地在深浅管线中平行飞奔,

从零开始造一颗 RISC-V CPU(一):项目总览与流水线基础

从零开始造一颗 RISC-V CPU(一):项目总览与流水线基础 系列博客第 1 篇 —— 介绍整个项目的动机、架构全貌、8 级流水线设计以及关键的 hazard 处理。 项目地址:https://github.com/HaibinLai/simple-CPU/tree/main/docs 为什么要自己造 CPU? 每年的计算机组成原理课,都有一个调bug到想死的大作业:用 Verilog 实现一