第一个百万晶体管芯片:工程师的故事

英特尔的i860 RISC芯片是一个图形引擎

21分钟读取
二十个人挤在一个小隔间里,中间的那个男人坐着,手里拿着一块装满芯片的硅片

英特尔的百万晶体管芯片开发团队

在旧金山1989年2月27日,英特尔加利福尼亚州圣克拉拉市推出了第一款100万晶体管微处理器,震惊了高科技世界,这也是该公司第一款使用精简指令集的此类芯片。

仅晶体管的数量就标志着一个巨大的飞跃:英特尔之前的微处理器80386只有275000个晶体管。但这一长期推迟进入快速发展的精简指令集计算(RISC)市场的举动更令人震惊,部分原因是它打破了英特尔与早期处理器兼容的传统,尤其是在经过三年精心开发后,该芯片出人意料。现在被指定为i860,它于1986年进入开发阶段,大约与80486同一时间,80486是英特尔备受推崇的80286和80386的前身。这两款芯片的面积大致相同,使用的是当时在该公司位于俄勒冈州希尔斯堡的系统生产和制造工厂正在开发的相同的1微米CMOS技术。但随着i860,当时代号为N10,该公司计划进行一场革命。

摆脱了与80X86处理器系列兼容的限制,秘密的N10团队从一张几乎空白的纸开始。

这篇文章最初发表的标题是“英特尔的秘密已经泄露”IEEE综览.A类PDF版本IEEE Xplore上提供。图表和照片出现在原始打印版本中。

一个人的远征

这篇论文不会空白太久。该项目的首席建筑师莱斯利·科恩(Leslie Kohn)已经赢得了RISC先生的绰号。自加入以来,他一直希望开始RISC微处理器设计英特尔1982年。一次尝试已经进行了将近18个月的开发,但目前的硅技术不允许一个芯片上有足够的晶体管来获得所需的性能。稍后的尝试在以下情况下被放弃:英特尔决定不投资于特定的工艺技术。

英特尔圣克拉拉微机事业部副总裁兼总经理Jean-Claude Cornet将N10视为服务高性能微处理器市场的机会。他预测,这种芯片将超越微处理器的实用范围,成为高水平工程和科学研究团体的设备。

科奈特告诉我们:“我们都是工程师。”IEEE综览“因此,这是我们最熟悉的需求类型:计算机辅助设计的计算密集型、模拟密集型系统。”

与超级计算机、图形工作站和微型计算机行业的潜在客户进行的讨论对芯片提出了新的要求。超级计算机制造商想要一个能够处理向量的浮点单元,并强调要避免性能瓶颈,这一需求导致整个芯片采用64位架构设计,这使得100万个晶体管成为可能。图形工作站供应商则敦促英特尔的设计者在整数性能和浮点性能之间取得平衡,并使芯片能够生成三维图形。微型计算机制造商想要速度,并确认RISC是实现高性能的唯一途径;他们还强调了数据库应用程序所需的高吞吐量。

摆脱了与80X86处理器系列兼容的限制,秘密的N10团队从一张几乎空白的纸开始。

英特尔团队还猜测了其竞争对手,如MIPS Computer Systems Inc。,太阳微系统公司.、和摩托罗拉公司工程师们知道他们的芯片不会是市场上第一个RISC架构的芯片,但64位技术意味着他们将超越竞争对手的32位设计。他们也已经在规划更完善的体系结构,在一个芯片上具有内存管理、缓存、浮点和其他功能,他们正确地认为较小的芯片不可能实现多功能性晶体管竞争对手的预算。

定义术语

高速缓存

芯片缓冲区上的单元,用于保存来自主存储器的数据和指令,以便更容易地访问这些数据和指令。

数据路径

被操作信息通过的芯片部分,包括总线、缓存和寄存器的部分。

整数核心

执行整数计算的芯片部分,与执行浮点运算的区域分开;该部分还对整个芯片执行一些控制功能。

第页

根据需要进出主存储器的程序或数据的一部分。

精简指令集计算机(RISC)

一种很少使用的指令被排除在处理器之外,以提高剩余指令的执行速度的方法。向量处理:同时处理数字数组的能力。

