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
    • 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
    • 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

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.