EEJournal

专题文章
现在就订阅

HRRG 4位混合技术计算机

这些天时间似乎过得特别快。每当我眨眼,又一个星期就过去了;我每打一个喷嚏,就少一个月;每次我…我们跑题了就在几周前(也可能是几个月前),有人在我的一篇专栏文章中发表了评论,说他们很惊讶没有在EE Journal上看到关于我的HRRG计算机项目状态的更新。

如果你问我,我可能会说我花了很多时间在我的兴趣项目上。然而,我担心事情的真相是,我花了更多的时间磨磨蹭蹭,胡扯,通常拖延,而不是真正做工作。结果,我的一些项目拖了好几年,而另一些项目拖了几十年。

我的Heath Robinson Rube Goldberg (HRRG)电脑就是这样一个方案,它是以英国漫画家、插画家和艺术家William Heath Robinson(1872-1944)和他的美国同行Reuben Lucius Goldberg(1883-1970)命名的。这些先生们以创造巧妙的装置插图而闻名,这些装置的目标是执行看似简单的任务,但其实现却以极其复杂的方式执行上述任务。

正如维基百科告诉我们的:“鲁布·戈德堡机器,以美国漫画家鲁布·戈德堡的名字命名,是一种链式反应类型的机器或精巧装置,故意设计用于以间接和过于复杂的方式执行简单的任务。”你可以在YouTube上找到各种各样的Rube Goldberg机器。当我想喘口气的时候,我总是会想起这一切都会过去OK Go的视频。

几乎从我大学毕业并开始我的第一份工作——在一个设计大型计算机中央处理器(cpu)的团队中——开始时,我就有了自己设计一个基于中继的机器的想法。这个项目一直在我的脑海中徘徊(我笑着称之为),直到21世纪初,我遇到了一个超级酷的继电器计算机由哈利波特三世教授创造。

一方面,这激励我采取行动。另一方面,它让我停下来思考,因为我不想做别人已经做过的事情,如果你明白我的意思。我非常喜欢Harry的机器的一个地方是,他把它作为一个挂在墙上的、正面是玻璃的木橱柜的集合来展示(我不太喜欢把这些橱柜连接在一起的一捆捆电线)。

所有这些都激发了我将HRRG创建为混合技术计算机的想法。HRRG也被设计成一个壁挂式、玻璃面木制橱柜的集合。然而,在这种情况下,每个机柜将具有不同的实现技术,包括继电器、真空管、离散晶体管和“jellybean”(sn7400系列)ic,以及磁逻辑、气动逻辑和液压逻辑,仅举几个竞争者的名字。

我最初设想HRRG是一个8位的机器(我早期的一些想法被记录在DIY计算器网站).然而,在这个过程中,我的好友乔·法尔(Joe Farr)加入了这个项目,他在英国工作。在某个阶段,我们认为4位机器可以增加趣味性,同时也使HRRG作为教育工具更有趣(除了它的4位数据总线,HRRG还展示了一个12位地址总线,因此允许它寻址2^12 = 4096个4位字)。最近,来自荷兰的尼尔斯·范·登·休维尔加入了我和乔的探索。在经历了我早期的HRRG计算机思考和沉思之后,Nils开始在FPGA中创建HRRG的门和寄存器级实现。他在这个过程中发现的事情促使我们三个人重新思考并完善了许多基本细节。

目前的游戏状态如下。最初的8位微处理器的cpu有一个叫做累加器(ACC)的寄存器,它们在其中存储(“累积”)它们的计算结果。例如,一个程序可能从内存中加载一个数字到ACC中,从内存中添加第二个数字到ACC中当前的值,然后做一些类似于将结果存储回内存的事情,或者可能根据结果的大小做出决定。

