2013-10-05 13 views

回答

3

FPGA是可重编程的电路,并且这些电路的组件始终并行运行。来自软件开发和多线程处理器的线程概念不适用于FPGA上的硬件设计。

如果将“线程”定义为可以与其他单元并行运算的计算单元,则可以说FPGA具有数千或数百万线程,具体取决于它可以支持的逻辑门和触发器的数量。

如果你定义一个线程作为软件线程,这实际上取决于你把什么放在FPGA上。您可以编程FPGA以包含单个处理器;没有操作系统或其他低级嵌入式设置,这只会支持单个线程。如果您在其上运行操​​作系统,您将获得与操作系统一样多的软件线程,并且您的线程库可以支持。

当然,使用FPGA也可以在其上放置多个处理器,然后可以在硬件上并行运行软件线程,类似于多核处理器。您可以放在特定FPGA上的处理器数量受到处理器尺寸,FPGA上可用的逻辑门和存储器以及将它们连接在一起并满足时序要求的限制。您可以将几十个小型8位处理器放到Virtex类FPGA上,每个FPGA都可以运行独立软件。

+0

谢谢!例如,在OS Xkerkernel上,最多可以有多少个线程:10,1000,1000000? – Alex

+1

@Alex - 如果处理器有足够的资源,xilkernel可以运行10个线程。似乎浪费一个好的FPGA虽然:) –

相关问题