Hardware & Operating Systems

Main Topics of Study:

A. Memory

  • Types of main memory. ROM, RAM, DRAM, SRAM, EPROM, EEPROM, Registers, Cache.
  • Survey of relative speeds and costs of memory from fast registers to slow secondary memory (tape). Read and write cycle of memory.
  • Technical characteristics of types of main memory.
  • Memory maps.
  • Address bus. Operation codes. Reduced Instruction Set Codes (RISC). Decoding addresses.

B. CPU

  • Von Neumann model of the stored program.
  • Developments on this model – pipelining, array processors, multiprocessors.
  • Component parts of the CPU.
  • BIOS.
  • Data bus and address bus in relation to other parts of the computer system.
  • Registers. Accumulator(s), MAR, MBR, CIR, PC. Register transfer language (listed below).
  • Simplified instruction set. A subset is listed at the end of this syllabus.
  • Shift and Mask instructions used to extract/combine parts of data in a single location.
  • Addressing modes – immediate, direct, indirect, indexed.

C. Fetch-Execute Cycle

  • Overview of the cycle.
  • Taken in turn, how each of the basic registers are used throughout the fetch-execute cycle. Use of register transfer language to describe these operations.
  • Complete analysis of a 3-instruction assembly routine as it passes through the fetch execute cycle – the analysis to be expressed in register transfer language.

D. Complex memory structures

  • Stack. Limitations of stacks. PUSH and POP. Recursion – simple examples such as determining factorial 5 (5! = 5x4x3x2x1) by a recursive method.
  • Queue. Holding a queue in memory – circular queue using an array. Algorithm to add or remove an item from a queue.
  • Linked lists. Algorithms to locate, delete or insert an item using a linked list.
  • Binary tree. Algorithms to locate, delete or insert an item using a binary tree.

E. Input devices

  • Survey of current input devices available – keyboard, concept keyboard, barcode reader, optical mark sense reader, optical character reader, magnetic ink character reader, digitiser.
  • Technical aspects of how each of the above devices read their inputs. This includes being able to locate the position of the data on the capture form. Candidates need to see samples.
  • Buffers. Double buffering.

F. Output Devices

  • Survey of the range of printers. Comparison of the features offered by each type of printer.
  • Technical aspects of how each type converts the data it receives into printed output.
  • VDU. Video RAM. Colour. Raster scanning. Graphics card.
  • Plotters – flat bed, drum. Their operations.

G. Storage devices and media

  • Difference between device and medium. Role of the buffer in data transfer.
  • Survey of storage devices. Magnetic tape, cartridge and tape streamer. Diskette, hard disk, Winchester. USB pen drive. Range of optical devices – CD and DVD.
  • Definitions of storage terms – file, record, field, cylinder, track, sector, header label, inter-block gap. File allocation table (FAT).
  • How data is physically stored on a storage medium.
  • How each of the storage devices read and records data.
  • Data transfer checks. Parity and its purpose. Odd/even parity – be able to give numeric examples of parity checking showing acceptance/failure. Cyclic redundancy checks.

H. Logic Devices and Boolean algebra

  • AND, OR, NOT. Truth tables. Karnaugh maps.
  • Boolean algebra laws – associative, commutative, de Morgan’s Theorem.
  • Simplification of Boolean expressions and proving identities using truth tables, Karnaugh maps, and algebraic manipulation.
  • Devise simple circuits for Boolean expressions. Half and Full Adders.
  • Conversion of expressions into NAND or NOR units.
  • Flip-flops and their uses.

I. Operating System – (Note: Basic commands are covered in GENERAL PURPOSE SOFTWARE module).

  • Range of operating systems now in use – DOS, Windows and UNIX. Means of control using GUI or commands.
  • Purpose of the operating system. General survey of features offered.
  • Interrupt handling. Priorities. Interrupt vector table.
  • Scheduling – high, medium and low level.
  • Memory management. Partitioning. Paging. Virtual memory.
  • File management.
  • Multiprogramming. Concurrent processing. Deadlock and locking.