从架构上讲,下一代8位微处理器的发展方向各不相同。一些设计师选择了双累加器,而另一些设计师则决定使用一堆通用寄存器。让这些设计师的工作更轻松的一件事是,他们的8位字支持2^8 = 256种不同的指令。这允许他们使用不同的指令来实现不同的寻址模式。例如,“LDA $35”将使用立即寻址模式将十六进制值$35加载到累加器中。相比之下,假设一个16位地址空间,“LDA[$0035]”将使用绝对寻址模式,用内存中16进制地址$0035的任何8位值加载累加器。这些指令中的每一条都有自己的8位“操作码”(“操作码”的简称),这是指令中指定要执行的操作的部分。

由于我们决定使用4位字,这限制了我们只支持2^4 = 16条指令。同样,由于我们决定实现的方式,它限制了我们在CPU中只支持16个不同的寄存器。

4位HRRG计算机的16个寄存器(图片来源:Max, Joe和Nils)

我认为非常聪明的一件事是使用我们所谓的“虚拟寄存器”来实现我们版本的寻址模式,这是我以前从未见过的(或者,至少我以前从未见过它以这种方式呈现)。例如,我们的“常量”模式相当于传统的“即时”寻址,而我们的“直接”模式相当于传统的“绝对”寻址。

您可能已经注意到,我们有两个名为S0和S1的状态寄存器。我们必须这样做,因为我们有四个以上的状态位。其中一个有趣的方面是,在实现各种跳转指令时,我们可以将这两个4位寄存器视为单个8位寄存器。

4位HRRG计算机的状态寄存器(图片来源:Max, Joe和Nils)

当我们讲到指令集的时候,事情就开始变得激动人心了。记住,我们的4位字只支持2^4 = 16条指令。如果你这样做,你会选择哪个指令?在我们的例子中,我们选择了如下所示的选项。

4位HRRG计算机的指令集(图片来源:Max, Joe和Nils)

必须承认,这确实需要一些时间来理解,但当你进入状态时,它很快就会变得有意义。让我们以INC指令(十六进制$1)为例。如果我们将它与一个物理寄存器结合起来,比如4位通用寄存器N3,那么我们的机器代码将是“$1 $3”,它告诉HRRG“增加寄存器N3的内容”。相比之下,如果我们想增加内存位置$003的内容,我们将使用带有目标地址的虚拟内存直接($C),因此我们的机器代码现在将是“$1 $C $003”。

除此之外,这说明了一个事实,即HRRG的大多数指令都可以在寄存器和内存上操作,这是非常强大的。例如,使用机器代码“$3 $A $3 $C $003”,我们可以将4位常量($A)值($3)ADDC($3)到地址$003的内存($C)的内容($C)中,这也是结果将被存储的地址。

在加法的情况下,我们可以决定同时支持ADD(“无进位添加”)和ADDC(“带进位添加”)。然而,由于我们受到指令限制,所以我们选择了ADDC,因为从ADDC中欺骗ADD要比反过来容易得多。SUB(“减去而不借”)和SUBB(“减去而借”)也是如此。

老实说,我可以为此喋喋不休几个小时,这在某种程度上解释了为什么指令集插图引用了如此多的注释,这些注释解释了令人痛苦的细节。但是,为了本专栏的目的,我将不介绍细节。

我想做的一件事就是为Nils欢呼。在他加入我们之前,Joe和我已经竭尽全力地使用文字来描述4位和12位源与4位和12位目标交互的方式。Nils很快提出了下面的图表,它使一切都清楚了。

4位/12位源和目标之间交互的图形化描述(图片来源:Max, Joe和Nils)

这直观地告诉我们,例如,如果一个12位寄存器(R12)被复制到一个4位目标(R4),那么只会复制最低有效位蚕食(LSN)。辉煌!

同时,Joe在汇编器方面做了很多工作,他实现汇编器的方式使它看起来像一个虚拟程序Sperry Univac Uniscope 200计算机终端(乔选择了这个小美人,因为他的车间里碰巧有一个真的)。

4位HRRG计算机的汇编程序(图片来源:Joe Farr)

观察虚拟Uniscope 200右下角突出的黄色三角形。这是一张虚拟纸带的末端。一旦你把程序汇编到自己满意的程度,你就可以把它保存为带有声音效果和一切东西的虚拟纸带。此外,Joe还创建了一个非常酷的模拟器,如下图所示。

