View Single Post
  #5  
Old March 8th 10, 08:30 AM posted to alt.comp.hardware.amd.x86-64,alt.comp.hardwre.amd.x86-64,alt.comp.periphs.mainboard.msi-microstar
Paul
external usenet poster
 
Posts: 13,364
Default "TLB parity error in virtual array; TLB error 'instruction"?

Ant wrote:


The AMD processor apparently has BIST or built-in self test, for memory
structures inside the processor. This document is not at all clear, on
whether you'd have that implemented on a typical desktop motherboard.
It is an optional operation, that would occur early after powerup.
It would allow bad internal memory inside the processor to be detected,
before a computer boots. There is a bit in a special register, that
contains the test result, if the test was triggered.

(Section 14.1.1 PDF page 395 "Programmers Manual Vol.2")
http://support.amd.com/us/Processor_TechDocs/24593.pdf


Now, this is over my head. Is there a way to test this with softwares?
Does memtest86+ v4.00 test for this? I already tried compiling, unraring
10+ GB of datas, running sys_basher, and memtest86+ v4.0 (passed a few
weeks ago + this morning = five tests total). It doesn't seem to
stress/overload and temperatures related since most kernel panics
happened when mostly idled!


That entry in the manual means, there is a way to test that section
of the processor. But I'm not aware of any software that does things
like that. And because the 24593 document didn't say what triggered the
test, I can't comment on whether a motivated person could even write
some code to do it. Maybe there are one or more pins on the processor,
that have to be set up for that. I could see a server motherboard maker
perhaps, going the extra mile (doing a basic test on the processor,
before completing POST).

The pinout for AM2 socket isn't publicly available. This site says
the document needed is 31117.pdf, but you can't download that. So
there is no way to look for any pins with "interesting" names.

http://www.sandpile.org/docs/amd/k8.htm

My guess is, that a program like memtest86+, isn't going to specifically
target things like the TLB, while it tests main memory. It's possible
a small number of entries in the TLB were loaded by the BIOS, for perhaps
a linear mapping of some sort, and memtest86+ relies on that for what it
does. You'd have to look at the source for memtest86+, to see what it
does. I read a claim a couple days ago, that memtest86+ uses PAE, and
that should be a mapping trick as well. That is how a 32 bit executable
can be used to test system memory totals of greater than 4GB. It could
test 4GB at a time, and change mappings to access a different 4GB block of
memory.

Paul