[TOC]
- 调整数据通路宽度到64
- 调整DCache读写宽度
- 调整外围内存, 总线配置
- 引入新指令
- Cache64: 64位数据缓存, 使用64位地址
- 目前所有的Cache对外数据宽度均为64
RV64指令集中, 地址非对齐的访存结果是实现相关的, 为了简化设计, 这里对非对齐的访存不做特殊处理
TODO:
- IMM变化
- 32位乘法器/除法器
- RESET VECTOR
- 64 bit AddressSpace 分配
- cache直接使用参数改成64位的效果尚未测试
- 特权寄存器变更
- simple bus 调整和 AXI4 调整
TODO:
- 优化调试基础设施
- 合并分支
- 原子指令
- RTT
- freert
- ucasos-lite
- BPU优化
- BPU flush
- xv6
busybox 运行正常, redis 可以运行
已知的问题:
- TLB部分对时序有较大的影响, PF相关逻辑导致TLB状态机逻辑延迟很大
- 处理器前端(取指部分)可扩展性较差, 没有完整发挥出64bit取指通路的性能
- 分支预测器的实现需要配合取指部分进行改动
- LSU缺少优化