CU website

ECEN 2120

Information

Assignments

Lecture Schedule

Supporting Material

Syllabus

Staff

 

About The Course

You should look at the catalog description for information about academic credit and prerequisites.

Our objective in this course is to familiarize you with the way a computer interacts with its environment, so that you can design systems using an appropriate mix of hardware and software. We can only reach this objective by teaching you general principles; the intricate details of the latest processor will be rendered obsolete by technical innovation before you graduate!

Although the course stresses general principles, those principles must be practiced with a specific processor. We have chosen the Motorola 68000 for this role. The 68000 and later members of its family are commonly used in a wide range of embedded systems. It illustrates all of the basic ideas, and the architecture is relatively free of odd quirks.

You will learn the material through a combination of reading, discussion, and assignments. Your mastery will be assessed via three examinations.

Reading

The text for this course is:

The second edition of The Motorola MC68000 Microprocessor Family: Assembly Language, Interface Design, and System Design, by Thomas L. Harman and David T. Hein. It was published in 1996 by Prentice-Hall, and its ISBN is 0-13-158742-0.

The fifth edution of The 68000 Microprocessor, Hardware and Software Principles and Applications, by James L. Antonakos

Both books provide an encyclopedic treatment of the 68000 and discuss how it fits into the family of related processors. They explain all of the central processor instructions, and the assembly language in which algorithms can be constructed using those instructions. Important I/O interfaces are described in detail, giving sample programs to manipulate them. General principles of programming methodology are also mentioned and illustrated.

Unfortunately, an encyclopedic treatment of a single computer usually does not provide the best explanation of basic principles because the presentation order and attention to detail obscures important points. Nevertheless, the attention to detail is vital if one actually wants to test one's understanding by building working systems. We believe that this text represents the best compromise available, and that it meets the needs of the course.

Because the text is focused on the MC68000, it does not cover the higher-level aspects of controlling external devices and concurrent processes. For this material, we turn to the second edition of Operating Systems, by Andrew Tanenbaum and Albert S. Woodhull. It was published in 1997 by Prentice-Hall, and its ISBN is 0-13-638677-6. A reference to the relevant material from this book is found on the Supporting Materials page.

Each of the classroom sessions has an associated set of required reading from the text, manuals, or other documents. We have put PDF or HTML files of the material not found in the text but, that constitute required reading on the Supporting Materials page. Thus you will not need to copy those sections or contend with your classmates for access to the physical material.

Do the required reading before you come to class. Be prepared to ask questions and discuss the material with your classmates and the professor during the class and laboratory periods. You are responsible for all of the material covered by the required reading, whether or not it is discussed in class.

Classroom Sessions

The purpose of the classroom sessions is to discuss the course material, solidifying your understanding and exposing areas that are unclear. Topics are partitioned among class sessions according to the faculty's experience with the amount of time students need to absorb them. Since every student brings different experiences to the class, however, we yield authority over the flow of information within a given class period to you. You must accept this authority by preparing carefully, contributing to the discussion, determining how deeply to explore each issue, and deciding when to switch topics.

Assignments

The general purpose of assignments is to focus your attention on important aspects of the material, giving you practice in applying your knowledge and exposing any areas of misunderstanding. Each assignment specifies the areas of interest and outlines what you are expected to gain from doing it.

Assignments are required each week, and involve both written work to be handed in and practical work to be demonstrated in the laboratory. Written work is due at the beginning of your second assigned laboratory period each week; demonstrations of practical work must be given no later than your first assigned laboratory period the following week. Late written work and demonstrations will not be accepted under any circumstances. By prior arrangement, with sufficient justification, you may be excused from an assignment. You may also be excused after the fact due to a serious personal emergency, but such an excuse will require copious documentation.

Computer Resources

The computers in ECEE 282 are used for this class. They are execution engines only, with all user files residing on the department's central server. In order to use the machines, you must have an account on that server. You may already have such an account, since all of the department's laboratories use the same server and student accounts are retained from semester to semester.

If you don't have an account on the ECE server, you must create one before your first laboratory session. Instructions for account creation are available at http://eces.colorado.edu. You must use a public terminal (i.e. not a machine in an ECE Laboratory) to create your account.

Your account on the ECE server will be your home directory for any work you do in this course. That is, once you have established an account you will be able to log onto the ECEN 2120 machines in the lab and you will be able to access files stored on the server via the Z: drive. When you are in the laboratory, you should always work from (a descendant of) your home directory on the Z: drive.

Written Material

Each assignment requires you to answer a set of questions, prepare a design document, or prepare a test plan. These documents should help you to organize your attack on the problem, forcing you to think about the basic principles on which your solution must be based. They will prepare you for class discussion of any sticky points, and allow you to use the lab period and the presence of your TA to best advantage.

It is important to note that there is no one ``right'' answer to many of the assignments. A solution requires you to weigh a number of viable alternatives, and make a consistent set of choices. This means that you must think about your approach, identify decision points, and develop appropriate strategies. Answering the questions associated with early assignments allows you to practice these skills within a given framework. As the semester progresses, and you gain experience, the burden of creating this framework is shifted to you.

Demonstrations

You are responsible for preparing appropriate demonstrations of your practical work. For each assignment, prepare a demonstration lasting no more than five minutes
  • verifying that you have completed the assignment and
  • showing that you understand the principles the assignment illustrates.
After the demonstration, the TA might ask questions about the assignment.

Each demonstration is worth some number of points, and will be graded on the basis of clarity (50%) and demonstrated understanding (50%).

You will not be able to demonstrate everything you have done in five minutes, so you must be selective. For example, if being able to do A depends upon being able to do B, then demonstrating that you can do A also demonstrates that B has been done. The ability to effectively present your work is vital to success in engineering, or in any other creative career. You will almost invariably be making such presentations under a time constraint, and therefore they will have to be carefully planned.


Instructor Revision 1.36 (2007/08/27 00:15:38)