世界超强完美DIY 电子奇才五年全手工制作CPU

39度创意研究所 2013-05-25 13:59 次阅读

  在如今越来越靠程序化、流水线作业来完成生产的制造业中,想找一件手工打造的产品,真是越来越难了。

  好在当今社会中,还是有一些强人在孜孜不倦的在完成着心中的“完美DIY”梦想。因此也使我们多了一些大开眼界、崇拜和向慕的机会。

这个神奇的Magic-1,就是由一个名叫Bill Buzbee的家伙手工打造的CPU

  看看上面这张图,究竟是个什么东东呢?可能有人会说,这不过是个大学生用的实验仪器吧。但细心的朋友则肯定已经看到这个东西下面的“Magic-1 Homebrew CPU”字样了。

  难道这真的是一个CPU?请赶快闭好你张大了的嘴巴。让笔者来告诉你答案:的确是!这是一个名字叫Bill Buzbee的朋友用200多块74系列的TTL集成电路通过纯手工制造的CPU。

  这个神奇的Magic-1,就是由一个名叫Bill Buzbee的家伙手工打造的CPU。而Magic-1也是基于这个CPU制造的计算机的名字。有意思的是,“制作Magic-1的念头是在一次午餐中冒出来的”,Buzbee说。

  Buzbee是一位编译器作者。但他为自己不熟悉CPU的实际工作而感到郁闷。因此想到了亲自动手来作一个CPU。Buzbee在大学时候没有学过任何电子类的课程,而且对于晶体管、电阻、电容等也只是一知半解。不过他的朋友Ken想到有一本老杂志曾经介绍过如何使用TTL集成电路来制作极其简单的CPU,并推荐他去看一看。一周后,Buzbee找到了这些文章,并全部读了一遍。然后在下一次午餐上,Buzbee对Ken说起决定自己打造一个CPU。Ken说:“为什么不呢?”于是,Bill Buzbee的Magic-1项目拉开了序幕。

  纯手工CPU制造编年大史记

  2001年12月6日 Buzbee开始写项目日志,并为自己制定了一张艰难但还算乐观的日程表

  2001年12月18日 完成错误处理和中断机制的基本设计

  2001年12月29日 完成微代码的第一轮设计

  2002年1月6日 完成了Magic-1模拟器,可以对调用/返回指令序列进行跟踪

  2002年1月8日 模拟了Fibonacci函数,并丰富了软件接口约定

  2002年1月13日 Magic-1汇编器(qas)成形

  2002年1月18日 决定是选择大尾数法还是小尾数法表示整数的字节顺序,最终选择了大尾数法

  2002年2月28日 在模拟器中完成了页面错误机制

  2002年3月9日 决定使用普通电线来进行连线

  2002年6月3日 对指令集架构进行了意义重大的改变

  2002年6月4日 用C语言编写了Fabonacci程序并编译为Magic汇编程序

  2002年6月22日 改用分立的数据和代码地址空间

  2002年6月25日 设计用于多进程的上下文环境切换

  2002年7月12日 完成对微代码的重写工作

  2002年8月13日 放弃对rotate指令的支持

  2002年9月11日 上了Gil Smith的一堂电子电路课程

  2002年9月22日 从eBay上买了板材和外壳

  2002年的其他日子 向Ken Sumrall请教如何使用寄存器,从他那里学到了Ohm规则

  2003年3月30日 从Jhon Doran的D16/M中得到了灵感,完成了ALU/寄存器板的架构

  2003年4月13日 完成控制板的架构

  2003年4月14日 思考前面板的架构

  2003年5月3日 第一轮架构设计完毕

  2003年5月6日 将构建环境从Linux一直到Windows

  2003年5月16日 构思新的Magic-1模拟器

  2003年5月27日 在新的模拟器上成功运行了Fibonacci程序

  2003年6月3日 完成了新的汇编器功能

  2003年6月21日 Magic架构验证和测试用例达到了100%覆盖率

  2003年6月23日 Alistair Roe通过email提出了Magic-1外壳的构想

  2003年8月3日 将LCC(C编译器)一直到了Magic上

  2003年8月10日 在模拟器上成功地实现了Fibonacci程序的C语言版本 (这一天是Buzbee的生日)

  2003年8月27日 从David Conroy那里学到了信号完整性

  2003年9月18日 决定使用普通的带皮电线进行连接(奇怪,前面已经决定一次了)

  2004年1月3日 完成了全部的设计工作,开始制作

  2004年1月18日 Magic-1有了第一次心跳

  2004年1月26日 前面板完成

  2004年2月9日 内存板完成

  2004年2月20日 EPROM子板完成

  2004年2月26日 设备板完成

  2004年3月7日 微代码序列成功运转

  2004年3月9日 执行了第一条指令

  2004年3月19日 控制板完成

  2004年4月8日 尝试发布前期的工作

  2004年4月12日 ALU/寄存器板完成;同日被告知,发布尝试失败

  2004年4月13日 Magic-1成功运行了Fibonacci程序!

  2004年4月25日 Dave Conroy的测试会话发现了不真实的内存碎片

  2004年5月3日 Magic-1能“说话”了

  2004年5月8日 运行“Sieve of Erasthones”基准

  2004年5月16日 完成了IDE接口,Alistair Roe完成了外壳设计

  2004年7月23日 发布基本架构

  2004年9月12日 用户模式程序可以工作

  2004年9月15日 运行“Dhrystone”基准

  2004年9月22日 使用copy-on-write实现了fork()

  2004年10月23日 Magic-1的Dhrystone得分达到了384(0.25MIPS)

  2004年10月31日 运行Colossal Cave Adventure

  2005年4月9日 Alistair Roe设计的外壳到货

  2005年5月13日 Magic-1的硬件设计完毕

  纯手工CPU的庐山真面目

 纯手工CPU的庐山真面目

  实物照片大曝光,已经在工作状态……

