Computer Organisation + Architecture

Cards (55)

  • The Main Components of a computer are : processor, main memory, buses, registers, and I/O controllers
  • Processor - handles instructions received from user, hardware, and software
  • Main memory is made up of RAM and ROM
  • RAM - stores data not currently being executed
  • ROM - non volatile memory typically used to store BIOS setting
  • 3 Types of buses are : address, data and control
    • Address bus carries the memory address of the next instruction to be read from memory
  • Data - carries to and from memory as program is executed
  • Control - carriers control signals to the register, data and address buses
  • I/O Controllers - allows additional devices to be connected
  • Processor is made from silicone and implanted with millions of transistors, connected with microscopic wires called buses.
  • Transistors are used to control the flow of electrical pulses that are timed via clock
  • RAM is temporary storage space can be accessed very quickly, and is volatile. It is a series of chips which store data electronically accessible by their address
  • ROM is non volatile and the user can't alter the contents. It stores a limited number of instructions relating to the set up of a computer
  • Addressable Memory is made up of addressable cells which store data, and is organised in a systematic way using the addresses
  • Buses are groups of parallel microscopic wires that connect the processor to various input and output controllers being used by the computer
  • Address bus carries data from processor to memory, and carries the memory address of the next item. It's used to access anything stored in memory.
  • Data bus is bi-directional, and has a width measured in bits. It connects registers to each other and the greater the width, the more data can be transmitted.
  • Control bus is bidirectional and involves the synchronisation of signals and control of access to the data and address buses
  • Devices are connected to a computer via I/O ports, data buses then carry signals to and from the computer, and an I/O controller is used to communicate with the device
  • Von Neumann Architecture uses the same bus for data and instructions, where Harvard uses different ones
  • Harvard architecture executes programs faster and more efficiently, and is used for embedded systems, using digital signal processing
  • Digital Signal Processing takes continuous real-world data and compresses it to allow faster processing
  • A bottleneck is when too much data is sent at once causing a crash
  • The Stored Program Concept is the idea that instructions and data are stored together in memory
  • Fetch-execute cycle is a continuous process carried out by the processor when running
  • Processor
    The central processing unit (CPU) of a computer, electronic device, or information processing system
  • Arithmetic Logic Unit (ALU)

    • Used to carry out mathematical functions and other processes such as shifting, comparing values, and assigning boolean values
    • Sent an operation code and the operands
    • Uses logic operations (e.g. AND, NOT, OR, XOR)
    • Sometimes a separate arithmetic unit (AU) is used for floating point operations
  • Control Unit
    • Supervises fetch-execute cycle
    • Makes sure data being processed is correctly routed
  • Clock
    • Generates a signal that is used to synchronise the operation of the processor and the movement of data
    • Speed is measured in megahertz (MHz) or gigahertz (GHz)
    • Average clock speed is 2-3 GHz
  • Registers
    • General-purpose registers
    • Dedicated registers, including: program counter, current instruction register, memory address register, memory buffer register, status register
  • Fetch-Execute Cycle
    1. Fetch: PC holds the address of the next instruction, processor sends this address along the address bus to the main memory, then sends contents of memory location at that address via the data bus to the CIR, and increments the PC
    2. Decode: Processor then takes the instruction from the CIR and decides what to do with it
    3. Execute: Processor now carries out the instructions, repeats the cycle so goes back to fetch
  • Processor Instruction Set
    A library of all the things the processor can be asked to do, accompanied by details of what the processor should do when it is received
  • RISC (Reduced Instruction Set)

    A type of processor instruction set
  • CISC (Complex Instruction Set)

    A type of processor instruction set
  • Assembly language
    Consists of 4 parts: operation code (opcode), operands, comments
  • Direct Addressing
    Tells the CPU which address contains the data you want to access
  • Immediate Addressing
    Loads the data directly, therefore the operand would have the actual number that you wish to use
  • Types of Operation Codes
    • Data Transfer Operations (e.g. move, store, load)
    • Arithmetic Operations (e.g. standard mathematical operations, compare, shifts, increment/decrement)
    • Branch Operations (e.g. conditional branches)
  • Data Transfer Operations
    • LDR Rd, <memory ref> (load the value stored at <memory ref> in register d)
    • STR Rd, <memory ref> (store value is register d at <memory ref>)