4位HRRG计算机模拟器(图片来源:Joe Farr)

在这种情况下,您可以使用虚拟HRRG前面板上的开关对其进行编程。或者,您也可以从之前使用上述汇编程序创建的虚拟纸带中加载机器码程序。您还可以通过激活虚拟打印机的绿色和白色条纹折页纸来记录正在进行的所有事情,如上图左侧所示。

你还记得我说过我们希望4位HRRG计算机能发挥教育作用吗?好吧,即使在我最兴奋的时候,我也意识到高中计算机班不太可能有时间和精力(和金钱)来建立一个完整的HRRG。然而,他们当然可以使用他们选择的技术来创建一个像单个4位字的内存。我们的想法是,他们可以将他们的物理“柜”连接到我们的模拟器,以查看他们的创建在系统其余部分的上下文中工作。

再一次,我可以就这个问题喋喋不休地说上几个小时(我相信在未来的某个阶段我也会这样做)。然而,目前,你可能认为自己已经跟上了关于4位HRRG计算机的最新状态。一如既往,我欢迎您的评论、问题和建议。

关于“遇见HRRG 4位混合技术计算机”的4个想法

  1. 马克斯,

    我怀疑你可能参与了美国海军MK 112鱼雷火控计算机的设计和制造,我在每次巡逻时都要运行这个不幸的任务。

    《D*&N》绝对是一个鲁布·戈德堡式的精巧设计。最不可靠口径的模拟/数字混合设备。它的结构是一个复杂的混合模拟同步伺服和大量笨重的继电器。(每个都和4盎司的番茄酱罐差不多大。)每当怪物倒下,需要与制造商联系时,标准的回答都是:“很遗憾,那位工程师不再为我们工作了。”

    这是我决定缩短我的海军生涯的一个因素,尽管我喜欢潜艇服役的其余部分。

    1. USN MK 112听起来棒极了“我很高兴我不用自己使用它”的那种方式-我希望我能亲眼看到一个。谢谢分享-麦克斯

留下回复

有特色的博客
2022年12月28日
我不得不说,其中许多机械运动对我来说都是全新的,从第一个开始,我现在知道它是施密特耦合....
2022年12月25日
https://youtu.be/V2368Zo4Tb4直接链接,如果它说视频被屏蔽,在格罗夫兰CA(无人机飞行员凯里)周一:IEDM主题演讲:安凯莱赫对未来技术周二:RISC-V峰会第二天:Krste, Android周三:12月更新:陈明胡,闰秒,对…
2022年12月20日
作者:James Paris和Armen Asatryan在实现过程中自动进行简短检查,让设计团队快速找到并修复这些错误... ...
2022年12月20日
我们在Synopsys上回顾了2022年,包括基于云的芯片设计工具、机器学习和人工智能驱动的EDA解决方案、多模系统和安全接口IP。回顾一年:回顾2022年的关键技术进步和冒险,这篇文章首次出现在来自硅…

有特色的视频

通过端到端解决方案实现内存设计和开发的新范式

Synopsys对此

为了满足高性能计算、人工智能和汽车应用的需求,对高度定制的高性能存储芯片的需求正在推动对新的设计范式的需求,如DTCO、左移设计、数字化和可靠性设计。

了解有关内存解决方案的更多信息

特色粉笔谈话亚博里的电子竞技

汽车座椅电子控制

英飞凌

今天的汽车座椅设计必须考虑尺寸、成本、电池寿命和通过EMC测试。在本期Chalk Talk节目中,来自亚博里的电子竞技英飞凌的Amelia Dalton和Rick Browarski研究了汽车电子座椅控制的最新创新。他们将深入了解当今电动座椅的结构、ECU在电子座椅控制中所扮演的角色,以及英飞凌芯片组产品如何为您的下一个智能电动座椅设计提供帮助。

点击这里了解更多关于英飞凌座椅控制系统的信息

Baidu