商业微处理器如何以千兆赫兹时钟满足定时?


8

我在使相对简单的FPGA设计(对于Altera Cyclone IV)满足由250 MHz时钟驱动的逻辑时序方面遇到麻烦。这让我想知道商用微处理器(例如Intel Core i7)如何满足时钟频率超过高出一个数量级的时序要求。

当我为FPGA苦苦挣扎于250 MHz时,商用微处理器如何满足3.8 GHz的时序要求?


8
fpga和处理器是苹果和橙子。fpga由相互连接的相对较大的模块/单元构建而成。fpga的编译器并不比软件编译器好或坏,这意味着性能还有很大的提高空间,信号将通过占用大量时间的大/慢单元进行路由。例如,处理器正是需要的门,没有额外的路由(jtag扫描和bist),等等。编译器存在相同的问题,但那里有一些更好的(昂贵的)芯片编译器。
old_timer 2012年

Answers:


7

FPGA本身实际上没有“门”。它们通常具有查找表(LUT)。LUT通常使用SRAM来实现。例如,Spartan 3 FPGA使用16位SRAM。也就是说,四个地址输入产生一个输出信号。通过向SRAM加载代表真值表的位模式来完成“编程”,例如对于2输入XOR,您的地址为00 =输出0,地址01 =输出1,地址10 =输出1,地址11 =输出0。

所有这些都意味着FPGA实际上具有许多,许多额外的和不必要的门来执行相同的逻辑功能。如果您需要FPGA来实现可重编程性和快速原型设计,那就太好了!实际上,有些人首先在FPGA中实现设计,然后对其进行调试,然后再移至ASIC,后者将变得更小,更快,消耗的功率更少,而这一切都与FPGA相同。

现代微处理器也正在流水线化。例如,在一个简单的FPGA程序中,一个非常大的计算涉及几个加法,可能还有几个乘法,并且可以在同一时钟周期内进行比较。在一个时钟周期内完成所有这些工作意味着时钟周期必须很长。在流水线实现中(可以在FPGA中实现并且经常用于实现时序收敛),将大的计算分解为多个部分,并且每个部分都在一个短得多的时钟周期内执行。仍然需要大约相同的时间来进行计算,但是优点是,在计算出第一块并将第一部分基准移动到第二块之后,第一块可以立即开始处理第二个基准。第一次计算仍然需要很多周期才能完成,

简而言之,FPGA具有通用逻辑,而CPU具有特定逻辑。FPGA具有通用路由,而CPU具有特定路由。FPGA可能是流水线,但CPU绝对是流水线。


6

扩展dwlech的评论。处理器具有直接铜线连接。FPGA通过可编程连接相互连接。处理器也将关键内容并排放置。FPGA还需要用于容纳编程的SRAM的空间。


3
请记住,诸如英特尔之类的供应商的处理器是在技术的最前沿完成的,而速度和功率的折衷是最先进的技术。即使具有Brian Carlton指出的特定优势,在多千兆赫处理器内核上“满足定时”也不是一件容易的事。
Michael Karas 2012年

3
尽管@Michael Karas指出了什么,但最新的FPGA通常也处于制造厂技术的前沿。
Brian Carlton 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.