Skip to content

Commit e9dd8b9

Browse files
committed
docs: modify some sections' header
1 parent e9f0825 commit e9dd8b9

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

report/tc_l2.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
我是缪宇驰,学号是20210324,以前结合芯来的书了解过部分处理器相关内容,但没有实际编写代码实现设计过。西北工业大学航天学院精确制导与控制研究所在读研究生,将于2022年6月毕业。2018年本科毕业于西北工业大学航天学院探测制导与控制技术专业。现主要研究方向为微小卫星空间科学探测,星载计算机设计,小天体表面空间机器人运动规划和仿真。目前参与国家自然科学基金一项,发表国内论文一篇。曾获得研究生一等奖学金等。擅长FPGA板级电路设计开发和调试。热爱开源软硬件运动,业余时间从事开源工具类软件开发,[个人github地址](https://github.com/maksyuki)
66

7+
以前没有实际设计过处理器核,参加一生一芯三期算是我第一次完整实现一个处理器。
8+
79
## 项目概述
810

911
- 项目地址: [tree-core-cpu](https://github.com/microdynamics-cpu/tree-core-cpu)
@@ -12,16 +14,17 @@
1214

1315
TreeCoreL2是一个支持RV64I的单发射5级流水线的开源处理器核。支持axi4总线取指和访存,支持动态分支预测(BTB, PHT, GHR),支持机器特权模式下的异常中断处理。能够在difftest和soc仿真环境下启动rt-thread。
1416

15-
## 微架构
17+
## 微架构设计
1618
<p align="center">
1719
<img src="https://raw.githubusercontent.com/microdynamics-cpu/tree-core-cpu-res/main/treecore-l2-arch.drawio.svg"/>
1820
<p align="center">
1921
TreeCoreL2 总体数据流图
2022
</p>
2123
</p>
2224

25+
TreeCoreL2的微架构设计采用经典的5级流水线结构,取指和访存的请求通过crossbar进行汇总并转换成自定义的axi-like总线**Data Exchange(dxchg)**,最后通过转换桥将dxchg协议转换成axi4协议并进行仲裁。下面将着重介绍**取指****执行****访存****axi4协议仲裁**四部分的具体实现。
2326

24-
### IFU
27+
### 取指单元
2528
使用Gshare
2629
<p align="center">
2730
<img src="https://raw.githubusercontent.com/microdynamics-cpu/tree-core-cpu-res/main/treecore-l2-ifu.drawio.svg"/>
@@ -38,24 +41,20 @@ TreeCoreL2是一个支持RV64I的单发射5级流水线的开源处理器核。
3841
</p>
3942
</p>
4043

41-
### IDU
42-
43-
### EXU
44-
45-
### MAU
44+
### 执行单元
4645

47-
### WBU
46+
### 访存单元
4847

49-
### AxiBridge
48+
### axi4转换桥
5049

5150

5251
## 项目结构和参考
53-
TreeCore的代码仓库结构借鉴了[riscv-sodor](https://github.com/ucb-bar/riscv-sodor)[oscpu-framework](https://github.com/OSCPU/oscpu-framework),并使用make作为项目构建工具,能够直接使用`make [target]`实现依赖软件的下载和配置,不同平台(difftest和soc)verilog文件生成和修改,回归测试等
52+
TreeCore的代码仓库结构借鉴了[riscv-sodor](https://github.com/ucb-bar/riscv-sodor)[oscpu-framework](https://github.com/OSCPU/oscpu-framework)组织代码的方式并使用make作为项目构建工具,能够直接使用`make [target]`下载、配置相关依赖软件、生成、修改面向不同平台(difftest和soc)的verilog文件,执行回归测试等
5453

5554
<p align="center">
5655
<img src="https://raw.githubusercontent.com/microdynamics-cpu/tree-core-cpu-res/main/treecore-l2-make.png"/>
5756
<p align="center">
58-
使用make自定义函数扩展
57+
使用make自定义函数扩展并支持高亮
5958
</p>
6059
</p>
6160

@@ -74,7 +73,7 @@ TreeCore的代码仓库结构借鉴了[riscv-sodor](https://github.com/ucb-bar/r
7473

7574

7675
## 心得感想
77-
调试的bug,和以往做过的不同,遇到的困难和迷茫,相比过去自己的成长,对一生一芯的期望和改进。开发日志。作为。
76+
调试的bug,和以往做过的不同,遇到的困难和迷茫,相比过去自己的成长,对一生一芯的期望和改进。[开发进度表](https://docs.qq.com/sheet/DY3lORW5Pa3pLRFpT?newPad=1&newPadType=clone&tab=BB08J2)。作为。
7877

7978
<p align="center">
8079
<img src="https://raw.githubusercontent.com/microdynamics-cpu/tree-core-cpu-res/main/treecore-l2-schedule.png"/>
@@ -83,7 +82,7 @@ TreeCore的代码仓库结构借鉴了[riscv-sodor](https://github.com/ucb-bar/r
8382
</p>
8483
</p>
8584

86-
在代码实现的过程中,将自己踩过的坑以及qq群各位同学提的问题记录了下来,总结成一个FAQ文档。目前该文档有近3.7万字,202张图片,共128页。之后会对相关问题进行索引,方便查找。
85+
在代码实现的过程中,将自己踩过的坑以及qq群各位同学提的问题记录了下来,并配以相关解答,总结成了一个FAQ文档,方便。目前该文档有近3.7万字,202张图片,共128页。之后对文档中的相关内容进行补充和索引,方便查找。
8786

8887
<p align="center">
8988
<img src="https://raw.githubusercontent.com/microdynamics-cpu/tree-core-cpu-res/main/treecore-l2-guide.png"/>
@@ -95,7 +94,7 @@ TreeCore的代码仓库结构借鉴了[riscv-sodor](https://github.com/ucb-bar/r
9594
一点开发过程的思考,工具的设计
9695

9796
## 计划
98-
目前开发的**TreeCoreL2**是TreeCore系列处理器核的第二个版本,目前基本达到设计目标,后续将会继续优化代码。而第三个版本(**TreeCoreL3**)和第四个版本(**TreeCoreL4**)将会追求更高的性能,也是规划中的参加一生一芯第四期和第五期的处理器。其中**TreeCoreL3**将在前代核的基础上,支持RV64IMAC指令,cache和mmu,并提高流水线级数,使其能够启动rt-thread,xv6和linux。**TreeCoreL4** 则会在前代的基础上实现浮点运算和多发射技术,进一步提高处理器性能。
97+
目前开发的**TreeCoreL2**是TreeCore系列处理器核的第二个版本,目前基本达到设计目标,后续将会继续优化代码。而第三个版本(**TreeCoreL3**)和第四个版本(**TreeCoreL4**)将会追求更高的性能,也是规划中的参加一生一芯第四期和第五期的处理器。其中**TreeCoreL3**将在前代核的基础上,支持RV64IMAC指令,cache和mmu,并提高流水线级数,使其能够启动rt-thread,xv6和linux。**TreeCoreL4** 则会在**TreeCoreL3**的基础上实现浮点运算和多发射技术,进一步提高处理器性能。
9998

10099
对于TreeCoreL2来说:
101100
- 继续改进当前TreeCoreL2的微架构设计,能够使用更多chisel的特性来简化代码实现

0 commit comments

Comments
 (0)