一位英国工程师制造了500公斤的离散处理器。工作阶段以及与创作者的访谈

超级处理器是具有四个通用寄存器的16位处理器。单独的面板包含用于各种目的的图,包括内存,算术单元,输入/输出和其他。该系统使用一个16位ALU单元和一个16位加法器。超级处理器配备了10,000个LED,其闪烁显示了计算过程的每个阶段,并显示了根据方案进行数据移动的方向。内存容量为256字节。该存储块包括27,000个晶体管。系统中的晶体管总数超过4万。处理器的质量为500千克。处理器的工作频率为20 kHz。



为什么要创建所有这些?该项目的作者是英国的电子工程师James Newman,他想了解现代处理器的工作原理。他认为,获取有关晶体管和处理器工作原理的最大信息的最佳方法是自己创建一个处理器。据他说,学习过程失控了,变成了日常工作。

“计算机是不透明的。看着它们,人们无法理解它们是如何工作的。我想做的就是爬进去,了解发生了什么。问题在于常规大小的处理器无法做到这一点。但是我们可以用自己的双手建造一个大型处理器-然后可以很清楚地了解内部发生了什么。为了显示数据流,还值得添加LED,这已经完成了,” James Newman说。现在,可以实时观看巨型处理器,任何人都可以了解处理器组成的元素以及每个单元的工作方式。

超级处理器占据了工程师房屋中很大一部分客厅,给他带来了一些不便。

为了演示处理器的计算能力,工程师决定选择俄罗斯方块游戏。游戏的元素显示在大型LED显示屏上,分辨率为32 * 64 LED。在实时游戏中,处理器内部发生的一切都是可见的。

“您的计算机可能比我构建的系统快一百万倍,但是它更具吸引力……我认为我永远都不会出售我的项目,但我希望将Megaprocessor作为博物馆或教育机构的展览品来展示。 “纽曼说。

系统组装


超级处理器包含大量以块形式组装的元素。将单独的块放置在架子上。支架的高度为2米。宽度-从1.2到1.6米。在每个支架上,安装了少量模块-从2到4。该支架用作放置模块及其保护的地方。每个模块执行一组特定的功能。例如,有一个ALU模块,一个解码器等。模块由单独的板组成。

看台


框架由挤压铝制成。在所有展位上都有对特定计算单元执行功能的详细说明。这是一块专用寄存器:



框架具有用于电源线的通道。电池上有金属保护层,因此在移动支架时不会有任何动静:


连接块安装在支架的侧面。



每个支架都有一个服务板,该服务板安装在右下侧。


每个服务板都有两个功能。首先是连接和监视电源线。第二个是提供对电源端子的访问。系统中有7个支架。

模组



超级处理器分为多个模块。这是控制自动机的模块:


在这里,您可以看到实现特定子系统逻辑的板组。这些板组装在一个电路中,显示什么与什么以及如何连接。电路印在胶合板上的硬纸板上,为整个结构提供刚性。所有连接线都应拉回,以免损坏模块的外观。最初,电线在前面,但看起来不太漂亮。



为了不混淆任何内容,后面还列出了整个方案。



用导线连接所有元件需要很长时间。



收费标准



从一开始,我就决定在项目中使用PCB。没有它们,就不可能创建复杂的东西,因为只有系统中的连接超过100,000个,项目的大部分资金都花在了董事会上。最初,我想制作大板,但事实证明这非常困难,因此后来,我决定将所有内容分成小板,然后完成。在设计方面,我使用了CadSoft Eagle。



其他板子可以在这里看到

检查一下


在项目的每个阶段都不断进行检查:
  • 在将每个板安装到模块中之前,均已对其进行了测试;
  • 每个模块在完成工作后都经过测试;
  • 在完成模块安装后,对每个支架进行了测试;
  • 连接每个新支架后,将对整个系统进行测试。


为了验证板,模块和支架的操作,使用了BlueChip Technologies的设备。







财务部分


纽曼总共花了约40,000英镑。按照目前的汇率(在退出欧盟公投后,英镑兑美元汇率下跌了30%),即53071美元。

各种结构要素的成本:

电子产品£19,000
收费标准£14,000
铝制£3,500
工具£2,000
版画£900
着色和印刷£900
紧固件,胶合板等£500


电子元器件的成本:

晶体管£2000
电缆线£1800
连接器£5000
芯片(用于调试)£850
电阻器£370
营养学£800
发光二极管£1300
焊锡£370
“剩下的就是铁”£1100





一些统计数据的 一般统计
晶体管42,400
电阻器50,500
发光二极管10,500
连接器770
接触端子7,700
焊接触点272,300
焊锡重量4.25公斤
铅重量2.5公斤
单线
1,500米
20针带状电缆420米
导体总长9.9公里



项目中使用的板

板子类型
每个晶体管

每个LED

 使用

晶体管