最终决定取决于该公司组件技术与开发集团副总裁兼总经理Albert Y.C.Yu。几年来,俞敏洪一直被科恩建造超高速RISC微处理器的热情所吸引,但他觉得英特尔缺乏资源来投资这样一个项目。由于这个非常新颖的想法出自工程团队,余告诉Spectrum,他发现一些英特尔高管犹豫不决。然而,在1985年底,他决定,尽管他的不确定性,RISC芯片的时代已经到来。“很大程度上取决于直觉,”他说。“你要在这些事情上冒险。”

1986年1月,当做出这一决定的那一刻,热度就开始了。英特尔的RISC芯片必须在竞争激烈之前进入市场,而随着该项目与486设计一起启动,这两个集团可能不得不争夺计算机时间和支持人员。科恩通过确保N10的努力持续领先于486,解决了这场冲突。为了减少官僚作风和通信开销,他决定N10团队将拥有尽可能少的工程师。

人员配备

在俞敏洪批准该项目后,希尔斯伯勒项目的工程师赛维福(Sai Wai Fu)就搬到了圣克拉拉(Santa Clara),加入科恩(Kohn)担任团队的共同经理。傅和科恩在帕萨迪纳加州理工学院(California Institute of Technology in Pasadena)上学时就认识了,在英特尔(Intel)重聚,并在科恩早先的RISC尝试中合作过。傅急于再找一次机会,接手了招聘工作,争相组建一支由优秀工程师组成的兼容团队。他不仅激发了突破百万晶体管壁垒的激情,还激发了自己的管理哲学:通过挑战工程师的专业领域之外的知识来拓宽他们的视野。

为了减少官僚主义和通信开销,[莱斯利·科恩]决定N10团队将拥有尽可能少的工程师。该项目吸引了公司内许多经验丰富的工程师。Piyush Patel曾是80386的首席逻辑设计师,他加入了N10团队,而不是486项目。

“这很冒险,”他说,“但更具挑战性。”

设计工程师P.Sit议员也选择了N10而不是486,因为他说:“有了486,我会研究控制逻辑,我知道怎么做。我以前就做过。N10需要人来处理浮点单元,我对浮点知之甚少,所以我很有兴趣学习。”

正如486名团队经理约翰·克劳福德(John Crawford)所说,N10团队除了吸引“逃犯”外,还从英特尔技术开发团队请来了三名内存设计专家,这很重要,因为将有大量的片上内存。最后,科恩和傅聘请了一些刚从大学毕业的工程师。工程师人数增加到20人,比他们最初认为需要的人数多了8人,但还不到486人团队人数的三分之二。

把它写在纸上

1986年初,他在NEC问题上没有与英特尔的律师联系版权诉讼(英特尔起诉NEC,指控其8086的微代码侵犯版权),Kohn完善了他对N10将包含什么以及如何将其整合在一起的想法。他非正式地咨询了克劳福德。

克劳福德说:“预计N10和486都将超过400英里,我对其尺寸有点紧张。”。“但[科恩]说,‘嘿,如果不是450,我们可以忘记它,因为我们在模具上没有足够的功能。所以我们应该选择450,并认识到这些东西几乎不会缩小。’”

他们意识到,芯片的侧面可能会超过450密耳。实际的i860是396乘602密耳。

Kohn首先呼吁RISC内核具有快速整数性能、用于指令和数据的大型缓存以及用于快速浮点计算的专用电路。大多数微处理器执行浮点操作需要5到10个时钟周期,Kohn的目标是通过流水线将其缩短为一个周期。他还希望总体上有一条64位的数据总线,但在数据缓存和浮点段之间有一条128位的总线,这样浮点段在访问数据时就不会遇到瓶颈。就像超级计算机一样,芯片必须执行向量运算,并并行执行不同的指令。

两个人靠在电路图和硅片上

英特尔100万晶体管简化指令集计算微处理器的首席架构师莱斯利·科恩(Leslie Kohn)(左)和项目经理赛威福(Sai-Wai Fu)共同管理芯片的开发。被称为N10项目的芯片设计工作始于1986年1月。去年9月,首批晶圆下线,作为i860,该芯片于1989年2月27日正式发布。

