Intel Pentium III CPU(Coppermine, Tualatin) L2 Cache Latency, Hardware Prefetch特性调查

intel,pentium,iii,cpu,coppermine,tualatin,l2,cache,latency,hardware,prefetch · 浏览次数 : 0

小编点评

**Intel Pentium III 处理器缓存延迟和硬件预取问题** **问题:** - Intel Pentium III 系列处理器是否有硬件预取(Hardware Prefetch)特性? **测试结果:** - Intel Pentium III 1000MHz 的 L2 Cache latency 最低,仅 15.4 ns。 - Intel Celeron 1000MHz 的 L2 Cache latency 为 17.2 ns。 - Intel Pentium III -S 1400MHz 的 L2 Cache latency 为 21.2 ns。 **结论:** - Intel Pentium III 1000MHz 的 L2 Cache latency 最低,表明它支持硬件预取。 - Intel Celeron 1000MHz 的 L2 Cache latency 稍高于 Pentium III 1000MHz,但仍然支持硬件预取。 - Intel Pentium III -S 1400MHz 的 L2 Cache latency 最高,但仍然低于图拉丁奔腾 1.4 GHz 的 L2 Cache latency。 **评论:** - 虽然 Intel Pentium III 1000MHz 的 L2 Cache latency 最低,但它仍然比图拉丁赛扬/奔腾/奔腾-S 的 L2 Cache latency 高。 - 这可能由于 Intel Pentium III 的更高缓存容量导致。 - 硬件预取的性能与处理器架构、频率和缓存容量有关。 - 图拉丁奔腾 1.4 GHz 的 L2 Cache latency 最低,但它仍然高于 Intel Pentium III 1000MHz 的 L2 Cache latency。 - 这可能说明图拉丁奔腾的更高频率提供了更大的性能提升。

正文

这几天,偶然的机会想到了困扰自己和其他网友多年的Intel Pentium III系列处理器缓存延迟(L2 Cache Latency),以及图拉丁核心版本是否支持硬件预取(Hardware Prefetch)问题。

手头的支持图拉丁核心处理器的i815主板还在正常服役中,铜矿和图拉丁核心处理器也都有,所以就专门做了这一期调查,感兴趣的网友可以在评论区共同探讨指正错误。

参与评测的3款处理器

  Intel Pentium III 1000MHz, Coppermine, 256KB L2, 133MHz FSB

  Intel Celeron 1000MHz, Tualatin, 256KB L2, 100MHz FSB

  Intel Pentium III -S 1400MHz, Tualatin, 512KB L2, 133MHz FSB

参与评测的操作系统是Windows 2000 SP4

首先,贴上测试结果截图,里面包含了缓存延迟,硬件预取相关测试信息,调查结果与原以为的结果大相径庭,后面会进行解释。

Intel Pentium III 1000MHz(铜矿奔腾3 1G)

  

 

Intel Celeron 1000MHz(图拉丁赛扬 1G)

  

 

Intel Pentium III -S 1400MHz(图拉丁奔3-S 1.4G)

  

 

1)Cache latency

首先,声明一点,到了Pentium III处理器(含同级别赛扬),L2 Cache已经是内置的全速Cache了,最早期的赛扬处理器才有半速Cache的设计,这一点还可以通过AIDA64等硬件检测工具确认。

其次,本文的重点内容之一,具体latency数据,是通过CPU-Z 1.38自带的工具latency.exe测试出来的,图片中的latency.exe的输出就是。

从测试结果看,缓存延迟数据最佳的,竟然是铜矿奔腾3,图拉丁赛扬毕竟是低端,然而图拉丁奔腾3-S 1.4GHz就是整个奔腾3系列处理器里面的顶配了,按说应该是所有参数拉满才对,实际数据说明:

L2 Cache Latency排名(越低越好):

铜矿奔腾

图拉丁赛扬

图拉丁奔腾3-S

 

2)Hardware Prefetch

