Module Code | CSU33D01 |
Module Name | Microprocessor Systems I |
ECTS Weighting [1] | 5 ECTS |
Semester Taught | Semester 1 |
Module Coordinator/s | Prof John Waldron |
Module Learning Outcomes
On successful completion of this module, students will be able to:
- Make use of appropriate documentation and reference material;
- Describe the basic characteristics, structure and operation of a microprocessor system; Translate between simple high-level programming language constructs and their assembly language equivalents;
- Design, construct, document and test small-scale assembly language programs to solve simple problems;
- 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 Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
Examination | Semester 1 exam 100% In person written 2 hour examination. | All | 100% | N/A | N/A |
Reassessment Details
Supplemental exam 100% In person written 2 hour examination.
Contact Hours and Indicative Student Workload
Contact Hours (scheduled hours per student over full module), broken down by: | 44 hours |
Lecture | 22 hours |
Laboratory | 11 hours |
Tutorial or seminar | 11 hours |
Other | 0 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 Hours | 116 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
N/A