我的快乐小窝 > 财经科技 >长篇详述 ARM 成长史(第1部分):构建第一个芯片

长篇详述 ARM 成长史(第1部分):构建第一个芯片

1983年,Acorn 计算机公司需要一个CPU。 所以,10个人就合伙造了一个。

那是1983年,Acorn 计算机公司正处于世界之巅。 不幸的是,麻烦就在眼前。

这家英国小公司因赢得英国广播公司(British Broadcasting Corporation)为一个全国性电视节目生产电脑的合同而闻名。其 BBC Micro 的销量直线上升,有望超过120万台。

上图:BBC Micro 的杂志广告。 标语是“未来事物的形状”。

但个人(PC)电脑的世界正在发生变化。家长们为了帮助孩子们完成家庭作业,而购买的便宜的8位微型电脑的市场已经趋于饱和。而来自大洋彼岸的新机器,如 IBM 个人电脑和即将推出的苹果 Macintosh 电脑,则有望大大增强功能和易用性。因此,Acorn 需要一种竞争的方式,但它没有太多的资金用于研发。

一个想法的种子

BBC Micro 的设计师之一索菲·威尔逊(Sophie Wilson)早就预料到了这个问题。她增加了一个叫做“Tube”的插槽,可以连接到功能更强大的中央处理器。一个开槽的CPU可以接管计算机,让它原来的6502芯片空闲下来执行其他任务。

但是,应该选择什么处理器呢?威尔逊和合作设计师史蒂夫·弗伯考虑了各种16位的选择,如英特尔的80286,国家半导体公司的32016和摩托罗拉的68000。但没有一个完全令人满意。

上图:286、32016 和 68000 CPU,大致按比例。

在后来的一次计算机历史博物馆的采访中,威尔逊解释说:“我们可以看到所有这些处理器做了什么,没有做什么。所以它们没有做的第一件事,就是它们没有很好地利用记忆系统。它们没有做的第二件事是它们速度不快,它们不容易使用。我们习惯了用机器码编程6502,我们更希望我们能达到一个功率级别,这样如果你用更高级别的语言编写,你就可以达到同样类型的结果。”

但另一种选择是什么?让小小的 Acorn 从零开始制造自己的CPU是可以想象的吗?为了找到答案,威尔逊和弗伯去了国家半导体公司在以色列的工厂。他们看到了数百名工程师和大量昂贵的设备。这证实了他们的怀疑:这样的任务可能超出了他们的能力。

然后,他们参观了亚利桑那州梅萨市的西部设计中心。这家公司正在生产受人喜爱的6502,并设计16位的后继机型65C618。威尔逊和弗伯找到的不过是“郊区的一间平房”,里面住着几个工程师和一些学生,他们用旧的苹果II型电脑和一些胶带在制作图表。

上图:根据谷歌的数据,新的西部设计中心将于2022年建成。它甚至可能是同一间平房!

突然之间,制造自己的CPU似乎成为可能。威尔逊和弗伯的小团队以前也制作过定制芯片,比如 BBC Micro 的图形和输入/输出芯片。但这些设计更简单,组件比CPU还少。

尽管面临挑战,Acorn 的高层管理人员还是支持他们的努力。事实上,他们不仅仅是支持。拥有物理学博士学位的 Acorn 联合创始人赫尔曼·豪泽(Hermann Hauser)向团队提供了IBM研究论文的副本,描述了一种新型更强大的CPU类型。它被称为:RISC,意为“简化指令集计算”。

采用一种 RISC

这到底是什么意思?为了回答这个问题,让我们来上一个超级简化的关于CPU如何工作的速成班。首先是晶体管,一种由硅和不同化学物质混合而成的三明治状微小器件。晶体管有三个连接器。当在栅极输入端加一个电压时,它允许电流从源输入端自由流动到漏极输出端。当栅极上没有电压时,电流就会停止流动。因此,晶体管作为可控开关工作。

上图:简化的晶体管动画。

你可以把晶体管组合成逻辑门。例如,两个串联的开关构成“与”门,两个并联的开关构成“或”门。这些门让计算机通过比较数字来做出选择。

上图:简化的晶体管与门和或门。

但是,如何表示数字呢?计算机使用二进制,或以2为基数,将小的正电压等同于数字1,将无电压等同于0。这些1和0被称为位。由于二进制算术非常简单,所以很容易制作二进制加法器,可以将0或1与0或1相加,并存储总和和可选进位位的二进制加法器。大于1的数字可以通过添加多个同时工作的加法来表示。同时可访问的二进制数字的数量是衡量芯片“位数”的一个指标。像6502这样的8位CPU以8位的块处理数字。

