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

maxbiger   2017-4-10 15:25 楼主
现代的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   立即跳转
==============================================

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


主板_焊接图.jpg
1.jpg
2.jpg
4.jpg
5.jpg
6.jpg
pp07.jpg
pp08.jpg
pp10.jpg
P70402-124745.jpg
MAIN.png
pp11.jpg


为了方便交流,我建了一个QQ群 自制CPU和计算机 322053937

此内容由EEWORLD论坛网友maxbiger原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 3.jpg
  • pp05.jpg
  • pp06.jpg

回复评论 (19)

楼主好强大,以前我们老师也搭过,我等膜拜大神
点赞  2017-4-10 15:35
点赞  2017-4-10 16:13
点赞  2017-4-10 18:38
的确很厉害,下一步能不能在搞个编译器?
点赞  2017-4-10 21:18
学生时代可以玩玩, 实际上大可不必用数字电路搭, 28块74, 一大块PCB, 这价钱完全可以买一颗性能不错的FPGA了, 学学VHDL语言, 到IC设计公司供职, 起点就比菜鸟高不少.
如果是模拟电路, 除了学电磁理论, 电路原理之外, 还得多玩实际的东西
YesWatt艺瓦特电子科技有限公司 傻大粗电源转换器制造商 https://apu5ob0ydv0ysskfm03hs4dtqfr97j68.taobao.com/
点赞  2017-4-11 09:46
很厉害
亚里士缺德
点赞  2017-4-11 09:52
很给力,这样玩一玩对于理解计算机底层应该还是很有帮助的,楼主厉害
点赞  2017-4-11 09:53
这个确实要看爱好了,喜欢玩的,怎么玩都行哈,还可以试着用分立元件搭个。
点赞  2017-4-11 23:33
引用: strong161 发表于 2017-4-11 23:33
这个确实要看爱好了,喜欢玩的,怎么玩都行哈,还可以试着用分立元件搭个。

再往前一些, 上纸带和继电器...
YesWatt艺瓦特电子科技有限公司 傻大粗电源转换器制造商 https://apu5ob0ydv0ysskfm03hs4dtqfr97j68.taobao.com/
点赞  2017-4-12 11:33
厉害 还得看编译器能不能出来
点赞  2017-4-12 12:35
引用: PowerAnts 发表于 2017-4-12 11:33
再往前一些, 上纸带和继电器...

牛B,有想法!行动吧!
点赞  2017-4-12 13:06
不借助综合工具,纯画出来的话很强悍。
就是太费时间了……喜欢这么玩的话无可非议。
点赞  2017-4-12 13:47
引用: strong161 发表于 2017-4-12 13:06
牛B,有想法!行动吧!

如果说用74系列来拼单板机是一种学习的话, 用分立(BJT+R)和继电器就属于浪费生命了, 反而不如造手摇式机械计算机了, 甚至于有这时间我更乐意带着小孩做一个算盘, 当然了, 我不会教小孩打算盘, 虽然我会打三盘清七盘清, 但我宁愿教小孩在玩算盘棋. 我甚至建议在校学生用FPGA+VHDL, 我上班这儿就有三个人长年累月用VHDL"搭"数字芯片.
YesWatt艺瓦特电子科技有限公司 傻大粗电源转换器制造商 https://apu5ob0ydv0ysskfm03hs4dtqfr97j68.taobao.com/
点赞  2017-4-12 14:35
引用: PowerAnts 发表于 2017-4-12 14:35
如果说用74系列来拼单板机是一种学习的话, 用分立(BJT+R)和继电器就属于浪费生命了, 反而不如造手摇式机 ...

向在神学习!看爱好,爱好玩的,咋玩都行!
点赞  2017-4-12 16:15
这肯定是大神级别的了严重的顶一下。
点赞  2017-4-12 16:49
引用: strong161 发表于 2017-4-12 16:15
向在神学习!看爱好,爱好玩的,咋玩都行!

那是, 不过有的人就喜欢折腾, 好比玩游戏, 国外还有人用很多年的光阴, 用儿童玩具挖出一个地下室呢.
其实我不喜欢打算盘(只记得三盘清是见啥打啥, 七盘清是累加123456789), 小时候帮家母站柜台, 使得我的心算水平还不错.
YesWatt艺瓦特电子科技有限公司 傻大粗电源转换器制造商 https://apu5ob0ydv0ysskfm03hs4dtqfr97j68.taobao.com/
点赞  2017-4-12 16:55
很厉害,就是不知道怎么做的
点赞  2017-4-29 13:52
点赞  2017-5-2 09:05
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复