Skip to content

Latest commit

 

History

History
56 lines (39 loc) · 1.24 KB

devlog.md

File metadata and controls

56 lines (39 loc) · 1.24 KB

开发日志

[TOC]

CPU调整到riscv64指令集 2019.9.3-

  • 调整数据通路宽度到64
  • 调整DCache读写宽度
  • 调整外围内存, 总线配置
  • 引入新指令

模块改动说明

Cache

  • Cache64: 64位数据缓存, 使用64位地址
  • 目前所有的Cache对外数据宽度均为64

RV64指令集中, 地址非对齐的访存结果是实现相关的, 为了简化设计, 这里对非对齐的访存不做特殊处理

TODO:

  • IMM变化
  • 32位乘法器/除法器
  • RESET VECTOR
  • 64 bit AddressSpace 分配
  • cache直接使用参数改成64位的效果尚未测试
  • 特权寄存器变更
  • simple bus 调整和 AXI4 调整

BPU, RVC基本完工, 系统调试中 2019.10.9-

TODO:

  • 优化调试基础设施
  • 合并分支
  • 原子指令
  • RTT
  • freert
  • ucasos-lite
  • BPU优化
  • BPU flush
  • xv6

Linux 成功启动 2019.11.19

busybox 运行正常, redis 可以运行

已知的问题:

  • TLB部分对时序有较大的影响, PF相关逻辑导致TLB状态机逻辑延迟很大
  • 处理器前端(取指部分)可扩展性较差, 没有完整发挥出64bit取指通路的性能
  • 分支预测器的实现需要配合取指部分进行改动
  • LSU缺少优化