Skip to the content. Back to Exam Questions
<style type="text/css"> ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; }

Exam questions (done on 28/01/20)

Items in [square brackets] or bold italics are marking notes

  1. An architecture firm specialises in designing skyscrapers.

    1. The firm uses high end computers with high performance CPUs, GPUs, and large amounts of RAM

      1. Give one use the firm might have for GPUs.

        • Visualising the skyscrapers they are designing. [1]

        [1 / 1]

      2. Describe what is meant by the term 'RAM'

        • Random Access Memory. [1] It is the main form of memory the computer uses. [1] It stores data and instructions temporarily, while they are being used. [(1)]

        [2 / 2]

      3. State one characteristic a high performance CPU might have.

        • High clock speed [1]

        [1 / 1]

  2. A digital coffee making machine has a CPU that uses the Little Man Computer Instruction Set.

    1. Little Man Computer operates on a computer system based on the Von Neumann Architecture

      1. State two features of the Von Neumann architecture.

        • One main memory for data and instructions. [1]
        • CPU that runs with the Fetch-Decode-Execute cycle in order to execute instructions.[-]
        • Control Unit

        [1 / 2]

      2. Describe one feature, not part of the standard Von Neumann architecture, which contemporary CPUs may have in order to improve performance.

        • Contemporary CPUs may utilise pipelining [1] to improve their performance - each component of the CPU is kept busy by offsetting multiple input streams such that the Fetch, Decode, and Execute cycles happen concurrently for contiguous instructions. [1]

        [2 / 2]

  3. See And Believe is a company that specialises in CGI for films.

    Producing CGI requires a lot of processing power and so the company has a large number of high-performance computers

    1. The processors in the company's powerful computers have fast clock speeds and large amounts of cache memory. Describe how each of these improves the processor's performance

      1. fast clock speed

        • High clock speeds mean that the Fetch-Decode-Execute cycle occurs more often [1], meaning that the processor executes instructions more often and therefore overall faster [1].

        [2 / 2]

      2. large cache memory

        • Large quantities of cache allows the processor to store more instructions data in high-speed memory [1], meaning it can read the instructions and write the data faster than if it were in RAM only.

        [1 / 2]

    1. Processors following the Von Neumann architecture use registers

      1. Describe what is meant by the term 'register'

        • A part of the CPU [1] that stores a single piece of data [1] (that is the same size as the architecture's word size). It is volatile, meaning that it is reset when power is lost.

        [2 / 2]

      2. Give one other feature of the Von Neumann architecture

        • Fetch-Decode-Execute cycle [1]

        [1 / 1]

    2. An example of a register is the Accumulator (ACC). Give a Little Man Computer instruction that will copy the contents of the accumulator into memory when executed.

      • STA [1]

      [1 / 1]

    3. Another Register is the Program Counter (PC)

      1. State what the PC holds

        • The address of the next instruction. [1]

        [1 / 1]

      2. Give the name of two Little Man Computer instructions that may change the contents of the Program Counter when executed

        • BRA [1]
        • BRZ [1]

        [2 / 2]

  4. The Von Neumann architecture uses a Control Unit and an Arithmetic Logic Unit

    1. State the register in which the Arithmetic Logic Unit stores its results.

      • Accumulator [1]

      [1 / 1]

    2. Tick the stage of the fetch decode execute cycle in which the register in part a. would receive a value from the Arithmetic Logic Unit

      Stage Tick one
      Fetch
      Decode
      Execute ✓ [1]

      [1 / 1]

  5. A processor executes  a  program following the Fetch-Decode-Execute cycle. To do this it needs to make use of registers

    One of the registers used is the Program Counter (PC). Ordinarily it would be incremented by one each cycle

      1. Identify an instruction in the Little Man Computer program shown in Fig.2 instruction set that would cause the PC to change in a different way

        • BRP [1]

        [1 / 1]

      2. State which register the contents of the PC would be copied to in order for the processor to access the next instruction

        • Memory Address Register [1]

        [1 / 1]

  6. A Little Man Computer (LMC) variant assembly language program is stored in memory as shown in Fig. 3.1

    Fig 3.1
    0 LDA &7
    1 ADD #4
    2 OUT
    3 HLT
    4 DAT 6
    5 DAT 2
    6 DAT 10
    7 DAT 15
    8 DAT 16
    9 DAT 17

    In this variant of LMC the symbols & and # are used to denote different modes of addressing

    1. Given that the output is 17, state the addressing mode represented by each symbol

      1. &

        • Immediate [1]
      2. #

        • Indirect [1]

      [2 / 2]

    2. An assembler is used on the code.

      Describe what is meant by the term 'assembler'

      • An assembler takes assembly code [1] and converts it to machine code. [1] should include 'translates'

      [2 / 2]

    3. Explain how pipelining would help a CPU execute the code in Fig. 3.1 more quickly

      • Pipelining would allow the CPU to execute the instructions more quickly as it prevents any component from being idle; each component of the CPU is kept busy by offsetting multiple input streams such that the Fetch, Decode, and Execute cycles happen concurrently for contiguous instructions. [1]

        E.G. OUT could be fetched [1]. As there are no jump/branch instructions it pipelines well (as there is no need to flush the pipeline) [1].

      [1 / 3]

  7. 'The Megahertz Myth' is the name given to the argument that clock speed alone is an insufficient method to compare the performance of processors

    Discuss the extent to which you agree with this argument. You should include any other factors that might affect a processor's performance

    • I fully agree with this argument. Besides clock speed, there are several factors that affect performance.

      One factor that can affect performance is the number of cores in the processor; more cores = more sets of ALU, CU, registers, and cache to execute instructions.

      Another factor that affects performance is pipelining; the ability to process more than one fetch-decode-execute cycle at once - generally up to three can be done concurrently per core.

      A third factor that affects performance is the instruction set - different instruction sets can require different numbers of cycles to perform each instruction.

      A further factor that affects performance is cache. Having more cache allows more instructions and data to be stored; and having faster cache allows for faster read/write to the stored information.

      A final factor that affects performance is speculative processing. Speculative processing is a process by which the processor, while waiting for the current instruction, begins to execute the next instruction - without committing the results to memory - so that if the program counter doesn't jump within that instruction, the results can be committed immediately.

      It has to be admitted that clock speed makes a difference - higher clock speed means that more clock cycles occur in the same time and therefore more instructions are processed per second, all other stats the same.