以前我们谈论微处理器的时候都习惯以其频率为指标,可如今大家可能要换一种标准了,那就是以多少个核为指标了。因为大量的多媒体应用的出现增加了处理器算法的负载,而人们追求更便携的设计却又限制了处理器的功耗,应用系统的变化要求处理器架构做出相应的改变。一种较可行的方法就是采用多核架构。而多核架构该如何设计?采用什么样的核?多少个核最具性价比?多核之间如何协同工作?等等问题亟需解决。
在第十六届IIC China上面,IntellaSys公司为我们提出了一种40核的处理器架构——SEAforth。IntellaSys是TPL集团下属企业,从事分布式数字媒体半导体解决办法的研制,它的主要品牌产品是SEAforth多核处理器、Indigita保护内容安全的连接器件和OnSpec安全存储控制器。
IntellaSys公司亚太区总裁王彦之详细介绍了SEAforth的结构,“与以往的多核DSP架构不同,SEAforth将A/D和D/A转换器与多个处理器核组合在一起,每个处理器核都是一个独立的CPU,它含有128个字RAM存储器和128个字的ROM存储器,并且每个处理器核都有自已的BIOS,许多控制功能可在处理器核中用硬件实现,无需实时操作系统。”
SEAforth的每个处理器的处理速度是每秒10亿条指令,而一个典型应用系统的全部功耗只有250mW。用VentureForth语言编写的应用软件存放在外部存储器中,在启动时通过一个SPI口读取这个应用软件源代码,然后装到每个处理器核的RAM存储器中,源代码进入相应的处理器核。ROM存储器含有处理器核的BIOS,每个处理器核有一组相应的BIOS子程序。SEAforth提供的是一种可扩展的解决方案,由于应用软件位于处理器核之外,当发生某些改变时只需修改应用软件,因此可以缩短产品面市时间,降低客户成本。
为尽可能减小功耗,SEAforth系列芯片采用了异步电路设计,它没有中央时钟,减少了几十亿个节点,而这些节点都会消耗电力。所有处理器核以异步方式交换数据,每个处理器核各有一个时钟(一个简单的环形振荡器),它的速度和硅半导体的速度一样快,用这些时钟取代中央时钟。
实现处理器核之间的通信也是决定系统性能的重要因素。王彦之介绍说,“每个SEAforth处理器核拥有4个作为I/O端口的寄存器,通常以硬件方式在相邻两个处理器核之间传送数据。当处理器核A需要向处理器核B传送数据时,传统的做法是A通过握手信号检测B是否做好准备,然后再发送数据(接受过程也是一样),但是握手信号会造成严重的延迟,导致性能下降。SEAforth多核芯片提供了一个简单得多的办法:处理器核A总是认为B在等待数据,因此它不断地执行‘送出数据(SendData)’。同样处理器核B认为一直A在发送数据,所以它循环执行‘读取数据(ReadData)’。在这种情况下,传输速度可达每2ns传输18位数据。”
“当处理器核无需传送或接收数据时,将自动转入睡眠状态,这时消耗的功率为零,”王彦之表示。通常在任意时刻会有2/3的节点处于睡眠状态,它们不会消耗功率,从而可以进一步降低系统的功耗。
在采访当中,王彦之非常看好SEAforth多核处理器架构,并向我们透露,“目前公司已推出了24核、40核的产品,明年还将会有超过100核的产品推出。”我们的产品所定位的市场是FPGA与ASIC应用市场。比如说,无线基带、工业应用、打印机、智能I/O等领域。处理器厂商进入FPGA应用领域这是必然的趋势,与ARM所不同的是,我们采用的是一种每处理器核独立的处理器阵列的方式。可能我们的目的都是一样的,但是我相信我们的架构更具灵活性和扩展性。