【论文阅读】龙芯2号处理器设计和性能分析

作者:胡伟武老师

胡伟武老师是计算机体系结构方向的大牛,推动了龙芯处理器的发展


学习体会:

学习追踪龙芯系列"工程流"论文,看看如何做工程,完成→完美

龙芯2号处理器几乎是工程向的论文,主要看一下实现了什么,还有补一下姚永斌老师出版的超标量处理器设计》,基础的知识还得再看看"一生一芯"了


摘录文章:

龙芯2号是一款64位通用RISC处理器,旨在提升中国在高性能CPU领域的自主创新能力。

取指和转移预测
  • 龙芯2号采用4路超标量流水线,每次取4条指令。P1

  • 指令Cache和指令TLB同时访问,降低延迟。P2

  • 转移预测使用BHT、BTB和RAS等机制,提高预测准确性。P3

寄存器重命名
  • 龙芯2号使用基于CAM的寄存器重命名方法,通过PRMT表保存物理寄存器和结构寄存器之间的关系。P3

  • 每条指令通过查找PRMT表确定源寄存器对应的物理寄存器号,并分配目标寄存器。P3

动态调度
  • 龙芯2号具有定点和浮点两个独立的保留站,每个保留站16项。P3

  • 保留站每拍最多可以发射5个操作数准备好的指令到5个功能部件。P3

  • Reorder队列负责指令的有序结束,最多可以容纳32条指令。P3

  • 转移队列记录转移指令信息,用于转移取消和预测修正。P4

功能部件
  • 龙芯2号包括两个定点部件(ALU1和ALU2)和两个浮点部件(FALU1和FALU2)。P4

  • 定点部件执行加减、逻辑、移位、比较、乘除等操作。P4

  • 浮点部件执行加减、取绝对值、取反、格式转换、比较、乘除、开方等操作。P4

  • 浮点功能部件支持并行单精度浮点指令和SIMD定点指令。P4

存储访问与存储管理
  • 龙芯2号一级指令和数据Cache大小均为64KB,采用4路组相联结构。P4

  • TLB共64项,为全相联结构。P4

  • 访存队列记录最多16个未执行完的load或store操作,实现访存指令乱序执行、非阻塞Cache、load speculation和store forwarding等。P5

物理实现及初步性能分析
  • 龙芯2号采用0.18 μm CMOS工艺实现,芯片面积6700μm x 6200μm,最高工作频率500MHz,功耗3-5W。P2

  • Spec CPU2000测试结果表明,龙芯2号定点性能是龙芯1号的8-10倍,浮点性能是龙芯1号的6-8倍,总体性能达到Pentium III水平。P6

  • 访存带宽测试结果表明,龙芯2号的性能瓶颈在于访存带宽,未来将通过改进套片设计来提升带宽。P6P7
总结和未来的工作
  • 龙芯2号是一款性能先进的64位RISC处理器,采用乱序执行和激进Cache设计,实现了较高的性能。

  • 未来工作包括改进处理器核和存储系统,提升性能和带宽,并开发多核版本。


参考文献:

1\]胡伟武,张福新,李祖松.龙芯2号处理器设计和性能分析\[J\].计算机研究与发展,2006,(06):959-966.

相关推荐
Jamence1 小时前
多模态大语言模型arxiv论文略读(111)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
CoderJia程序员甲2 小时前
MCP 技术完全指南:微软开源项目助力 AI 开发标准化学习
microsoft·ai·开源·ai教程·mcp
星哥说事2 小时前
使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中
开源·github
Jamence3 小时前
多模态大语言模型arxiv论文略读(110)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
迪娜学姐5 小时前
GenSpark vs Manus实测对比:文献综述与学术PPT,哪家强?
论文阅读·人工智能·prompt·powerpoint·论文笔记
想用offer打牌5 小时前
想为Seata社区进行贡献?这几点你需要了解😯
后端·开源
何双新10 小时前
第21讲、Odoo 18 配置机制详解
linux·python·开源
贝塔实验室16 小时前
FPGA 动态重构配置流程
驱动开发·fpga开发·硬件架构·硬件工程·射频工程·fpga·基带工程
说私域17 小时前
定制开发开源AI智能名片驱动下的海报工厂S2B2C商城小程序运营策略——基于社群口碑传播与子市场细分的实证研究
人工智能·小程序·开源·零售
Python私教20 小时前
字节跳动开源图标库:2000+图标一键换肤的魔法
python·开源