Comp 2 Notes - FULL

  • Created by: Jacob
  • Created on: 07-06-13 18:21

3.2.1 Fundamentals of Computer Systems

Hardware and Software

Hardware - the physical components of a computer.

Software - programs which run on the hardware.

Classification of Software

System software - performs the tasks needed to operate the hardware.

Application software - allows the user to perform non-computer tasks.

System Software

Operating systems:

  • Interface between user and hardware
  • Virtual machine
  • Hides the complexity of the hardware from the user
  • Provides a software platform on which other programs can run

Library programs:

  • Collection of compiled routines that other programs can use

Utility programs:

  • Perform a specific computer-related task
  • Some come with the OS and some can be installed later

Programming language translators:

  • Translates programming language into machine code that can be executed by a computer

Assemblers translate assembly language programs into machine code. Each mnemonic instruction is converted into its binary equivalent.

Compilers translates the source code high-level language into object code. The whole code is translated at once and may take some time to compile. The object code produced runs quicker than interpreted code as no translation needs to take place at run-time. No compiler needs to be available during run-time.

Interpreters analyse and execute each line of a program independently. This is slower than executing compiled code as each line must be analysed during execution. No object code is generated so the program must be interpreted each time it is run.

Application Software

General purpose: Many users, many tasks (e.g. word processor)

Special purpose: Many users, one task (e.g. web browser)

Bespoke: One user, one task (e.g. air traffic control)

Generations of Programming Language

Machine code (1GL):

  • Tedious to write (binary)
  • Difficult to debug
  • Processor-specific

Assembly language (2GL):

  • Use of mnemonics
  • Translated into machine code by an assembler
  • Processor-specific
  • Labels - refer to instructions by name
  • Comments
  • Variables

Imperative high level language (3GL):

  • Imperative - instructions are executed in a programmer-defined sequence
  • One statement translated into several machine code statements
  • Different languages for solving different types of problems
  • English-like syntax - more like natural languages
  • Problem centered
  • Object-oriented - objects know all their own properties by default

Declarative language (4GL):

  • Declarative - define what is to be done, not how it is to be done

3.2.2 Fundamental Hardware Elements of Computers

Boolean Algebra

Need to know:

  • Logic gates - Symbols, boolean symbols and truth tables for each
  • De Morgan’s laws
  • Boolean identities

3.2.3 Machine Level Architecture

Internal and External Hardware Components of a Computer

The Processor, System Bus and Main Memory is called the CPU (Central Processing Unit). Components external to the CPU are called peripherals, e.g. secondary storage.


  • Responsible for executing programs
  • Carries out arithmetic and logical operations on data

Main Memory:

  • In a von Neumann computer it stores program instructions and data
  • Contains many individual cells, each of which is uniquely addressable


  • Random Access Memory
  • Readable and writable
  • Volatile - data is lost when there is no power


  • Read-Only Memory
  • Non-volatile - retains data when there is no power
  • Can only be written once
  • Used




This is a fantastic study guide.

Sam Palmer


This is amazing! Thanks alot!



Brilliant, thanks.