这是一个偏研究/娱乐性质的底层性能实验仓库,主题是“寻找单条 CPU 指令能慢到什么程度”。项目通过汇编、C、特权指令、MMIO、PCIe 设备访问、缓存/TLB/微码路径等手段,构造极端场景来测量 x86 指令的最差延迟,并维护了一个“慢指令排行榜”。它不是常规应用库,也不是性能优化工具,而是用于 CPU 微架构、系统软件、安全研究和硬件行为探索的实验集合。
适用领域
CPU 微架构研究 / x86 汇编 / 底层性能分析 / 操作系统内核/驱动开发 / 硬件安全研究 / PCIe/MMIO 行为分析 / 微码与特权指令实验 / 逆向工程与硬件探测
配置难度
高。需要扎实的 C、x86 汇编、操作系统、CPU 微架构和硬件平台知识;普通应用开发者只适合阅读学习,不建议直接运行高风险实验。
商业价值
直接商业价值较低,因为它不是可直接集成的软件库或业务工具。但在 CPU/硬件厂商、云基础设施、操作系统内核、驱动开发、安全研究和性能诊断领域有较高研究价值,可用于发现极端延迟路径、验证平台鲁棒性、辅助微架构安全分析和培养底层系统能力。
01
技术亮点
- 主题非常独特:不是优化 CPU 性能,而是寻找单条指令的最差延迟下限
- README 中给出了清晰的 x86 慢指令排行榜,包括 nop、rdtsc、idiv、cpuid、rdrand、wbinvd、MMIO load、fxrstor64 等
- 展示了大量真实硬件上的极端行为,例如通过 PCIe/MMIO 高延迟区域让单条 fxrstor64 指令耗时数十秒
- 对理解 CPU pipeline stall、微码 assist、缓存/总线/PCIe 非 posted transaction 等机制很有启发
- MIT License,便于学习、引用和二次实验
- 项目星标较高,说明在底层/安全研究社区具有一定关注度
02
目标用户
- 熟悉 C 和 x86 汇编的系统程序员
- CPU 微架构研究人员
- 操作系统内核开发者
- 驱动开发者
- 硬件安全研究人员
- 对指令延迟、MMIO、PCIe、缓存一致性有兴趣的高级开发者
- 计算机体系结构课程或实验中的研究型用户
03
配置要求
- Linux 或类 Unix 开发环境更适合运行和修改实验
- 需要 C 编译器、汇编器、make、perf/rdtsc 相关测量能力
- 部分实验需要 x86/x86_64 CPU,且依赖特定 CPU 厂商、型号或平台行为
- 涉及 mov cr3、rdmsr、wrmsr、wbinvd、in/out、MMIO 等实验时,通常需要内核态、root 权限或特殊权限
- MMIO/PCIe 相关实验依赖具体硬件地址和设备,不同机器上可能完全不可复现
- 建议关闭无关后台负载,固定 CPU 频率或理解项目使用的基准频率归一化方式
- 强烈建议在测试机、实验机或虚拟化隔离环境中研究源码,但需要注意虚拟机会改变指令行为和测量结果
04
适用场景
- 学习不同 x86 指令在极端条件下的延迟差异
- 研究特权指令、I/O 指令、MMIO 访问、缓存刷新、TLB 刷新等底层机制
- 观察 CPU 微码辅助路径、denormal 浮点处理、split lock、wbinvd、rdmsr/wrmsr 等行为
- 为 CPU/平台异常延迟、固件问题或硬件设计问题提供实验参考
- 构造微架构安全研究中的极端 stall 场景
- 作为底层性能测试、硬件行为演示或教学素材
05
部署与配置
- 克隆仓库:git clone https://github.com/xoreaxeaxeax/asm-hall-of-shame.git
- 进入目录:cd asm-hall-of-shame
- 查看各子目录中的实验,例如 nop、idiv、cpuid、wbinvd、fxrstor64 等
- 根据子目录内的 Makefile 或源码进行编译;通常需要 GCC/Clang、make、binutils 等基础构建工具
- 如果实验涉及特权指令、MSR、I/O 端口或 MMIO,可能需要 root 权限、内核模块支持或裸机环境
- 在非生产机器上运行实验,并先阅读对应实验源码,确认不会触发系统不稳定、设备异常或数据丢失
06
风险与注意事项
- 高风险实验仓库,不适合在生产环境或个人主力机器上直接运行
- 部分指令和访问模式可能导致系统卡死、内核崩溃、设备异常、硬件总线长时间阻塞或需要强制重启
- MMIO、I/O port、MSR、wbinvd、mov cr3 等实验具有平台相关性,错误使用可能造成不可预测行为
- 实验结果高度依赖 CPU、主板、固件、PCIe 设备、内核配置和权限环境,复现难度高
- README 主要是研究记录和排行榜,不是面向普通用户的完整教程
- 部分测试可能触发安全机制、split lock detection、内核保护或虚拟化限制
- 对初学者不友好,需要理解汇编、CPU 特权级、内存映射 I/O、缓存一致性和异常处理
2026-08-13
第11名
新收录 · github_search
2026-08-12
第9名
新收录 · github_search
2026-08-11
第8名
新收录 · github_search
2026-08-10
第11名
新收录 · github_search
2026-08-09
第16名
新收录 · github_search