[创新制造展示] 从零开始设计一个简单的CPU和计算机,证明是可行的!

[复制链接]
1998|35
 楼主 | 2017-4-11 11:08 | 显示全部楼层 |阅读模式
本帖最后由 秋林 于 2017-4-11 11:12 编辑

现代的CPU很强大和复杂,导致很多人认为个人是无法设计一个CPU的,或者即使能设计出来简单的也是需要很多经费和大量的元器件。

百度和谷歌一下网上的设计,几乎都是外国人的作品,有一些还是很复杂的,动不动说花了好几年时间。最近有一个英国剑桥的詹姆斯·纽曼(James Newman),打造一台只能玩俄罗斯方块的大块头花了他四年时间,耗资达到4万英镑!!!!而仅仅只是希望让人了解计算机的工作原理。

那我们普通人能不能加入?到底能不能设计出一个计算机来?

当然能!

强大的CPU暂且不说,就拿简单的来说,我认为个人设计一个简单的CPU不但是可行的,还是非常有意义的,当然这个设计必须得是从零开始设计的----只使用简单的逻辑元器件,比如74系列元器件(三极管?)。

在查找了很多相关的书籍还有逛国内外网站后,又花了很多时间去比较和验证,终于设计出了一个简单又特别经典的计算机(关键是成本也少)。

也许很多人说为什么不使用可编程逻辑器件来制作呢?还简单便捷,我觉得能使用简单的逻辑器件制作的才是从零开始设计,也是对计算机的底层工作原理了解最好的方式。

另外要说,按照我的设计,你甚至可以使用简单的三极管、MOS管来制作一个计算机!而且并不是很难的事情,因为我的设计也只使用了28块74系列芯片而已!

==============================================
介绍一下我设计的计算机系统的基本概况:

小名:qCPU(CuteCPU)
CPU:4位
ROM:4KB
RAM:4KB
运行频率:74芯片极限
IO:2组4位的IO口
4个按键
其他外设就是5个LED发光二极管,一个蜂鸣器,一个5X7点阵LED,一个LCD1602液晶
总共8条指令,配备我自己设计的汇编器,使用起来跟
当年使用8086汇编编程很像
目前可以使用USB下载,USB提供电源,在电脑编写代码后,编译下载运行一条龙!!

==============================================

目前的指令如下:
ADD    加法
RM     读取内存
ADDC   带进位加法
WM     写内存
SUB    减法
OUT    IO输出
<      小于比较
=      等于比较
GOTO   小跳转
QCLR   清空
QMOV   赋值
QADD   加法
QSUB   减法
QGOTO  长跳转
QJMP   立即跳转
==============================================

不多说了,,,上图说话吧,,目前一些功能还在测试中,代码库也在完善中,敬请期待。












本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 手机登录

x
 楼主 | 2017-4-11 11:13 | 显示全部楼层
为了方便交流,我建了一个QQ群 自制CPU和计算机群 322053937
| 2017-4-11 13:24 | 显示全部楼层
这方面的 已经有参考书籍, 例如   CPU自制入门     自己动手写CPU
| 2017-4-11 17:50 | 显示全部楼层
1.图片挂掉了
2.用汇编不算牛逼,像易语言一样,做成用中文编程才牛逼了。
| 2017-4-11 17:50 | 显示全部楼层
用汇编不算牛逼,像易语言一样,做成用中文编程才牛逼了。
| 2017-4-11 19:31 | 显示全部楼层
楼上这么酸?
| 2017-4-11 20:10 | 显示全部楼层
感谢分享
| 2017-4-11 20:49 | 显示全部楼层
| 2017-4-11 21:37 | 显示全部楼层
| 2017-4-11 21:50 | 显示全部楼层
你也算是大神了
| 2017-4-12 00:16 | 显示全部楼层
数电高手哇,膜拜~~不过用FPGA搞的话是不是更方便些~~
| 2017-4-12 08:37 | 显示全部楼层
32个赞,数电对于我,只是两个文字,完全丢了,所以看不懂
| 2017-4-12 08:49 | 显示全部楼层
建意用FPGA/CPLD吧,完全可以做出个简易版32位CPU。
| 2017-4-12 09:22 | 显示全部楼层
真不错,大赞一个!!
| 2017-4-12 09:34 | 显示全部楼层
楼主大才,这种要很深的功力才行,持续关注!
| 2017-4-12 09:47 | 显示全部楼层
真是下了工夫,这种精神不得不赞一个 未来的国产计算机 666666
| 2017-4-12 09:56 | 显示全部楼层
(最近有一个英国剑桥的詹姆斯·纽曼(James Newman),打造一台只能玩俄罗斯方块的大块头花了他四年时间,耗资达到4万英镑!!!)
  外国的电子元件辣么贵????
  
| 2017-4-12 11:15 | 显示全部楼层
用一个 cy3 的 fpga 不就搞定了/??
| 2017-4-12 11:41 | 显示全部楼层
楼主应该直接去open core上下载个现成的。
然后移植个gcc后端,做个eclipse插件。
这才是正统的路线啊。莫非楼主是不是教FPGA的?这个野路子啊。

楼主的跳转指令,少个条件跳转,也就是比较的结果为真,跳转。如果没有if-else来做分支,只有一个流水线就成了面条了。
你15条指令中的out和写内存可以合并为一个。

| 2017-4-12 11:43 | 显示全部楼层
http://bbs.21ic.com/forum.php?mo ... p;page=1#pid7618202
看看这个。

如果楼主做的好,可以帮你移植编译器。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册 手机登录
高级模式
我要创建版块

论坛热帖

关闭

热门推荐上一条 /3 下一条

分享 快速回复 返回顶部 返回列表