King Fahd University of Petroleum & Minerals
of Computer Sciences & Engineering

Department of Computer Engineering


Syllabus - Term 042

Catalog Description:


Microprocessor architecture and organization, Bus architecture, types, and buffering techniques. Memory and I/O subsystems, organization, timing, and interfacing. Peripheral controllers and programming. Practice of the design of a microprocessor system design, testing, debugging, and reporting.


Prerequisite: COE 205.


Text Book: The 8086/8088 Family: Designing, Programming, and Interfacing, Prentice-Hall by John Uffenbeck.


Instructor   Dr. Adnan Gutub.     Office: 22/145           Phone: 1723     Email:


Lecture Time 1:10-2.  SMW   Lecture Location: 24/158       


Tentative Grading Policy                   

Laboratory                                           20%                            

                                    Attendance, Quizzes & Assignments      20%                

                                    Exam I                                                 20%   

                                    Exam II                                                20 %   

                                    Final                                                     20%    


Course Objectives:

To introduce the fundamental hardware and software concepts needed for the design of dedicated microprocessor systems.


Course Topics:

1.       Introduction   to Microcomputer System  (Chapter 1)

Overview of microcomputer systems, Historical background, Von Neumann architecture, instruction processing, fetch and execute cycles, evolution of  Intel 80x86 family of microprocessors.

2.       8086 Processor Architecture  (Chapter 3 and handouts)

CPU Architecture – Programmer’s model, 8086 hardware details – Pinouts and Pin function, Clock generator (8284A), Bus buffering and latching, System bus timing - Processor Read & Write bus cycles, Ready and wait state, Minimum and Maximum mode operations.

3.       Memory Interfacing (Chapter 7)

Basic Concepts,  Memory devices – ROM, SRAM, DRAM devices, Memory pin connections, Memory read and write timing diagrams, Address decoding techniques – Random logic (using Logic gates) decoding,  block decoding (using 74LS138, 74LS139 decoders), PROM address decoding, PLD programmable decoding (using PLAs & PALs), 8086 processor-Memory interfacing – even and odd memory banks.

4.       Basic I/O Interfacing (Chapter 8)

Basic Concepts, Parallel I/O, Programmed I/O, I/O port address decoding, The 8255A Programmable Peripheral Interface(PPI), Interface examples – Keyboard matrix interface, Printer interface and display interface, The 8254 Programmable Interval Timer (PIT).

5.       Interrupts & Direct Memory Access (Chapter 9)

Basic concepts,  Interrupt driven I/O, Software & Hardware interrupts, Interrupt vectors and vector table, Interrupt processing, The 8259A Programmable Interrupt Controller (PIC), Basic DMA operation, The 8237 DMA Controller.

6.       Serial I/O Communication (Chapter 10)

Basic concepts, Asynchronous & Synchronous communication. Physical communication standard-EIA RS232, Programmable communication interface – Universal Asynchronous Receiver / Transmitter.