admin管理员组文章数量:1655366
开发环境搭建
这篇搭建开发环境,下一篇稍微详述实现过程。这两篇来源于看《自己动手写CPU》(作者博客)时写代码顺带写的笔记。这是一本非常棒的介绍cpu工作原理并且实践性很强的入门书籍,看完之后对CPU内部构造、MIPS指令集、流水线设计、Verilog编程都有了一定的了解。这本书倾向于实践,涉及到的理论部分的内容基本上仅限于《计算机组成与设计:硬件/软件接口》的第三章。开始看这本书的起因是偶然在github上浏览到一个有趣的项目——abcdabcd987/toy-cpu,点进去看了之后,发现语言是verilog,仅十余个源文件,然后想自己也学过verilog,但都没写过电路。了解之后发现这个项目参考自《自己动手写CPU》这本书,然后知乎上逛了一圈,有人说《CPU自制入门》更好一些,然后屁颠屁颠买了之后。发现并不是很能看懂,而且全书有很大一部分是在讲如何制作印制电路板和FPGA什么的。看了100页,看不下去,仿真老是通不过,有输入,但是输出全为x,找不到原因,很受挫,于是去图书馆借了《自己动手写CPU》。看了之后觉得,比前面那一本更容易懂一些。这本书实现了MIPS指令集的MIPS32版本的所有整数指令。可以使用GNU的汇编工具将MIPS汇编翻译成机器码,就不用自己设计指令集、手动汇编或者写汇编程序(应该有一定难度)了。这里搭建开发环境、熟悉GNU工具的使用。
Ubuntu虚拟机
这里需要用到Linux,我使用的VMware安装的Ubuntu18.04 LTS,虚拟机就不多介绍了,ubuntu直接无脑下一步就OK了。然后安装VMtools(参考),即可在虚拟机与物理机之间进行文字甚至文件拷贝,虚拟机即可以全屏。安装好之后,装一些必备软件以保证ssh连接能顺利进行。
sudo apt-get update
sudo apt-get install net-tools
sudo apt-get install ssh openssh-server
sudo apt-get install vim
sudo apt-get install lrzsz
先使用ifconfig
命令获取ubuntu虚拟机的IP,这里虚拟机的网络连接最好用桥接,并且保证ubuntu网卡处于打开状态,如果没有则切换到root用户使用ifup [网卡名称]
命令打开。然后使用XShell建立新连接:输入IP,端口号22,协议SSH,以及ubuntu的用户名和密码,进行远程连接,即可通过rz
命令向虚拟机上传文件,sz [file]
命令下载文件到本机。也可以通过Xftp建立ssh连接之后直接拖动文件即可完成传输。XShell and Xftp is free for home/school. 官网填写信息,即可免费下载。
GNU工具链
这里使用GNU的MIPS工具链,下载文件mips-2013.05-65-mips-sde-elf-i686-pc-linux-gnu.tar.bz2
(CSDN下载,我使用的这一个),cp
到/opt
目录下解压:
tar -xvjf ./mips-2013.05-65-m
版权声明:本文标题:【write a toy cpu】环境搭建 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729692359a1210237.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论