硬件预取特性,是根据CPUID信息来检测的,x86处理器的CPUID指令会根据输入EAX的数值,决定功能编号,不同的功能编号,会返回不同的特性数据,截图里面cpuid.exe程序是基于CodeBlocks开源IDE

编译出来的。

根据Intel公司官网发布的cpuid相关文档,找到了CPUID(2),也即CPUID #2号功能的返回值,可以确定CPU是否支持硬件预取,以下截图来自Intel公司2011年发布的文档:

processor-identification-cpuid-instruction-note.pdf

  

  CPUID(2)的部分描述符含义解释:

  

 

 

如果CPUID(2)输出寄存器中(EAX,EBX,ECX,EDX)中包含有0xF0或者0xF1,则表示该处理器支持硬件预取,而且预取数据宽度是64字节或者128字节。

然而,从cpuid.exe的输出看,Fun #2的输出里面,三款处理器都没有0xF0或者0xF1,说明:

Intel Pentium III系列,包括铜矿和图拉丁系列处理器,均不支持硬件预取(Hardware Prefetch)。

 

3)CPUID相关其他信息

另外,顺便解释一下cpuid.exe里面的Fun #1,即CPUID(1)的输出,这个1号功能,用来查询该CPU的Family-Model-Stepping信息(由EAX寄存器输出),这里参与评测的3款处理器的这些信息不同,

所以EAX寄存器内容不同,具体可以参考右边cpu-z的截图。另外,ECX和EDX输出的是指令集特性,比如是否支持MMX,SSE,VME,PSN(处理器序列号)等特性,可以看到差异:

铜矿奔腾的EDX = 0387F9FF,两款图拉丁处理器的EDX = 0383F9FF。

这里的16进制的7,比3多出了一个使能位,就是Bit 18,查询上述CPUID手册,可以发现,这个位就是PSN标志位,说明:

Intel铜矿核心处理器,才支持PSN(96位的唯一处理器序列号),图拉丁赛扬和奔腾,并不支持PSN。

处理器的PSN,是通过CPUID(3)来获取的,所以,对应的铜矿核心处理器,比图拉丁核心处理器的最大基础CPUID功能号是3,图拉丁的则是2(即截图中的Max FuncId)。

还有一点,就是铜矿处理器的最大扩展CPUID功能号是0(表示不支持扩展功能),图拉丁的则是0x80000004。扩展功能号里面的0x80000001 ~ 0x80000004,用于获取CPU的商标品牌信息(CPU BRAND)。

最大基础CPUID功能号,就是CPUID(0)的EAX输出。

最大扩展CPUID功能号,就是CPUID(0x80000000)的EAX输出,如果是0,说明不支持扩展功能号。所以:

Intel图拉丁核心处理器,才支持CPUID扩展功能,铜矿核心处理器不支持扩展功能。

这也是铜矿和图拉丁处理器的一个差异,cpu-z工具里面显示的处理器BRAND信息,是通过其他CPUID信息确定出来的,有兴趣可以进一步查阅Intel公司发布的CPUID相关手册。

附上我自己编写的C++语言版的cpuid函数:

void cpuid(u32 in, u32 &eax, u32 &ebx, u32 &ecx, u32 &edx)
{
    __asm volatile ("cpuid" : "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx) : "a"(in));
}

 

4)小结

综合上述调查内容,可以得出结论:

Intel在2000年前后推出的铜矿和图拉丁核心处理器,并不能简单地认为,图拉丁核心一定比同频的铜矿核心处理器要好,硬件预取特性两种核心都不具备,图拉丁的L2 Cache延迟明显比铜矿核心要大些。

图拉丁核心处理器的优势,主要体现在,制造工艺提升到了0.13um,功耗和发热更低,频率更高,上市的产品里面,图拉丁赛扬/奔腾/奔腾-S均有最高1.4GHz的产品,而铜矿核心,止步于1GHz(不过,我在

网上见过1.1GHz 100MHz FSB的铜矿奔腾/赛扬)。没想到的是,图拉丁奔腾III-S的L2缓存延迟,居然比图拉丁赛扬的还要高。

