Factors affecting processor performance

Cards (34)

  • Processors are measured in terms of clock speed. The clock is an electronic oscillator that produces a signal to synchronise the operation of the processor.
  • In general terms, the greater the clock speed, the faster instructions are carried out. Clock speed is usually measured in GHz (gigahertz). However, the processing of a single instruction typically takes more than one clock cycle. Therefore, a processor with a clock speed of 3.6GHz does not mean that 3.6 billion instructions are processed per second.
  • Clock speed is a theoretical maximum. It is unlikely that a system will perform to the greatest stated number. Making a processor perform more instructions per second than it is recommended to (overclocking), could cause the processor to overheat.
  • Computers with more than one processing unit (core) are called ‘multicore’. For example:
    • Dual-core = two processing units
    • Quad-core = four processing units
    • Hexa-core = six processing units
    • Octo-core = eight processing units
  • Generally speaking, the more cores a computer has, the more instructions it can execute at the same time. As a result, the computer will perform more efficiently than computers with the same type of processor but fewer cores.
  • Having a quad-core instead of a dual-core processor (both running at the same speed) does not mean that the amount instructions that can be processed in the same time frame will double
  • The quad core will still achieve a significant improvement because data and instructions need to be fed to the cores appropriately and so the computer system will need to spend time organising which cores receive which data and instructions
  • The efficiency of a multicore processor depends on the nature of the required task, i.e. if it is possible to divide a computation into subtasks that can be processed in parallel (one task per core at the same time)
  • Parallel processing
    Processing subtasks simultaneously on different cores of a multicore system
  • Parallel processing is only possible on multicore systems
  • Cache
    A fast, relatively small capacity set of locations that sit close to the processor; it is used to store the instructions and data most frequently used
  • Running programs
    Computer system constantly swapping data in and out of cache and RAM
  • Cache memory
    Used to store the instructions that are likely to be called upon
  • Cached memory is erased when power is removed
  • Cache memory
    • Varies greatly between older and newer systems
    • Currently with cache capacities measured in megabytes, far smaller than RAM capacities (which typically are measured in GB)
    • Expensive compared to RAM
    • Cannot easily be upgraded or replaced
  • Levels of cache
    • Level 1 (L1)
    • Level 2 (L2)
    • Level 3 (L3)
    • Level 4 (L4)
  • L1 cache

    Smallest and fastest cache, part of the circuitry of each core
  • L2 cache

    Slower than L1 cache and tends to be larger, often shared by cores, usually part of the core in the same way as the L1 cache
  • L3 cache

    Slower than L2 cache but larger, sits on the processor or near it on the motherboard
  • L4 cache

    Newer systems incorporate, placed on or near the processor
  • Cache memory
    • A large determinant of system performance
    • The larger the cache, the more instructions can be queued and carried out
    • Storing instructions in cache reduces the amount of time it takes to access that instruction and pass it to a CPU core
    • If a system does not use caching, there is an increased need for accessing the main memory, thereby increasing the time it takes for an operation to be carried out
    • The faster the cache, the faster an instruction is fetched to the processor
    • Having L2 cache as part of the circuitry of each core reduces the time it takes for instructions and data to pass through the system registers, increases the speed of processing and allows instructions to be carried out more efficiently
    • The greater the number of cache levels, the more efficient the system
    • The combined increase in speed and memory size means that more data is held nearer to the CPU
  • Word length or word size
    The amount of data that can be handled at one time by the processor
  • x86_64 microprocessor
    • 64-bit word size
  • Word length is always a multiple of 8
  • Word length
    • Determines the size of a bit pattern that can be transferred to or from main memory in one operation
    • The size of the processor registers are designed to be the same as the word length
    • The width of the data bus is equal to the word length
    • Each addressable memory location in the main memory is the size of a word
  • Word-addressable
    Each word is identified by using a unique address
  • The larger the word size

    The greater the amount of data that can be transferred to the CPU in one pass
  • Being able to pass larger amounts of data to the processor with every pass

    The system is likely to carry out instructions faster
    1. bit word
    • Can pass data up to 8 bits = 1 byte in length to the data bus, requires two passes for a 16-bit number
  • 16-bit word

    • Can pass a maximum data length of 16 bits = 2 bytes for processing at a time, requires only one pass for a 16-bit number
  • With a greater word length, the quicker (fewer passes) the processor can access instructions and data, which means that its performance is increased
  • The width of the data bus determines the number of bits that can be transferred to or from in one operation (i.e. at the same time, in one pass). The larger the data bus, the better the processor performance. This is because the greater the width of the data bus, the more data can be transferred between the internal components simultaneously.
    If the width of the data bus is n bits, then n bits can be transferred between the internal components in one operation.
  • The majority of computer systems have a data bus width equal to the system word length, e.g. if a computer system uses a 16-bit word then the data bus has a width of 16 bits. It means that the contents of each addressable memory location can be transmitted in one go.
  • The width of the address bus determines the number of bits that can be used to form an address of a memory location. The greater the width of the address bus, the more memory locations can be addressed. Therefore, the processor benefits from a larger main memory to access data and instructions, which also improves processor performance as it reduces reliance on slower virtual memory.
    If the width of the address bus is n bits, then there are 2^n memory addresses available for the main memory. This means that the processor can access 2^n distinct memory locations using these addresses.