LED
2AND5372360216
3AND7418岁12672
4和9554525
2或5354270162
3或7434238136
4或9523207115
5或1161617696
8或179610254
异或7353515
2x2 AND_OR14947658423
2x3 AND_OR18岁11712677
4x2 AND_OR261716416272
8x2 AND_OR50339450297
1BUF22285656
4BUF8854040
4月4日197815256
16DEC82217574147
2个16MUX118523354156
4x16MUX241932048201860年
16REG2263381808264
8日30218751510935
8逻辑1581263474378
公共汽车分裂16161191904年1904年
总线拆分(无LED)00900
3x2 DIGIT(7段)00800
4 DIGIT (7 )001100
16 DIGIT (7 )00200
BUS 2 BUS004000
2 TEE001700
4 TEE001500
BYTE_2_WORD001300
SHIFT37348296272
8B RAM7666432245122048
4 MEM MUX25240102520400
2 MEM MUX14124114124



:4237010500



晶体管安装不正确

为了便于执行任务,纽曼制造了尺寸最大的小型电路板。在每块板上指示了电阻的值和晶体管的安装方法。



一切都很简单。但是在此过程中出现了错误-James大约错误地安装了十二个晶体管。考虑到项目中这些元素的总数,要找到它们是一项艰巨的任务。尝试自己做。在下面的照片中,有一块板上的一个晶体管安装不正确。



项目作者花费了数小时来查找问题。他常常不知不觉地检查了同一支错误安装的晶体管。

连接器

用连接器连接是一个简单的任务。但是,如果大约有500种这样的化合物,则很可能出错。詹姆斯错了几次。

电缆倾斜



在照片中,您可以立即看到问题-电缆倾斜,并且未使用多个触点。但是要检测导线和连接质量中的这种错误非常困难。纽曼认为问题出在模块之一中,因此花费了大量时间检查模块。但是我不得不检查电缆。

弯曲的牙齿

还有一种连接类型,例如IDC(绝缘位移连接器)。电缆插入锋利的牙齿之间,在插入过程中绝缘被切断,并且电缆连接到牙齿上。一切都很简单。在一种情况下,触点的“牙齿”弯曲并接触到相邻的牙齿,从而闭合电路。发现问题非常困难。



还有一个类似性质的问题。仅在这种情况下,弯曲的“牙齿”没有提供与导线的适当接触。



电缆线

跳线的安装不正确是另一个问题。此外,在将此类电缆连接到单个模块或支架后,最经常被检测到。詹姆斯有时在将连接器放置在电缆上时会犯错误。自然,电路不起作用。再次进行了数小时的搜索,电路的铃声,元素的验证。图为带有连接器和问题电缆的正确压接的电缆(上)。



这是电路断开的另一个常见原因-电缆安装不足,无法提供适当的接触。



触点

闭合外壳短路

有两个董事会,其中一个没有按预期工作。事实证明,原因是詹姆斯用螺丝刀损坏了电路板,并将其固定在紧固件上,然后将其固定在整个架子上。肉眼几乎看不到这一点。



焊料

有时,在焊接过程中会出现一些典型的问题-用焊料上的电桥使触点短路。在照片中,图像被放大了几倍。很难注意到这种下降-您需要详细检查板上的所有元素。



James是一名专业的电路工程师,从小就开始从事焊接工作。在上图中,原因是电路上的锡滴意外掉落。一直以来,这都是一个孤立的案例,但是与他大惊小怪-找到错误的焊接并不容易。 James最初开始检查所有电路板的连接,然后才决定检查焊接位置。

另一个类似的问题,仅在放大镜下才发现-通过焊接形成的桥具有人发的厚度。



然后焊接

,詹姆斯在这里由于某种原因而忘记焊接触点。整个晶体管支路被证明是“裸露”的,没有附着在任何东西上。这个问题很快被发现并解决。



晶体管缺陷

这是最严重的问题之一。电路中有成千上万个晶体管。而且只有一个晶体管的故障意味着无法正常工作的超级处理器。为避免出现问题,James在焊接前检查了每个晶体管。然后-焊接后。然后-电路中的所有晶体管。仍然发现有些板没有工作,而故障是晶体管故障。损坏的原因通常是静电放电。 2N7000型晶体管对这种曝光非常敏感。

此外,如果董事会昨天工作,今天它将不再工作。怎么了原因不寻常。这是一个叫亨利的吸尘器。



詹姆斯·纽曼(James Newman)认为打开某些电路的电源会损坏晶体管。经过检查,事实并非如此。而且,在经过数小时无能为力的寻找静电源的尝试之后,他才想起自己受到了轻微的电击,触摸了吸尘器。有了这款吸尘器,他在准备好架子后就清洗了一些,完全忘记了吸尘器可能会出现什么样的问题(特别是用非真空吸尘器清洁电脑和笔记本电脑-许多PC制造商对此有所警告)。结果,亨利去清洁地毯,用手工清洁架子。并且晶体管停止了故障。

其他问题

有很多。纽曼从事该项目已有五年,当然,几乎每天都有事发生。错误,技术故障,短路,不正确的建模等等-这只是问题的一小部分。不可能在一篇文章中描述所有这一切。最好阅读James自己在项目实施期间写的有关问题的文章。

