Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Vista Forums > Tutorials

Vista - CPU L2 Cache Memory setting in Vista

Comment
 
Old 07-05-2007  
Brink


Vista x64 Ultimate SP2, Windows 7 Ultimate x64
 
 

CPU L2 Cache Memory setting in Vista

How to Set Vista for the CPU L2 Cache Memory Size
...

My System SpecsSystem Spec
Old 05-21-2008  
Brink


Vista x64 Ultimate SP2, Windows 7 Ultimate x64
 
 

Re: CPU L2 Cache Memory setting in Vista

Hi Sale666,

Yep, as Johngalt posted, you would use 2048 KB (2MB)----800 (hex) in step 6.

Shawn

My System SpecsSystem Spec
Old 06-08-2008  
ltwally


vista64
 
 

Re: CPU L2 Cache Memory setting in Vista

Quote  Quote: Originally Posted by Brink View Post
Hi New64Pooter,

Welcome to Vista Forums.

It will be for your 2 x 4096 L2 cache. This will be 8192 KB (8MB) or 2000 (hex).

Shawn
Shawn, I believe you mis-understand what is being expressed when Intel says 2 x 4096.

Basically, all but the most recent (Yorkfield) Quad-core Intel chips are basically a pair of dual-core chips glued together. Their L2 caches are completely seperated. Cores 0 and 1 access L2 cache A, and Cores 2 and 3 access L2 cache B. In no way can Core 0 directly access cache B. It might be helpful to think of a Quad-core machine as a dual-processor dual-core machine.

That registry setting is telling Windows how much L2 cache can be accessed per core. This is a per-processor setting! Not a global sum of the total L2 cache. And, when I say "per-processor," it's important to think of that in the old single-core usage of the term. In modern parlance, that registry value is for the amount of L2 accessible per core.

Thus, the proper value is the maximum amount of cache that each core can address, which, in this quad-core Intel example, is 4096 kbytes. (Even though 2 cores actually share that 4096 kbytes.) The correct registry setting is '1000'.

For AMD systems that report 2 x 512 kbytes, the correct setting would be '400,' as each core has its own completely seperate L2 cache.

The newest Intel quad-core chips have a unified L2 cache. For these processors, you would use that simple value, as all cores access the same L2 cache.

To my knowledge, AMD is still producing chips with seperate L2 caches. However, their latest chips have a unified L3 cache.. but there is no registry tweak for an L3 cache that I am aware of.

-ltwally
My System SpecsSystem Spec
Old 06-08-2008  
Brink


Vista x64 Ultimate SP2, Windows 7 Ultimate x64
 
 

Re: CPU L2 Cache Memory setting in Vista

Thank you Itwally.

I updated the tutorial to use another method of finding out the correct L2 cache size to use as reported from HAL to make it easier for everyone.

Shawn
My System SpecsSystem Spec
Old 06-08-2008  
ltwally


vista64
 
 

Re: CPU L2 Cache Memory setting in Vista

No problem. I've always been curious if this value has any odd performance penalties for Core2Duo processors, what with the way the cores are actually sharing that L2 cache. Unfortunately, you'd probably have to find a Windows Kernel engineer to give you the answer.
My System SpecsSystem Spec
Old 06-08-2008  
Brink


Vista x64 Ultimate SP2, Windows 7 Ultimate x64
 
 

Re: CPU L2 Cache Memory setting in Vista

Itwally,

Mine is reported as 2x6144 in CPU-Z and as 6144 in the System Health Report (from HAL). So it seems that even though my Core 2 Quad Q9450 says it has a 12MB L2, it actually is being reported as having 6144 per core by HAL. I have not seen any performance hit so far with the setting as 6144 vs 12288. It would be rare for Vista to not get the size from HAL and have to resort to this registry setting anyway though.
My System SpecsSystem Spec
Old 06-08-2008  
ltwally


vista64
 
 

Re: CPU L2 Cache Memory setting in Vista

Quote  Quote: Originally Posted by Brink View Post
Itwally,

Mine is reported as 2x6144 in CPU-Z and as 6144 in the System Health Report (from HAL). So it seems that even though my Core 2 Quad Q9450 says it has a 12MB L2, it actually is being reported as having 6144 per core by HAL. I have not seen any performance hit so far with the setting as 6144 vs 12288. It would be rare for Vista to not get the size from HAL and have to resort to this registry setting anyway though.
What the HAL is (correctly) detecting is that you have 6megs of L2 cache per core. Now, the HAL is not intelligent enough to realize that cores 0 & 1 are actually sharing the same L2 cache, and ditto with cores 2 & 3.

Your processor looks something like this:
Code:
                FSB
                 |
                 |