镂空的顶板,可以看到内部的照明蓝光,非常绚丽

  镂空的顶板,可以看到内部的照明蓝光,非常绚丽

  学过数字逻辑和数字电路的朋友一定知道,通过使用TTL门电路,的确是能够实现一个CPU的;笔者在大学时也曾在软件上使用74系列芯片模拟过功能非常简单的CPU。然而,Buzbee朋友搞得这个家伙却是一个功能完全的CPU,我不知该如何形容它的功能,我本想说“麻雀虽小,五脏俱全”,但是……

这小朋友抱着DIY出来的CPU,不知道心里是个什么滋味呢?

  这小朋友抱着DIY出来的CPU,不知道心里是个什么滋味呢?

  这款“家酿”CPU可以支持完整的硬件地址转换、内存影射IO和DMA,并且支持多进程,主频“高达”3MHz;该CPU采用8位地址总线,每个进程拥有128K地址空间,其中包括32个2K的数据页和32个2K的代码页,这些地址影射到22位的物理地址空间中,如果算上外部设备的地址空间就是23位物理地址空间。

  手工电路板特写图秀

ALU/寄存器板的元件面

  ALU/寄存器板的元件面

ALU/寄存器板的连线面

  ALU/寄存器板的连线面

控制板的元件面

  控制板的元件面

设备板的元件面,注意中间有一块锂电池

  设备板的元件面,注意中间有一块锂电池

大特写!背面连线的局部图

  大特写!背面连线的局部图

  怎么样?够强的吧?这还不算什么,这个Buzbee还用这个CPU组装了一台微型计算机,名字也叫Magic-1。

