GoConqr has a new look! Let us know what you think.

Mind map

Hardware

Robin M CompSci Paper 2 A level English

Map content

Hardware

  1. Processor

    • Executes Programs
  2. Memory

    • Stores Programs
    • Stores Data
      • Large byte array which holds information
    • Use different kinds for different jobs.
      • Registers are fast and on-chip
        • Data values being used are loaded into registers before being operated on
        • Data stored back inmemory once we are done with them
        • 32 or 64 bits in size
        • Computers have between 8 and 128.
      • Main memory made of (Dynamic RAM)
        • Slower to access
        • 32GB
        • Turns on and off
      • Use fast SRAM(Static RAM) in cache between main memory and registers
        • More expensive, so smaller
        • Holds copy of subset of main memory
        • 8MB
        • cache - CPU(registers) interface uses custom bus
        • always on
    • Size doubles every two years
    • Management
      • Problem: ># processes at once
        • All need their own memory
        • Need to share betwixt and with OS
      • Address Binding
        • How to allocate memory when dependent on where program is run from in memory
          • Time of Address Binding
            • At compile/link time
              • Requires absolute addresses
                • Thus acceptable for monolithic systems
            • At load time
              • As program loaded, see where it is, update code with correct address.
                • Happens each load time
                  • Good for embedded systems, bootloaders
            • At run time
              • Requires Hardware support MMU (Memory Management Unit)
                • Mapping of logical to physical done at run time by MMU
                • Relocation register holds base and limit of programs memory
                • If requested > limit, address fault
                • else base added, found in physical
                • OS has privilege to update relocation rgister
              • Hardware automatically translates from program to real addresses, doesn't change program
              • Virtual Memory
      • Allocation
        • Contiguous (in a block) is easiest
          • Split memory into fixed size partitions, with OS in low partition
            • terminating process frees partition
            • Static Multi-programming
  3. Devices

    • for input and output
    • All connected via buses
    • Universal Asynchronous Receiver/Transmitter
      • Slow way of transferring data
      • Convert parallel data to serial
      • Make up serial ports of a PC
    • Hard disks, capacity 1TB, rotates at 12,000rpm
    • Graphics card
      • RAM (frame buffer) holds an array of pixels
      • Some digital to analogue circuitry in old days (RAMDAC) but digital monitors do that now.
    • The wide range of devices makes things complicated, as only the program requiring the data from a device can interpret the data correctly
  4. Buses

    • Transfer of information
    • 3 kinds
      • Address
      • Data
        • Addressing modes tell computer where data is being read from, be it registers, supplied with the code (immediate), somewhere else in the program (PC relative), or register indirect with or without displacement.
      • Control
    • Bus connects all other aspects together.
    • Most processors have multiple buses that converge onto a shared communication line
      • causes potential bottle neck
      • Means slow devices do not hog important buses
    • Master slave pattern. Master asks for info from address, slave supplies it on bus, master reads from bus
  5. Fetch-Execute Cycle

    • 1). Instruction fetched from memory address in PC into IB(Instruction Buffer) 2). Control Unit "decodes" instruction. 3). Execution Unit acts based on what is in instruction. 4). PC updated, return to 1).
    • occurs within CPU (Central Processing Unit)
      • Control Unit
        • messy
        • Program Counter (PC) register holds memory address
        • Generates control signals to select functional units
          • Also generates operand information
      • Execution Unit
        • - Arithmetic Logic Unit (ALU) - Shifter/Rotator - Multiplier and Divider - Memory Access Unit (MAU) - Branch Unit
        • more logical
        • The active calculating part
        • Broken into functional Units (see note)
          • unit selected with multiplexor based on decoded instruction
          • ALU
            • Inputs from registers, outputs to registers.
            • Performs simple 2-operand calculations like addition, AND etc
            • Typically calculates all possible outputs, uses function code to select output
          • BU
            • Tests a condition
            • May change PC for control flow.
          • MAU
            • Generates address, uses buses to read/write at address
        • Arithmetic and logical instructions represented as mnemonics in machine, but as characters in higher level languages.
          • Conditional execution can be achieved by acting differently depending on different outputs.
            • Comparisons based on comparing condition codes.
          • Instruction encoding split into opcode (operation to perform) and operands (where to get values)

Information

Description
A level CompSci Paper 2 (Operating Systems) Mind Map on Hardware, created by Robin M on 20/05/2015.
Created by
Robin M
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?