11|手写CPU(六):如何让我们的CPU跑起来?
系统总线设计
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了在LMOS上实现MiniCPU的过程,包括系统总线设计、只读存储器ROM的实现以及随机访问存储器RAM的实现。文章以技术性强的Verilog代码为主线,详细介绍了MiniCPU各个模块的设计和实现过程,适合对CPU设计感兴趣的读者阅读学习。此外,文章还介绍了如何设计UART模块以实现MiniCPU与其他电子设备的通信,包括UART的工作原理、数据传输格式以及汇编指令的设计和编译过程。总之,本文内容丰富,涵盖了CPU设计的多个方面,对于对CPU设计感兴趣的读者来说,是一篇值得深入阅读的技术文章。
《计算机基础实战课》,新⼈⾸单¥68
全部留言(12)
- 最新
- 精选
- mantra置顶询问小编一个小问题:学到此处 mini_cpu 小结了,还有后续的扩展吗?后续 “RISC-V 指令精讲(X)” 系列是在 GCC + QEMU 环境实现吗?会和 min_cpu 有关联吗?谢谢!
编辑回复: 1.mini CPU的讲解告一段落了,目前专栏里没计划后续扩展,有什么想法建议可以说说,这样LMOS也能看到。 后面可以看看大伙儿实际学习情况,也欢迎自荐和LMOS团队的在开源Cosmos Psi里折腾更多东西。项目链接(初始阶段,未来可期) https://github.com/CosmosPsi/CosmosDocs ,感觉不错记得star支持下! 2.环境搭建下周一、三发布,一共两节课讲解交叉编译环境配置,除了你说GCC,应该还用到了Deepin。 3.课程设计的时候,考虑到同学们水平参差不齐,为了尽量让大家跟上老师步伐,有所收获。后面的课程跟min_cpu 没有直接的“依赖”性。意思就是,前面手写CPU你觉得比较难,暂时还达不到手写出CPU的程度,也并不影响学习后续内容。 题外话:当然啦,你硬件和语言都掌握了,那更好。前期做用户调研的时候,有个同学提到一个思路:如果把执可执行程序反汇编,然后通过CPU方针或其他手段执行者可执行程序,我们看看CPU的指令流是啥样,就能帮你把CPU和汇编串联起来了。
2022-08-191 - Liu Zheng需要指出一下,如果同学用13讲里的方法安装toolchain的话,需要作以下修改才能跑出hello world来: 1. 在`sim/asm/Makefile`中,需要把所有的`riscv32`都替换成`riscv64`。详情见12讲里面的multilib部分。 2. 如果你和我一样用的是ubuntu 20.04,那么需要`mini_cpu/Makefile`里面,把`python`换成`python3`。因为默认ubuntu20.04开始已经没有`python`了。
作者回复: 对
2022-08-24归属地:湖北3 - likejjj可以在fpga上面跑这个cpu不?
作者回复: 不建议
2022-08-22归属地:湖北31 - 青玉白露打算写个汇编搞一下!
作者回复: 支持
2022-08-19归属地:湖北1 - 😇总线你的cpu-->imem的imem是啥意思啊
作者回复: 立即数
2022-09-26归属地:湖北 - 😇老师你好,我的运行make asm后显示 make -C ./sim/asm make[1]: 进入目录“/home/qianq/mini_cpu/sim/asm” + AS src/miniCPU_sim.asm build/miniCPU_sim.o make[1]: riscv32-unknown-elf-as: Command not found Makefile:27: recipe for target 'build/miniCPU_sim.o' failed make[1]: *** [build/miniCPU_sim.o] Error 127 make[1]: 离开目录“/home/qianq/mini_cpu/sim/asm” Makefile:11: recipe for target 'asm' failed make: *** [asm] Error 2 请问这个出错是什么原因呢
作者回复: 没有 配置好 编译器
2022-08-28归属地:湖北2 - Liu Zheng老师,想问一下,这里汇编代码里面没发送一个字符延时1ms是为了匹配uart的波特率吗?请问这个mini cpu的串口的波特率是在哪里指明的啊?是固定在uart的verilog代码的某个地方了吗?
作者回复: 要改代码 的
2022-08-22归属地:湖北2 - 云海为什么我运行 make asm 的时候出现这样的error?谢谢 make -C ./sim/asm make[1]: Entering directory '/home/yh/ws/riscv/Geek-time-computer-foundation/lesson06~11/mini_cpu/sim/asm' + AS src/miniCPU_sim.asm build/miniCPU_sim.o make[1]: riscv32-unknown-elf-as: Command not found Makefile:27: recipe for target 'build/miniCPU_sim.o' failed make[1]: *** [build/miniCPU_sim.o] Error 127 make[1]: Leaving directory '/home/yh/ws/riscv/Geek-time-computer-foundation/lesson06~11/mini_cpu/sim/asm' Makefile:11: recipe for target 'asm' failed make: *** [asm] Error 2
作者回复: 要安装 riscv工具链
2022-08-20归属地:湖北 - TableBear好难o(╥﹏╥)o
编辑回复: 慢慢来,不积跬步无以至千里。有啥具体的问题,也可以发出来~
2022-08-19 - 苏流郁宓哈佛结构?
作者回复: 嘿嘿
2022-08-19归属地:湖北