詹姆斯·纽曼访谈



我不能不向作者问几个问题就写这个宏伟的项目。詹姆斯立即同意为极客时代的读者谈论他的项目。

您是如何提出创建该项目的想法的?

它发生在五年前。这个想法是在两个因素的影响下产生的。我对晶体管进行了实验,以详细了解它们的工作原理。另外,在我的工作中,同事们开始讨论用离散逻辑电路构建计算机系统的可能性。我想创建的计算机不是由单独的微电路而是由分立的晶体管组成。我想创建一个系统,在这个系统中可以观察所有工作的人员。看起来像什么?

从构思到项目开始已经经过了多少时间?

不会太多我开始为几乎立即创建计算机系统的整个项目执行准备工作。在这项工作和实验上花费了大约一年的时间。

初始计划与项目实际工期之间的差异有多大?

在我看来,我可以在一年内实现我的想法。但是该项目耗时近五年。发生这种情况是因为已经开始采取行动,所以我决定构建比计划更宏伟的东西。

您能说出工作期间发生的大事还是小事?其中哪些至关重要?

暂时停止工作的主要问题是多路复用器的开发。一段时间以来,我一直致力于解决与MOS 晶体管有关的寄生二极管效应的问题。摆脱这个二极管充满了巨大的技术困难,因此他们学会了忍受它,甚至在电路解决方案中使用它。结果,我开发了解决该问题的电路板,但是它们比我预期的要大。

另一个问题是创建机架的复杂性,它们的设计过于复杂。我的空间想象力不太好。

好吧,除此之外,我还必须不断解决一些小问题,在设计过程和计划计划的实施过程中,都存在大量问题。

如果您知道所有这些问题,您会从事一个项目吗?

我怀疑这样的事情会发生。那不会阻止我。最初,我只是想了解一切。但是,如果我知道处理器将有多大,以及该项目将投入多少资金,我就不会做。超级处理器对于我的房子来说太大了,我想为其另找一所房子。

您在项目过程中是否有停止工作的想法?

在很多情况下,我的热情耗尽了,这意味着速度变慢了。同时,我不允许自己完全放松。在这种情况下,无论这项任务多么微不足道,我每天都会强迫自己做一些事情。我对自己说:“你可以吃一头大象,只需要一块一块地咬下去。”

您的项目非常有名。有商业报价吗?也许您已经决定将Megaprocessor送给一些博物馆或大学?

没有商业报价!我认为我无法收回所花的钱,而这绝不是目标。我想将Megaprocessor给博物馆或其他类似组织。谈判已经在进行中。

系统是否需要任何特殊护理?

不,不需要任何种类的东西。只需要注意。对于静电尤其如此-小电荷会损坏某些东西。

您如何将数据输入系统?

我目前正在使用毒液Arcade Stick的修改版。最初,我计划使用允许我使用PC的串行接口。我开发,制造了该接口,但尚未对其进行测试。

系统功耗是多少?

我认为大约300瓦。大部分用于LED。

超级处理器就绪后,系统中是否有任何故障?

我遇到的唯一问题是系统速度比最初计划的要慢。事实证明,原因是标称上拉电阻选择不正确。必须选择标称值不是10k的电阻,而是选择只有470的电阻。另一件事不是问题,而是我的愿望。我想提供调整显示器亮度的功能。但是现在考虑已经为时已晚。

超级处理器有成千上万的零件。随着时间的流逝,一切正常运转的可能性有多大?

很好的问题。和吓人。我认为,如果您不移动或触摸整个系统的电子组件,一切都会很好。但是问题是,超级处理器位于我的客厅里,我必须移动看台。每次执行此操作时,都有可能损坏连接。可能性很小。可能是10%上星期六,我发现其中一个板出现故障。以前移动看台时遇到问题。因此,我计算出十分之一会在支架移动期间发生故障。如果我将所有东西都投入汽车中并将其安装在新房中,那么我肯定会遇到一些故障。大约十点。

您对新项目有什么想法吗?

我要做的第一件事是整理房屋和花园。他们被遗弃了几年。在那之后,我将看到其他事情。

您对打算做类似事情的人有什么建议?

实用建议:在进行如此庞大的项目时,您应该对自己的工作有一个清晰的认识。您必须是您所在领域的专业人士,并且在每一步都必须专业。开发某些东西时,必须确保所有创建的元素在组装阶段都将相互兼容。

摘要提示:入门很容易,很难完成。为什么要这样做?一旦开始做某事,您以后就会意识到可以做得更好,并且您将再次开始执行此步骤。一遍又一遍。两年前,我意识到,如果我一直都在重做,那么我什么也做不了。我决定停下来进行“不错”的评估,因为该阶段在大多数情况下与计划相对应。我知道项目中存在很多错误,还有很多可以做得更好的事情。但是我仍然完成了我的项目,我很高兴。

Source: https://habr.com/ru/post/zh-CN395919/


All Articles