查看: 1129|回复: 31
收起左侧

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

[复制链接]
     

1

主题

2

帖子

6

积分

实习生

 楼主| 发表于 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
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

1

主题

2

帖子

6

积分

实习生

 楼主| 发表于 2017-4-11 11:13 | 显示全部楼层 |返回版面
为了方便交流,我建了一个QQ群 自制CPU和计算机群 322053937
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

3

主题

39

帖子

127

积分

中级技术员

发表于 2017-4-11 13:24 | 显示全部楼层 |返回版面
这方面的 已经有参考书籍, 例如   CPU自制入门     自己动手写CPU
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

1325

主题

1万

帖子

4万

积分

版主

发表于 2017-4-11 17:50 | 显示全部楼层 |返回版面
1.图片挂掉了
2.用汇编不算牛逼,像易语言一样,做成用中文编程才牛逼了。
qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←
     

1325

主题

1万

帖子

4万

积分

版主

发表于 2017-4-11 17:50 | 显示全部楼层 |返回版面
用汇编不算牛逼,像易语言一样,做成用中文编程才牛逼了。
qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←
     

2

主题

204

帖子

635

积分

高级技术员

发表于 2017-4-11 19:31 | 显示全部楼层 |返回版面
楼上这么酸?
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
      

524

主题

2万

帖子

8万

积分

版主

发表于 2017-4-11 20:10 | 显示全部楼层 |返回版面
感谢分享
昵称:灰小子 业务QQ:1358611172
欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422
提供免费的21ic下载频道资料下载服务
     

358

主题

6466

帖子

2万

积分

版主

发表于 2017-4-11 20:49 | 显示全部楼层 |返回版面
这个社会混好的两种人:一是有权有势,二是没脸没皮的。
     

3

主题

71

帖子

223

积分

中级技术员

发表于 2017-4-11 21:37 | 显示全部楼层 |返回版面
https://github.com/yearnext
      

0

主题

1

帖子

13

积分

实习生

发表于 2017-4-11 21:50 | 显示全部楼层 |返回版面
你也算是大神了
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

0

主题

126

帖子

388

积分

资深技术员

发表于 2017-4-12 00:16 | 显示全部楼层 |返回版面
数电高手哇,膜拜~~不过用FPGA搞的话是不是更方便些~~
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

14

主题

798

帖子

2409

积分

初级工程师

发表于 2017-4-12 08:37 | 显示全部楼层 |返回版面
32个赞,数电对于我,只是两个文字,完全丢了,所以看不懂
专注于以太网  GPRS GSM CAN 485 继电器等工控模块
小店:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-6466605198.19.7OO7ja&id=522606430970
回头之人,永远无法见到真相

3

主题

27

帖子

81

积分

初级技术员

发表于 2017-4-12 08:49 | 显示全部楼层 |返回版面
建意用FPGA/CPLD吧,完全可以做出个简易版32位CPU。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

0

主题

61

帖子

193

积分

中级技术员

发表于 2017-4-12 09:22 | 显示全部楼层 |返回版面
真不错,大赞一个!!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

2

主题

33

帖子

109

积分

中级技术员

发表于 2017-4-12 09:34 | 显示全部楼层 |返回版面
楼主大才,这种要很深的功力才行,持续关注!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0

2

主题

276

帖子

1693

积分

助理工程师

发表于 2017-4-12 09:47 | 显示全部楼层 |返回版面
真是下了工夫,这种精神不得不赞一个 未来的国产计算机 666666
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0

0

主题

4

帖子

12

积分

实习生

发表于 2017-4-12 09:56 | 显示全部楼层 |返回版面
(最近有一个英国剑桥的詹姆斯·纽曼(James Newman),打造一台只能玩俄罗斯方块的大块头花了他四年时间,耗资达到4万英镑!!!)
  外国的电子元件辣么贵????
  
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
     

1075

主题

1万

帖子

4万

积分

版主

发表于 2017-4-12 11:15 | 显示全部楼层 |返回版面
用一个 cy3 的 fpga 不就搞定了/??

46

主题

1839

帖子

7274

积分

高级工程师

发表于 2017-4-12 11:41 | 显示全部楼层 |返回版面
楼主应该直接去open core上下载个现成的。
然后移植个gcc后端,做个eclipse插件。
这才是正统的路线啊。莫非楼主是不是教FPGA的?这个野路子啊。

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

21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0

46

主题

1839

帖子

7274

积分

高级工程师

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

如果楼主做的好,可以帮你移植编译器。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里 http://open.21ic.com 移步更多21ic独家微课:http://open.21ic.com/list/3/0/0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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