据Chips and Cheese报道,AMD通过AGESA微码更新悄悄地禁用了Zen 4架构处理器的循环缓冲区(Loop Buffer)功能,这将影响整个Ryzen 7000系列以及相关的EPYC型号产品。至于是什么原因AMD选择这么做,暂时还不清楚。

打开网易新闻 查看精彩图片

循环缓冲区属于一个功耗优化特性,是CPU前端的一部分,用于保存少量已提取的指令,对于小循环可直接在缓冲区内执行,从而让CPU减少了部分操作,节省功耗并提高性能。Zen 4架构处理器的循环缓冲区在单线程运行时共有144个条目,如果启用SMT超线程,则静态分配给每个线程72个条目。该设计首次出现是在Zen 4架构,但是较新的Zen 5架构设计中却没有。

性能测试显示,禁用了循环缓冲区后对性能没有明显影响,无论是整数还是浮点运算,性能差异都不到1%,这表明现有的操作缓存(Op-Cache)为优化处理器运行提供了足够的带宽,过往AMD的架构设计也是依赖于操作缓存来实现类似的功能。与英特尔和Arm已经大量记录各自的循环缓冲实现不同,由于缺乏文档和循环缓冲区优化的编程指南,AMD的做法似乎是带有实验性的。

有业内人士猜测,有可能AMD发现了未公开的硬件错误,或者已确认未来架构迭代不再依赖于循环缓冲区。