上图:由 AND 和 OR 门组成的全加器电路。

算术和逻辑是CPU工作的重要组成部分。但人类需要一种方法来告诉它该做什么。因此,每个CPU都有一个指令集,这是一个列表,它可以将数据移进或移出内存,进行数学计算,比较数字,并跳转到程序的不同部分。

RISC的想法是大幅减少指令的数量,这将简化CPU的内部设计。到什么程度呢?英特尔80286是一个16位芯片,共有357条独特指令。而威尔逊创建的新的 RISC 指令集只有45个。

上图:Intel 80286 和 ARM V1 指令集的比较。 每个指令变体都有一个单独的数字代码。

为了实现这种简化,威尔逊使用了“加载和存储”体系结构。传统的(复杂的)CPU有不同的指令,可以从两个内部“寄存器”(芯片内部的一小块内存)加数字,也可以从外部内存的两个地址加数字,或者两个地址的组合加数字。相比之下,RISC芯片指令只能在寄存器上工作。然后,单独的指令将答案从寄存器移动到外部存储器。

上图:通用 CISC CPU 与通用 RISC 汇编语言的比较。 RISC 处理器在对它们进行操作之前必须将内存值加载到寄存器中。

这意味着用于 RISC CPU 的程序通常需要更多的指令才能产生相同的结果。那么他们怎么能更快呢?一个答案是,更简单的设计可以在更高的时钟速度下运行。但另一个原因是,芯片执行更复杂的指令所需的时间更长。通过保持它们的简单性,可以使每个指令在一个时钟周期内执行。这使得使用所谓的流水线变得更容易。

通常,CPU必须分阶段处理指令。它需要从内存中获取一条指令,解码该指令,然后执行该指令。Acorn 正在设计的 RISC CPU 将有一个三级流水线。当芯片的一部分执行当前指令时,另一部分正在获取下一个指令,以此类推。

上图:ARM V1 流水线。 每个阶段都需要相同的时间来完成。

RISC设计的一个缺点是,由于程序需要更多的指令,它们占用了更多的内存空间。早在20世纪70年代末,当第一代CPU正在设计时,1兆内存的价格约为5000美元。因此,任何减少程序内存大小的方法(拥有一个复杂的指令集将有助于做到这一点)都是有价值的。这就是为什么像英特尔8080、8088和80286这样的芯片有如此多的指令。

但内存价格迅速下降。到1994年,1兆字节的价格将低于6美元。因此,RISC CPU所需的额外内存在未来将不再是什么问题。

为了进一步验证新的 Acorn CPU 的未来性能,团队决定跳过16位,直接采用32位的设计。这实际上使芯片内部更简单,因为你不需要经常分解大量的数字,你可以直接访问所有的内存地址。(事实上,第一个芯片只暴露了32个地址行的26个引脚,因为2的26次方,即64MB,在当时是一个荒谬的内存量。)

团队现在需要的是为新CPU取一个名字。考虑了各种选择,但最终,它被称为 Acorn RISC Machine,或称:ARM。

为第一个 ARM 祈祷

第一个 ARM 芯片的开发耗时18个月。为了节省资金,团队在将设计植入硅片之前花费了大量时间来测试设计。 设计师史蒂夫·弗伯在 BBC Micro 上用解释的 BASIC 为 ARM CPU 编写了一个模拟器。当然,这非常慢,但它有助于证明这个概念,并验证威尔逊的指令集可以按设计工作。

据威尔逊说,开发过程雄心勃勃,但很简单。

威尔逊表示:“我们以为自己疯了。我们以为我们做不到。但我们一直发现没有真正的停靠点。这只是做工作的问题。”

弗伯完成了芯片本身的大部分布局和设计,而威尔逊则专注于指令集。但事实上,这两种工作是深深交织在一起的。为每条指令选择代码编号不是随意的。每一个数字都被选中,当它被转换成二进制数字时,沿着指令总线的适当的电线就会激活正确的解码和路由电路。

