Input / Output Organization 247
the external device and PC5 would send an acknowledgement signal (IBF or Input Buffer Full) to the
external device. PC3 acts as an interrupt signal generating pin, which may be used to draw the attention
of the CPU when data is received. It is this feature, which is unique for all cases of interrupt driven I/O,
releasing the processor from the burden of continuously watching the input port, as we have noted for
mode 0 of 8255 in Section 8.5.
Through the timing diagram presented in Figure 8.8 (b), we may observe that the data (say 7AH)
along with a strobing signal (STB, active low) is sent by external device to 8255. Whenever this
strobe signal goes low, it indicates 8255 that the external device has sent some data through port A. To
acknowledge this new situation, 8255 makes it IBF output high, which informs the external device that
8255 has received the data (acknowledgement). After IBF goes high, the external device restores the
original status of STB signal and this rising edge of STB automatically latches the data in port A to the
internal latch of 8255. This change in STB signal (from low to high) triggers the interrupt output from
8255 through its PC3 pin by making it high. It is expected that this interrupt generating signal from PC3
is connected with the processor either directly or through an interrupt controller (e.g., 8259, which we
shall discuss shortly).
The processor, after receiving the interrupt, branches to the corresponding interrupt service routine,
which is expected to read the data from port A of 8255. Therefore, the RD signal goes low during this
reading operation which, in turn, withdraws the interrupting signal originated by PC3, making it low
again. After completing the reading operation and receiving the data (7AH) through D0 – D7, the pro-
cessor makes RD high, which forces the IBF output (from PC5 of 8255) low, indicating the external
device that 8255 port A is now free again to accept another fresh byte of data if required.
At this stage, it is suggested that the reader should stop proceeding further and take a stock
of the situation. Whatever described just now forms a very important concept of computer
architecture. First, note that the whole process of strobed input is completely automatic and
initiated exclusively by the input device. Second, every step of this process is dependent upon
its previous step and if the previous step remains incomplete, the entire process would wait
till the completion of that previous step (a very very important feature). Third, the entire
procedure is so much logically dependent upon each other that nothing would go wrong. The
reader may spend some additional time to further study the timing diagram presented in
Figure 8.8 (b) and verify each and every statement of this paragraph.
F
O
O
D
F
O
R
T
H
O
U
G
H
T
8.6.2 Strobed Output Mode
Although the methodology is identical, there are some minor differences between a strobed input and
strobed output for 8255, working in mode 1. Assuming again the case of port A, the interfacing signals
and the timing diagram for strobed output are shown in Figure 8.9 .
In this case, the data transmission to an external device starts with the interrupting signal. After
receiving the interrupt, processor writes the outgoing data (say E5H) to port A through its data lines
(D0 – D7) and activating the WR signal. After completion of writing, WR goes from low to high, which
M08_GHOS1557_01_SE_C08.indd 247M08_GHOS1557_01_SE_C08.indd 247 4/29/11 5:15 PM4/29/11 5:15 PM