一直以来,片上系统都是由Arm核和FPGA封装构成:
如Xilinx Zynq-7000系列的SoC和Zynq UltraScale+系列的MPSoC等,前者可以做到双Arm Cortex
A9的核,而后者可以做到4个Cortex A53的核。
MicroSemi宣布采用 SiFive U54-MC RISC-V的核 和 PolarFire FPGA
封装制作片上系统,来替代原来基于Arm核的片上系统。
PolarFire FPGA RISC-V片上系统主要特点和技术规格:
FPGA – Microsemi PolarFire FPGA;
处理器核 –最多 4x SiFive U54-MC RISC-V 核,最高时钟 1.5GHz (和Cortex-A35 核性能类似); 28nm
制程;确定性一致多核CPU集群;
确定性L2 Memory 子系统;
内存 I/F – 集成 DDR4/LPDDR4 控制器 and 物理层;
存储–安全启动, 128K 启动 Flash;
Debug兼容;
丰富的I/Os;
低功耗–低静态功耗; 功耗优化的收发器, 与基于SRAM的FPGAs相比节约50%功耗;
现在还不能看到全貌,还需要等待获得更多的技术细节和产品型号发布:
MicroSemi PolatFire片上系统的开发平台已经在去年五月发布,是在由基于RISC-V的HiFive Unleashed
Linux开发板和FPGA扩展板硬件平台上使用的。
这表明硬件条件还不具备,也就是还没有可以负担的起的PolarFire片上系统开发工具,所以你得承担“先吃螃蟹”要3000美金的代价。
相比之下,Xilinx Zynq开发板只要起价70美金,当然好处是你是先行者。
PolarFire片上系统在Linux环境下支持 实时确定性 , 适合安全敏感 、 系统控制和安全应用 ,具有实时兼容和Linux的灵活性。
MicroSemi还提到在被LinuxGizmos测评过程中,开始对实时性能非常失望,转折点在关闭了E51分支预测管理核(确实还有第五个核)后性能好了。
可以在E51核里关闭用来引导、启动并运行系统的分支预测,这样核本身更具有确定性,所有的核也关联到子系统了。可以剥离L2缓存的一部分来提供内存直接存储,再剥离一些用于暂存所有核的缓存,
这样可以用于Linux之间的消息传递。
SiFive是一个非常灵活的IP服务提供商,很难相信Arm会做出关闭分支预测器的事情。
希望获得更多的细节,预计PolarFire FPGA RISC-V SoC的实际发布将在2019年进行,可以常看看产品页面,随时会更新。