4月初,傅拿着一支铅笔和一张8 1/2×11英寸的纸,草拟了芯片的设计方案,分为八个部分:RISC整数核、分页单元、指令缓存、数据缓存、浮点加法器、浮点乘法器、浮点数寄存器和总线控制器。在绘制时,他做出了一些选择:例如,缓存区域的行大小为32字节。(任何长度的缓存线都是一组内存单元,是可以在缓存和主内存之间来回移动的最小内存单元。)虽然较小的缓存线尺寸会略微提高性能,但它会迫使缓存变成不同的形状,使其在芯片上的位置更难定位。傅说:“所以我选择了我们能得到的最小的线条尺寸,并且仍然保持统一的形状。”。

他的草图也有效地摒弃了科恩的一个想法:将数据缓存划分为四个128位的隔间,以创建四路并行(称为四路集关联)。但在绘制计划时,傅意识到四向分割不起作用。有了两个隔间,数据可以直线从缓存流到浮点单元。在四向平行的情况下,数百根电线将不得不弯曲。傅说:“由于物理布局的原因,整个系统都会崩溃。”。他认为,放弃四路分割只会带来5%的性能损失,因此双向缓存赢得了胜利。

“当我将这些块添加到一起时,我没有正确地添加它们。我遗漏了250微米。”—英特尔工程师

当他画完草图后,有一块空地。傅说:“我明白了,当你不知道细节时,不应该把东西包得这么紧,因为事情会越来越严重。”。这个空间被填满了,等等。设计的几个部分在实现时略有增长。傅回忆道,在设计过程即将结束的一天,一位工程师抱歉地说:“当我把这些块放在一起时,我没有把它们加好。我漏掉了250微米。”

这是一个简单的加法错误。“但这不是一件你可以轻易解决的事情,”付说。“你必须为250微米找到空间,尽管我们知道这一点,因为我们正在突破工艺技术的极限,在这里或那里添加100微米可能会降低产量。

“我们尝试了所有我们能想到的方法来弥补,但最终,”他说,“我们不得不增加芯片。”

N10项目的联合负责人赛威福于1986年初草拟了微处理器的第一个计划。他将芯片分为八个模块:精简指令集计算机(RISC)核心、分页单元、指令缓存、数据缓存、浮点寄存器、浮点加法器、浮点乘法器和时钟。(三维图形单元是后来才想到的。)傅留下了一点空白,他确信,最终会被填满。

1 / 2

由于傅的草图将芯片划分为八个模块,他和科恩根据模块的复杂性将团队分为八组,由两名或三名工程师组成。小组开始进行逻辑模拟和电路设计,而科恩继续充实架构规范。

科恩说:“在这样的项目中,你不能自上而下地工作。”。“你从几个不同的层次开始,并行工作。”

傅说:“如果你想突破一项技术的极限,你必须对一切进行自上而下、自下而上和由内而外的迭代。”

电力预算起初引起了严重关注。Kohn和Fu估计该芯片在33兆赫时的功耗应为4瓦。

傅将电力预算分配给各个团队,在这里分配半瓦特,在那里分配一瓦特。“我告诉他们走开,做你的设计,如果你超出预算,回来告诉我。”

宽阔的公共汽车尤其令人担忧。设计者发现,芯片上的一个存储单元驱动了一条长的传输线,传输线的电容为1至2皮卡;当它到达目的地时,信号非常微弱,需要放大。高速缓存需要大约500个放大器,大约是内存芯片的10倍。与大多数静态RAM一样,这些放大器的功耗为2.5瓦,超过芯片功率预算的一半。使用借鉴动态RAM技术的电路设计技术构建SRAM,可将功率降低至约0.5瓦。

傅说:“事实证明,虽然有些团体超出了预算,但有些团体并不需要那么多,尽管我故意低估了他们,以吓唬他们一点,这样他们就不会出去烧掉很多权力。”。实际芯片的数据表声称耗散3瓦特。

一条指令,一个时钟

为了达到他们的性能目标,设计师们将每一个指令在一个时钟周期内执行,使其具有某种宗教色彩——这需要进行大量创新。对于RISC处理器来说,每条指令使用略少于两个周期是很常见的,因此N10团队每个周期使用一条指令的目标似乎是可以实现的,但这种速度对于芯片的许多其他功能来说并不常见。必须开发新的算法来处理流水线模式下一个周期内的浮点加法和乘法。浮点算法是英特尔正在寻求专利的芯片上约20项创新之一。