可实现Telnet服务功能

  可实现Telnet服务功能

  这台计算机包括两个串口和一块20M的1.3吋硬盘和另一块30M硬盘。最让人“乍舌”的事,这位朋友还将这台计算机做为一个Web服务器,同时支持Telnet会话(虽然只支持一个会话)。哦,还有,为了让这个系统能够跑起来,Buzbee还为它准备了一个C编译器!

  相关导读

  真正的DIY名作:自己设计制造的CPU!

  真的猛士,敢于DIY自己的生活;真的猛士,敢于DIY自己的电子产品;真的猛士,敢于只用导线和晶体管DIY自己的电脑。

  从零开始造电脑……这得是何等的生猛啊。一般人也就是自己组台机器装个系统啥的,这位叫Steve的哥们却不这么想,他觉得不自己拿导线啥的造台电脑出来你出门都不好意思跟人家打招呼……


  现在的电脑,仅仅一个CPU里那可是有上亿个晶体管啊……纯手工的话那简直是不可想象,即使强如此人也只能退而求其次,最终造出来极低配置电脑……但那也是电脑啊!!

  这台名叫“线地狱”(Big Mess O‘ Wires)的电脑能运行BASIC程序,CPU主频为2MHz(理论最高极限为3MHz),512KB的RAM和512KB的ROM(上一次看到KB级 别的配置是何时?真是怀念的泪流满面啊),视频输出方面如果是黑白双色的话能够输出512×480的分辨率,如果是256色的话就只有128×240了。

  OTZ……果然是技术宅救世么?

  以下是这台BMOW的内部结构图和一些主要参数:

  *处理器主频2MHz,理论最高主频可达3MHz;

  *处理器使用8位数据线,24位地址线。内建四个8位通用数据寄存器,三个24位寄存器则用于存放程序计数器,堆栈指针寄存器以及地址指针,CPU内部采用一条数据总线来连接寄存器和算术逻辑单元,而内存,ROM和内存映射装置等则使用另一条数据总线连接。ALU单元还配备了专用左/右数据输入总线。

  *CPU的机器语言指令以微指令形式存储在三个并行ROM中,以生成24位微代码指令字。每时钟周期可以执行一条微指令,一条机器语言指令最多可以包含16条微指令;

  *配备512KB内存,512KB ROM,使用24位地址线结构,最多允许的RAM+ROM容量为1MB;

  *耗电10W,额定工作电流2.0A,电压5V;

  *支持512x480双色VGA输出,或128x240256色VGA输出;

  *音效功能由三声部可编程发生器提供;

  *可连接PS/2接口普通键盘;

  *具备24x2 Debug显示屏;

  *整个元件使用了约1250条线缆。

  除了名字起的很糟糕之外,这块处理器可谓Steve Chamberlin的心血之作。这款8位处理器及其配套的计算机系统将在第四届Maker Faire年会会场上展示,届时Steve Chamberlin将向与会的8万名参展人员演示使用这台DIY电脑玩国际象棋游戏。Maker Faire年会是一个专供DIY爱好者,改造爱好者展示自己作品的大型展会。


39度创意研究所 技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

