CPU Features
The speed at which the CPU runs is generally seen as a key indicator of performance.
- true when comparing CPUs with the same architecture but is not necessarily the case otherwise
- Thermal and power performance impose limits to running the CPU faster and faster
Multithreading
- Another way to make execution more efficient is to improve the operation of the instruction pipeline
- basic approach is to do the most amount of work possible in a single clock cycle
- can be achieved through simultaneous multithreading (SMT)
- referred to as HyperThreading by Intel
- A thread is a stream of instructions generated by a software application
- Most applications run a single process in a single thread
- software that runs multiple parallel threads within a process is said to be multithreaded
- SMT allows the threads to run through the CPU at the same time
- reduces the amount of “idle time” the CPU spends waiting for new instructions to process
- To the OS, it seems as though there are two or more CPUs installed
Symmetric Multiprocessing
- Another approach is to use two or more physical CPUs, referred to as symmetric multiprocessing (SMP)
- An SMP-aware OS can then make efficient use of the processing resources available to run application processes on whichever CPU is “available”
- not dependent on software applications being multithreaded to deliver performance benefits
- a multi-socket motherboard is significantly more costly
- implemented more often on servers and high-end workstations than on desktops
- The CPUs used in each socket must be identical models and specifications and must be models that support SMP
Multicore
- Improvements in CPU fabrication techniques led to the ability to expand compute resources by fabricating multiple CPU cores on a single package
- A single-core CPU has a single execution unit and set of registers implemented on a single package
- A dual-core CPU is essentially two processors combined in the same package
- means that there are two execution units and sets of registers
- Each core will also have its own cache plus access to a shared cache
- referred to as chip level multiprocessing (CMP)
- market has quickly moved beyond dual-core CPUs to multicore packages with eight or more processors
- Multicore and multithreading features are designated by n C/ n T notation
- E.g., an 8C/16T CPU with multithreading support has eight cores but processes double that number of simultaneous threads
- Multicore and multithreading features are designated by n C/ n T notation
Virtualization Support
- a computer can be made more efficient and useful by configuring it to run multiple operating systems at the same time
- achieved through virtualization software
- Each OS is referred to as a virtual machine (VM)
- Intel’s Virtualization Technology (VT) and AMD’s AMD-V provide processor extensions to support virtualization
- referred to as hardware-assisted virtualization
- A CPU with virtualization support is required to run a virtual machine
- These extensions are usually features of premium models in each processor range
- is also a second generation of virtualization extensions to support Second Level Address Translation (SLAT)
- a feature of virtualization software designed to improve the management of virtual memory
- referred to as Extended Page Table (EPT) by Intel and Rapid Virtualization Indexing (RVI) by AMD.