然而,浮点除法需要20到40个周期,设计者很早就发现芯片上没有足够的空间来容纳如此罕见的操作所需的特殊电路。

[设计师]确实发现了一种方法,可以快速绘制工程师和科学家要求的三维图形,而不需要任何痛苦的权衡。

浮点加法器和乘法器单元的设计者使舍入数字的逻辑符合IEEE标准,从而降低了性能。(例如,克雷研究公司(Cray Research Inc.)的计算机拒绝采用这些标准来提高性能。)虽然一些N10工程师想要更高的性能,但他们发现客户更喜欢符合标准。

然而,他们确实发现了一种方法,可以快速绘制工程师和科学家要求的三维图形,而不需要任何痛苦的权衡。设计者能够通过在浮点硬件上搭载少量额外电路来添加此功能,仅增加芯片尺寸的3%,但将图形计算的处理速度提高了10倍,达到每秒1600万个16位图像元素。

使用RISC处理器,在一个时钟周期内从高速缓存执行加载通常需要额外的寄存器写入端口,以防止加载信息与算术逻辑单元返回的结果之间的干扰。N10团队找到了一种方法,可以在一个周期内对两条信息使用相同的端口,从而在不损失速度的情况下节省电路。快速访问指令和数据是RISC处理器的关键:因为指令很简单,所以可能需要更多的指令。设计者开发了新的电路设计技术,并已申请专利,允许通过仅消耗2.5瓦的超大总线对大型缓存进行单周期访问。

科恩说:“现有的SRAM部件可以在相当长的时间内访问数据,但它们消耗了大量电量。”。

没有爬行的优雅

这一百万个晶体管意味着这两年半的发展中有很大一部分时间花在了电路设计上。负责芯片不同部分的八个小组呼吁进行仔细管理,以确保每个部分在组装后能够与其他所有部分无缝协作。

首先,N10的设计理念是:没有爬行的优雅。该团队的电路设计经理Roland Albers说:“令人毛骨悚然的优雅扼杀了许多芯片。”。他说,电路设计师应该避免重新发明轮子。如果一个典型的周期是20毫微秒,而一种既定的技术会导致一条需要15毫微秒的路径,那么工程师应该接受这一点并继续进行下一个电路。

“如果你让人们投入其中,尝试他们想要的任何东西,尝试他们在杂志上读到的任何技巧,你最终会得到许多边缘化和片状的电路”
-罗兰·阿尔伯斯

路径计时记录在初始项目规范中,并在电路的实际设计开始后,在阿尔伯斯召集的每周会议上进行更新。

阿尔伯斯说:“如果你让人们投入其中,尝试他们想要的任何东西,尝试他们在一些杂志上读到的任何技巧,你最终会得到很多边缘化和片状的电路。”。“相反,我们只是把它推到必须推的地方。这就产生了一个可制造且可靠的部件,而不是一个用于一大堆新电路的测试芯片。”

除了提高可靠性外,禁止爬行优雅也加快了整个过程。

为了确保芯片不同块的电路能够干净地啮合,阿尔伯斯和他的电路设计师编写了一本手册,介绍他们的工作。与英特尔CAD部门的工程师一起,他开发了一个基于图形的电路模拟环境,工程师可以使用该环境输入模拟原理图,包括设备寄生电容和互连的图形化而非字母数字化。然后在工作站上以图形波形的形式检查输出。

在每周的会议上,每一位完成一项设计的工程师都会提交他的结果。其他人将确保它不承担不必要的风险,坚持既定的方法,并且其信号将与芯片的其他部分集成。

英特尔有直接从模拟芯片逻辑的高级语言生成布局设计的工具。团队是否应该使用它们?这样的工具可以节省时间并消除人类设计者引入的错误,但往往不会生成非常紧凑的电路。与手工电路设计相比,英特尔自己用于布局设计的自动放置工具将密度降低了约一半,速度减慢了三分之一。英特尔工程师表示,商用工具的表现更糟。

