CSU33D01 – Microprocessor Systems

Module CodeCSU33D01
Module Name Microprocessor Systems I
ECTS Weighting [1]5 ECTS
Semester TaughtSemester 1
Module Coordinator/s  Prof John Waldron

Module Learning Outcomes

On successful completion of this module, students will be able to:

  1. Make use of appropriate documentation and reference material;
  2. Describe the basic characteristics, structure and operation of a microprocessor system; Translate between simple high-level programming language constructs and their assembly language equivalents;
  3. Design, construct, document and test small-scale assembly language programs to solve simple problems;
  4. Reason about the cost of executing instructions and the efficiency of simple programs.

Module Content

Microprocessor Systems 1 is a one-semester module taken by third year Electronic, Electronic/Computer and Computer Engineering students. This module provides students with an introduction to the basic structure, properties and operation of microprocessor systems. By developing and executing simple assembly language programs, the module aims to give students an understanding of how programs execute on a microprocessor system. The module also encourages students to consider the relationship between high level programming language constructs and their execution as sequences of instructions.

Students will also be given opportunities to develop their problem solving, programming and written communication skills by designing solutions to programming problems, implementing those solutions, first in the form of high level programming constructs and then as assembly language programs, which must be documented and tested. The teaching strategy is a mixture of lectures, problem-solving tutorials and hands-on practical laboratory sessions. The format of lectures is conventional, however, a great deal of informal interaction is normal, and students can expect to participate in question-and-answer and problem solving sessions. For the first four weeks of the module, students are taught the general principles of low-level architecture and programming.

Tutorials held during this time review basic skills such as binary and hexadecimal notation and algorithm design. Students are challenged to build programs based on a partial knowledge of the computer’s instruction set. Practical sessions, starting around the fourth week, require the students to design, write, evaluate and debug their programs on special-purpose development systems. More advanced topics introduced during lectures become the subject of practical sessions through the rest of the semester.

Teaching and Learning Methods

Assessment Details

Assessment ComponentBrief Description Learning Outcomes Addressed% of TotalWeek SetWeek Due
e-Assignment onlyProgramming assignments and testsAll100AllAll

Reassessment Details

e-Assignment, 100%

Contact Hours and Indicative Student Workload

Contact Hours (scheduled hours per student over full module), broken down by: 44 hours
Lecture22 hours
Laboratory11 hours
Tutorial or seminar11 hours
Other0 hours
Independent study (outside scheduled contact hours), broken down by:72  hours
Preparation for classes and review of material (including preparation for examination, if applicable)36 hours
Completion of assessments (including examination, if applicable)36 hours
Total Hours116 hours

Recommended Reading List

  • William Hohl, ARM Assembly Language: Fundamentals and Techniques, CRC Press, 2009.
  • Additional recommended texts:
  • Andrew Sloss, Dominic Symes and Chris Wright, ARM System Developer’s Guide:
  • Designing and Optimizing System Software, Morgan Kaufmann, 2004. nd
  • Steve Furber, ARM System-on-Chip Architecture, 2 edition, AddisonWesley
  • Professional, 2000. Peter Knaggs, Stephen Welsh,
  • ARM: Assembly Language Programming, Bournemouth University, 2004.

Module Pre-requisites

Prerequisite modules: N/A

Other/alternative non-module prerequisites: N/A

Module Co-requisites


Module Website