Hardware & Operating Systems
Main Aims of the Unit:

This unit will provide an overview of hardware systems including technical specifications of input and output devices, memory and storage. Students should be able to produce a simple “pseudo code” to illustrate how data is handled in the processor. Further details are provided on operating systems and their function.
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! = 5×4x3×2x1) 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.
G. 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.
Learning Outcomes for the Unit:
At the end of this Unit, students will be able to:
- Explain how input and output devices work
- Evaluate a range of storage devices and methods of data handling
- Understand how internal logic is handled
- Describe the primary functions of operating systems and how they are carried out.
- Produce simple algorithms for data handling
The numbers below show which of the above module learning outcomes are related to particular cognitive and key skills:
Knowledge & Understanding 1-5
Analysis 3, 5
Synthesis/Creativity 5
Evaluation 2, 4
Interactive & group Skills -
Self-appraisal/Reflection on Practice -
Planning and Management of Learning -
Problem Solving 4, 5
Communication & Presentation -
Other skills (please specify) -
Learning and teaching methods/strategies used to enable the achievement of learning outcomes:
Learning takes place on a number of levels through lectures, class discussion including problem review and analysis. Formal lectures provide a foundation of information on which the student builds through directed learning and self managed learning outside of the class. The students are actively encouraged to form study groups to discuss course material which fosters a greater depth learning experience.
Assessment methods weightings which enable students to demonstrate the learning outcomes of the Unit:
3 hour examination: 100%
(Answer any 5 questions from 8, each question representing 20% of the paper.)
Main text
Refer to the ICM website for notes on this subject
Alternative Texts and Further Reading
The Principles of Computer Hardware by A Clements - (Oxford University Press).
ISBN 019 856454 6 (Third edition).
Computer Science for Advanced Level by R Bradley - (Stanley Thornes )
ISBN 0 7487 4046 5 (Fourth edition).
Operating Systems incorporating UNIX and WINDOWS by Colin Ritchie (Letts)
ISBN 1 85805 302 1 (Third Edition)
Guideline for Teaching and Learning Time (10 hours per credit)
Lectures / Seminars / Tutorials / Workshops: 50 hours
Tutorial support includes feedback on assignments and may vary by college according to local needs and wishes.
Directed learning: 50 hours
Advance reading and preparation / Class preparation / Background reading / Group study / Portfolio / Diary etc
Self managed learning: 100 hours
Working through the course text and completing assignments as required will take up the bulk of the learning time. In addition students are expected to engage with the tutor and other students and to undertake further reading using the web and/or libraries.
Guidelines
- This module covers the TECHNICAL aspects of hardware. Candidates should be aware that user actions are likely to feature only as a MINOR part in any question. Tutors should consult technical books for details. It is not intended for a casual user of hardware devices. Two excellent books are listed below.
- Some notes are provided for a typical instruction set which could be used relating to the fetch-execute cycle. The instruction set only considers NUMERIC data. If candidates use any other instruction set, they will be required to define each instruction they use OR a copy of the instruction set must be included with EACH batch of entries for this module. See the list below.
- Some previous candidates found it difficult to describe exactly what happens at each step during a fetch-execute cycle. So, Register Transfer Language (RTL) has been introduced to enable operations within the fetch-execute to be described concisely and precisely. See the list below.
- Candidates should be able to produce an algorithm (pseudo-code is preferred) for manipulation of queues, linked-list and binary trees. This might best be achieved by providing students with one pseudo-code answer (e.g. add item to a linked list) to show the expected format and requiring the student to adapt it to one of the others.