elecfans
学过的就会,不会就学呗
10-15 10:24
elecfans
这是为了穿越后,制作cpu作准备吗?
09-02 09:20
elecfans
这个是真牛啊
10-19 15:41
AA飞马
专业PCBA.SMT.PCB.抄板.打样.批量生产一站式服务电话:13714432506 QQ:695142642李先生
09-09 16:40
jwzm8
高手,高高手啊
08-19 14:01
elecfans
有密集恐惧症的伤不起啊
12-01 17:03
elecfans
在中国!这样的人在父母,亲戚和朋友眼中就是不务正业!!在教育上,老一辈的人缺乏知识,吃过苦;挨过饿。对于他们来说只有日子过好了,有吃有住那才是最重要的。正因为这样的思想,在对孩子的教育上才会更偏向于物质的追求!老一辈缺乏知识的人不知道什么叫做极客精神,不知道什么叫做创新精神,在他们的眼里,吃饱穿好住好才是最主要的。而这种思想也间接的传到了他们的孩子身上。
11-09 03:47
elecfans
中国自古以来形成的大环境把天才基本都“改邪归正”引入政途了、、、
09-25 00:06
elecfans
牛啊牛,这位的精神值得每一个电子爱好者学习
07-24 18:36
elecfans
这个牛叉熟悉电路设计,熟悉程序设计,编译器。。。膜拜
06-16 17:47
elecfans
你是不是应该谈谈中国人的劣根性?
06-10 10:35
495237027
牛逼,,,,,,
05-19 16:57
1350976707
必须赞一个,中国人不是不能出现这样的牛人,主要缺少时间和条件,更重要的是毅力。
04-20 18:01
1350976707
必须赞一个,中国人不是不能出现这样的牛人,主要缺少时间和条件,更重要的是毅力。
04-20 18:57
elecfans
这需要多少时间?
03-14 23:29
elecfans
为什么你不是这种人。。。。。。所以以后别说这种话了。。。每个人都有不同的生活方式,都有不同的价值观。。。需要的只是尊重而已。。。因为,完全有可能曾经你的一个朋友有想过从底层开始学习一个东西,但是被你的一句“何必呢”给消去了。。。
01-29 14:49
余治纬
说不定就是下一个乔布斯了!
01-24 17:13
cuijinbao1
人才呀 。。。。。。。
01-04 11:12
elecfans
中国缺的就是这类人!
12-18 20:12
elecfans
非常严重同意
12-09 15:59
elecfans
神人啊,我的个天啊!!
11-23 12:08
elecfans
用fpga写这个cpu也就一个星期的事情,还支持除法(不用fpga内部除法器,只用逻辑实现除法),一共使用800个lut,顺便2天用vc写个汇编编译器,C语言编译器确实难写
11-02 10:33
elecfans
牛人。。。。。。。。。。。。。
10-26 21:59
elecfans
你还能还房贷,我连还的机会都没有。
08-15 18:06
elecfans
5年,你知道我连一天都坐不住。哎。。。。。。
08-15 18:04
toto90
真的是大牛人,牛的是那种精神啊
07-04 00:47
elecfans
直接写FPGA吧还是。。。
06-21 22:20
elecfans
你能自己写软件让它运行起来?
06-20 13:14
elecfans
在中国为了还房贷,你必须加班,你还有心情玩?看见就会吐
06-04 21:25
elecfans
丧心病狂。。。那密密麻麻的线。。。
03-22 16:19
shijiaoguo
很强大的想法,非常强大的工程,佩服。
02-09 18:06
winter2
就是买多个芯片组合成一个“大芯片”
01-10 13:01
winter2
就是买多个芯片组合成一个“大芯片”
01-10 13:01
elecfans
大学学过计算机组成原理课程,做过组成原理实验的都有能力自己打造个分立器件的pc,就看你有没有这爱好和闲心了,网上有组成原理实验设备卖,照着抄一个也可以
11-14 13:03
elecfans
在中国为了还房贷,你必须加班,你还有心情玩?看见就会吐
11-14 11:21
solar728
太牛了。。。不敢想象。
11-02 22:36
elecfans
真是真真的勇士,可以挑战一切啊。
10-30 09:20
newriver
受不了了。!!
09-21 10:16
elecfans
天才啊,不能直视。
09-10 14:35
elecfans
天才啊,不能直视。
08-10 09:15
elecfans
没说耗资多少。
07-18 17:43
liangmerry
这种毅力真是值得我们深思!
07-08 21:15
elecfans
其毅力,太让人佩服了
06-26 16:49
1638963554
看看自己连学个AVR单片机,被寄存器搞晕掉了,差距呐!
06-21 11:04
1638963554
看看自己连学个AVR单片机,被寄存器搞晕掉了,差距呐!
06-21 11:03
elecfans
中国不会有这样的傻人吧?其实科学研究理论要懂得刀耕火种,实际要懂得用先进技术,不然科学怎么快速发展呢。用FPGA去造吧,不用5年,5个月准行。
06-09 03:39
elecfans
中国不会有这样的傻人吧?其实科学研究理论要懂得刀耕火种,实际要懂得用先进技术,不然科学怎么快速发展呢。用FPGA去造吧,不用5年,5个月准行。
06-09 03:37
bass
赞同····
06-04 12:36
elecfans
这个日程表是一个记录性质的,不是事先写的,也就是完成了一样写上时间和事件。
06-02 09:10
elecfans
从专业的角度看,这应该就是一个炒作。
05-31 18:44
elecfans
有点扯淡,芯片间的布线长度单位为厘米或者毫米级别,高频信号没法走,主频没法达到3M,且,DMA也无法实现。
05-31 18:18
elecfans
牛人啊,小弟我望尘莫及。。。
05-31 11:40
wooder
五年时间,
05-30 22:16
elecfans
精彩啊!这日程表是怎么写出来的,他怎么就知道自己该干啥呢,有个大概的是可能,这么详细的日程太假了
05-30 11:23
191174238
好厉害啊,牛人
05-29 22:52
191174238
好厉害啊,牛人
05-29 22:50
sa123800
人比人,气死人。为什么差别就真没大呢,好吧, 我又相信这世界真的有神童了。
05-28 23:39
elecfans
这需要多大的毅力啊。。。
05-28 11:59
elecfans
有志者事竟成
05-28 09:15
190885829
神啦,感谢这个世界还有这么疯狂的人。
05-28 08:36
zhurzhi
强强强。。。。。。
05-27 21:57
elecfans
太佩服了!!!!!
05-27 16:19
elecfans
那个连线版的简直就是GOD级别啊!!!
05-27 16:53
wszyg621
都是牛人啊!
05-27 09:57
elecfans
与技术相比我更佩服他的毅力。马拉松的技术积木,可以申请吉利斯记录了。
05-26 22:39
路有点长
好吧,我要是能持续一件事5天我就牛B了
05-26 10:51
elecfansor
佩服啊,真是神作!
05-25 14:05

