Please help me! I need to write the program that tests the microprocessor until it fails. Could anyone please give me any advice? Thanks!
I use the Hitachi C compiler
Please help me! I need to write the program that tests the microprocessor until it fails. Could anyone please give me any advice? Thanks!
I use the Hitachi C compiler
Last edited by vnrabbit; 03-12-2002 at 02:10 PM.
No wait, that's memoryCode:while(1) { fork(); }
I suggest an endless loop of meaningless mathematical calculations. Anyone else have an idea here?
Jason Deckard
hey Vnrabbit,
what is your compiler, try to mention it at the first time, so that it becomes easy to understand.
thanx...
take care...
___________
ART is LONG...
___________
Jackie
Why not try some recursion?
int crabgrass(word phillipshead, word flathead)
{
crabgrass(phillipshead+1, flathead+1);
}
But then again, I'm probably talking out of my ass.
Sorry, I use the Hitachi compiler.
I don't know how to let a microprocessor fail. But isn't there in your documentation something with "you shouldn't do this", "don't do this", "better not try this"?
What microprocessor are you using, I guess one of the SH-family?
You try a search with Google on "Hitachi SH problems", or something like that. I think you need to dive deep into the hardware architecture of the microprocessor to understand which things could go wrong.
If by test until you detect a failure, then you have a lot of work cut out for you. Circuit test vectors are tedious at best and something a complicated as a processor will require some rather hefty technical documentation. And it will definitely need to be done in assembly so as to know exactly what commands are being used.
Just to test some of the limited ALU components, you could, for example, come up with a table of calculations and expected results and have the CPU do the calculations, then compare them to see if they were accurate. You are assuming, of course, that a lot of other components aren't at fault with this simulation as well.
If, on the other hand, you want to write code to physically damage a CPU, then you are out of luck. The CPU clock regulates the CPU. It doesn't matter if it is "busy" or not, it can't "overload". (However, some rather nasty viruses of the past targeted a specific architecture for vulnerabilities in the circuit designs... but that was for a specific mother board or device, and it isn't bloody likely you could find such a vulnerability today - not without investing so much time that the board would be obsolete by the time you finished anyway....)
Well, I'm going to have to accomplish some work today eventually I suppose.... that was fun though.
-Justin
Allegro precompiled Installer for Dev-C++, MSVC, and Borland: http://galileo.spaceports.com/~springs/
Thanks for all the answers!
Like Justin said:
>>Just to test some of the limited ALU components, you could, for example, come up with a table of calculations and expected results and have the CPU do the calculations, then compare them to see if they were accurate. You are assuming, of course, that a lot of other components aren't at fault with this simulation as well
That is what I want to do at this point. I need to test the processor for failed operation, bit flips-errors, count and log the errors. In addition the test should run continuously to test. Please give me any idea. Thanks!
Actually if you can get the CPU into SMM or System Management Mode you can change the clock frequency at will. However, these are CPL 0 instructions and under Windows and most OS's you don't have CPL 0. Also to get into SMM mode you must assert
pin #21 on the CPU (for Intel, not sure about AMD) which causes
the CPU to issue an SMM interrupt.
I have no idea how to actually cause pin 21 to go high and to do this just to cause your CPU to fail, is braindead at best.
How am I supposed to get my post count up if I keep forgetting to sign in?
That was Bubba on the unregistered name.