如果两种核心频率相差不大或者相同的话,优先使用铜矿核心处理器,如果更想体验新制程高主频,在乎发热方面的话,就选择图拉丁核心吧。我个人而言,两种核心都会交替使用,因为我会根据需要做各种

相关性能测试跑分什么的,有些对L2 Cache延迟比较敏感,有些对主频比较敏感,具体使用哪一款,根据具体情况而定。

与Intel Pentium III CPU(Coppermine, Tualatin) L2 Cache Latency, Hardware Prefetch特性调查相似的内容:

Intel Pentium III CPU(Coppermine, Tualatin) L2 Cache Latency, Hardware Prefetch特性调查

这几天,偶然的机会想到了困扰自己和其他网友多年的Intel Pentium III系列处理器缓存延迟(L2 Cache Latency),以及图拉丁核心版本是否支持硬件预取(Hardware Prefetch)问题。 手头的支持图拉丁核心处理器的i815主板还在正常服役中,铜矿和图拉丁核心处理器也都

[转帖]Intel至强可扩展处理器 Skylake-SP(Purley 最新一代至强)购买指南

前言 Intel Purley平台,Skylake-SP,至强可扩展处理器(铂金、黄金、白银、青铜)发售了,共58颗处理器。 这些处理器里哪些值得购买?哪些是骗小白的?它们各自的定位如何?本文将帮助你解决问题。 本文将会按照使用场景将这58颗处理器分类,并通过不同处理器在各自应用场景的性价比剔除一些

[转帖]Intel/英特尔、Mellanox/迈络斯 infiniband交换机型号对比及参数描述

Intel/英特尔、Mellanox/迈络斯 infiniband交换机型号对比及参数描述http://qlogic.blog.bokee.net/bloggermodule/blog_viewblog.do?id=17662812 字体大小:大 | 中 | 小2014-05-09 12:14 阅读

[转帖]Intel正式发布第三代至强可扩展处理器,单芯最多可达40核

https://baijiahao.baidu.com/s?id=1673640229820868010&wfr=spider&for=pc 今天晚上Intel正式发布了第三代至强可扩展处理器,也就是说了很久的Ice Lake-SP,这是他们首款10nm工艺的数据中心处理器,现在个处理器最多拥有40

[转帖]Intel关NUMA的内存编址

https://zhuanlan.zhihu.com/p/454928730 最近在做某国产化平台相关的适配, 不管NUMA的性能和实现方式都和Intel有较大不同, 作为比较对象, 理解Intel的NUMA实现是很有必要的. 虽然从软件角度, 打开NUMA会带来额外的复杂度, 但是从硬件角度, 关

[转帖]Intel寄存器的艺术

https://www.oschina.net/translate/the-art-of-picking-intel-registers?print 我为一本名为Scene Zine的在线杂志写了这篇文章。 Scene Zine 致力于 Demo Scene,它是一个数字艺术社区,致力于通过音乐,艺

[转帖]Intel VROC: 高性能的NVMe SSD软RAID功能

https://www.modb.pro/db/586867 在前面的文章 LSI/Broadcom的Tri-Mode 里介绍过Broadcom新推出的Tri-Mode芯片已经可以支持NVMe SSD了,SAS3500 ROC(RAID On Chip)芯片还支持多块NVMe SSD的硬RAID功能

Intel 第四代志强可扩展SKU

[转帖]Intel PAUSE指令变化如何影响MySQL的性能

https://zhuanlan.zhihu.com/p/581200704 导读 x86、arm指令都很多,无论是应用程序员还是数据库内核研发大多时候都不需要对这些指令深入理解,但是 Pause 指令和数据库操作太紧密了,本文通过一次非常有趣的性能优化来引入对 Pause 指令的理解,期望可以事半

[转帖]Intel、海光、鲲鹏920、飞腾2500 CPU性能对比

https://plantegg.github.io/2021/06/18/%E5%87%A0%E6%AC%BECPU%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94/ Intel 海光 鲲鹏920 飞腾2500 CPU性能对比 为了让程序能快点,特意了解了CPU的各种原理,