相关推荐

四川瞄准电子信息产业万千百亿工程 坐实四川第一支柱电子信息产业

据报道,2017年四川电子信息产业全年增长15%以上。今年2018年四川也瞄准更强的目标,万千百亿工....

发表于 02-23 10:36 次阅读 0条评论
四川瞄准电子信息产业万千百亿工程 坐实四川第一支柱电子信息产业

解析单片机中断处理过程、中断返回、中断撤除

中断响应是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地....

的头像 玩转单片机 发表于 02-23 09:30 次阅读 0条评论
解析单片机中断处理过程、中断返回、中断撤除

39种电子元件检验要求与方法

电子元件知识——电阻器、电容器、电感器、半导体器件,集成电路是一种采用特殊工艺,将晶体管、电阻、电容....

的头像 RFsister创客射频空间 发表于 02-14 20:55 次阅读 0条评论
39种电子元件检验要求与方法

CPU的核心数、线程数的关系和区别

核心又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工....

发表于 02-12 10:42 次阅读 0条评论
CPU的核心数、线程数的关系和区别

cpu线程多有什么好处

中央处理器主要包括运算器和高速缓冲存储器及实现它们之间联系的数据、控制及状态的总线。它与内部存储器和....

发表于 02-12 10:30 次阅读 0条评论
cpu线程多有什么好处

春节前大事件:骁龙670曝光 集成电路进口暴增 群创光电将裁10000人

骁龙670基于10nm工艺制造,CPU部分设计为2颗Kryo 300系列Gold大核以及6颗Kryo....

的头像 摩尔芯闻 发表于 02-11 10:37 次阅读 0条评论
春节前大事件:骁龙670曝光 集成电路进口暴增 群创光电将裁10000人

主机的电源有那几种尺寸_atx电源尺寸及相关介绍

电脑电源是把220V交流电,转换成直流电,并专门为电脑配件如CPU、主板、硬盘、内存条、显卡、光盘驱....

发表于 02-07 11:43 次阅读 0条评论
主机的电源有那几种尺寸_atx电源尺寸及相关介绍

修复现场PLC损坏的方法解析

首先,要确认:原PLC的某些块的配置中,在“防拷贝保护”(Copy protection)区域,是否....

