【推土机模块化架构(一)】
有关推土机的架构细节之前我们已经陆陆续续做过非常全面的介绍,不过这毕竟是AMD的多年心血和推土机的核心精髓所在,因此这里我们再从高级层面(不涉及底层半导体设计)归纳总结一下。
按照AMD的设计理念,推土机架构要在多线程应用中提供性能、成本和功耗的平衡,并专注于高频率、资源共享,以实现在下一代应用环境中的最佳吞吐、最快速度。为达此目的,推土机采用了其它任何处理器都没有过的模块化设计,整数核心、浮点核心按照2:1的比例组成一个个模块,每个模块既可以相当于传统的两个物理核心,又可协作运行。
从产品家族序列上看,推土机属于AMD Family 15h。这是K8架构之后开始使用的新型序列。在此之前,Family 10h、11h、12h、14h分别代表服务器和桌面版K10、笔记本移动版K10、Llano APU、Bobcat APU,13h则被很自然地跳过去了。
推土机内核结构简图
双核心一模块
在着手设计下一代x86处理器核心的时候,AMD的工程师们认为必须实现核心功耗与面积的优化,而且PC应用的发展也让工程师们必须寻找一条新的路子,能够在不同核心之间实现峰值带宽的最大化,并通过共享模块来充分利用每一平方毫米的核心面积。
最终结果就是能够高效优化资源的双核心模块化。整数管线、一级数据缓存等频繁使用的功能在每个核心里都有单独的功能单元,预取、解码、浮点管线、二级缓存等功能单元则在两个核心里共享使用。这种设计可以让每个核心都能在需要的时候使用更大的、更高性能的功能单元,比每个核心都拥有自己独立的小型功能单元更节省核心面积。
一个推土机模块
这种设计理念的一个直接体现就是核心面积。八核心推土机是AMD公司历史上制造的最大规模芯片,集成了大约20亿个晶体管,是六核心Phenom II X6、四核心Sandy Bridge的两倍多,但通过功能单元的合理分配,以及32nm SOI新工艺的应用,核心面积被控制在仅仅为315平方毫米,比六核心、45nm工艺的Phenom II X6还要小9%,比四核心、32nm HKMG工艺的Sandy Bridge也只大了46%。