Department of Computer Science
Course: CS 3725
Horizontal Bar

next up gif
Next: Instruction Timing: Up: Input-Output Architecture Previous: An example I/O system

The 8088 external architecture - pin functions:

The 8088 microprocessor is contained in a 40 pin IC (a standard 40 pin dual in-line package, DIP). Each of these pins is assigned a number (1 to 40, anticlockwise from pin 1) and a label. Pin 1 is normally indicated by a dot in the package. The ``pinouts'' (pin numbers and labels) are shown on the data sheet, together with the fubction of each pin. The following describes the function of some important sets of pins.

Two important connections are power (+5V) and ground, to pins 40 and 20 respectively. Also, some timing device, usually an I8284 clock chip must be connected to the CLK input(pins 19).

The memory address, a full 20 bits, is available on pins tex2html_wrap_inline8930 , (pins 16 to 9), tex2html_wrap_inline8932 (pins 8 to 2), and tex2html_wrap_inline8934 (pins 39 to 35). Address lines tex2html_wrap_inline8936 are valid for the whole CPU cycle in progress. The low order byte, however, shares its output with the data inputs or outputs, and the high order 4 bits share its outputs with status information. The memory address appears first, and then these pins are used to input or output data or status information. (This multiple use of a set of pins is called ``time multiplexing''). Note that we must have the full address available, in order to obtain data or instructions from memory; therefore we must retain, or ``latch'', the low byte of memory during the time it is available on pins tex2html_wrap_inline8930 , and the high order 4 bits on lines tex2html_wrap_inline8940 .

To help in ``capturing'' or latching the low order address byte and the high order 4 bits, another output is available. This is the ALE (Address Latch Enable) output, used to ``strobe'' the address into an address latch. The falling edge of the ALE output occurs at a time when the address is stable on tex2html_wrap_inline8930 , and can be latched in an external register (say, a set of 8 D flip flops) at this instant.

There are three very useful control pins, namely, tex2html_wrap_inline8944 (pin 28), tex2html_wrap_inline8946 (pin 32) and tex2html_wrap_inline8948 (pin 29). tex2html_wrap_inline8944 indicates whether the CPU is addressing a memory device or an I/O device. When tex2html_wrap_inline8944 is at logic 1, an I/O device is currently being accessed. This is the only output which distinguishes between I/O and memory operations.

tex2html_wrap_inline8946 is a ``strobe'' output, which indicates to external devices that the CPU wishes to input data from memory or an I/O device. When tex2html_wrap_inline8946 is at logic 0, the CPU expects data to be placed on the data bus; this data must be stable when tex2html_wrap_inline8946 makes a 0-1 transition.

tex2html_wrap_inline8948 is a strobe output which indicates to external devices that the CPU wishes to output a byte of data to a memory location or an I/O device. When WR is at logic 0, it is guaranteed that the data output on the data bus is stable, and should be captured by memory or an output device. Note that when the CPU is operating at its maximum speed, the tex2html_wrap_inline8946 and tex2html_wrap_inline8948 strobe outputs have a duration of about 320 ns. This is all the time available for memory or an output device to capture output data, or for memory or an input device to present stable data to the data bus of the CPU.


next up gif
Next: Instruction Timing: Up: Input-Output Architecture Previous: An example I/O system

Paul Gillard
Mon Nov 24 20:44:06 NST 1997