In order to increase the speed of the processor core without changing the frequency, you can use multithreading to have the CPU process several tasks at once. Or to be precise, you can have it process several threads at once. A thread is a sequence of programmed instructions that’s part of a larger process. Programs can be broken down into processes and these processes can be broken down into individual threads. Every process consists of at least one thread.
Processes are usually executed sequentially - one process after the other. However, this can lead to lengthy tasks blocking the hardware, which is less than optimal. If another process needs to be executed, it will have to wait its turn. In the case of multithreading, multiple threads are processed more or less simultaneously. It’s rare that processing happens truly simultaneously, though it is now possible.
But even so-called pseudo-simultaneity provides a boost in performance. The system organizes and computes threads so intelligently that the user perceives it as simultaneous processing. This form of simultaneity is not to be confused with what a multicore processor can do. If the system has multiple microprocessors, multiple processes will be processed simultaneously.
In order to effectively implement multithreading, you’ll need properly prepared software. If developers don’t (or can’t) separate their programs into multiple threads, the method is useless. For example, gamers have noticed that performance actually suffers from turning on multithreading. That would be because the computer games in question weren’t designed with multithreading in mind. The system’s attempt to process multiple threads at once then has a detrimental effect.