CPU设计——Triumph core

1. 立帜

该CPU是鄙人自行设计的一款基于RISC-V的处理器。在学完计算机体系结构后,发现冯诺依曼计算机体系中的运算器和控制器不过尔尔,加之近些年来RISC-V大火,遂磨刀霍霍向猪羊(就是膨胀了),预砌一款属于自己的硅砖。

该文只作设计过程中鄙人思考的记录,并不是CPU的设计文档。

工程github链接:GitHub - KGback/Triumphcore: Focus on the experimental creation of CPU archtecture based on risc-v

gitee链接:Triumphcore: Focus on the experimental creation of CPU archtecture based on risc-v

1 Triumphcore的特征

  • 基于riscv的 i 指令集
  • 32位架构
  • 四级流水线架构

2. 大事记

该部分将就Triumph的未来规划(BLUEPRINT),设计细节(DESIGN),验证环境(VERIFICATION),工具链等要素作持续的阐述和记录。

1 V1记

V1版本详细描述参考:CPU设计——Triumph core——V1.x版本_KGback的博客-CSDN博客

  • 2020/12/21
  1. BLUEPRINT:做实验性质的设计,即将Triumph设计成一个系列芯片,每一款设计可以实现一种以下链接中CPU的技术
    链接:计算机体系结构——并行性的实现_计算机体系结构并行性分析_KGback的博客-CSDN博客
  2. BLUEPRINT:V1.0版本将实现鄙人CPU设计的从0到1的跨越,该款CPU不会采用任何微架构即其他设计技巧,只是为了实现RISCV基本指令功能的CPU设计实践。从V2.0版本往后将依次迭代,并且每代将会实现上述链接中的一个技巧,具体规划将在实践中确定。
  • 2020/12/23
  1. DESIGN:流水线设计的特点是一个时钟周期内有多个流水线部件在工作
  • 2020/12/25
  1. 初步设计完成,已实现10条指令
  • 2021/01/16
  1. 准备将仿真环境从vivado平台转换到xcelium
  • 2021/02/08
  1. 已初步搭建基于xcelium的仿真环境
  • 2021/02/17
  1. xcelium仿真环境搭建完成,并测试有效;斐波拉切数列计算测试通过
  • 2021/02/19
  1. 仿真环境进一步完善,增加了二进制文件读取,并在reset后写入到指令存储器中
  2. 优化了makefile,增加了一条命令即可编译汇编文件和C文件
  3. V1.1版本完成
  • 2023/10/11
  1. V1.1打上tag

2 V2记

  • 2023/10/11

人生又开启了一段较为漫长的学习,经过两年的工作,从以前的计算机、处理器、芯片小白到现在“略懂略懂”,有成长也有遗憾,现在再回看自己两年前做的东西,简直不堪入目。。。哈哈哈,不能让它成为我“搬砖”路上的污点,乘有些闲暇时间把以前想做的却没做的再做一做,希望不是在“屎上雕花”。

开启triumphcore的第二阶段开发,初步想法包括:

1. 把core完善

(1) 把I指令做完

(2) 看看能不能升级成五级流水线

2. 基于core搭建一个简单的soc,主要包括:

(1) 搭建一个sram作为程序运行内存,core和sram通过axi总线连接

(2) 增加uart控制器作为输入输出端口,也方便在fpga上交互,uart通过apb桥接到AXI总线上

3. 毕竟是一个CPU,没有软件流肯定是不行了,这阶段把编译流和程序加载功能也增加一下

4. 完成课程要求,搭建多个FPGA平台的仿真环境,流程脚本化。

后续会把开发记录blog发出。

你可能感兴趣的:(#,CPU设计,CPU)