决定何时何地使用这些工具非常简单:操作数据的浮点逻辑和RISC核心的那些部分必须手动设计,缓存也是如此,因为它们涉及大量重复。一些单元被重复数百次,甚至数千次(SRAM单元被重复100000次),因此手工封装所涉及的电路所获得的空间远远超过两倍。然而,在控制逻辑很少或没有重复的情况下,节省时间被认为是值得的,特别是因为电路的自动生成允许在最后一刻进行更改以纠正芯片的操作。

在芯片的一百多万个晶体管中,约有40000个是自动布局的,而大约10000个是手动生成并复制的,以生产剩余的980000个晶体管。

在芯片的一百多万个晶体管中,约有40000个是自动布局的,而大约10000个是手动生成并复制的,以生产剩余的980000个晶体管。该团队的工程师之一罗伯特·威洛纳(Robert G.Willoner)表示:“如果我们必须手动完成这40000个步骤,那么就会增加几个月的进度,并引入更多错误,因此我们可能无法对第一块硅进行取样。”。

这些布局生成工具以前曾在英特尔公司使用过,该团队相信它们会起作用,但他们不太确定自动设计的电路会占用多少空间。

阿尔伯斯说:“这比我们想象的要多花一点时间,最终导致了一些问题,所以我们不得不稍微增加模具尺寸。”

未经授权使用工具

即使采用自动布局,控制逻辑的一部分,即总线控制器,也开始落后于计划。由于担心控制器会成为整个设计的瓶颈,团队尝试了几种新技术。RISC处理器通常被设计为与快速SRAM系统接口,该系统充当外部高速缓存,并依次与DRAM主存储器接口。然而,这里的计划是让用户能够绕过SRAM,将处理器直接连接到DRAM,这将允许芯片设计成低成本系统,并处理非常大的数据结构。

因此,总线在从DRAM返回第一个数据之前可以管道化多达三个周期,并且数据有时间在缓慢的DRAM内存中传输,而不会占用处理器。总线还必须使用静态列模式,这是最新DRAM的一项功能,允许顺序地址访问内存中的同一页,通过单独的引脚告诉系统该位与前一位位于同一页。

这两个功能都带来了意想不到的设计复杂性,第一个原因是控制逻辑必须跟踪杰出公交车循环的各种组合。虽然芯片的其余部分已经布局好了,但总线设计者仍在努力进行逻辑模拟。甚至没有时间进行手动电路设计,然后进行自动布局,然后根据布局检查设计。

其中一位设计师从英特尔CAD部门的一位朋友那里听说了一种工具,它可以从逻辑模拟级别进行设计,优化电路设计,并生成优化布局。该工具消除了电路示意图所占用的时间,以及检查示意图错误。然而,它仍在开发中,尽管当时486团队正在对其进行测试和调试(他们比N10团队在截止日期前还有几个月的时间),但它还没有准备好使用。

N10设计师通过内部计算机网络访问CAD部门的主机并复制程序。它起到了作用,解决了总线控制瓶颈。

CAD经理Nave谨慎地说:“在那个阶段,一个工具肯定会有问题。使用它的特定工程师有能力自己解决大多数问题,所以它没有任何可能产生的负面影响。在N10的情况下,它可能工作得很好,但作为一种常规做法,我们并不宽恕。”

可测试性设计

N10的设计者从一开始就担心如何测试一个拥有一百万个晶体管的芯片。为了确保芯片能够得到充分的测试,1987年初,在项目进行到一半时,一名产品工程师被调往N10团队。起初,Beth Schultz只是与其他人一起进行电路设计,熟悉芯片的功能。后来,她编写了诊断程序,现在,她回到产品工程部门,负责监督i860向英特尔制造业务的转移。

第一次测试芯片的尝试证明了产品工程早期参与的重要性。在正常情况下,设计部门的一个小型测试仪,一个带有个人计算机接口的逻辑分析仪,在产品工程中的大型测试仪介入之前很久就在研究一种新芯片的电路。设计部门的测试人员依次调试产品工程部运行的测试程序。这一次,由于一位产品工程师对芯片已经非常熟悉,所以她所在部门的测试员比设计部门的测试员先操作。

