CB50-A龙芯刀片服务器内部设计结构详解
下图是过去的一年中,龙芯刀片服务器从研发到完成产品的过程。经历了短短1年的时间,龙芯刀片服务器CB50-A就研发成功,着实让人惊叹,但事实上基于龙芯处理器的产品规划和技术积累早就开始了。
例如CB50-A龙芯刀片服务器使用的龙芯3A处理器,采用65nm工艺制程,原生四核架构,主频1GHz,内含两条HT超传输总线和两个DDR2/3内存控制器,架构上不输于任何主流的x86架构处理器。
龙芯3A四核处理器
从上图,可以看到Core0~Core3四个原生处理器内核,以及Scache0~Scache3四个二级缓存,两条HT1.0超传输总线(姑且先按AMD的说法这么翻译),Xbar1~Xbar2是龙芯3出彩的地方——可以将之看作是与PCI-E、北桥沟通的控制器,笔者认为其一负责HT总线的调度,另一个负责L2缓存以及MC——这比L3级缓存效率要高(实际上还需要看应用);两组DDR2/3内存控制器。可以看出,龙芯3A处理器吸收了很多Intel和AMD处理器的设计特点。
既然是设计结构详解,下面我们就来展示一下CB50-A的系统原理图和PCB线路图——
我们细看局部,首先是处理器部分,见下图。可以发现,两个龙芯3A处理器以一主一从的关系布置于系统中(上面的是从属,下面的是主处理器)。这有点类似于协处理器的布置,两个处理器通过HT-0超传输总线进行互联通讯,而左侧的两个红框部分标出的是龙芯3A处理器的双通道内存——由于龙芯3A有两个内存控制器,因此每个处理器可以控制两组双通道内存,即4个DIMMs插槽。
在这张图中,笔者发现只有主处理器(Primary)通过HT-1超传输总线连接至北桥,因此可以推测从处理器的HT-1被屏蔽了,没有启用——可能是设计复杂度的问题,也可能是双路刀片的定位,其I/O瓶颈并不出现在CPU与外部的通讯。这种做法有点像AMD刚刚发布的12核心“马尼库尔”处理器,同样该处理器屏蔽了其中一个“6核die”的一条HT总线:
如图,马尼库尔屏蔽了slave从属内核的HT-port3这条超传输总线,原因大致与上面的推测相同
以下的结构就很常规了,CB50-A采用了AMD公司的北桥和南桥芯片,其中RS780E北桥芯片以低功耗特性普遍被应用在嵌入式和小型高清主板上(因为其集成了HD3200 GPU核心),而与之搭配的南桥SB710则为系统提供了丰富的I/O接口。也因此,我们可以看到在龙芯刀片服务器的前面板上有视频输出的D-SUB接口(VGA)。从规格来看,该芯片组还支持HDMI的高清输出,这也与龙芯系列产品未来面向消费电子领域推出“高清播放机”的策略相吻合。实际上,CB50-A因为是面向科学计算的高性能刀片,因此众多PCI-E总线被统一起来用作连接背板Infiniband、管理模块和千兆网络模块的通道(VHDM通道)。
主要的芯片和结构讲到这里,其他细节碍于篇幅不在这里赘述(有兴趣的朋友可以找来相关芯片的定义对照,自行领悟)。下面独家放出一张CB50-A龙芯刀片服务器的PCB设计图:
下面我们看看CB50-A具体能跑哪些应用。