Microprocessors II: Memory and Input/Output Interfaces
Microprocessors II: Memory and Input/Output Interfaces
Microprocessors II: Memory and Input/Output Interfaces
Microprocessors II
Lecture 1
Memory and Input/Output Interfaces
Lecturer
Dr. Faris S. Alghareb
PhD in Computer Engineering
University of Central Florida
Copyright © 2020 Faris S. Alghareb. All rights reserved.
Grading Information
v Quizzes / Homework / Attendance / Class participation & assignments
Required textbook:
Recommended textbooks:
20 bits 16 bits
MPU
8086 Memory I/O
1 Mbyte devices
(1M x 8 bits) (64 Kbyte)
◆ both devices (8088 and 8086) can access and address 1Mbyte of
memory via 20-bit address bus.
◆ able to address up to 64K of 1 byte-wide Input/Output (I/O) ports.
◆ their internal circuitry has approximately 29,000 transistors.
◆ 40-pin for input and output ports.
◆ 5 volt for power supply voltage Vcc
Both 8088 and 8086 can be configured to work to either of two modes:
v Minimum-mode ⎼ MN/MX = 1
These modes allow the 8086 MPU to meet the
v Maximum-mode ⎼ MN/MX = 0 needs of wide variety of system requirements.
Maximum Mode:
Max-mode is selected by applying logic ‘0’ to the MN/MX signal. This mode is
activated to work in larger systems with multiple processors.
The three tables in next slides show the common and different signals
between the Min and Max mode of system operation.
Table II: Unique minimum-mode signals. Table III: Unique maximum-mode signals.
S4 S3 Address Status
0 0 Alternate (relative to the ES segment)
0 1 Stack (relative to the SS segment)
1 0 Code/none (relative to the CS segment or a
default of zero)
1 1 Data (relative to the DS segment)
For example, address latch enable (ALE) signal sets to logic ‘1’ (ALE = ‘1’) to indicate
there is a valid address on the address bus.
M / 𝐈𝐎 (Memory / IO) signal: to indicate if the address on the address bus goes
to the MEM (in case of logic ‘1’) or to an I/O port (logic ‘0’).
𝐃𝐄𝐍 (data enable) signal: used to enable the data bus
𝐑𝐃 read signal: indicates that the MPU is performing a read of data off the bus
𝐖𝐑 write signal: set to logic ‘0’, indicates performing write data or output data
on the bus, thus a write bus cycle is in progress
During all MEM read/write operations 𝐃𝐄𝐍 (data enable) control signal is set to
logic ‘0’ to enable the data bus
READY signal: is used to insert wait states into the bus cycle. It can be
supplied by the memory or I/O subsystem to tell the 8086 when they are ready
to allow the data transfer to be completed.
SCE3313 Microprocessors II : 8086 minimum-mode control signals Slide 11
Interrupt and DMA Interface Signals
◆ Control signals
INTR (Interrupt request): used by an external device to signal/inform the MPU that it
needs to be serviced, logic ‘1’ represents active interrupt request
𝐈𝐍𝐓𝐀 (Interrupt Acknowledge) signal: the microprocessor sets INTA to logic ‘0’ as a
response to the INTR to serve the request
𝐓𝐄𝐒𝐓 line: when it is set to logic ‘1’ the MPU enters the ideal state and no longer
executes instructions. It can be used to synchronize MPU to an event in external
hardware
NMI (nonmaskable interrupt): this type of interrupt request has the highest priority
that cannot be masked by software
RESET signal: is used to provide and perform a hardware reset for the microprocessor.
◆ DMA interface signals
Direct Memory Access (DMA) interface signal consists of two signals HOLD & HLDA
These signals used by an external device when it needs to take control of the system
bus, thus the device signals the HOLD to logic ‘1’ so the MPU enters HOLD state
Hold acknowledge (HLDA) sets to logic ‘1’ by the MPU to indicate that it is in the
hold state.
SCE3313 Microprocessors II : 8086 minimum-mode interrupt signals Slide 12
Maximum-mode Interface Signals
Maximum-mode interface signals:
In this mode, the 8086 MPU implements a multiprocessor (coprocessor) system
environment. This means that multiple microprocessors involve in the system and
each one executes its own program.
Some system resources are common to all processors and these resources are called
global resources
Local or private resources, on the other hand, are assigned to specific processors.
The 8288 decodes these 3-bit (S2 S1 and S0) lines to identify the type of the
MPU bus cycle.
The 8288 produces one or two command signals for each bus cycle
For instance, when the 8086 MPU outputs the code S2 S1 S0 = 001 on the bus command
status code, it indicates that an I/O read cycle is to be performed/executed.
S2 S1 S0 =111, this means no bus activity is running or taking place.
SCE3313 Microprocessors II : 8086 maximum-mode system (8288 bus controller) Slide 14
8288 Bus Controller
Example – Bus command status code
✏ Giving that an 8086 Intel Corporation MPU is operating in the maximum-mode, and
the bus status code equals 101, as shown in the table below. Then what type of bus
activity is taking place? Which command output is produced by the 8288 bus
controller chip?
Status Inputs 8288
CPU Cycle
𝐒𝟐 𝐒𝟏 𝐒𝟎 Command
Ans: Based on the giving status inputs for S2 S1 S0 = 101, we see that the bus status code
identifies Read Memory bus cycle. And the MEM Read Command (MRCD) is produced on the
bus controller circuitry which is activated by setting it to logic ‘0’.
SCE3313 Microprocessors II : 8086 maximum-mode system (8288 bus controller) Slide 15
Minimum-mode I/O Bus Cycle (1/2)
Input bus cycle of the 8086
v Reading data from an I/O port
v 𝐑𝐃 = logic ‘0’ to indicate valid data are on the bus
ONE BUS CYCLE
T1 T2 T3 T4
CLK
Address is active during T1 Status will be active from T2 – T4
A19/S6 – A16/S3 and A19 – A16 , 𝐁𝐇𝐄 STATUS (S7 – S7) Time
𝐁𝐇𝐄 /S7 Demultiplexing
Address bus Bus reserved for data from T2 – T4
address, data,
AD15 – AD0 A15 – A0 D15 – D0 ( IN )
and status bus
ALE
M / IO
𝐑𝐃
DT/𝐑
𝐃𝐄𝐍
T1 T2 T3 T4
SCE3313 Microprocessors II : 8086 maximum-mode system (8288 bus controller) Slide 16
Minimum-mode I/O Bus Cycle (2/2)
Output bus cycle of the 8086
v Writing data to an I/O port
v 𝐖𝐑 = logic ‘0’ to signal (tell) the I/O system that valid data are on the bus
ONE BUS CYCLE
T1 T2 T3 T4
CLK
Address is active during T1 Status will be active from T2 – T4
A19/S6 – A16/S3 and A19 – A16 , 𝐁𝐇𝐄 STATUS (S7 – S7)
𝐁𝐇𝐄 /S7
Address bus Bus reserved for data from T2 – T4
AD15 – AD0 A15 – A0 D15 – D0 (DATA OUT)
ALE
M / IO
𝐖𝐑
DT/R
T1 T2 T3 T4
𝐃𝐄𝐍
SCE3313 Microprocessors II : 8086 maximum-mode system (8288 bus controller) Slide 17