测试过程成熟了,威尔逊领导的团队编写了一个更高级的模拟器。她解释说:“通过纯指令模拟器,我们可以在一个6502秒的处理器上以每秒数十万条ARM指令的速度运行。我们可以编写大量的软件,将BBC BASIC移植到ARM和其他所有东西上,第二处理器,操作系统。这给了我们越来越多的信心。其中有些东西比我们见过的任何东西都好,即使我们在解释ARM机器代码。ARM机器代码本身的性能是如此之高,以至于解释ARM机器代码的结果,往往比在同一平台上编译的代码更好。”

这些惊人的结果激励了这个小团队完成工作。第一个 ARM CPU 的设计被送到美国半导体制造公司 VLSI 技术公司进行制造。1985年4月26日,第一个版本的芯片回到了Acorn公司。威尔逊将它插入BBC Micro的Tube插槽,加载了移植到ARM上的BBC Basic版本,并用一个特殊的PRINT命令进行测试。芯片回答说:“你好,世界,我是ARM。”终于,团队可以打开一瓶香槟庆祝了。

上图:最早的 ARM 芯片之一。

让我们退一步,反思一下这是多么令人惊叹的成就。整个ARM设计团队由索菲·威尔逊、史蒂夫·弗伯、两名额外的芯片设计师和一个编写测试和验证软件的四人团队组成。这款基于先进 RISC 设计的新32位CPU是由不到10个人创造的,第一次它就正确地工作了。相比之下,国家半导体公司的32016版本到了第10版,而且仍在发现错误。

Acorn 团队是如何做到的呢?他们把ARM设计得尽可能简单。V1 版芯片只有27000个晶体管(80286有134000个晶体管!),并且是用3微米的工艺制造的,也就是3000纳米,比今天的CPU颗粒小1000倍。

上图:ARM V1 芯片及其框图。

在这个细节级别上,你几乎可以分辨出单个的晶体管。例如,查看寄存器文件,并将其与随机存取存储器如何工作的交互框图进行比较。你可以看到指令总线从输入引脚携带数据,并将其发送到解码器和寄存器控制。

尽管,第一款 ARM CPU 令人印象深刻,但有必要指出它所缺失的东西。它没有机载缓存。它没有乘法和除法电路。它还缺少一个浮点单元,因此对非整数的运算速度比可能的慢。然而,使用一个简单的桶移位器有助于浮点数。芯片以非常适中的6 MHz的频率运行。

这个勇敢的小 ARM V1 表现如何?在基准测试中,在相同的时钟速度下,它的速度大约是英特尔80286的10倍,相当于运行在17 MHz的32位摩托罗拉68020。

ARM 芯片也被设计成在非常低的功耗下运行。威尔逊解释说,这完全是一种节约成本的措施 —— 该团队想用塑料外壳来代替陶瓷外壳,所以他们设定了1瓦的最高能耗目标。

但是,他们用来估算功率的工具是原始的。为了确保他们不会超过限制而融化塑料,他们在每个设计细节上都非常保守。由于设计的简单性和较低的时钟率,实际功耗最终为0.1瓦。

事实上,该团队第一批插入ARM的测试板中有一块已经断开了连接,根本没有连接任何电源。当他们发现这个错误的时候,真是令人惊讶,因为中央处理器一直在工作。它是由于支撑芯片的漏电而启动的。

据威尔逊说,ARM 芯片极低的功耗是一个“完全的意外”,但这在后来变得很重要。

ARM 新电脑

所以,Acorn 拥有这项惊人的技术,领先竞争对手很多年。经济上的成功肯定很快就会随之而来,对吧?如果你了解计算机历史,你可能会猜到答案。

到1985年,BBC Micro 的销售开始枯竭,一方面是廉价的 Sinclair Spectrums,另一方面是 IBM 的PC克隆产品。Acorn 将其公司的控股权卖给了Olivetti,此前他们曾合作为 BBC Micro 生产打印机。一般来说,如果你把自己的电脑公司卖给了一家打字机公司,这不会是一个好迹象。

Acorn 向研究人员和业余爱好者出售了带有ARM芯片的开发板,但仅限于现有BBC Micro所有者的市场。该公司需要的是一台全新的计算机来真正展示这种新型CPU的能力。

在做到这一点之前,它需要对原来的ARM进行一点升级。于是,ARM V2版于1986年问世,增加了对协处理器的支持(比如浮点协处理器,这是当时计算机上很流行的附加组件)和内置的硬件乘法电路。它是在2微米的制程中制造的,这意味着 Acorn 可以在不消耗更多电力的情况下将时钟速率提高到8 MHz。

