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

CMPE 310: Systems Design and Programming
Section 0101 and 0102
Fall 2006

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

Teaching Assistant:Ekarat Laohavalesson (ekarat2@umbc.edu)
Office Hours: Tue. & Thrs., ITE 371, 2:00 - 3:30 PM

Meeting Time and Location: Mon & Wed, SOND 101, 2:30 - 3:45 PM
Lab Discussion: Fri, ACIV 305, 1:00 - 2:50 PM
Lab Section 0101: Fri, ITE 375, 3:00 - 4:00 PM
Lab Section 0102: Fri, ITE 375, 4:00 - 5:00 PM


Announcements
Check regularly for important class information
 Dec 4: Final Exam will be in class on Mon Dec 18 from 1:00 - 3:00 PM.

 All students are required to fill out the ABET survey below

 Nov 20: Project Footprints and Submission Checklist are posted. As per your request we won't have class this Wed.

 Nov 3: Names of team members for the project (3 students per team) are due on Monday.

 Oct 18: Midterm Exam will be in class on Wed Nov 1.

 Oct 18: We won't have class on Mon. Oct 23 and Wed Oct 25 as I will be out for a conference

 Sep 8: Discussion and Lab sessions are to be held in ITE 375 rather than ACIV305.

 Aug 28: Syllabus Posted. A new section CMPE 310 0102 will be opened. All students in the hold list are required to enroll in that section.




Course Material
 Fall 2006 Syllabus

 Lecture 1: Introduction

 Lecture 2: 80x86 Architecture

 Lecture 3: 80x86 Register Architecture

 Lecture 4: 80x86 Chipset

 Lecture 5: Memory I

 Lecture 6: Memory II

 Lecture 7: Memory III

 Lecture 8: Memory IV

 Lecture 9: Basic IO: 82C55 PPI

 Lecture 10: Basic IO: 8279 / 8254

End of Midterm Exam Material

 Lecture 11: Basic IO: 16550/ Serial and Parallel Ports/ ADC and DAC

 Lecture 12: Interrupts

 Lecture 13: Mass Storage, Video and DMA

 Lecture 14: Bus Interface

 Lecture 15: OS Essentials

 Lecture 16: Protected Mode Addressing

 Lecture 17: Paging and Segmentation

End of Course Material



Lab Slides
 Assembly Basics / Addressing Modes

 NASM

 Arithmetic, Logic and Control Instructions

 Data Movement Instructions

 Stack Basics and Procedure Calls

 Floating Point Coprocessor Instructions



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 Monday Sep 25: Hamming Distance

 Lab Assignment 2: Due Monday Oct 2: Processing Integers

 Lab Assignment 3: Due Monday Oct 16: Constructing and Adding Floats

 Lab Assignment 4: Due Monday Oct 30: Area under a waveform

 Hardware Project: Due Friday Dec 1: 8086 Board Design