In the previous articles on Processor, or rather Microprocessor, we have learned about the basics on how a processor works and how a processor used for running a Virtualization Process differs from an usual processor. Scientists ultimately understood after a certain time that processing speed of a processor is not only can be increased by only increasing the clock speed.
It happens during a execution of program code – when accessing the memory or peripheral, the processor might be still busy and waiting to execute the next command. As you can understand, it significantly delays the actual process. This has lead to the development of the modern processors which distributes the tasks on many parallel working units.
What is the instruction pipelines of a Processor ?
A pipeline is a sequence of processing units that execute a command. The pipeline processing is done in RISC CPUs, because the RISC instructions are so complex that their implementation within a clock cycle is not possible.
In desktop processors, it is customary to extend the pipeline to drive over and above. For server processors increasing the clock speed is not the solution. This is where the real performance is much more important. This is why you might have noticed, the server processor manufacturer, often mentions about low pipeline length. Modern processors often use a combination of several pipelines and execution units.
How these Processor Technologies work
The processor checks whether two successive commands can be executed in parallel. If so, then they are processed in two pipelines. For specific groups of commands, there are even separate pipelines.
When a command is completed earlier than the other command in the pipeline, then it waits until the other has been executed. Only then will we continue in the program code. The compiler can cleverly sort of commands to ensure optimization.
In superscalar processors, the performance is substantially dependent on the utilization of execution units working in parallel. This technique is called out-of-order execution.
What is Branch prediction
Efficiently correct the out-of-order execution is only when they can speculate. The hardware used for speculation, unfortunately uses a lot of energy. That is why you have noticed the authors writing about Virtualization repeatedly wrote about the importance of cooling for the server processors running Virtualization. You can understand how complex the process becomes – imagine one Processor on a Server, running 4-5 Virtual Servers and each of them running anywhere between 5-50 websites, each websites are serving 2000 pages to the Millions of visitors. When you have clicked any link in this website, you never get a webpage from another website, even this website – this is how our modern processors are smart.
As you can understand why people begin to think about Cloud Computing – simply to avoid the physical barrier of limitation of a processor.
Multi Threading of a Processor
multi-threading is the ability of a processor to run multiple operations in parallel. Algorithms that can be parallelized parallelizes poorly, or are badly wasted, the time-consuming calibration procedures. Complicated by the many bottlenecks in the system. This Multi Threading is very badly utilized by Desktop Windows Operating System’s kernel. That is why, a Linux that can be used as a desktop Operating System (like Ubuntu) can be used as a Server Operating System. To eliminate this problem, Microsoft has special Server Operating Systems with some modifications at the Kernel level.
Simultaneous multi-threading means that multiple threads are executed simultaneously. SMT works reasonably well because some processor architectures do not use any out-of-order technology.
Hyper-Threading is an Intel development and a precursor to the multi-core processor. Hyper-Threading flutters the operating system from a second processor core, so as to better utilize the functional units. Those you have Apple Mac or Red Hat Linux know that Mac or Red Hat shifts to HT automatically, ensuring proper balance between power consumption in one hand and Performance and Heating on the other hand. This explains why Macbook’s battery life is longer than a Windows laptop. The battery itself might be the same, frankly there has not been much improvement in Battery – Technology in recent years. As Mac uses very finely tuned UNIX Operating System playing the orchestra rightly with the Processor, when the Macbook processor is not working, it is consuming almost 0 millivolt, thus saving the power. It is possible to create Linux Laptops in the same way, but there is no brand which manufactures unit only for a special Linux Distro.
But, a Macbook’s Processor will fail to throttle to produce 100% output if suddenly a huge load is given on it. But a Server’s processor, regardless of the Operating System can throttle to 100% from the resting condition.
This article on Processor is written by Mr. Kanai Lal Saha. Other articles written by him are interlinked within this article.