Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

Windows WMI Win32_CacheMemory class - cache Associativity values

nrcaliendo
Beginner
566 Views
I hope this is the right forum for this thread, it was the closest matchI could find...

I already posted this question on Microsoft's MSDN forum, and they recommended coming here.

I'm querying the Win32_CacheMemory class to enumerate my CPU cache. I'm getting a value of 9 back for Associativity. All online documentation I can find only lists values 1-8.

I'm trying to find info on full set ofpossible values.

My system:

Intel Core i5-2540M CPU @ 2.60 GHz
Windows 7 Pro 64-bit

0 Kudos
7 Replies
SergeyKostrov
Valued Contributor II
566 Views
Quoting nrcaliendo
...I already posted this question on Microsoft's MSDN forum, and they recommended coming here.

[SergeyK]That is really strange that nobody from Microsoft couldn't answer your question...

I'm querying the Win32_CacheMemory class to enumerate my CPU cache...


In what WMI namespace is it?

Best regards,
Sergey

0 Kudos
SergeyKostrov
Valued Contributor II
566 Views
Quoting nrcaliendo
I'm querying the Win32_CacheMemory class to enumerate my CPU cache. I'm getting a value of 9 back for Associativity. All online documentation I can find only lists values 1-8.

I'm trying to find info on full set ofpossible values...

Please take a look at:

1. Intel Software Developer's Manual - Instruction Set Reference (A-M) Vol 2A

Table 3-20

A. It looks like9 is a'Fully Associative' and Intel coded it with a value 0FH. By some reason Microsoft's
WMI uses the value 9 instead.

B.Could itbe'Reserved'?

2. CPUID instruction
EAX = 4
EBX = Bits 31-22W - Ways of Associativity

0 Kudos
SergeyKostrov
Valued Contributor II
566 Views
Quoting nrcaliendo
I'm querying the Win32_CacheMemory class to enumerate my CPU cache...


>>In what WMI namespace is it?

I figured it out: it is the classin CIMV2 namespace.

0 Kudos
SergeyKostrov
Valued Contributor II
566 Views
Quoting nrcaliendo
I'm querying the Win32_CacheMemory class to enumerate my CPU cache. I'm getting a value of 9 back for Associativity. All online documentation I can find only lists values 1-8.

I'm trying to find info on full set ofpossible values...

Please take a look at:

1. Intel Software Developer's Manual - Instruction Set Reference (A-M) Vol 2A


You can find lots of Intel manuals here:

http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html?wapkw=Manuals

0 Kudos
nrcaliendo
Beginner
566 Views
Thank you for the information. I reposted back on Microsoft's forum.

There does not appear to be an equivalency between what Intel returns (CPUID instruction) and what WMI returns.

WMI just returnsthe ordinal numberof the associativity type within an enumeration.

CPUID WMI
00H - Disabled
01H - Direct mapped
02H - 2-way
04H - 4-way
06H - 8-way
08H - 16-way
0FH - Fully associative
1 - Other
2 - Unknown
3 - Direct Mapped
4 - 2-way Set-Associative
5 - 4-way Set-Associative
6 - Fully Associative
7 - 8-way Set Associative
8 - 16-way Set-Associative


0 Kudos
SergeyKostrov
Valued Contributor II
566 Views
How did you get WMI numbers? From a header file? From a TLB-library?
0 Kudos
SergeyKostrov
Valued Contributor II
566 Views
...
A. It looks like9 is a'Fully Associative' and Intel coded it with a value 0FH. By some reason Microsoft's
WMI uses the value 9 instead.
...


Not confirmed. Please see Post #5.

0 Kudos
Reply