Computer Architecture (CS4250)

Spring 2007

Fall 2009


Professor:

Dr. Peter G. Drexel
Memorial Hall 212
Dr. Drexel's Schedule (including Office Hours)

Updated: September 10, 2009

Contents:

  1. Course content
  2. Textbook
  3. Grades
  4. Ethics

Class schedule:

The class meets in Rounds 207, on Tuesday and Thursday, from 9:30 AM until 10:45 AM. The course starts on Thursday, September 3rd and ends on Thursday, December 10th. I.e., 28 class sessions plus the final exam.

Course content:

Prerequisite(s): CS2220 & CS 3220
Fundamental concepts of computer design using a quantitative, performance-oriented approach. Topics include: measurement of performance instruction sets design; hardwired and micro-coded processor design; pipelining; memory hierarchy; I/O. Assembly language programming is studied through a series of short projects. (From the PSU Catalog)

Outline:

  1. Computer Abstractions and Technology
  2. Instructions: Language of the Computer
  3. Computer Arithmetic
  4. RISC architecture
  5. Performance
  6. Processor Datapath and Control
  7. Mapping Control to Hardware
  8. Pipelining
  9. Memory Hierarchy to Enhance Performance
  10. Peripherals
  11. Multiprocessors

Textbook:

Grades:

Exams
45%
Make Controller Project
20%
Problem Solving Sessions
20%
Homework
15%
Total
100%
  1. Exams: There are three exams. The approximate dates for the first two are October 6th and November 5th. The final exam is scheduled for Thursday, December 17th at 8:00 AM.
  2. Make Controller Project: Embedded microprocessors are ubiquitous. This year, we have an opportunity to work with hardware and software of the ARM7 microcontroller. The ARM7 is a 32 bit RISC architecture - typically associated with embedded applications. In this case, we are using the Make Controller Kit. If you click on the links - and you should! - you will see that this little µP has been used to do all sorts of interesting stuff. Your job is essentially do the same. Find a project that is fun and interesting for you. That's important. This will probably take up a bit of your free time. If it isn't fun, you probably won't do well. There will be milestones for the project and a class presentation of your project at the end of the semester. Note: This won't be easy. You may have to relearn a few things from other courses. This won't be possible to complete in the weekend before the last week of class. Plan ahead!!!

    To help prepare you for this work, you will start with a few generic labs, that will allow you to acquaint yourself with the Make Controller. Matt Turner's BrainDump Part I and BrainDump Part II videos may also be useful. We may spend a small amount of class time refreshing your memory about Computer Hardware concepts. (Incidentally, I hope that you kept your Computer Hardware book. You'll probably need it or one very much like it. If you used Clements' book, there is a whole chapter devoted to the ARM7.) There are two or three operating systems that you can download and use with the Make. These are on the Make's website. The application code for the Make is written in C or C++. However, you may use machine language code if you want to. In all cases, be careful. Make sure that you understand what you're doing before you apply power. You break it, you lose it, you bought it!

    Your project will consist of hardware and software design. The Make Controller board provides you with a number of digital and analog inputs and outputs. It also has a USB port and a Ethernet port. The operating system code supports both of these interfaces. That's a good thing. However, part of the art of working with embedded systems is to develop code that is compact. Manufacturers of products remove anything that does not need to be there. You're used to unlimited RAM. That definitely is not the case in embedded systems. RAM is one of those things that is in limited supply. Not a big deal, you just need to get used to it. If you hadn't already guessed, there is an art to doing this well. If you can get past the "anna wanna," this stuff is cool and a lot of fun! (reference: all of the neat projects posted by the Make users)

    The Make Controller setups will be available for sign-out at the CS&T Office. Speak with Mrs. O'Donnell. Logic devices and other hardware is available in the back room of the Systems Lab. Some specialized devices may be stored in Dr. Drexel's office. And, if you need some hardware that we don't already own, if you can justify why we should buy it we'll do that.

    Maybe you're wondering why the project is only 20% of your class grade. That is because you are the first class to work with these devices. If you plan to be back next year, the project will be a larger part of what we do.
  3. Problem Solving Sessions: The textbooks exercises are quite good and can be challenging. Part of this course has traditionally been problem solving sessions - wherein students present problem solutions to their classmates. This serves at least two purposes. The best way to really learn something is by presenting it or teaching it to someone else. And, standing in front of the class is a great way to prepare for doing presentations for small groups of co-workers. Some homework problems will be easier than others. Do them all, if you do not have a solution when your name is chosen, you will receive a zero for that session.
  4. Homework: Graded homework and other assignments form the remaining 15% of the class grade. You'll get credit for turning in the solutions to the assigned homework problems.
  5. Average: Figure your class grade as as a weighted average. For example, if a student earns an 80 on the exams, a 90 average on the problem solving sessions and a 75 average on the homework, this yields 81.8% or a class grade of B-

Ethics:

Each student is reminded to act professionally at all times. Knowledge obtained in the class must not be abused. Violations of Academic Integrity will be dealt with swiftly and appropriately. (reference: Plymouth State Academic Catalog)