CDC 7600
编辑CDC 7600是Seymour Cray设计的CDC 6600的继任者,将Control Data在超级计算机领域的主导地位延续到了1970年代。7600的运行频率为36.4MHz(27.5ns时钟周期),有一个65K字的主存储器(字数为60位),使用磁芯和可变大小(最高512K字)的二级存储器(取决于现场)。它的速度一般是CDC 6600的10倍,在手工编译的代码上可以提供大约10 MFLOPS,峰值为36 MFLOPS。此外,在1970年初的基准测试中,它被证明比它的竞争对手IBM System/360,195型略快。当该系统在1967年发布时,它的基本配置售价约为500万美元,随着选项和功能的增加,售价也xxx增加。
除了广泛的流水线之外,7600/的显著先进贡献之一是物理C型,它既减少了地面空间,又通过减少信号所需的传输距离而极大地提高了性能。
设计
编辑随着6600接近生产质量,Cray对它失去了兴趣,转而设计其替代品。在20世纪60年代末,制造一台速度更快的机器并不困难;集成电路的引入使元件的包装更加密集,反过来也使时钟速度更高。随着生产工艺和质量的提高,晶体管的总体速度也在不断提高。这些改进可望使机器的速度提高一倍,也许是五倍之多。然而,与6600的设计一样,Cray为自己设定的目标是生产一台性能为10倍的机器。
6600比同时代的机器快得多的原因之一是,它有多个功能单元,可以并行操作。例如,该机器可以在进行两个数字的加法运算的同时,进行另外两个数字的乘法运算。然而,任何给定的指令都必须在单元中完成其行程,然后才能将下一个指令输入其中,这在调度系统耗尽指令时造成了瓶颈。增加更多的功能单元并不能提高性能,除非调度器也有很大的改进,特别是允许它有更多的内存,所以它可以通过更多的指令来寻找可以输入并行单元的指令。这似乎是一个主要问题。
为了解决这个问题,Cray转向了指令流水线的概念。每个功能单元由几个部分组成,依次操作,例如,一个加法单元可能有专门的电路从内存中检索操作数,然后是实际的数学单元,最后是另一个将结果送回内存。在任何给定的情况下,只有单元的一个部分是活动的,而其他部分则在等待轮到它们。流水线通过在xxx条指令完成之前输入下一条指令来改善这一状况,利用空闲时间。例如,当一条指令被加在一起时,下一条加法指令的操作数可以被取走。这样,一旦当前指令完成并移至输出电路,下一个加法的操作数就已经在等待被添加。通过这种方式,每个功能单元和整个机器都是并行工作的。性能的提高一般取决于该单元完成的步骤数量。例如,6600/的乘法单元需要10个周期才能完成一条指令,因此,通过管道化单元,可望获得约10倍的速度。
然而,事情绝非如此简单。管道化要求单元的内部结构能够有效地分离,使每一步操作都在完全独立的电路上运行。这在现实世界中很少能够实现。尽管如此,在7600上使用流水线比6600的性能提高了约3倍。要实现其余的目标,机器必须以更快的速度运行,现在使用新的晶体管设计是可能的。然而,由于信号在机器各部分之间移动所需的时间,对性能有一个物理限制,而这又是由机器的物理尺寸决定的。一如既往,Cray的设计工作在这个问题上花费了相当大的精力,从而允许更高的工作频率。对于7600,每个电路模块实际上由多达六块印刷电路板组成,每一块都塞满了超小型的电阻、二极管和晶体管。这六块电路板被堆积起来,然后沿着它们的边缘相互连接,形成一个非常紧凑的、但基本上不可修复的模块。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/193076/