CMPE 310: Systems Design and Programming
Home
Teaching
Research
Publications
Links

CMPE 310: Systems Design and Programming
Section 0101, 0102 and 0103
Spring 2005

Instructor: Chintan Patel
Office: ITE 322
Office Hours: Mon & Wed, 11:00 - 12:30 AM or by appointment

Teaching Assistants: Mohammed ElShoukry, Jay Sheth and Dhruva Acharrya (Hardware project)
Office Hours:
Mohammed Elshoukry (mohelsh1@cs.umbc.edu): Tue. & Thrs., ITE 340, 3:00 - 4:30 PM
Jay Sheth (jay6@umbc.edu): Mon., ITE 375, 12:00 - 1.30 PM
Dhruva Acharrya: TBA during the hardware project stage

Meeting Time and Location: Mon & Wed, LH 7 (ITE), 3:30 - 4:45 PM
Lab Discussion: Fri, PUP 105, 11:00 AM - 1:00 PM
Lab Section 0101: Fri, ITE 375, 2:00 - 3:00 PM
Lab Section 0102: Fri, ITE 375, 3:00 - 4:00 PM
Lab Section 0103: Fri, ITE 375, 4:00 - 5:00 PM


Announcements
Check regularly for important class information
 May 16: Burn your whole project folder on a CD and submit to the TA's. Print your project group numbers and member names on the CD.

 May 13: Final Exam is on Wed. May 25 from 1:00-3:00 PM in LH7.

 All students are required to fill out the ABET survey below

 Apr 11: Useful links for the project added to the project help section.

 Mar 31: As we have covered all the material required for assembly projects there will be no discussion this Friday Apr 1. Labs will still be held as normal. We will discuss the hardware project starting next Friday.

 Mar 16: As discussed in class we will have the Midterm Exam in class on Wed. March 30
Topics: Lectures 1-11, Lab Lecutres and assembly programming projects.

 Mar 10: We will have discussion and labs this Friday.

 Mar 09: We will have class today. Dr. Jim Plusquellic will be holding the class in my place.

 Mar 07: Update: I have got a few emails about the project submission. Submit the code before class and drop off the hardcopy during the first 15 minutes of class in the lab ITE 375. A TA will be present to collect the reports.

 Mar 07: Class is cancelled on Mon Mar 07. Hurt my left hand over the weekend, so couldn't get the slides done and I can't write on the board with my right hand :-(. I should be back in action by Wed. Check here for updates.

 Feb 28: If UMBC stays open and you are not able to make it to class due to the weather situation, you can submit HW#1 on Wednesday without any late penalty

 Feb 28: Due to an unavoidable conflict, Mohammed ElShoukry will not be able to hold office hours on Tuesday. Rather he will be available for twice his normal time slot on Thursday from 1:30 - 4:30 PM (instead of 3-4:30 PM).

 Feb 25: Lab Assignment 2 posted. Due Monday Mar 7. Follow all the submission instructions.

 Feb 21: Homework 1 posted. Due Monday Feb 28.

 Feb 18: Assembly and Project Help section added. Assignment 1 posted.

 Feb 09: We will have discussion this week on Friday Feb 11. TA office hours have been updated.




Course Material
 Spring 2005 Syllabus (html version)

 Lecture 1: Introduction (html version)

 Lecture 2: 80x86 Architecture (html version)

 Lecture 3: 80x86 Register Architecture (html version)

 Lecture 4: 80x86 Chipset (html version)

 Lecture 5: Memory I (html version)

 Lecture 6: Memory II (html version)

 Lecture 7: Memory III (html version)

 Lecture 8: Memory IV (html version)

 Lecture 9: Basic IO: 82C55 PPI (html version)

 Lecture 10: Basic IO: 8279 / 8254 (html version)

 Lecture 11: Basic IO: 16550/ Serial and Parallel Ports/ ADC and DAC (html version)

End of Midterm Exam Material

 Lecture 12: Interrupts (html version)

 Lecture 13: Mass Storage, Video and DMA (html version)

 Lecture 14: Bus Interface (html version)

 Lecture 15: OS Essentials (html version)

 Lecture 16: Protected Mode Addressing (html version)

 Lecture 17: Paging and Segmentation (html version)

End of Course Material



Lab Slides
 Assembly Basics / Addressing Modes (html version)

 NASM (html version)

 Arithmetic, Logic and Control Instructions (html version)

 Data Movement Instructions (html version)

 Stack Basics and Procedure Calls (html version)

 Floating Point Coprocessor Instructions (html version)



Assembly and Project Help
 NASM documentation

 Compiling using GCC and LD

 Using GDB for debugging assembly language

 Linux System Calls

 Official Intel Instruction Set Reference

 Instructions on using Submit

 8086 Instructions

 Example Source codes

 Project Links



Assignments
 Instructions on submitting assignments
  • Completely fill out and include the cover page (doc or pdf) with each lab submission. Labs will not be accepted without the cover sheet
  • Late submission penalty is 20% lab grade per day late
  • The definition for a late lab is if you don't hand in your hardcopy when you walk into your class (or don't submit the softcopy before coming to class) you have a late submission.
  • Weekends will be considered as late days.

 Lab Assignment 1: Due Friday Feb 25: Lab Exercise

 Homework 1: Due Monday Feb 28: Memory Interfacing

 Lab Assignment 2: Due Monday Mar 7: Hamming Distance

 Lab Assignment 3: Due Monday Mar 14: Adding Integers

 Lab Assignment 4: Due Monday Mar 28: Adding Floats

 Lab Assignment 5: Due Monday Apr 4: Area under a waveform

 Hardware Project: Due Friday May 13: 8086 Board Design