CU website

ECEN 2120

Information

Assignments

Lecture Schedule

Supporting Material

Syllabus

Staff

 

ECEN 2120

Computers as Components


News, Updates, and Downloads

  • Set of exercises on lea/move (not for submission).
  • First group of C files. Download onto eces-shell, type "tar xf c_111609.tar" to untar, enter the "c" directory, and type "make".
  • This year's exam.
  • A practice midterm that I wrote is here. Enjoy. (solutions)
  • Practice midterm 1, 2.
  • Alternate final projects
  • Midterm and solutions
  • Practice midterm problems (check back for more): For maximum effectiveness, attempt the problem before reading the solution. (Duh.)
  • Easy68k files for 9/23 lecture: 1
  • Easy68k files for 9/21 lecture: buf.x68, test of buf.x68; to run both, open '9_21_0.x68' in easy68k; also, jump table example
  • Easy68k files for 9/18 lecture: 1
  • One of your colleagues found the following document: http://www.tigernt.com/onlineDoc/68000.pdf. It nicely complements the appendix of our book by providing example usage but dropping some of the low-level details.
  • Easy68k files for 9/16 lecture: 1
  • Easy68k files for 9/14 lecture: 1, 2
  • Easy68k files for 9/11 lecture: 1
  • Here are two exams from previous years: 1, 2. There is absolutely no reason to think that my exam will be anything like these. However, the content is similar, so you might find working through these old exams useful.
  • Easy68k files for 9/9 lecture: 1, 2; ascii_bin.c
  • Easy68k files for 9/2 lecture: 1, 2
  • For your convenience, here are the four files that you need to answer the pre-lab questions for Thursday's lab: gcd.src, gcd.lst, driver.src, driver.lst. You should also generate these in the introductory lab this Tuesday.
  • The first real lab is Thursday 9/3. Please read its description. Note that some files have names like "hw2," as this lab was lab #2 in previous years. Future labs are named based on content, not number, so this confusion won't occur again.
  • Consider using an emulator while reading the text to try small examples. EASy68K is a solid option that runs on Windows or in WINE on Linux (UPDATE: or in WINE 1.1.28 on Mac OS X for Intel).


Computers appear as components in many different kinds of systems, such as watches, MP3 players, cell phones, digital timers, anti-lock braking systems, and traffic light controllers. The reasons are economic: processors are cheap to manufacture, and much of the complexity of a system can be buried in software. This strategy enhances long-term reliability by reducing the number of individual components and the complexity of their interconnection, and provides flexibility by replacing hard-to-change hardware with easy-to-change software.

Every engineer needs to understand the ways in which computers can be used as system components, and to appreciate their capabilities and limitations. After taking this course, a student should have:

  • An understanding of one machine architecture and its associated assembly language.
  • Familiarity with the use of computers as system components.
  • An ability to cast solutions to problems in terms of a mix of hardware and software.

The course is built around a laboratory in which students use computers to sense and control aspects of their surroundings. Readings present basic information about the computer's architecture and the available pathways for interaction between the computer and its environment. Homework problems focus attention on parts of the designs that may prove tricky in practice, and laboratory sessions provide the opportunity for discussion of these points and practice to master the necessary concepts.

An elementary programming course, or equivalent programming experience, is required before attempting ECEN 2120. Experience with either the C or C++ programming language is useful, but Pascal or FORTRAN is also acceptable. The criteria are that you understand the concepts of programming, are familiar with one imperative programming language, and are able to cast solutions to problems in terms of algorithms.


Instructor