ELEC2041: Microprocessors and Interfacing

SESSION 1, 2006

Saeid Nooshabadi

Quick Links

Laboratory Exercises,    Lectures,    Tutorials,   Timetables,    Webct,    Digital Systems Laboratory Web Server


An introduction to programmer model of computer organisation using assembly and machine language. Process of translation from high level language to machine instructions. Number representation, computer arithmetic, instruction sets, I/O interfacing, I/O interrupts, and programming interrupts. Laboratory exercises involve detailed study and interfacing of an ARM based microprocessor hardware and software system. Read the Course Description for an handbook description of the of the course.
Digital Circuits (e.g. COMP2021 or ELEC1041): Number representation, coding, registers, state machines, Realisation of simple logic circuits, Integrated circuit technologies. Designing with MSI components, flip-flops & state machines, Counters and sequential MSI components, Register transfer logic, Bus systems

Computers and Computing (e.g. COMP1011 & COMP1021): The Von Neumann model: memory/ IO/ processing, The instruction set and execution cycle, Registers and address spaces, An instruction set: operations and addressing modes, An expanded model of a computer: mass storage and I/O, The layered model of a computer: from gate- to user-level, C- Language Programming
Lecturer: Saeid Nooshabadi, Room EE241, Ph. 9355 5663, Email:
Laboratory Assesors and Tutors: As Below
Technical Staff: Peter Chen
Lecture Classes:
Day Time Lecturer Location
Tuesday 0900 - 1000 Saeid Nooshabadi Rex Vowels Theatre
Wednesday 1000 - 1100 Saeid Nooshabadi Science Theatre
0900 - 1000
Saeid Nooshabadi
Biomed A Theatre
Tutorial Classes:
Day Time Tutor Location
Monday 1600 - 1700 Natalia Galin OMB 150
Tuesday 1000 - 1100 Saeid Nooshabadi ElecEng 418
Tuesday 1200 - 1300 Natalia Galin Webst 256
1400 - 1500
Natalia Galin
Webst 256
Laboratory Classes:
Day Time Assessor Location
Monday 0900 - 1100 Mike Dyer
Monday 1200 - 1400 Mike Dyer EE233
1500 - 1700
Mike Dyer EE233
0900 - 1100
Ahmad Aniss
1200 - 1400
Ahmad Aniss
1500 - 1700
Ahmad Aniss
1200 - 1400
Fariborz Sobhanmanesh
1500 - 1700 Natalia Galin

1700 - 1900
1700 - 1900
You can attend a laboratory class only if you have been officially enrolled for it. You will be asked to leave if you turn up for a laboratory that you do not belong to. If you don't know to which group you belong, please check your personalised Time Table on NSS.
*We may open these Special Open Access laboratory classes later during the semster. Special Open Access laboratory classes are for those who require extra time to do their work. You will not enrol into Open Access laboratory classes. You will not be be assessed during these Open Access classes.  
All laboratory classes start on week #3. You work in the laboratory in groups of TWO students. You can choose your partner from the same enrolment class. Otherwise, you will be randomly paired with another student, if you haven't chosen a partner by the time of first laboratory class. Please note that changing of lab class absolutely is NOT permitted.
Day Time Lecturer Location
Tuesday 1200-1300 Saeid Nooshabadi EE241
Saeid Nooshabadi
by email:
The slides for each lecture delivered in the class will be published one day later. For lecture titles and slides check the Lecture Schedule Page.
The tutorial classes are used to go through some problems relating to some difficult concepts presented in lectures in the previous week. Some tutorial questions are similar to quiz questions from the previous week. The solutions to the tutorial sets are provided on Friday of the week after the last tutorial session. For tutorial and problem solution sets check theTutorial Page.
Laboratory Exercises
Final Examination
Recommended Learning Material:

ELEC2041 Laboratory Exercise Documentation Reader: Available from the EE office for $10 . This reader contains the documentation for all the Laboratory Exercises and the user manual for all the tools used in the Digital Systems Laboratory.

Electronic copies of all documentation on Laboratory Exercises and the user manual for the tools are available on-line from Laboratory Exercises Page. The electronic copies of these documents are included in the Companion CD-ROM as well.

ELEC2041 Companion CD ROM: Available from the EE office for $5. This CD-ROM contains everything you need to use the DSLMU Microcontroller Board in the Digital Systems Laboratory.

