从零开始设计一个简单的CPU和计算机,证明是可行的
现代的CPU很强大和复杂,导致很多人认为个人是无法设计一个CPU的,或者即使能设计出来简单的也是需要很多经费和大量的元器件。百度和谷歌一下网上的设计,几乎都是外国人的作品,有一些还是很复杂的,动不动说花了好几年时间。最近有一个英国剑桥的詹姆斯·纽曼(James Newman),打造一台只能玩俄罗斯方块的大块头花了他四年时间,耗资达到4万英镑!!!!而仅仅只是希望让人了解计算机的工作原理。
那我们普通人能不能加入?到底能不能设计出一个计算机来?
当然能!
强大的CPU暂且不说,就拿简单的来说,我认为个人设计一个简单的CPU不但是可行的,还是非常有意义的,当然这个设计必须得是从零开始设计的----只使用简单的逻辑元器件,比如74系列元器件(三极管?)。
在查找了很多相关的书籍还有逛国内外网站后,又花了很多时间去比较和验证,终于设计出了一个简单又特别经典的计算机(关键是成本也少)。
也许很多人说为什么不使用可编程逻辑器件来制作呢?还简单便捷,我觉得能使用简单的逻辑器件制作的才是从零开始设计,也是对计算机的底层工作原理了解最好的方式。
另外要说,按照我的设计,你甚至可以使用简单的三极管、MOS管来制作一个计算机!而且并不是很难的事情,因为我的设计也只使用了28块74系列芯片而已!
==============================================
介绍一下我设计的计算机系统的基本概况:
小名:qCPU(CuteCPU)
CPU:4位
ROM:4KB
RAM:256B
运行频率: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 立即跳转
==============================================
不多说了,,,上图说话吧,,目前一些功能还在测试中,代码库也在完善中。
这个板子发去打样后发现有一个BUG,就在板子上临时修改了
待续……
补充内容 (2017-3-8 19:46):
最新的帖子如下:http://www.crystalradio.cn/thread-1369015-1-1.html bg1bjf 发表于 2017-2-28 13:29
也曾有过楼主同样的热情,上学期间曾对清华的CEC-I透彻研究了软硬件,其实就是改良版APPLE II,国外有6502. ...
你说的是 中华学习机CEC-I , 6502 CPU很多人玩,我自己也有 两套6502 的单板机。
我就是希望做 一款从零开始设计的 计算机学习板
现在这款很小巧,4位的,我觉得很简洁很完美,哈佛体系结构的。
=======================================
后面如果大家支持我的话,我就再搞一个冯诺依曼结构的,可能做8位,只用一个存储器就可以
加上中断,栈之类的。
潜得够深的:lol国人就是缺乏这种从基础扎扎实实玩起的耐心:L http://imgsrc.baidu.com/forum/w%3D580/sign=23b166bbb97eca80120539efa1229712/088ea9773912b31b21f10db18f18367adbb4e189.jpg
http://imgsrc.baidu.com/forum/w%3D580/sign=01b345d6c38065387beaa41ba7dca115/d2743912b31bb0516ab973b03f7adab44bede089.jpg
http://imgsrc.baidu.com/forum/w%3D580/sign=23de3f286c380cd7e61ea2e59145ad14/4211b31bb051f81915b8c3d2d3b44aed2f73e789.jpg
http://imgsrc.baidu.com/forum/w%3D580/sign=5e20909005d79123e0e0947c9d355917/c818b051f8198618a2da2f1c43ed2e738ad4e689.jpg 2楼图片全挂了 看标题,我以为楼主做了一个4位的芯片呢。。。
不过,这个已经很牛了,希望你能继续,看看能不能用这个CPU做成一台超级收音机什么的:victory::lol 早年的CPU就是用74系列芯片搭成的,而74系列芯片就是为了计算机的制造而出现的。74系列也是目前最接近逻辑电路原理的系列芯片。赞一个!:victory: 了不起的实践者,顶。:victory: 很强,赞!对计算机原理了解透彻才能做到!! 英特尔回头向后面的同志招手示意,别掉队了,快跟上。 这个相当牛了!不知主频多少?几个时钟周期一条指令?指令的长度为多少?等等 楼主不错~这是个耗时烧脑的工作啊 科创论坛也有一个是搞74系列CPU的, 不错,:victory: 完全不懂数字电路的先膜拜大神一个!