0 简介
这个项目源于一个很朴素的想法:做一台完整的计算机。
完整的计算机一共包含四个部分:硬件,操作系统,编译器,应用程序
(本项目是长期项目,包含大量未填完的坑,不定期更新)
0.1 [完整的计算机]的意思
具有基本的硬件,如TLB,SPI FLASH,DDR 2 RAM
具有基础的输入输出,如键盘,显示器
具有一个基本的操作系统,拥有如进程切换,文件系统
可以运行基本的c语言程序
索引
以下是完整的计算机的每个部分的具体设计
1 硬件:
使用FPGA开发板Nexys4DDR:CPU+内存+硬盘+总线 OpenMIPS
键盘,VGA显示器:作为系统的输入与输出
1.1 Nexys4 DDR的简介
这是一块在学生群体中比较常见的一块FPGA开发板,具有包含一块128MB的DDR2 内存芯片在内的丰富外设
官方文档 Nexys 4 DDR [Digilent Documentation]
本项目计划使用该开发板制作一个可以运行C语言程序的计算机
2 操作系统:
使用类unix操作系统
对硬件进行管理,运行应用程序
3 编译器:
计划使用一个精简C语言编译器,使用原先CMin项目改进版本CMin
4 应用程序:
运行一个3D渲染的程序 类似yufeiran/3D_Engine
5 参考
Nexys 4 DDR - Getting Started with Microblaze
Nexys 4 DDR Music Looper
《计算机系统要素》
《CPU自制入门》
《自己动手写CPU》