许多VMS、JVM/LLVM等都有JIT(即时编译器)——在代码被解释执行的同时,x86指令会动态生成并执行。那么FPGA是否有类似的功能呢?是否可以在FPGA“运行”时重新配置它呢?如果可以,请提供项目/论文链接;如果不行,是什么技术瓶颈导致了这种情况?谢谢!
这种事情主要是在高端路由器和交换机中完成的。最大的思科和Juniper路由器基本上是由充满FPGA和PHY的大型板组成,用于进行路由,以及一个大型服务器来运行路由协议并将表编译到FPGA中。通常,他们通过保留一些FPGA资源的部分来执行新的表处理器块,并在编程完成后热插拔它;然后旧部分可以被取出服务作为下一个备用。