• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

How BIOS test the cache?

Bendd

New Member
Joined
Aug 26, 2022
Messages
6 (0.01/day)
I have read that the BIOS tests cache memory in addition to RAM during Power On Self Test, but I didn't find out anywhere how the cache is tested. Is it the same as ram?

How does it the AMI BIOS, alternatively, other BIOSes?
 
I have read that the BIOS tests cache memory in addition to RAM during Power On Self Test
Where did you read that? Got a link?

I don't believe it.

And which cache? There are many in a computer.

Now there are several caches integrated with some CPUs. These are typically designated as L1, L2 and L3 for Level 1, etc. And the CPU is tested during the BIOS POST. But to my knowledge the integrated caches are not tested in addition to the CPUs themselves.
 
I dont understand, why wouldn't the integrated caches be tested?

Here is a link to wikipedia, in the table it says that 11 beeps indicate a fault in the L2 cache. American Megatrends - Wikipedia

Post from another forum:

Cache memory holds a copy of the most recently-read RAM addresses, enabling the processor to access the same information again without fetching it from main memory. Modern processors have at least two kinds of memory cache, Level 1 (L1) and Level 2 (L2) cache. L1 cache is built into the processor die. L2 cache was originally found on the motherboard, but later became part of slot-based processor assemblies and is now part of the CPU itself. L2 cache is 128KB to 512KB in size, much larger than L1 cache......so When the processor needs information, it checks L1 cache, then L2 cache. It goes to main memory only if neither cache holds the desired information. Because L2 cache holds a large number of RAM addresses, an L2 cache failure is serious. It corrupts data, meaning that the CPU can no longer access memory reliably unless L2 cache is disabled. Disabling L2 cache causes a huge slowdown in performance. Here are some of the ways that an L2 cache error can be reported. Systems with the AMI BIOS use 11 short beeps to report an L2 cache error detected at boot time....
 
Post from another forum:

Cache memory holds a copy of the most recently-read RAM addresses, enabling the processor to access the same information again without fetching it from main memory. Modern processors have at least two kinds of memory cache, Level 1 (L1) and Level 2 (L2) cache. L1 cache is built into the processor die. L2 cache was originally found on the motherboard, but later became part of slot-based processor assemblies and is now part of the CPU itself. L2 cache is 128KB to 512KB in size, much larger than L1 cache......so When the processor needs information, it checks L1 cache, then L2 cache. It goes to main memory only if neither cache holds the desired information. Because L2 cache holds a large number of RAM addresses, an L2 cache failure is serious. It corrupts data, meaning that the CPU can no longer access memory reliably unless L2 cache is disabled. Disabling L2 cache causes a huge slowdown in performance. Here are some of the ways that an L2 cache error can be reported. Systems with the AMI BIOS use 11 short beeps to report an L2 cache error detected at boot time....

Quite old post probably, since they don't even mention L3 cache which most modern CPU's have now as well...
 
I dont understand, why wouldn't the integrated caches be tested?
That was my point. I can only assume it is just testing to see if the CPU is working properly and since L2 is part of the CPU, that function is being tested - not because it is a cache, but because it is part of the CPU.
 
Is it safe from the point of view of data remanence?
Remeamence? Cache is volatile - just like RAM but possibly more so. No power - no data.

Also, I don't think modern CPU's can disable cache nowadays. (IIRC)
 
I know it's volatile, but I was wondering if a certain part of the cache content could remain after a cold boot, for example part of key.
 
Not sure about modern CPUs but you can test CPU cache on it's own. Overclocking a CPU with higher than recommend voltage risk damaging the CPU cache. Most of you will know this as "CPU has degraded".

Testing here has shown faults in CPU cache can be false as your own main memory can dump faults into the cache, making it look like your cache is faulty. But HOLD ON, it also works the other way round too.
If the cache is faulty it will dump the fault in the main memory, in other words they tied & will show fault(s) in the same column address.

NOTE: Genuine real faults in cache not only effects overclocking, it also effect's "undervolt". This is where the faults are detected. In normal use "standard default settings" fault do not show-up..

When binning my CPUs it's the cache that i'm testing. ..CPU is overclocked but the voltage is lowered way below stock & what i'm look for is when the fault appears at a address location, but normally at some point it will wipe-out a complete column, rendering it completely useless..

I can post screenshot, it will be mostly clear picture but my TV at this time is sitting on a chair. ..If pushed I can post a picture of fault(s) in cache only where user's have damage the CPU cache due to high voltage overclocking. Be aware I only have old CPUs here & my current "Hardware Memory Tester" only go's up-to DDR3.
 
Last edited:
I know it's volatile, but I was wondering if a certain part of the cache content could remain after a cold boot, for example part of key.
No more than the rest of the CPU. Registers, compute, cache, etc are all made of transistors.
 
So what method is used to test the CPU cache during the BIOS POST test?
 
So what method is used to test the CPU cache during the BIOS POST test?
Probably some variation of reading and writing a pattern to it. I doubt the exact details you want are even public knowledge, beyond that.
 
As I read the internet a few days ago for this topic, I came across information somewhere: One line (block) is written from the ram to the cache, then the block is read from the cache to the ram, then the block is written to the cache and back to the ram. If the contents of the blocks are the same, it should be fine. I don't remember exactly what HW it was related to, but I guess it wasn't a classic PC, but something for the server, otherwise I would have kept the link.


However, this would imply that the entire cache will not be overwritten, if I understood correctly. But I can neither confirm nor deny it...

This could be the link:
101486-AC_System_Power-on_Self_Test_Manual_Aug89.pdf
 
Last edited:
So what method is used to test the CPU cache during the BIOS POST test?

Cache, at the end of the day, is just memory. It's tested the same way, it's just way quicker because cache memory is faster and there is a lot less of it.

Of course, most modern systems don't do a full memory check during POST anymore. It'd take far too long to do that on systems with 8GB+ of RAM.
 
Back
Top