|Delivery Type||Delivery length / details|
|Assessment Type||Assessment length / details||Proportion|
|Semester Exam||2 Hours written examination||75%|
|Semester Assessment||Assignment (25 hours)||25%|
|Supplementary Exam||2 Hours supplementary exam Resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value||100%|
On successful completion of this module students should be able to:
1. analyse a block diagram of a computer and explain how it works at the level of logic gates.
2. analyse and develop low level programs and describe how they are executed by a CPU.
3. describe how a computer performs input and output operations.
4. judge the applicability of high and low level language programming.
5. Explain the operation of a simple computer's CPU, memory and buses in terms of digital logic.
6. analyse and design simple logic circuits.
7. explain the operation of typical microcontroller I/O devices.
8. demonstrate an understanding of low-level programming operations on a microcontroller.
9. evaluate the applicability of contrasting CPU architectures for real world problems.
This module examines what a computer is and how it works, down to the level of digital electronics. The module provides students who continue to study software development with an appropriate understanding of the hardware on which programs run and how programs are executed. The module will look at programming in assembly language and machine code.
Introduction and revision of what is a computer - 1 lecture
An introduction to the module; ensure students remember relevant parts of CS10110 (what is a computer, basic logic, memory, buses, binary arithmetic)
Waves, advanced digital logic, flip-flops - 6 lectures
Digitisation of analogue waveforms, problems of digital waveforms, logic levels and voltages, transistor logic, laws and rules of Boolean algebra. Basic SR latch, flip-flops, flip-flops as storage devices, flip-flops as the basis for binary arithmetic, counters and frequency division. Encoders, multiplexers. I. C. packages and I. C. technologies.
Inside the CPU - 3 Lectures
The control unit, the ALU, registers. Implementing machine code in hardware. Simple examples of instructions. The fetch-execute cycle and the program counter.
A real CPU example: (the Motorola 68HC11 or similar) - 5 Lectures
Some machine codes and mnemonics. Addressing modes. Assembly code. Loops, subroutines, the stack, stack frames, parameter passing, local variables, assembly language equivalents of HLL constructs.
I/O - 2 Lectures
Example ? programming a simple robot. Interrupts.
Microcontoller hardware expansion - 3 lectures.
Single chip/expanded mode, memory maps, address decoding circuits. RISC versus CISC computer hardware.
Example microcontroller - 2 lectures.
I. C. complexity classificiation. Microcontroller on-chip peripheral functions and architecture.
|Skills Type||Skills details|
|Application of Number||Inherent to subject|
|Communication||On exam and assignment|
|Improving own Learning and Performance||Inherent to subject|
|Information Technology||Inherent to subject|
|Personal Development and Career planning||Acquaints students with another area of computing|
|Problem solving||In assignments and practicals|
|Research skills||May involve researching new technology|
|Subject Specific Skills||See syllabus|
Reading ListGeneral Text
Patterson, David A. (c2007.) Computer organization and designthe hardware/software interface /David A. Patterson and John L. Hennessy. http://site.ebrary.com/lib/aber/Doc?id=10382827 3rd ed. revised. Morgan Kaufmann ; Recommended Text
Patt, Y & Patel, S (2004) Introduction to Computing Systems Two McGraw-Hill Primo search Supplementary Text
Null, L. & Lobur, J. (2014) The Essentials of Computer Organization and Architecture Jones & Barlett Learning Primo search
This module is at CQFW Level 5