A Conversation for The Properties of PC Lights


Post 1

Captain_SpankMunki [Keeper & Former ACE] Thanking <Diety of choice> for the joy of Goo.

Ah, the good old turbo button. A must have feature of all 486 dx machines.

The turbo button is there to slow the processor clock speed down. Why this may be a good thing is a mystery to some, but not this enlightened researcher. I shall begin:

In the days of yore programs were allowed to run as fast as they could (this was not very fast, but that's not the point). The processor has a clock - it's the bit that say 3.2GHz on modern machines - 3,200,000,000 cycles per second, as opposed to an ealry '90s model of 486 which would be around 25MHz 25,000,000 a few orders of magnitide slower, back to the plot. With the 80x86 (ignore the spoddy bits - it'll still make sense) architecture being a synchronous one the processor can only perform an instruction (or part thereof) on each 'tick' of the clock. Which means that if you increase the clock speed, the processor will process instructions faster. So going back to the beginning of this paragraph (the days of yore bit) programs gave instructions to the processor (through the wonders of von Neumann architecture) and these were processed when they arrived. This is great if you are running, say for example, a search algorithm, you want it to take place as quickly as possible. But what if I want to show a dot moving across the screen. How do I control the speed depending on the speed of the processor clock? (Savvy readers take note: I'm not about the say the turbo button controls the rate of moving dots). The program isn't clever enough to know when a second has passed but it does know when the processor has drawn the dot on the screen - it moves to the next line of code, which in the executes (this is a dot drawing bit of code that moves the dot along a bit). If the program is written like this then the speed the dot moves depends entirely on the speed of the processor clock. The turbo button serves to slow the clock down to half rate to fudge crappy programs like my patented dot-moving-across-the-screen program.

Back to 14 years in the future and we don't have to worry any more, in fact we didn't really have to worry since 1994-ish. We have a whole manner of different ways of finding out how much time has passed in a PC and lots of different incompatible software libraries to draw dots on the screen.



Post 2

Caveman, Evil Unix Sysadmin, betting shop operative, and SuDoku addict (Its an odd mix, but someone has to do it)

Ah, yes, the good old Turbo button.

It was a bit of a mystery how some of those PC's wouldn't actually boot without it switched on at power up.

It was also amazing how many software support calls you got complaining that 'My PC is slow'. 'Is the turbo button pressed on'. 'No'. 'Well, press the turbo button in then', 'Ok.. All the lights came on and the machine reset', 'That's because you pressed the RESET button. Press the OTHER button, and wait for your machine to boot up again. Thanks for calling'.

The wise network administrator knows that when building a new box to act as a server, that you wire the power-on switch to the keylock on the front of the case, and don't connect the reset button at all, consequently only the most determined user can power off the server while you're not looking. The wiser network administrator protects the servers by placing them in a locked room, with optional barbed wire, land mines, laser cannons, tripwires, and dirty great huge rocks that roll down the passageway towards anyone who tries to interfere.. (local regulations may prevent the use of land mines though..)


Post 3

Caveman, Evil Unix Sysadmin, betting shop operative, and SuDoku addict (Its an odd mix, but someone has to do it)

Another speed setting of yore was the ISA Bus speed.

Some machines allowed you to clock the ISA bus at faster speeds (in some cases 12MHz) instead of the standard 7.14MHz (If I recall correctly). Some cards wouldn't handle the different speed, especially if some function depended on the host frequency being correctly set. Nowdays, most devices tend to provide their own clocking for functions that don't directly interface with the host, but PCI clock speeds can still be tweaked from BIOS settings (and totally ####### up your system if you go too far)

Another interesting, but irrelevant clocking issue: The standard serial port driver, the 16550A UART, is actually rated up to about 0.5Mbit/sec, but the standard PC implementation used a 1.84MHz crystal for timing. Replace that with a 8MHz crystal for seriously fast serial port speeds. (Even wierder fact, many MIDI interfaces are 16550A UART's with the 1.84MHz crystal swapped out for a 6MHz one)

Key: Complain about this post