Decoding the Past: The Purpose of the Computer’s TURBO Button

Those who remember the 90's certainly remember the TURBO button. What was it actually for? Unraveling the mystery.

Michal Gasparik
3 min readJul 31, 2023
Visualization of the Turbo button and current frequency of the processor (digital numbers). The picture was drawn by Michal Gasparik

Those who grew up in the 90's like me surely remember the button on the computer case that was placed right next to the reset button. It was called “TURBO”. Many people didn’t know what this button was for, so let’s take a look at it.

It All Started with the Intel 8086 Processor

In many programs, we need some form of timing. For example, if we want to create a time delay, we need to know how long this delay should last. At that time, all these programs solved this timing issue by using the frequency of the processor for timing purposes.

Because this processor runs at, let’s say, a frequency of 5MHz, it means that in 1 second, there will be 5 million cycles executed in that processor, during which individual instructions can be executed. And if the program detects that 5 million cycles have elapsed, one second of real-time must have passed. This technique began to be used for timing these programs.

A Problem Arose During Further Development

Processors like 80x86 (i386, i486 …) started to emerge, and later on, the first Intel Pentium processor. The problem lay in the fact that all these newer processors ran at different frequencies, causing a fundamental issue precisely with timing based on processor speed.

When we have, for example, a processor with a frequency of 50MHz, it means that 50 million cycles will be executed in 1 second. But if you run a program on it that assumes 5 million cycles are one second, meaning it treats these cycles as one second, in this case, it will actually be 1/10th of a second (0.1s). Since the processor is 10 times faster, everything in that program will be 10 times faster.

You might think it’s great because all the calculations will now be 10 times faster. However, the point is that not only the calculations will be faster, but everything, literally everything. So, any movement on the screen suddenly became 10 times faster.

This effect caused all games to be practically unplayable. And just when developers started to realize this problem.

The TURBO button was created because when the original program was optimized for the original Intel 8086 processor, but you had a processor running at a higher frequency, by pressing the TURBO button, you would lower the processor’s frequency to match the frequency of the original 8086 processor.

Big Confusion in the TURBO Button’s Name

However, according to the name “TURBO,” people intuitively believed that when they pressed that button, the processor would simply become faster. But because of this issue, some manufacturers started rearranging the functionality of the button. When you pressed the button, the processor ran at its original frequency, and when you pressed it again, the processor slowed down to the frequency of the Intel 8086 processor. This, in practice, caused even greater confusion than before. Therefore, on some computers, displays started to appear, directly showing the frequency of the processor to make it clear at which frequency the processor was currently set.

The Final Solution

However, the problem was that later on, processors started becoming so fast that the speed of the Intel 8086 processor was extremely low by modern standards. This means that we would have to slow down that processor a hundredfold, for example, just to reach the frequency of the Intel 8086 processor. And that’s why a final solution was devised.

The processor’s frequency must not be used for timing programs.

So, all programmers had to start using a different method for timing, other than the processor’s frequency. From this moment until today, real-time clocks are used for timing programs. This means that in practice if you tell the program to wait for one second, it will simply track time and truly wait for one second. It will not bother with how many processor cycles occur in the meantime.

Do you like 90's? Claps 👏, follow, and share on social media.

--

--

Michal Gasparik

Software Developer, focused on Frontend Development and Angular Framework.