Computer, Information, and System Engineering Department

CMPE 127 MICROPROCESSOR SYSTEMS (Spring 2000)


CLASS: MW, 11:30 AM – 12:20 PM, E341

COURSE DESCRIPTION:

CMPE 127, Microprocessor Systems is an undergraduate Computer Engineering course. The objectives of this course are (1) to introduce the fundamental theory of microprocessors, the instruction set architecture, 3-bus system, and intelligent I/O interface system; (2) to design and build a single board functional system by wire wrapping.

PREREQUISITES: CMPE 125 with C or better grade.

TEXTBOOKS AND/OR OTHER REQUIRED MATERIAL: 

(1)    Microcomputer Systems: The 8086/8088 Family, Architecture, Programming, and Design, the second edition, by Yu-Cheng Liu and Glenn A. Gibson, Prentice Hall, Inc., 1986. 

(2)    The 8086/8088 Family, Design, Programming, and Interfacing, the first edition, by John Uffenbeck, Prentice Hall, Inc., 1987; (or the second edition.)

(3)    The Handout Book (Part I,) Including 6 data-sheets (8086, 8255, 8284, 8259, 8254, and EMP EPROM Programming Manual, Centronics Parallel Port Printer Interface documentation, and TIL311 Hex LCDC Display Device) compiled by Professor Harry Li, available in a Copy-shop.

(4)    The Handout Book (Part II,) Including Project Design References and Reports (Project I through Project V,) Compiled by Professor Harry Li, available in a copy-shop.

COURSE OBJECTIVES

The objectives of this course are to teach the fundamental principles of micro-processors under the scope of Von Neumann Architecture, the bus systems (data bus, address bus, control bus,) the memory organization, register file, I/O devices and I/O controllers, and their interface. The objectives also include the hands-on practical engineering implementation of Intel 8086 micro-processor system through five projects and assembly language programming.   


TOPICS COVERED:

(1)    The general description of 8-bit, 16-bit micro-processor, Van Neumann Architecture.

(2)    The 8086 CPU, BIU and EU.

(3)    Instruction queue, pipeline architecture.

(4)    Memory organization, odd and even memory banks, segmented architecture.

(5)    Memories, EPROMs, DRAM, SRAM, Flash memory, memory address decoding.

(6)    EMP EPROM Programmer.

(7)    I/O interfaces, I/O mapped I/O vs. Memory mapped I/O, Direction I/O mapped I/O vs. Indirect I/O mapped I/O.

(8)    8284A Clock Generator and Driver.

(9)    8255 Programmable Peripheral Interface.

(10)8259 Programmable Interrupt Controller.

(11)Centronics Parallel Printer Design. 

(12)8254 Programmable Interval Timer.

(13)Utilization of 8254 for A/D applications.  


CLASS SCHEDULE:   

1.     Week 1: Introduction and organizational meeting.

2.     Week 2: Chapter 1 of both Liu, Gibson and Uffenbeck book. The basic 16-bit microprocessor, its instruction set architecture, bus cycles and computer programming.

3.     Week 3: Chapter 2 of both Liu, Gibson and Uffenbeck book. The 8086/88 CPU architecture, memory, and instruction set architecture.

4.     Week 4-5: (Chapter 8 of Liu and Gibson's book or Chapter 6 of Uffenbeck's book). The 8086/88 CPU module, system clock, three-bus system, bus types and buffering, minimum mode and maximum mode.

5.     Week 6: (Chapter 3 and part of Chapter 4 of Liu and Gibson' book or Chapter 2 and Chapter 4 of Uffenbeck's book). The basic addressing modes, data transfer and data manipulations, time delay, and procedures.

6.     Week 7 and 8: (Chapter 10 of Liu and Gibson's book or  Chapter 7 of Uffenbeck's book). The 8086/88 main memory system design. Different types of main memory, CPU read/write timing, SRAM, DRAM, and ROM interface requirements, address decoding technique and buffering techniques.

7.     Week 9 and 10: (Chapter 6 of Liu and Gibson's book or Chapter 8 of Uffenbeck's book). The basic input/output design, parallel I./O, serial I/O, interrupt-driven I/O, and DMA.

8.     Week 11: (Chapter 9 of both Liu, Gibson, and Uffenbeck's book), the 8225 Programmable Peripheral Interface (PPI).

9.     Week 12: The 8251A Universal Synchronous/Asynchronous Receiver/Transmitter (USART).

10. Week 13: (Chapter 9 of both Liu, Gibson, and Uffenbeck's book), the 8259A Programmable Interrupt Controller (PIC).

11. Week 14 and 15: (Chapter 9 of both Liu, Gibson, and Uffenbeck's book), Keyboard and Display, and Diskette Controller. 

NUMBER OF SECTIONS PER WEEK AND DURATION PER SESSION: 

There are 2 lecture sessions per week, each session lasts one hour. In addition, 3 hour laboratory session is required each week.


Homework and Projects:

There will be 5 mandatory projects and 1 optional project. The projects are usually due one and a half week after the assignment or otherwise announced in the class. The entire class will be divided into 2 groups, A and B, the due day of the projects will be alternating for each group. For example, if group A has project due on Monday for a current project, then group B will have the same project due on Wednesday. But for the next project, group B will have it due on Monday, while group A will have it on Wednesday. Each project has to be finished on time, in general there will be no late project accepted. Exceptions may be given with instructor's permission, in this case 10% credit penalty will given on a daily basis, and no more than 3 day delay will be allowed.

Quiz and Midterm Exams:

Five minute quiz will be given on every Monday class, and there will be one midterm examination. Quiz and examination are close book, close notes.

Grading Policy:

Five projects weights 50% of the class (each project counts about 10 points), quiz weights 10% (each quiz counts about 1 point), the midterm examination counts 20% and the final examination counts another 20%. 


Lecture Notes:

1. Project 1

2. Project 2

3. Project 3