Skip to content
This repository has been archived by the owner on Jul 6, 2023. It is now read-only.

Releases: TonyCrane/CraneCPU

Final RV64 CPU with MMU and kernel

06 Jul 10:21
b525b1d
Compare
Choose a tag to compare
  • 64 位 RISC-V 五级流水线 CPU
  • 支持 RV64IZicsr 指令集的全部指令(fence ebreak wfi 除外)
  • 使用预测不跳转的分支冒险处理方式
  • 包含 Supervisor 和 User 两个特权级,支持异常处理、特权态切换
    • CSR 实现了 sstatus, sepc, stvec, scause, sscratch, satp
  • 使用了 MMU,支持 RISC-V Bare 和 Sv39 模式虚拟内存管理
    • 实现了 Sv39 模式规定的 4KB、2MB、1GB 三种分页粒度页表的查询
    • 冯诺依曼架构存储,目前采用 2MB 物理地址空间
  • 支持串口输出,MMIO 写入地址为 0x10000000
  • 最终 CPU 通过了和 qemu 对比的简易 difftest 测试
  • 可以运行起简易的操作系统
    • 在给定操作系统上添加了用户态进程、系统调用、串口输出

Full Changelog: v2.2.0...v2.3.0

PipelinePriviledged

26 Apr 14:21
f4ca771
Compare
Choose a tag to compare

流水线 CPU(基本 RV32I 指令),使用 forwarding 处理数据冒险,stall 处理控制冒险 + 少部分特权级指令,支持 ecall、非法指令的异常处理

Full Changelog: v2.1.0...v2.2.0

PipelineForwarding

26 Apr 13:39
56e108c
Compare
Choose a tag to compare

流水线 CPU(基本 RV32I 指令),使用 forwarding 处理数据冒险,stall 处理控制冒险

Full Changelog: v2.0.0...v2.1.0

Pipeline

26 Apr 13:23
8e4b730
Compare
Choose a tag to compare

流水线 CPU(基本 RV32I 指令)不处理冒险,需要手动插入 nop 避免数据冒险和控制冒险

Full Changelog: v1.0.0...v2.0.0

SingleCyclePriviledged

26 Apr 13:02
a9cdb2b
Compare
Choose a tag to compare

单周期 CPU(RV32I 基本功能)+ 少部分特权级指令,支持 ecall、非法指令的异常处理

Full Changelog: v1.0.0...v1.1.0

SingleCycle

26 Apr 12:20
bfbed38
Compare
Choose a tag to compare

单周期 CPU(RV32I 基本功能)

Full Changelog: https://github.com/TonyCrane/CraneCPU/commits/v1.0.0