产品工程师在团队中的出现也让其他设计师更加关注可测试性问题,i860从几个方面反映了这一点。当逻辑设计师设置总线的引脚定时时,会咨询产品工程师,以确保它不会超出测试仪的能力。生产工程师不断提醒N10团队,需要将信号管脚的数量限制在128个:即使超过一个,也需要花费数百万美元购买新的测试仪。(i860有120个信号引脚,以及48个电源和接地引脚。)

芯片的控制逻辑由水平敏感扫描设计(LSSD)形成。开拓者IBM公司.,这种可测试性设计技术通过专用引脚发送信号来测试单个电路,而不是依赖于指令序列。然而,LSSD并没有被用于数据通路电路,因为设计者认为它会占用太多空间,而且会降低芯片的速度。相反,少量的附加逻辑可以让指令缓存的两个32位段相互测试。边界扫描功能允许系统设计者检查芯片的输入和输出连接,而无需运行指令。

通常,设计和工艺工程师“不会说同一种语言。因此,将技术与体系结构紧密结合是独一无二的。”
-阿尔伯特Y.C.于

规划i860的老化需要设计团队和可靠性工程师进行大量谈判。i860通常使用64位指令;对于老化,可靠性工程师希望尽可能少的连接:64个太多了。

“最初,”傅说,“他们从零线开始。他们想让我们进行自检。所以我们说,‘15或20条怎么样?’”

他们采用了仅用于烧录的8位模式,但有了这一功能,i860用户可以从8位宽的可擦除可编程ROM启动系统。

设计人员还与该小组密切合作,开发了1微米制造工艺,首次用于1988年初出现的80386芯片的压实。英特尔副总裁余表示,通常情况下,设计和工艺工程师“不会说同一种语言。因此,将技术与架构紧密联系在一起是独一无二的。”

英特尔Hillsboro工厂工艺开发工程经理William Siu表示:“该工艺设计的寄生电容非常低,这使得电路可以制造出高性能、低功耗的电路。我们必须与设计人员合作,向他们展示我们的局限性。”

工艺工程师对片上缓存的影响最大。“最初,”设计师帕特尔说,“我们不确定这些缓存有多大。我们认为我们不能放入我们想要的那么大的缓存,但他们告诉我们,这个过程足够好,可以做到这一点。”

时机问题

i860最独特的架构特性可能是其片上并行性。指令缓存的两个32位段同时发出两条32位指令,一条到RISC核心,另一条到浮点部分。更进一步,某些浮点指令同时调用加法器和乘法器。结果是在一个时钟周期内总共有三个操作被执行。

该体系结构提高了芯片的速度,但由于它使时序复杂化,因此实现起来存在问题。例如,如果两个或三个并行操作请求相同的数据,则必须串行提供。芯片设计中发现的许多错误都与这种同步有关。

当需要的数据暂时不可用时,冻结单元的逻辑是最大的计时难题之一。最初,设计者认为这种情况不会出现得太频繁,但芯片上的并行性导致这种情况的发生频率比预期的要高。

Patel说,冻结逻辑一直在增长,直到“它变得如此笨拙,我们决定坐下来重新设计整个冻结逻辑。”这不是一个微不足道的决定——芯片的设计进度大约完成了一半,一次修改需要四名工程师一个多月的时间。

即使在大型主机上运行,电路模拟也陷入了困境。工程师们会设置一个在周末运行,当他们周一到达时发现它不完整。

随着晶体管的数量接近100万个大关,曾经帮助很大的CAD工具开始出现故障。英特尔公司已经在内部开发了CAD工具,相信自己的工具将与流程和设计技术紧密结合,从而提高效率。但N10代表着80386的巨大进步,80386是英特尔迄今为止最大的微处理器,CAD系统从未应用于任何接近新芯片大小的项目。事实上,由于i860的并行性导致了大量可能的组合(已经测试了数千万;总数是这个数字的许多倍),因此其复杂性是惊人的。

即使在大型主机上运行,电路模拟也陷入了困境。工程师们会设置一个在周末运行,当他们周一到达时发现它不完整。等待时间太长了,所以他们使用CAD工具来更改模拟程序。一个通过布局来定位短路的工具运行了几天,然后放弃了。威洛纳说:“我们必须进去改变程序的算法。”。

