服务器 频道

解析:从Atom微处理器到通用处理器市场


Intel Silverthorne Atom处理器晶圆图

  Atom处理器设计使用了功能单元模块化(sea-of-Functional-Unit-Blocks)设计,虽然和最终用户没有什么关系……这种基于对象的设计方式实现起来会方便一些,它将所有的功能都更细地划分为一个一个的功能单元FUB,这些功能单元可以使用标准的设计,从而降低设计复杂度(Atom设计团队规模比较小)。这种设计方法也可以很方便地对处理器的功能进行增删,以满足各式各样的应用需求。


Sea of FUBs
FEC: front-end cluster (plus L1 instruction cache)前端簇
FPC: floating point cluster浮点簇
IEC: instruction execution cluster指令执行簇
MEC = memory execution cluster (plus L1 data cache)内存执行簇
BIU = bus interface unit总线接口单元

  Silverthorne Atom包含了205个特有FUB(不包括中继器)和4.1万个FUB-to-FUB联结,91%的FUB使用了标准的结构:45%使用了structured data-path结构化设计,46%使用了综合随机布线设计,这些单元的设计布线都可以通过计算机来完成。剩下的9%是全定制的功能模块,需要设计人员花费精力来完成。


Intel Silverthorne Atom Microarchitecture
来源:ISSCC2008 Intel Paper: A Sub-1W to 2W Low-Power IA Processor for Mobile Internet Devices and Ultra-Mobile PCs in 45nm Hi-κ Metal Gate CMOS


Atom Microarchitecture Features

  虽然具体执行架构上不同,不过和乱序执行一样,顺序执行也包含了取指(Instruction Fetch)、解码(Decode)、执行(Execute)、回退(Retire)这四个阶段。Atom处理器包括了16级流水线,作为对比,Pentium处理器的流水线只有5级,Pentium MMX则有6级(执行MMX指令的时候流水线还要继续增加),而Cornoe也只有14级,更长的流水级数的一个原因为了能达到更高的频率(就像IBM的高频怪物Power6/6+一样;Power6也是一个顺序执行处理器)。


5 stage Pipeline: Intel Pentium
6 stage Pipeline: Intel Pentium MMX (normal interger execution)

  16级流水线包括了三级的Instruction Fetch取指、三级Decode解码、两级分发、一级读寄存器和三级读数据缓存、一级执行、两级例外例程和多线程处理和最后一级写回。

IF1IF2IF3ID1ID2ID3SCISIRFAGDC1DC2EX1FT1FT2IWB/DC
Instruction FetchDecodeDispatchReg. FileData cache readExecuteExceptions & MTWrite-back
16 stage Pipeline: Intel Silverthorne Atom
1
相关文章