自制CPU(四)程序编写

本文介绍了如何为自制CPU编写程序,包括使用load、store、beq、jump、add等基本指令,通过案例展示了如何将指令编写成case语句或coe文件,最终实现CPU运行简单程序的过程。
摘要由CSDN通过智能技术生成

学习更多相关知识,关注博主知乎账号,用户名Trustintruth   https://www.zhihu.com/people/suo-yi-xin-90/activities

在我们设计出来前边三种CPU之后,我们来进行程序的编写。

所谓程序的编写,就是;利用我们写好的CPU,根据我们可执行的指令集,来编写一段程序,可一直用我们的CPU来完成。

首先,我们在写程序之前,确定你的CPU可以执行load,store,beq,jump,add几种基础指令,如果这几个都没有,那这个程序怕是也做不出来的。

在你希望实现的小系统中,一定有你的外围电路,它是将你外部输入的数据写入外存/数据存储器 中的,并将运算结果读出并显示或... 之后你的指令在开始时寄存器堆中可以预先有操作数,也可以通过指令读入。程序在开始前进行load将数据从数据存储器中读入寄存器堆中,最后再从寄存器堆中用store写会到数据寄存器中。在运算中有判断时就使用beq来完成,直接跳转一般都在beq跳转到的位置进行有效操作完的下一条指令,为了实现如C语言中的if语句。

最终你的指令是写成一个case语句中或者写成一个.coe文件的,coe文件直接写入数据存储器中,

例如

        32'd0 : instruction <= 32'b000001_00001_00100_0000000000000000;            //1 1 4 000 lw
        32'd1 : instruction <=

《自己动手写CPU(含CD光盘1张)》使用Verilog HDL 设计实现了一款兼容MIPS32指令集架构的处理器——OpenMIPS。OpenMIPS 处理器具有两个版本,分别是教学版和实践版。教学版的主要设计思想是尽量简单,处理器的运行情况比较理想化,与教科书相似,便于使用其进行教学、学术研究和讨论,也有助于学生理解课堂上讲授的知识。实践版的设计目标是能完成特定功能,发挥实际作用。《自己动手写CPU(含CD光盘1张)》分为三篇。第一篇是理论篇,介绍了指令集架构、Verilog HDL的相关知识。第二篇是基础篇,采用增量模型,实现了教学版OpenMIPS处理器。首先实现了仅能执行一条指令的处理器,从这个最简单的情况出发,通过依次添加,实现逻辑操作指令、移位操作指令、空指令、移动操作指令、算术操作指令、转移指令、加载存储指令、协处理器访问指令、异常相关指令,最终实现了教学版OpenMIPS处理器。第三篇是进阶篇,通过为教学版OpenMIPS添加Wishbone总线接口,从而实现了实践版OpenMIPS处理器,并与SDRAM控制器、GPIO模块、Flash控制器、UART控制器、Wishbone总线互联矩阵等模块组成一个小型SOPC,然后下载到FPGA芯片以验证实现效果,最后为实践版OpenMIPS处理器移植了嵌入式实时操作系统μC/OS-II。 《自己动手写CPU(含CD光盘1张)》适合计算机专业的学生、FPGA开发人员、处理器设计者、嵌入式系统应用开发工程师、MIPS平台开发人员以及对处理器内部的实现感兴趣的读者阅读,也可以作为高等院校计算机原理、计算机体系结构等课程的实践参考书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值