CS452 - Real-Time Programming - Fall 2008

Lecture 15 - Serial Hardware


Questions & Comments

  1. UART pdf

The 16550 UART

Twelve registers, but only eight addresses, differentiated by A0-A2

Five interrupt sources

  1. 0110 - Receiver line status
  2. 0100 - Received data available
  3. 1100 - FIFO timeout
  4. 0010 - Transmitter holding register empty
  5. 0000 - Modem status

Interrupt Control Unit

Interface between devices and CPU

Description

Hardware Interface

Interrupt output pin of device connected physically to one of the interrupt input pins of ICU

Processor Interface

Occurs during interrupt processing

CPU runs an I/O read bus cycle during interrupt processing

OS Interface

Can know interrupt source from CS:EIP

Or can read source from ICU

Can be more than one interrupt source at the device (e.g. 16550 UART). If so,

Interrupt(s) removed from device


The 8259 ICU (PIC)

Priorities set by how the ICU is wired to the peripheral.

Low three bits of the interrupt vector are the priority.

Initialization

A0=0 and D4=1 means first initialization command

ICW1

ICW2

ICW3

ICW4

Operation

OCW1

OCW2

OCW3

To read status


Return to: