Remember those ancient PCs that had a front LED panel meant to display the "speed" (in MHz) of your PC? They could be toggled with the Turbo switch between "Normal" (usually 8Mhz) and "Turbo" (12/16/33MHz or whatever). In truth they weren't useful for much at all beyond advertising the capabilities of the machine and indicating that it had power (they could have been - and were - easily replaced with one or two standard LEDs).
I know these panels were configured with hardware jumper blocks to report any value desired and otherwise had nothing to do with actual computer speed. The Turbo switch simply toggled between alternate jumper presets to "update" the value shown ... though it also actually toggled the mobo Turbo as well (usually).
I don't even know what these things were called, every PC case just had one so I never thought much about them. I remember paying a little extra once to get a panel with red LEDs instead of green ones, I remember changing the display jumpers without a datasheet was more complicated than a Rubik's Cube. I found a little chitchat about these things here and here, oddly I couldn't find a single pic. People younger than 30 may have never actually seen one of these things.
But I am inspired to recreate this old idea on modern PCs.
My initial thoughts:
- it would obviously use modern display and microcontroller parts; old-style segment LEDs are obsolete, less versatile, and probably only desired when building a "retro PC" look; this project would be more akin to a Matrox Orbital than a half-useless 286-era display panel
- it could be merged with standard fanbus/temp/hardware monitoring functions, user controls and menus could allow easy selection of which information to display
- it should draw power from the main PSU, perhaps allow a standby/sleep mode
- it should constantly and accurately report the actual speed (MHz, GHz, whatever) instead of simply displaying some arbitrary preset value
- if possible, it could have options to display different speeds for different pieces of hardware (processor speed, processor FSB, RAM speeds, mobo clocks, etc)
- if possible, it could report the speeds of each core within a processor (I'm not sure if this would be a meaningful metric or not; though it would be interesting to measure the operational speeds of all these things throughout the boot process or when the computer freezes or crashes)
- it should somehow collect all readings directly from hardware interfaces (or perhaps BIOS services?); it should *not* be dependent on the OS, drivers, or any other software ... even if it means I have to string ribbons and wires between individual mobo pins and traces - it would essentially be an independent computer
- if possible, it should mimic the "Turbo" feature, allowing a single hotswitch to alternate between normal and overclocked operation (this is possible where supported by BIOS on some motherboards, so how hard can it be?)
Note my hardware interface requirement. It should display values regardless of whether Windows, linux, or the BIOS Setup program is running. I would be nice to have some kind of onboard memory, logging features, and (USB?) communication with the PC's software - but those are all complications that can wait until the basics are working.
I might indeed buy and mod a Matrox Orbital for this project, or just build something similar, or perhaps cannibalize and brainwash my ancient iPAQ PDA for this purpose. The electronics and microcode don't bother me (though they look challenging). Motherboards don't intimidate me either, I've modded a few at the component level before.
My problem is simple. Yes, I will certainly read every relevant datasheet and specification I can get my hands on. But still ... where the hell can I poke the mobo to measure the real-time performance of the parts?
Some parts seem like they'd be easy: The RAM controller chip (or the RAM banks themselves) report SPD pinouts and timing data which are standardized and should be easy to decipher, if I have to I can (probably) even upgrade to better parts to compensate for any interference in timing/signalling my probes introduce to the circuit.
Other parts seem incomprehensible. Are there FID pins on the processor I could piggyback onto? Is the signalling already so tight that the most miniscule impedence will reduce stability? If there is no way to report CPU speed through the hardware then I'll abandon this entire concept. (Component level solder rework doesn't bug me either, I enjoy it, but any ideas that involve actually getting into the components like splicing directly into a silicon die are basically impossible.)