--------------PROCESSOR--------------  
|                |                  |
|     -----------------------       |
|     |                     |       |
|   6meg L2               6meg L2   |
|     |                     |       |
|   -----------         ----------- |
|   |         |         |         | |
|  core0     core1     core2  core3 |
|                                   |
-------------------------------------
Whereas the classic model that was used at the time the Windows kernel was engineered looked a lot more like this
Code:
                                FSB
                                 |
            --------------------------------------------
            |                                           |  
-------PROCESSOR  0-------                 --------PROCESSOR  1------
|           |            |                 |            |           |
|         6meg L2        |                 |          6meg L2       |
|           |            |                 |            |           |
|          core0         |                 |           core0        |
--------------------------                 --------------------------
My System SpecsSystem Spec
Old 06-08-2008  
yongkailoon


Vista Home Premium 32bit
 
 

Re: CPU L2 Cache Memory setting in Vista

I have a laptop with Core2Duo T9300 processor stated that it has 6MB L2 cache. From the tutorial, that processor is stated to have 12MB L2 cache but then it is set to 6MB L2 cache in Vista, may I know why is that ? Also since my T9300 has 6MB L2 cache, should I set it to 6144 then ? Thanks in advance.
My System SpecsSystem Spec
Old 06-08-2008  
Brink


Vista x64 Ultimate SP2, Windows 7 Ultimate x64
 
 

Re: CPU L2 Cache Memory setting in Vista

Hi YongKailoon,

Welcome to Vista Forums. You will want to see what HAL is reporting in STEP ONE as the L2 size and use that size in STEP TWO.

My CPU basically has two separate dual cores (2x2 cores) with each dual core having 6MB. Together they have a total of 12MB, but HAL still registers it as 6MB being used per dual core. The top diagram posted by Itwally above can help make sense of this a bit more.

Hope this helps,
Shawn
My System SpecsSystem Spec
Old 06-09-2008  
yongkailoon


Vista Home Premium 32bit
 
 

Re: CPU L2 Cache Memory setting in Vista

Quote  Quote: Originally Posted by Brink View Post
Hi YongKailoon,

Welcome to Vista Forums. You will want to see what HAL is reporting in STEP ONE as the L2 size and use that size in STEP TWO.

My CPU basically has two separate dual cores (2x2 cores) with each dual core having 6MB. Together they have a total of 12MB, but HAL still registers it as 6MB being used per dual core. The top diagram posted by Itwally above can help make sense of this a bit more.

Hope this helps,
Shawn
I see, from this I can actually assume that a standard dual core processor won't show 2 x of 3MB L2 cache since it is just one processor. From that diagram you mentioned, if I understand it properly the quad core is actually two processors of dual core so it makes it quad core. Anyway, I'll double check it with HAL but I hope my assumptions are right too.
My System SpecsSystem Spec
Old 06-09-2008  
ltwally


vista64
 
 

Re: CPU L2 Cache Memory setting in Vista

Quote  Quote: Originally Posted by yongkailoon View Post
Quote  Quote: Originally Posted by Brink View Post
Hi YongKailoon,

Welcome to Vista Forums. You will want to see what HAL is reporting in STEP ONE as the L2 size and use that size in STEP TWO.

My CPU basically has two separate dual cores (2x2 cores) with each dual core having 6MB. Together they have a total of 12MB, but HAL still registers it as 6MB being used per dual core. The top diagram posted by Itwally above can help make sense of this a bit more.

Hope this helps,
Shawn
I see, from this I can actually assume that a standard dual core processor won't show 2 x of 3MB L2 cache since it is just one processor. From that diagram you mentioned, if I understand it properly the quad core is actually two processors of dual core so it makes it quad core. Anyway, I'll double check it with HAL but I hope my assumptions are right too.
You are exactly correct.

Now that you're no longer confused, I'll go ahead and confuse you a little.

The diagram above is valid for the Intel Quad-Core chips for the past 2 years or so. The very latest version of the Intel Core2Quad chips is code-named "Yorkfield," and looks like this:
Code:
                FSB
                 |
                 |
--------------PROCESSOR--------------  
|                |                  |
|   ---------12meg L2-------------  |
|   |         |         |        |  |
|   |         |         |        |  |
|   |         |         |        |  |
|   |         |         |        |  |
|  core0     core1     core2  core3 |
|                                   |
-------------------------------------
This is a much better design, as it allows all cores access to the same L2 cache - meaning they can trade data easily.

Now, to unconfuse you: the method that Brink uses will give you the correct value to use. So, just use it always.
My System SpecsSystem Spec
Comment

Tutorial Tools


Similar Threads
Tutorial Category
Solved 16MB Cache and 32MB Cache?? General Discussion
Erasing contact memory cache Vista mail
Setting virtual memory progrmmatically Vista General
Setting Virtual Memory Vista installation & setup
"This device does not allow its write cache setting to be modified" Vista General


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd
Tutorial powered by GARS 2.1.8m ©2005-2006

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46