This CD-ROM is a valuable resource and reference material for this course as well as for your future work. If you plan to, partially,  work from home  you would need to install the software included on this CD-ROM. You will need access to a computer that, preferably, runs both Linux and Microsoft Windows.

The CD-ROM contains:

  • Information specific to the Digital Systems Laboratory including all the documentation on  the Laboratory Exercises.
  • GNU Cross Compiler Tools for the ARM Processor
  • Xilinx FPGA Tools for DSLMU on-board FPGAs
  • Example programming files and templates
  • Reference material for the ARM microcontroller
  • Information about the DSLMU Microcontroller Board hardware including all data sheets
  • Various useful utility programs

A mirror image of the CD-ROM is available on-line.

It is highly recommended that you buy both printed Laboratory Reader as well as the CD-ROM.

Steve Furber: ARM System On-Chip; 2nd Ed, Addison-Wesley, 2000, ISBN: 0-201-67519-6. We use chapters 2, 3, 5, 6, 8 and 10.

Further Text(s) and Reference(s):
Brian Kernighan & Dennis Ritchie: The C Programming Language, 2nd Ed., Prentice Hall, 1988, ISBN: 0-13-110362-8

David Patterson and John Hennessy: Computer Organisation & Design: The HW/SW Interface," 2nd Ed Morgan Kaufmann, 1998, ISBN: 1 - 55860 - 491 - X. 

James Goodman, Karen Miller: A Programmer's View of Computer Architecture: With Assembly Language Examples from the MIPS RISC Architecture, HBJ College & School Division, 1993, ISBN: 0195131096.

Waldron, John: Introduction to RISC Assembly Language, Addison-Wesley Publishing, 1999, ISBN: 0201398281.

Nick Parlante: Stanford CS Education Library; A Collection of very useful material including:

Binky Pointer Video: Silly but memorable 3 minute animated video demonstrating the basic structure, techniques, and pitfalls of using pointers.

Pointer Basics: The companion text for the Binky video.

Pointers and Memory: A 31 page explanation of everything you ever wanted to know about pointers and memory.

Linked List Basics: A 26 page introduction to the techniques and code for building linked lists in C.

Nick Parlante: Essential C: A relatively quick, 45 page discussion of most of the practical aspects of programming in C.

Marshall, David: Programming in C UNIX System Calls and Subroutines using C; An on-line learning tool for C and UNIX

Cohen, D: On Holy Wars and a Plea for Peace ; A very amusing article about the machine Endianness.

  • Laboratory Exercises
Laboratory Exercises Format:
There are five laboratory exercises planned for this course. They cover various topical areas covered in the lectures. The laboratory exercises are designed to tightly integrate with the lecture material. Therefore, we have written the laboratory documentation in such a way to serve as lecture notes, tutorial exercises as well as practical work. You can only complete the exercises in the due time if you spend enough time to prepare for them. You must read through the exercises before coming to the laboratory, and try to write any code you have to and possibly simulate you programs at home. You should finish each laboratory exercise during the certain number of weeks as given in Laboratory Schedule . If you think you are falling behind you need to take advantage of the special laboratory classes The Companion CD-ROM contains everything you need to work from home.
Laboratory Exercises Schedule:
For weekly schedule of the laboratory exercises see the Laboratory Exercises Page.
Laboratory Conditions of Use:
You may only use the Laboratory during your time tabled laboratory class, or during the special Open Access laboratory classes, when there are no time tabled laboratory class for any one else. If you are not enrolled in ELEC2041, you are not permitted to be in the Laboratory at all.

The reason for these rules is simple. A laboratory class is a class, like other classes such as lecture and tutorial. It involves bringing together a group of learners and a set of teaching resources (human and material) so that learning takes place. Learning is difficult enough as it is, without distractions such as other people occupying the classroom. So, during a laboratory class, we want only those involved in the laboratory class to be in the laboratory - it doesn't matter if some of the laboratory resources (e.g. equipment) are not actually in use at that time. (Would you feel justified in wandering into a random Tutorial Class to read your newspaper, on the grounds that there was an unoccupied chair at the back?)

So that students can finish off any incomplete laboratory exercises, the laboratory is open for two special classes outside the time tabled laboratory classes.