但是,仅仅一个CPU还不足以构建一台完整的计算机。因此,该团队制作了一个图形控制器芯片、一个输入/输出控制器和一个内存控制器。到1987年,包括 ARM V2 在内的所有四种芯片都准备好了,同时还有一台用于安装它们的计算机原型机。为了反映其先进的思维能力,该公司将其命名为 Acorn Archimedes(Acorn 阿基米德)。

上图:Acorn 阿基米德的首批模型之一。

考虑到当时是1987年,人们期望个人电脑配备的不仅仅是BASIC指令的输入提示。用户还需要像 Amiga、Atari ST和 Macintosh 上那样漂亮的图形用户界面。

Acorn 在加州帕洛阿尔托(施乐PARC的所在地)建立了一个远程软件开发团队,为阿基米德设计下一代操作系统。它被称为 ARX,承诺优先多任务处理和多用户支持。ARX 的速度很慢,但更大的问题是它来得太晚。已经很晚了。

当时 Acorn 阿基米德 正准备上市,公司还没有一个操作系统可以在上面运行。这是一个危机的局面。所以 Acorn 的管理层找到了保罗·费洛斯(Paul Fellows),他是 Acorn soft 团队的负责人,曾经为BBC Micro写过很多语言。他们问他:“你和你的团队能在五个月内为阿基米德编写并发布一个操作系统吗?”

根据费罗斯的说法,“我就是那个说‘可以’的傻瓜。我说我们可以做到。”

从零开始开发一个操作系统,5个月的时间并不多。这个又快又土的操作系统被称为“亚瑟计划”,可能是以著名的英国计算机科学家阿瑟·诺曼的名字命名的,但也可能是“ARm by THURsday!”它一开始是BBC BASIC语言的扩展。理查德·曼比(Richard Manby)用BASIC语言编写了一个名为“亚瑟桌面”(Arthur Desktop)的程序,只是为了演示如何使用该团队开发的窗口管理器。但是他们没有时间了,所以演示被刻录到第一批计算机的只读存储器(ROM)中。

上图:亚瑟(Arthur)操作系统的屏幕截图。

第一批阿基米德型号于1987年6月发货,其中一些仍带有BBC的商标。这款电脑速度很快,而且物有所值 —— 最初的价格是800英镑,在当时大约是1300美元。与1987年售价5500美元的 Macintosh II 相比,这款电脑的计算能力不相上下。

但是,Macintosh II 电脑有PageMaker、Microsoft Word和Excel,以及大量其他有用的软件。而阿基米德是一个新的计算机平台,在它发布的时候,没有太多可用的软件。计算机世界正迅速向IBM个人电脑兼容机和Macintosh电脑(还有几年的Amigas)靠拢,其他所有人都发现自己被挤出了市场。阿基米德电脑在英国媒体上得到了很好的评价,并获得了热情的粉丝群,但在最初的几年里,只卖出了不到10万台。

种子生长

Acorn 迅速修复了“亚瑟”(Arthur)的漏洞,并致力于开发一个具有更多现代功能的替代操作系统 RISC OS。RISC 操作系统于1989年发布,ARM CPU V3的新版本紧随其后。

V3版芯片建立在1.5微米的工艺上,这将其 ARM 2 核心的尺寸缩小到大约四分之一的可用模具空间。这就为包括4千字节的快速一级缓存内存留下了足够的空间。时钟速度也增加到了 25 Mhz。

尽管,这些改进令人印象深刻,但索菲·威尔逊等工程师认为 ARM 芯片还可以进一步发展。但 Acorn 迅速减少的资源所能做的是有限的。为了实现这些梦想,ARM 团队需要寻找外部投资者。

就在这时,另一家电脑公司的代表走了进来,这家公司以一种很受欢迎的水果命名。

-- 未完待续 --

如果朋友们喜欢,敬请关注“知新了了”!

本文来自网络,不代表本站立场,转载请注明出处:https://www.51din.com/a/8923.html

什么,成长史,电脑,索菲·威尔逊,公司,史蒂夫·弗伯,Acorn,数字,晶体管,计算机,知识科普

我的快乐小窝后续将为您提供丰富、全面的关于什么,成长史,电脑,索菲·威尔逊,公司,史蒂夫·弗伯,Acorn,数字,晶体管,计算机,知识科普内容,让您第一时间了解到关于什么,成长史,电脑,索菲·威尔逊,公司,史蒂夫·弗伯,Acorn,数字,晶体管,计算机,知识科普的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。