DMR兼容RISC-V架构的乱序超标量通用处理器核.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【DMR处理器核心详解】 DMR(国防科技大学计算机学院研发)是一款基于RISC-V架构的乱序超标量通用处理器核,旨在满足高性能计算需求。它支持三种特权模式:用户态(user-mode)、特权态(supervisor-mode)和机器态(machine-mode),并且遵循RV64G指令集规范,同时进行了自定义向量扩展。虚拟内存系统兼容Sv39和Sv48,物理地址空间为44位。 **1. 微架构设计** DMR的微架构包含以下关键特性: - 取指宽度为256位,可同时处理8条32位指令。 - 译码、寄存器重命名和指令分派的宽度均为4,确保并行处理能力。 - 使用统一物理寄存器文件,但当物理寄存器不足时,重命名过程可能受阻。 - 采用分布式调度队列,根据指令类型分为整数、访存和浮点调度队列。 - 每个时钟周期最多可乱序调度9条指令,包括3条整数、1条分支、2条load、1条store和2条浮点指令。 - 使用重定序缓冲区(ROB)进行乱序执行,并按顺序提交指令。 - 指令和数据缓存均为64KB,4路组相联,缓存行大小为64B。 **2. 流水线结构** DMR的单周期整数流水线由12级组成,包括4拍的取指和2拍的译码阶段。预译码和指令融合处理在第1拍,第2拍解码出操作数信息。重命名站(REN)、指令分派站(DS)和指令发射站(ISS)依次进行操作,发射后的指令进入执行站(EX)。数据Cache命中时,Load-to-use延迟为4拍。浮点流水线增加了额外的一拍MUX用于数据选择,以支持高速运行。 **3. 分支预测** DMR利用TAGE(Tagged Geometric History Length)算法预测分支方向,包括一个基础预测器组件和四个标记的历史长度生成索引的预测组件。此外,还有2K项的BTB(Branch Target Buffer)、48项的RSB(Return Stack Buffer)和512项的IPB(Indirect Prediction Buffer)分别预测不同类型分支的目标地址。 **4. 指令拆分与融合** - 指令拆分:在译码阶段,整数到浮点的转换指令被拆分为两个内部操作,转换在浮点单元执行,而读写整数寄存器文件操作在访存部件完成,降低了对整数寄存器文件端口的需求,简化了数据旁路网络设计。 - 指令融合:在译码阶段,特定的指令组合被融合成一条指令,提高了实际发射宽度,减少了乱序执行资源的占用,降低了调度开销。例如,DMR实现了auipc指令与load指令的融合,以及auipc指令与jalr指令的融合,以支持PC相对的寻址操作。 DMR处理器核心通过乱序执行、超标量设计和优化的分支预测、指令处理策略,提升了处理器性能和能效,能够在FPGA原型系统上成功启动Linux OS,并在14nm工艺下达到2GHz的主频,Core Mark分数为5.12 MHz。这一设计体现了RISC-V架构在高性能计算领域的潜力。
- 粉丝: 4494
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 国际象棋检测11-YOLO(v7至v9)、COCO、Darknet、Paligemma、VOC数据集合集.rar
- 使用Python和matplotlib库绘制爱心图形的技术教程
- Java外卖项目(瑞吉外卖项目的扩展)
- 必应图片壁纸Python爬虫代码bing-img.zip
- 基于Pygame库实现新年烟花效果的Python代码
- 浪漫节日代码 - 爱心代码、圣诞树代码
- 睡眠健康与生活方式数据集,睡眠和生活习惯关联分析()
- 2024~2025(1)Oracle数据库技术A卷-22软单、软嵌.doc
- 国际象棋检测10-YOLO(v5至v9)、COCO、CreateML、Paligemma数据集合集.rar
- 100个情侣头像,唯美手绘情侣头像