的头像 工控培训 发表于 02-06 17:57 次阅读 0条评论
修复现场PLC损坏的方法解析

基于低成本高性能OTP存储器的运动控制专用集成电路--IRMCK099详解

infineon公司的IRMCK099是基于低成本高性能OTP存储器的运动控制专用集成电路(ASIC....

发表于 02-06 16:16 次阅读 0条评论
基于低成本高性能OTP存储器的运动控制专用集成电路--IRMCK099详解

“Shapesong”是什么?如何利用CPU制作沉浸式VR环境

虚拟现实是一种更为自然的用户界面,我们期望VR中的内容和体验能够足够自然。当期望无法得到满足时,真实....

发表于 02-06 12:07 次阅读 0条评论
“Shapesong”是什么?如何利用CPU制作沉浸式VR环境

FPGA在边缘计算方面的应用

提起计算速度,我们首先能想到的是云计算。云计算有数不清的好处,例如计算快,计算数据的量大,等等。但智....

的头像 FPGA开发圈 发表于 02-06 11:42 次阅读 0条评论
FPGA在边缘计算方面的应用

解析80C51单片机中的cpu、存储器配置以及并行输入/输出口

单片机按存储结构可分为二类:一类是哈佛结构,另一类是普林斯顿结构。 ①哈佛结构所谓哈佛结构是指....

的头像 EDN电子技术设计 发表于 02-06 09:02 次阅读 1条评论
解析80C51单片机中的cpu、存储器配置以及并行输入/输出口

2018中国半导体材料及设备产业发展大会:梳理发展方向,推介创新理念

“2018中国半导体材料及设备产业发展大会”在京召开。本次大会由中国电子信息产业发展研究院主办、邳州....

发表于 02-06 03:56 次阅读 0条评论
2018中国半导体材料及设备产业发展大会:梳理发展方向,推介创新理念

GPU/FPGA脱颖而出,CPU/DSP还有哪些可能

2017年12月,IBM推出首个为AI而生的服务器CPU POWER9,旨在为数据密集型人工智能工作....

发表于 02-05 20:36 次阅读 0条评论
GPU/FPGA脱颖而出,CPU/DSP还有哪些可能

浅谈Silicon Photonics芯片

Silicon Photonics芯片吸引着公司和研究人员的主要原因是成本低,功耗低,其中Si是导光....

发表于 02-18 10:47 次阅读 0条评论
浅谈Silicon Photonics芯片

分享一些单片机的开发经验

做AT89C5X(51,52,55等等)的时间最长,知道的可能多些,主要谈些实际应用中的经验与教训。....

的头像 EDN电子技术设计 发表于 02-05 11:04 次阅读 0条评论
分享一些单片机的开发经验

深度剖析基于块层的组成“request层”

现在,"request层"并存着两种模型:单队列(single-queue) 和 多队列(multi....

的头像 Linuxer 发表于 02-03 16:29 次阅读 0条评论
深度剖析基于块层的组成“request层”

站在CPU 的角度看这个世界,说说到底它们有多慢

最为我们熟知的关于计算机不同组件速度差异的图表,是下面这种金字塔形式:越往上速度越快,容量越小,而价....

的头像 嵌入式资讯精选 发表于 02-03 16:16 次阅读 0条评论
站在CPU 的角度看这个世界,说说到底它们有多慢

基于统一计算架构技术的视频显示系统设计

近年来随着大屏幕显示技术在各领域应用的逐步深入,市场已经不满足单一的影片展示,更多的转向了对互动性更....

发表于 02-03 16:00 次阅读 0条评论
基于统一计算架构技术的视频显示系统设计

改进一个可实现多任务操作电表的代码程序

2002年初,笔者着手写一个IC卡预付费电表的工作程序,该电表使用Philips公司的8位51扩展型....

的头像 21ic电子网 发表于 02-02 17:19 次阅读 0条评论
改进一个可实现多任务操作电表的代码程序