Welcome, Guest. Please login or register.

Author Topic: How do I detect CPU Speed?  (Read 2047 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: How do I detect CPU Speed?
« on: April 24, 2004, 02:50:56 PM »
Quote
I was rather confused when I ran the ATA3.driver preferences program from Elbox. It shows the type of accelerator you have in your computer. On my computer it showed that I have 603e/160 060/50, but I ordered the 603e/210 from Vesalia. How do I determine the speed for sure of the 603e processor?

newppcgetattr.lha
This program (newppcgetattr/test) read the PLL multiplier (from the hardware HID1 register, or by querying ppc.library, and working around some old bug, if present), and queries the CPU speed from ppc.library (also ppclibemu works), and then calculates the busspeed.

Both ppc.library (PUP) and powerpc.library (WOS) calculate the CPU speed by timing short loop, so CPU speed measurement is always accurate.

If 160MHz is reported, the card you've been sold really is 160MHz, or is defect.

[EDIT Ok, the card appears to be 210MHz indeed. Elbox's SW just sucks eggs, I guess... No news there.]
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: How do I detect CPU Speed?
« Reply #1 on: April 24, 2004, 03:03:10 PM »
Quote
Dont even bother using the values reported by the bppcs' firmware. They are just values written into the flashrom and there is no guarentee they are correct.

That's not true. At bootup ppc.library calculates the CPU clockspeed, and then uses PLL multiplier (hw) to divide the blockspeed to get busspeed.

Old ppc.library had a bug in PPCGetAttr PPCINFOTAG_CPUPLL however (PLL was reported in upper 4 bits not lower 4 bits, that is >>28 was missing). To my knowlege, PPCINFOTAG_CPUCLOCK has always reported correct value.

Often the "problems calculating PPC busspeed" were in fact programmer's inability to read documentation. Many times PLL was considered direct multiplier, when it in fact is index to CPU specific multiplier table.

Naturally this was blamed on ppc.library bugs, rather than actually consulting the documentation. For example one of the DOOM PowerUP ports had speed issues because it could not determine busspeed. The problem was blamed on ppc.library...
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: How do I detect CPU Speed?
« Reply #2 on: April 24, 2004, 05:03:18 PM »
@Karlos
Try newppcgetattr.lha

What does it output, exactly?