该团队最初计划绘制整个芯片布局,以帮助调试,但发现绘制器需要一周多的时间全天候运行。他们放弃了,而是在工作站上检查芯片的各个区域。

但现在,运行所有这些工具的大型机开始停滞不前。工程师们开始设置闹钟,使其在夜间响几次,然后通过家里的终端登录系统,重新启动任何崩溃的计算机运行。

网络列表软件完全失败;示意图太大了。

在a之前芯片设计被移交给制造部门进行其第一次硅运行,这是一种称为tape-out的转移-计算机执行全芯片验证,将原理图与布局进行比较。要做到这一点,它需要一个网络列表,一个以字母数字形式表示的示意图的中间版本。网络列表通常只在下线前几天创建,此时设计是最终的。但N10团队知道486团队紧跟其后,很快就会有需求,而且作为优先项目,他们得到了制造部门的资源,因此提前两个月进行了完整的芯片验证试运行,设计不完整。

而网络列表软件完全失败了;示意图太大了。阿尔伯斯说:“我们当时正接近退出,突然发现我们无法将这件事上网。”。“三天之内,我们的一位工程师想出了一个解决办法,但这让我们有一段时间感到害怕。”

变成硅

8月中旬之后,当芯片被移交给产品工程部门准备生产时,设计团队所能做的一切就是等待、担心和调整测试程序,希望第一次硅运行能够证明其功能足以完全测试。六周后,当第一批晶圆到达时,它们已经足够完整,可以进行测试,但还不足以进行包装。通常,设计和产品工程团队会等到晶圆完成生产过程后再进行测试,但这次不会。

设计工程师拉杰夫·巴拉德瓦吉(Rajeev Bharadhwaj)周一飞往俄勒冈州(Oregon),提取第一批热下生产线的晶圆。晚上9点30分,他回到了圣克拉拉,整个设计团队以及产品工程师和营销人员都在那里等待,而第一个测试序列的频率不超过10 MHz,远低于33 MHz的目标。这看起来像是一场灾难,但在工程师们花了20分钟紧张地检查芯片中的关键路径以寻找瓶颈后,有人注意到电源插脚没有连接,芯片只从时钟信号及其I/O系统中获取电力。一旦连接了电源插脚,芯片就可以轻松地在40 MHz下运行。

到凌晨3点,大约8000个测试向量已经通过了产品工程师花了六个月时间创建的芯片向量机。这足以让团队自信地宣布:“它奏效了!”

这个i860名称选择该芯片是为了表明新芯片确实与80486有轻微的关系,因为芯片的数据结构具有相同的字节顺序,并且具有兼容的内存管理系统,它们可以在一个系统中协同工作并交换数据。

这个小芯片上市了

英特尔预计,到今年第四季度,33 MHz芯片的售价为750美元,40 MHz版本的售价为1037美元,并且已经向客户发货了样品。(386的外围芯片可以与i860一起使用,并且已经上市。)由于i860具有与386相同的数据存储结构,386的操作系统可以轻松适应新产品。

英特尔宣布将联合开发一款用于i860的多处理版本UnixAT&T公司。(Unix Software Operation,Morristown,N.J.)、Olivetti Research Center(加利福尼亚州Menlo Park)、Prime Computer(马萨诸塞州Natick市Commercial Systems Group)和Convergent Technologies(加利福尼亚州圣何塞,Unisys Corp.的一个分公司)。泰克数控Kontron Elektronik股份有限公司计划为芯片制造调试器(逻辑分析仪)。

英特尔为软件开发人员开发了一个基本工具包(汇编程序、模拟器、调试器等)以及Fortran和C编译器。此外,英特尔还有一个Fortran矢量器,这是一个自动将标准Fortran代码重组为矢量进程的工具,该技术以前只适用于超级计算机。

国际商用机器公司计划将i860用作PS/2系列个人电脑的加速器,这将使其性能接近超级计算机。康特隆,SPEA软件公司第九计算机公司将在个人电脑图形板中使用i860。微软公司。已认可该架构,但尚未发布产品。

微型计算机供应商对该芯片感到兴奋,因为该芯片的整体性能远远高于项目开始时的预期。

