0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:本站整理 作者:电子大兵 2013-05-25 13:59 次阅读

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

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

看看上面这张图,究竟是个什么东东呢?可能有人会说,这不过是个大学生用的实验仪器吧。但细心的朋友则肯定已经看到这个东西下面的“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的庐山真面目

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

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

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

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

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

手工电路板特写图秀

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爱好者,改造爱好者展示自己作品的大型展会。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成电路
    +关注

    关注

    5379

    文章

    11336

    浏览量

    360527
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10813

    浏览量

    210912
  • DIY
    DIY
    +关注

    关注

    176

    文章

    886

    浏览量

    348106
  • 电子制作
    +关注

    关注

    142

    文章

    310

    浏览量

    150945
收藏 人收藏

    评论

    相关推荐

    爱普生 SG–WriterⅡ 石英可编程手工烧录器

    电子制造与研发的复杂世界中,爱普生SG–WriterⅡ石英可编程手工烧录器犹如一把神奇的钥匙,开启了石英晶振编程的无限可能,为众多领域的电子设备注入了精准与稳定的灵魂。作为
    的头像 发表于 11-06 17:15 121次阅读
    爱普生 SG–WriterⅡ 石英可编程<b class='flag-5'>手工</b>烧录器

    SmartDAC-DIY评估模块

    电子发烧友网站提供《SmartDAC-DIY评估模块.pdf》资料免费下载
    发表于 11-01 09:19 0次下载
    SmartDAC-<b class='flag-5'>DIY</b>评估模块

    SMT元件焊接与维修:传统手工方法与激光技术的比较

    。因此,SMT电路板的手工焊接与维修比通孔焊接更具挑战性,尽管手工焊接在某些情况下不可或缺,如科研、实验制作、一般维修等。本文将介绍传统手工焊接与维修工艺,以及先进的激光焊锡技术。
    的头像 发表于 10-22 15:55 165次阅读
    SMT元件焊接与维修:传统<b class='flag-5'>手工</b>方法与激光技术的比较

    博泰车联网度蝉联“世界物联网排行榜500强企业”

    ,较去年成绩稳步提升。这也是博泰自2020以来连续入选该榜单。 锐意进取 稳步向前 博泰车联网度蝉联 “世界物联网排行榜500强企业
    的头像 发表于 07-23 10:31 698次阅读

    解决方案丨电力电子教学解决方案-PPEC开关电源DIY套件

    为解决电力电子教学内容复杂、理论与实际脱节等问题,森木磊石新推出了电力电子教学解决方案——PPEC开关电源DIY套件,助力学生轻松制作专业生涯的第一个开关电源。PPEC开关电源
    的头像 发表于 07-11 08:23 961次阅读
    解决方案丨电力<b class='flag-5'>电子</b>教学解决方案-PPEC开关电源<b class='flag-5'>DIY</b>套件

    2030 2030 年关于人工智能的点预测

    本文由半导体产业纵横(ID:ICVIEWS)编译自semiengineering以下是关于2030人工智能世界将会呈现出的个大胆预测。2030,人工智能领域将会有怎样的变化
    的头像 发表于 03-28 08:26 607次阅读
    2030 <b class='flag-5'>年</b>2030 年关于人工智能的<b class='flag-5'>五</b>点预测

    英特尔款优秀的CPU介绍

    尽管英特尔曾经声称这是世界上第一个 16 位 CPU,但事实并非如此,事实上,英特尔正在追赶德州仪器 (Texas Instruments) 等公司,后者更早推出了 16 位芯片。
    发表于 03-18 10:19 845次阅读

    如何使用ESP32和STC51芯片制作一个小小光立方呢?

    分享一个用ESP32和STC51芯片,以及0805贴片灯珠,手工焊接制作的小小光立方。
    的头像 发表于 01-09 15:37 1801次阅读
    如何使用ESP32和STC51芯片<b class='flag-5'>制作</b>一个小小光立方呢?

    PCBA手工焊接的注意事项

    在PCBA加工过程中,除了采用回流焊和波峰焊的批量焊接外,还需要进行手工焊接才能完成产品的生产。在进行PCBA手工焊接时应注意的事项。
    的头像 发表于 12-22 09:35 701次阅读

    如何解决高速信号的手工布线和自动布线之间的矛盾?

    如何解决高速信号的手工布线和自动布线之间的矛盾? 高速信号的手工布线和自动布线之间存在矛盾主要是因为高速信号传输需要考虑到许多影响因素,包括信号完整性、时序约束、电磁干扰等。手工布线和自动布线在
    的头像 发表于 11-24 14:38 594次阅读

    继电器diy制作短路保护断电电路#电子技术 #电子电路 #电子制作diy #青少年电子制作

    电子技术电子diy
    jf_55975348
    发布于 :2023年11月18日 07:40:00

    #单片机开发 #手工diy #自制玩具 #工艺制作 #电子爱好者

    电子技术电子diy
    jf_55975348
    发布于 :2023年11月18日 07:28:15

    电子DIY制作

    简介:学会DIY制作,带动对编程的兴趣,慢慢爱上编程,自我提高技术。
    发表于 11-15 14:32 0次下载
    <b class='flag-5'>电子</b>琴<b class='flag-5'>DIY</b>小<b class='flag-5'>制作</b>

    32G U盘点DIY制作教程

      本文图文并茂地详细介绍了32G U盘点DIY制作过程。成本计算:FLASH 2片,260元;PCBA套料,15元左右。因我的材料都是在网上采购,所以,包路费总共300元,就可以完成制作这个32G的U盘。
    发表于 11-15 14:27 0次下载
    32G U盘点<b class='flag-5'>DIY</b><b class='flag-5'>制作</b>教程