Students who do not conform to the rules will be suspended from classes, and thereby forfeit marks Please read this about the laboratory policy very carefully before coming to the first laboratory class.

Laboratory Documentation Reader:
The laboratory documentation are available on-line from the Laboratory Exercises Page.  The printed version of the llaboratory documentation reader is available for purchase from the EE office. In addition to  documentation for each exercise, The printed version of the reader includes the user manual for all the tools used in the laboratory. The laboratory documentation are, also, included in the Companion CD-ROM that you can buy from the EE office. The CD-ROM, however, would, additionally include all the technical data sheets of devices on DSLMU, and all of the software tools and a wealth of other useful information. It is highly recommended that you buy both printed laboratory documentation reader as well as the CD-ROM.
Laboratory Sign up:
In the Laboratory, you will almost certainly be working with a partner. You may choose your partner yourself before or at the start of Sign up Laboratory Class, after which time unmatched students will be randomly paired up. In the Sign up Class you will be assigned your group Linux account. You cannot work in the laboratory if you do not have a group account.

You are expected to keep the same partner in the laboratory for the whole semester. Only in exceptional circumstances will you be allowed to work on your own during formal laboratory classes, or to obtain a "divorcee"' from your partner. You can, of course, use the special laboratory classes to work alone, if you wish, provided there are spare workstations.

At no time will groups of three or more be allowed to work together in the Laboratory.

Laboratory Development Tools and Equipment:
In the Laboratory, you will be working at one of 24 identical workstations, each of which contain one computer with Linux platform for "software development" and "debugging", a "target" DSLMU board consisting of two printed circuit boards; MU Board and its expansion Board.

The DSLMU board is state-of-the-art development board. It has been designed with a view of the microprocessor based design and interfacing for 21st century. The DSLMU contains an ARM based processor, two Xilinx FPGA for extended interfacing and building additional coprocessors, an Ethernet chip, and various others accessories. Laboratory exercises involve developing software to control various peripheral on DSLMU board.

To help you with your hardware development, electrical test equipment (i.e. an oscilloscope) is available at each workstation

Microprocessor based development involves both the Linux platform on PC and the target DSLMU target board. You will create, edit, document, your code using the Linux edit utilities. You will translate your code to machine code for the target DSLMU board by using the GNU tools to compile, assemble, and link to generate machine code for ARM processors. Next you will use Komodo environment to download the machine code to the target DSLMU machine. The built-in Komodo emulator and debugging program on the target board enables the execution and debugging of down-loaded programs.

Preparation for Laboratory Exercises:
It will be necessary for you to use 3.5 inch, Double-sided, High-Density (2HD) floppy disks for storing your user programs as you create them, as well as between one laboratory class and the next. It is up to you to maintain a sensible backup policy, including making sure that BOTH partners have up-to-date floppy disk files. (There is NO central backup facility).

You are warned and advised to read the laboratory   exercise documentation before coming to the laboratory and do all the pre-labs as advised. Prepare your programs and simulate them outside the laboratory and then bring them to the laboratory on a floppy disk. Please be warned if you DO NOT prepare and go through the laboratory exercises documentation in a careful way before coming to the laboratory there would be no way in the world for you to finish the laboratory exercises in the time allocated.

Laboratory Exercise Assessment:
In each laboratory class there are two demonstrators who assist you with your laboratory work. In addition in each laboratory class there is an assessor who will sign off your checkpoints and mark you on the spot. Each laboratory exercise has a set of checkpoints. Assessor will sign off your checkpoints as you finish them. It is your responsibility to make sure that the checkpoints on you laboratory reader are signed off. Signatures will only be given in laboratory reader, not on separate sheets of paper. Your checkpoints will only be assessed and signed if you finish the laboratory  exercise in the allocated number of weeks. If you think you are falling behind then try catching up by turning up for the special laboratory classes.

You will be awarded a laboratory mark for this subject. It will constitute 20% of your final assessment. A portion of the mark will be proportional to the number of signatures that you accumulate. Satisfactory completion (50% of marks) of the laboratory component is a necessary requirement for a pass in this subject.

  • Model Exam Papers
The Model exam provided here is an indicative of what you can expect in the final exam. However, it is by no means comprehensive.

ELEC2041 Model Final Exam Paper.

ELEC2041: Saeid Nooshabadi

Return to: School of Electrical Engineering and Telecommunications, UNSW.