科恩说:“我们今天在微处理器上有了Dhrystone记录”——85000,频率为40 MHz。(Dhrystne是代表平均整数程序的合成基准,用于测量微处理器或计算机系统的整数性能。)Olivetti是一家将在小型计算机中使用N10的公司,PCS Computer Systems Inc.也是如此。

Megatek公司是第一家宣布计划在市场上生产基于i860的工作站的公司,该芯片将与Sun公司的SPARC、摩托罗拉公司的88000、Integraph公司的Clipper和MIPS计算机系统公司的R3000等其他RISC微处理器竞争。

英特尔认为其芯片超越了当前32位微处理器。该公司的工程师认为i860还有另一个优势:虽然必须在其他微处理器中添加浮点芯片、图形芯片和缓存才能构建完整的系统,但i860是完全集成的,因此消除了通信开销。然而,一些评论家认为这是一个缺点,因为它限制了系统设计者的选择。这一功能是否能够克服其他芯片在市场上的领先优势,还有待观察。

i860团队希望其他微处理器制造商也能仿效他们自己的64位产品,除了集成到单个芯片上的RISC整数处理之外,还有其他功能。然而,作为新一代RISC的领导者,英特尔希望i860能为工作站设定一个标准,就像8086为个人电脑设定的标准一样。

进一步探究

英特尔第一篇描述i860的论文,作者Leslie Kohn和Sai Wai Fu-“1000000晶体管微处理器”-发表于1989年国际固态电路会议技术论文摘要,1989年2月,第54-55页。

精简指令集计算(RISC)的优点在“朝向更简单、更快的计算机Paul Wallich著(IEEE Spectrum,1985年8月,第38-45页)。

编者按2022年6月:i860(N10)微处理器并没有在市场上掀起轩然大波。尽管它处理图形的速度令人印象深刻,并找到了作为图形加速器的利基,但它在通用应用程序上的性能令人失望。英特尔在20世纪90年代中期停止了该芯片。

用单芯片实现Cray 1性能

四行波形图,处理步骤标记为蓝色

为了简单起见,i860微处理器中的处理事件被符号化地描述为波形,同时发生(如颜色所示),特别是当管道已满时。在这里,RISC内核和浮点控制器同时从片上缓存(未显示)获取指令i。此时,RISC内核也在解码前面的指令(i-1),执行前面的(i-2),并将指令i-3的执行结果传输到寄存器文件等。同时,浮点控制器对指令i-1进行解码,并将解码后的指令发送给浮点乘法器。同时,乘法器执行指令i-2、i-3和i-4,并将i-4的结果发送到浮点加法器。加法器执行指令i-5、i-6和i-7,并将指令i-8的结果发送到寄存器文件或存储器等。

Intel i860由其设计者命名为N10,是一款64位CMOS微处理器,面积488平方英里。它包含一百多万个晶体管。

该芯片的核心是一个精简指令集计算(RISC)处理器,根据英特尔的数据,对于整数运算,该处理器的基准频率为85000 Dhrystone(整数性能的标准衡量标准),频率为40兆赫。(MIPS计算机系统公司(MIPS Computer Systems Includ)的RISC微处理器是目前速度最快的微处理器之一,在此基准测试中达到42000 Dhrystones;Intel 80386达到13000 Dhrystenes。)

i860的三分之一用于浮点计算,单精度计算每秒运行8000万次浮点运算,双精度计算每秒以60 MFLOPS运行,同样以40 MHz运行。

除了标准的标量运算外,i860还可以像超级计算机一样执行矢量运算。这种矢量功能不是由专用硬件实现的;相反,它是由一个软件库处理的,一个存储芯片常规计算数据的片上缓存也保存矢量运算的中间结果。i860的整体性能对于大多数应用程序来说大约是Cray-1的一半。

芯片设计者认为其最重要的特点是平衡。他们表示,芯片上没有瓶颈。所有的执行单元都以相同的速度运行,数据流到这些单元的速度与它们处理数据的速度一样快。因此,设计者可以说,RISC和浮点单元的全部功能始终可用。性能测量不仅指峰值运行,而且对于矢量运算是可持续的。此外,对于每个时钟,整数和浮点加法和乘法单元最多可以同时执行三次操作。

{“imageShortcodeIds”:[]}
对话(0)