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

好在当今社会中,还是有一些强人在孜孜不倦的在完成着心中的“完美

DIY”梦想。因此也使我们多了一些大开眼界、崇拜和向慕的机会。

这个神奇的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的硬件设计完毕

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

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

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

怎么样?够强的吧?这还不算什么,这个Buzbee还用这个CPU组装了一台微型计算机,名字就叫Magic-1,这台计 算机包括两个串口和一块20M的1.3吋硬盘和另一块30M硬盘。最让人“乍舌”的事,这位朋友还将这台计算机做为一个Web服务器,同时支持 Telnet会话(虽然只支持一个会话)。哦,还有,为了让这个系统能够跑起来,Buzbee还为它准备了一个C编译器!

ALU/寄存器板的元件面

ALU/寄存器板的连线面

控制板的元件面

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

看看背面连线的局部图

手工制作微型计算机,世界超强完美DIY 电子奇才五年全手工制作CPU相关推荐

  1. 世界上第一台电子数字式计算机诞生于美国,世界上公认的第一台电子数字计算机诞生于哪年哪个国家?...

    1946年2月14日在美国诞生了世界上第一台电子数字计算机ENIAC(埃尼阿克). 数字电子计算机简介: 简称数字计算机.其内部被传送.存储和运算的信息,都是以电磁信号形式表示的数字.典型的数字电子计 ...

  2. 【历史上的今天】9 月 7 日:世界上第一部电子电视;惠普联合创始人出生;上亿美国人隐私信息泄露

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 9 月 7 日,在科技历史上,今天的许多风雨都藏在不言之中:惠普的联合创始人诞生,为硅谷神话奠基:第 ...

  3. 我的世界服务器地图种子文件夹,我的世界最完美的4个地图种子 第3个99%的人不知道怎么进入...

    名称: 最完美的地图种子 类型: 地图种子 <我的世界>官方wiki有这么一个章节:最完美的种子.既然官方wiki都如此推崇的种子,它们究竟有多完美呢? 这次"我的世界中文分享站 ...

  4. 什么是FL Studio水果编曲软件?真的堪称是世界上最好的电子音乐编曲软件?

    什么是FL Studio水果编曲软件? 如果你最近准备学习音乐制作,一款强大且易学的音乐制作软件是必不可少的.由于很多小伙伴对音乐制作软件没有实际体验过,到底选择哪一款软件最合适成为当下最纠结的问题. ...

  5. 世界上第一台电子存储程序计算机

    计算硬件的历史涵盖了早期简单设备的发展,以帮助计算到现代计算机.在20世纪之前,大部分计算都是由人类完成的.帮助人类进行数字计算的早期机械工具,如算盘,被称为"计算机器",称为专有 ...

  6. 计算机图形专业世界排名,2020 THE世界大学排名-美国电子电气工程专业

    简单来说,美国大学电气工程学科包括通讯与网络,计算机科学与工程,信号处理,系统控制,电子学与集成电路,光子学与光学,电力技术,电磁学,微结构(Microstructure),材料与装置,生物工程等11 ...

  7. 首发全DIY强大微信朋友圈截图制作生成小程序源码下载点赞,评论等等

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

  8. 除夕夜的电子微传单怎么轻松制作,求分享

    如果我们想设计和制作一个除夕夜晚宴的电子微传单的话,需要借用什么PS工具呢?如果不会使用PS工具的话,该怎么办呢?小编给大家安利一个在线制图的第三方平台:"乔拓云网",教你如何轻松 ...

  9. 小程序源码:首发全DIY强大微信朋友圈截图制作生成小程序

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

最新文章

  1. Dropout、梯度消失/爆炸、Adam优化算法,神经网络优化算法看这一篇就够了
  2. Python游戏开发,pygame模块,Python实现打砖块小游戏
  3. Mybatis加入Ehcache支持
  4. java基础提升篇:深入浅出Java多线程
  5. asp.net session 介绍一三种Session存储方式
  6. Python中的eval()、exec()及其相关函数
  7. mac升级10.12后,安全和隐私中没有了安装任何来源的选项的解决办法
  8. Js实现文字水平滚动
  9. 数据库课程设计报告——书店管理系统
  10. JAVA 图片URL地址转Byte文件流
  11. 计算机类调研报告选题,大学生调研报告选题精选.doc
  12. 论文写作:如何写论文
  13. 利用爬虫获取app数据
  14. 揭秘信用卡职业养卡人:月赚两万如何办到
  15. .pfx数字证书制作及操作使用
  16. (附源码)springboot曦乐苹果园林管理系统的设计与实现 毕业设计100854
  17. Echarts图表插件
  18. 转载 excel生成数据地图
  19. [web安全]黑客攻防技术宝典-浏览器实战篇--钓鱼攻击
  20. 一个空格引发的销售订单中“物料未对*销售组织语言定义”问题

热门文章

  1. Python删除字符串后缀问题
  2. 音乐剪辑软件好用又简单的工具是什么
  3. 解决新手引导图片被导航栏遮盖住得问题
  4. 服务器内存2rx4是什么意思_内存上的2rx8、1rx8、2rx4什么意思
  5. 可爱卡通幼儿教学课件PPT模板
  6. pH敏感型白蛋白纳米粒-壳聚糖白蛋白pH敏感型水凝胶-瑞禧
  7. 大数据催生智慧园区_基于人工智能的智慧园区异构设备统一接入方法与流程
  8. 超强干货!7个腾讯最常用的用户研究方法
  9. 破解智慧零售密码 苏宁易购818引爆全民消费狂欢
  10. 张近东:企业的稳健发展是最大的社会责任