扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共4页)
AMD的处理器架构一直在缓存容量上落后于Intel,早在K8架构上,AMD就通过在处理器内部整合内存控制器的方式来弥补缓存容量上的不足。而内存控制器也给AMD处理器带来了有目共睹的好处, K8架构仅依靠512KB的L2缓存就击败了当时的对手Pentium4,直到现在Athlon64 X2也依然保持着与英特尔Northwood相同的512KB二级缓存(Northwood早已被英特尔淘汰,目前的Core架构处理器其二级缓存一般都在2MB以上)。
相比于K8架构,巴塞罗那处理器的每个核心不仅拥有32KB+32KB的一级缓存、512KB的二级缓存,同时还增加了32路的2MB四核心共享三级缓存。巴塞罗那的L2缓存是作为L1缓存的备用空间,L1缓存储存着CPU当前最需要的数据,而当空间不足时,一些不是最重要的数据就转移到L2缓存中,而当未来再次需要时,则从L2缓存中再次转移到L1缓存中,新加入的L3缓存则延续了L2缓存的角色,四颗核心的L2缓存将溢出的数据暂时寄存在L3缓存中。
巴塞罗那缓存结构图
可以说,选择L3缓存是AMD处理器提升性能的一种方式。因为,如果加入大容量的L2缓存的话,相对而言会增加成本,而且还有一定的风险性,因为在处理器架构相同的前提下,更大的L2缓存可能无法提供预期的性能提升,所以AMD选择L3缓存,这也是一种折中的办法。不过,增加L3缓存给处理器带来的好处也是毋庸置疑的。首先,增加L3缓存可以显著提高CPU核心间的通信效率,在降低功耗和内存延迟的同时提高性能;其次,快速的32路L3缓存不仅可以更好的满足多任务并行,而且对单任务的执行也有着较大积极作用;最后,加L3缓存有效的避免了数据共享的瓶颈问题。
巴塞罗那提供了完整的SSE 128
巴塞罗那的另一项重要改进就是提供了同英特尔Core架构一样完整的128位SSE执行位宽。在K8构架中,AMD虽然做到了双路SSE执行单元,但是这两个SSE执行单元位宽仅是64位,这样在处理大量的128位SSE指令时,K8芯片就需要先把128位SSE、SSE2、SSE3中的矢量指令分解为两个64位宏指令,然后由其64位SSE执行单元分别处理后再合并,这对处理器的性能是有较大损失的。
巴塞罗那在拥有128位的SSE执行位宽之后,128位的SSE指令就不需要先分解再合并了,而是可以直接进行运算,其一个频率周期内可执行一个128位SSE指令。配合完整的128位SSE执行单元,以及庞大的
执行单元数目,巴塞罗那可在一个频率周期内,同时执行128位乘法、128位加法、128位数据加载与128位数据回存,或着是4个32位单倍浮点精确度乘法与4个32位单倍浮点精确度加法运算。
巴塞罗那SSE 128结构图
通过提供完整的128位SSE执行位宽,巴塞罗那在FPU、向量SSE数据的分派、传输、解码速度三方面同时达到现有K8v架构同频率处理器的两倍速度。同时,由于巴塞罗那的两条浮点数据传输带宽也增加到了128位,这使得处理器可以与L1缓存之间进行128位的高速传输。不仅如此,巴塞罗那在浮点FADD和FMUL中也将拥有128位的ADD/MUL块处理能力来面对SSE2数据。根据测试,我们了解到巴塞罗那K8L架构的浮点运算能力将至少比K8架构快一倍,甚至比当前最强大的Core架构处理器还要快10%。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者