2. Generalized Block Diagram controls the computer
and performs all
calculations.
ability to perform
various operations
quickly
stores programs and data
required by the processor
Communication through
I/O Port/Bus
ALU performs arithmetic
and logical operations on
the data received from an
input device or memory
Control unit controls
the instructions and
flow of data within the
computer
Register array consists
of registers identified
by letters like B, C, D, E,
H, L, and accumulator.
3. 8085 Microprocessor: A brief study
8 bit NMOS MICROPROCESSOR USED IN MANY MOBILES, WASHING MACHINES ETC.
Architecture
Pin Diagram
5. 16 bit Microprocessor:8086
Enhanced version of Intel 8085 microprocessor. It
was designed by Intel in 1978.
16-bit, N-channel, HMOS microprocessor. Where the
HMOS is used for "High-speed Metal Oxide
Semiconductor“
Built on a single semiconductor chip and packaged in
a 40-pin IC package. The type of package is DIP (Dual
Inline Package)
Uses 20 address lines and 16 data- lines. It can
directly address up to 2^20 = 1 Mbyte of memory
Consists of a powerful instruction set, which provides
operation like division and multiplication very quickly.
Designed to operate in two modes, i.e., Minimum
and Maximum mode
8085 8086
8 bit data bus, 16 bit address line 16 bit data bus, 20 bit address line
5 Flags and 64 KB memory capacity 9 Flags and 1 MB memory capacity
Does not support memory
segmentation, maximum or
minimum mode & pipelining
Supports memory segmentation,
maximum or minimum mode &
pipelining
Accumulator based General Purpose Registers based
One Processor used An additional external processor can
also be employed.
Low Cost High Cost
6. Architecture of 8086
Independent Functional Units with parallel operation
Data Registers
Pointer Registers
Index Registers
6 bit instruction queue
Segment
Registers
Instruction Pointer
Handles transfer of data and addresses
Fetches instruction codes, stores fetched instruction
codes in first-in-first-out register set called a queue
Relocates addresses of operands
Reads/Writes data from/to memory and I/O devices
Receives opcode of an instruction from
the queue, decodes it and then executes
it
While Execution, unit decodes or
executes an instruction, then the BIU
fetches instruction codes from the
memory and stores them in the queue
Makes the processor faster
7. Bus Interface Unit
Instruction Queue: When EU executes instructions, the BIU gets 6-bytes of the next instruction and stores them in the
instruction queue and this process is known as instruction pre fetch. This process increases the speed of the processor.
Segment Registers: A segment register contains the addresses of instructions and data in memory which are used by the
processor to access memory locations. It points to the starting address of a memory segment currently being used.
Instruction Pointer (IP): It acts as a program counter. It indicates to the address of the next instruction to be executed
16 bit register. Holds instruction codes of a program and base address of memory
segment
16 bit register. Data, variables and constants given in the program and logical address of memory segment are
held
16 bit register. Holds addresses and data of subroutines. Holds the contents of registers and memory locations
given in PUSH instruction and offset address of memory segment
16 bit register. Holds the destination addresses of some data of certain string instructions and starting address of memory segment
Generation of 20 bit physical address from IP
8. Execution Unit
General Purpose Registers: There are four 16-bit general purpose registers: AX (Accumulator Register), BX (Base Register), CX (Counter)
and DX.
Accumulator is involved in most of the I/O and string operations and in operations such as Div,Mult,Shift,Rotate etc.
Base Register can be used as memory pointer in data segment
Counter Register is default counter in loop instructions,string manipulations and used in shift/rotate instructions
Data Register is used in Div,Mult instructions to hold higher word of 32 bit operand and result respectively. Also remainder in Div.
Index Register:Stack Pointer (SP),Base Pointer (BP),Source Index (SI),Destination Index (DI).Hold offset or logical address within a
segment.16 bit
ALU: It handles all arithmetic and logical operations. Such as addition, subtraction, multiplication, division, AND, OR, NOT operations
Flag Register: 16 bit register which exactly behaves like a flip-flop, means it changes states according to the result
stored in the accumulator. It has 9 flags and they are divided into 2 groups i.e. conditional and control flags
9. 8086 Pin Diagram
AD0-AD15:Low order address
bus. They are multiplexed with
data. When used to transmit
memory address, the symbol A
is used instead of AD
A16-A19 (Output): High
order address lines. These
are multiplexed with status
signals
A16/S3, A17/S4: A16 and A17
are multiplexed with segment
identifier signals S3 and S4.
A18/S5: A18 is multiplexed with
interrupt status S5.
A19/S6: A19 is multiplexed with
status signal S6
BHE/S7 (Output): Bus High Enable/Status.
During T1, it is low. It enables the data onto the
most significant half of data bus, D8-D15. 8-bit
device connected to upper half of the data bus
use BHE signal. It is multiplexed with status
signal S7. S7 signal is available during T3 and T4.
RD (Read): For read operation. It is an output
signal. It is active when LOW.
Ready (Input): The addressed memory or I/O
sends acknowledgment through this pin. When
HIGH, it denotes that the peripheral is ready to
transfer data.
RESET (Input): System reset. The signal is active
HIGH.
CLK (input): Clock 5, 8 or 10 MHz
INTR: Interrupt Request.
NMI (Input): Non-maskable interrupt request.
TEST (Input): Wait for test control. When LOW the
microprocessor continues execution otherwise
waits.
VCC: Power supply +5V dc.
GND: Ground
Minimum Mode: One 8086 CPU is to be used
Maximum Mode: Multiprocessor system
10. Addressing Modes in 8086
The way for which an operand is specified for an instruction in the accumulator, in a general purpose register or in memory location, is called
addressing mode/Data Addressing Mode
8086 microprocessors have 8 addressing modes. Of these, two addressing modes have been provided for instructions which operate on register or
immediate data
Register Addressing: Operand is placed in one of the 16-bit or 8-bit general purpose registers (Source). Ex. MOV AX, CX, ADD CX, DX
Immediate Addressing: Operand is specified in the instruction itself. Ex. MOV AL, 35H
6 addressing modes specify the location of an operand which is placed in a memory
Direct Addressing: Effective address (Operand's offset) of the memory location is written directly in the instruction.. Ex. ADD AL, [0301]
Register Indirect Addressing: Operand's offset is placed in any one of the registers BX, BP, SI or DI as specified in the instruction. Ex.
MOV AX, [BX]
Based Addressing: Operand's offset is the sum of an 8-bit or 16-bit displacement and the contents of the base register BX or BP. BX is used as
base register for data segment, and the BP is used as a base register for stack segment. Ex. MOV AL, [BX+05]; (8-bit)
Effective address (Offset) = [BX + 8-bit or 16-bit displacement].
Indexed Addressing: Offset of an operand is the sum of the content of an index register SI or DI and an 8-bit or 16-bit displacement. Ex. MOV
AX, [SI + 1528H]; (16-bit displacement).
Based Indexed Addressing: The offset of operand is the sum of the content of a base register BX or BP and an index register SI or DI. Ex. ADD
AX, [BX + SI]
Based Indexed with Displacement: Operand's offset is given by adding the base register contents
Effective Address (Offset) = [BX or BP] + [SI or DI] + 8-bit or 16-bit displacement
Ex. MOV AX, [BX + SI + 05]; 8-bit displacement
11. These indicates the branch address in CALL and JUMP Instructions. Used for Control Transfer Instructions
Address Addressing Modes in 8086
Addressing Mode
Intrasegment
Intersegment
Direct Indirect Direct Indirect
12. Process in which the main memory of the computer is logically divided into different segments and each segment has its own base
address
To enhance the speed of execution of the computer system, so that the processor is able to fetch and execute the data from the
memory easily and fast.
BIU contains four 16 bit special purpose registers called as Segment Registers
Code segment register (CS): Used for addressing memory location in the code segment of the memory, where the executable
program is stored.
Data segment register (DS): Points to the data segment of the memory where the data is stored.
Extra Segment Register (ES): Also refers to a segment in the memory which is another data segment in the memory.
Stack Segment Register (SS): Used for addressing stack segment of the memory. The stack segment is that segment of memory
which is used to store stack data.
To enhance the speed of execution of the computer system, so that the processor is able to fetch and execute the data from the
memory easily and fast.
BIU sends 20bit address, so as to access one of the 1MB memory locations
Four segment registers actually contain the upper 16 bits of the starting addresses of the four memory segments of 64 KB each with
which the 8086 is working at that instant of time. May be up to 64 kilobytes long
8086 does not work the whole 1MB memory at any given time. However, it works only with four 64KB segments within the whole
1MB memory.
Starting address will always be changing. It will not be fixed.
Memory Segmentation in 8086
14. Overlapping Segment – A segment starts at a particular address and its maximum size can go up to 64kilobytes. But if another
segment starts along with this 64kilobytes location of the first segment, then the two are said to be Overlapping Segment.
Non-Overlapped Segment – A segment starts at a particular address and its maximum size can go up to 64kilobytes. But if another
segment starts before this 64kilobytes location of the first segment, then the two segments are said to be Non-Overlapped Segment
Types of Segmentation
Rules of Segmentation
The starting address of a segment should be such that it can be evenly divided by 16.
Minimum size of a segment can be 16 bytes and the maximum can be 64 kB
Advantages of Segmentation
It provides a powerful memory management mechanism.
Data related or stack related operations can be performed in different segments.
Code related operation can be done in separate code segments.
It allows to processes to easily share data.
It allows to extend the address ability of the processor, i.e. segmentation allows the use of 16 bit registers to give
an addressing capability of 1 Megabytes. Without segmentation, it would require 20 bit registers.
It is possible to enhance the memory size of code data or stack segments beyond 64 KB by allotting more than
one segment for each area
15. 8086 Instruction Format
8086 Instruction Format vary from 1 to 6 bytes in length
The opcode/addressing mode byte(s) may be followed by :
No additional byte
Two byte EA (For direct addressing only).
One or two byte displacement
One or two byte immediate operand
One or two byte displacement followed by a one or two byt
immediate operand
Two byte displacement and a two byte segment address (for direc
intersegment addressing only)
16. 8086 Instruction Format
Most of the opcodes in 8086 has a special 1-bit indicates
W-bit : Some instructions of 8086 can operate on byte or a word. The W-bit in the opcode of such instruction specify
whether instruction is a byte instruction (W = 0) or a word instruction (W = 1).
D-bit : The D-bit in the opcode of the instruction indicates that the register specified within the instruction is a source
register (D = 0) or destination register (D =1).
S-bit : An 8-bit 2’s complement number can be extended to a 16-bit 2’s complement number by making all of the bits in
the higher-order byte equal the most significant bit in the low order byte. This is known as sign extension. The S-bit along
with the W-bit indicate operations mentioned below
V-bit : V-bit decides the number of shifts for rotate and shift instructions. If V = 0, then count = 1; if V = 1, the count is in CL
register. For example, if V = 1 and CL = 2 then shift or rotate instruction shifts or rotates 2-bits
Z-bit : It is used for string primitives such as REP for comparison with ZF Flag
17. Maximum and Minimum Mode Configuration
The pin 33 decides whether the processor
will work in minimum mode or maximum
mode. If the pin is set, then the minimum
mode is followed, else the processor
works in maximum mode.
In minimum mode,8086 is the only
processor in the system which provides all
the control signals which are needed for
memory operations and I/O interfacing.
Here the circuit is simple but it does not
support multiprocessing.
The other components which are
transceivers, latches, 8284 clock generator,
74138 decoder, memory and i/o devices are
also present in the system.
The address bus of 8086 is 20 bits long. By
this we can access 220
byte memory i.e.
1MB . Out of 20 bits, 16 bits A0 to A15(or 16
lines) are multiplexed with a data bus. By
multiplexing, it means they will act as
address lines during the first T state of the
machine cycle and in the rest, they act as
data lines. A16 to A19 are multiplexed S3 to
S6 and BHE’ is multiplexed with S7.
HOLD
This is a control signal sent by the connected external peripheral device to acquire
the microprocessor buses. If an external device like the input and output devices are
connected to the 8086 microprocessor and they require the control over the buses,
then a HOLD signal is sent by that device at this pin.
HLDA
After the control of buses is transferred to the external peripheral device, then an
acknowledgment signal is sent for the same through this pin.
WR'
This signal is used for writing purpose. It is an active low signal.
M / IO'
This pin tells whether the operation is performed in the memory or through the IO
devices. If this pin is 1, then the operations are performed in memory, else in the IO
devices.
DT / R'
This signal tells whether the data is transferred or received. The microprocessor
transfers the data when the pin is at 1, and at 0, it receives data.
DEN'
DEN stands for Data Enable. This pin is used to activate a chip in case of multiple
chips. It is an active low signal.
ALE
This pin is used to Latch address from multiplexed bus to temporary storage in the
8086 microprocessor. If this pin is set to high, then the AD0 to AD15 pins will carry
address, else they will carry data in them.
INTA
INTA stands for interrupt acknowledgment. If an interrupt request is received at
INTR, then the acknowledgment for it is sent through this pin
18. Minimum Mode Circuit
Control signals provided by 8086
for memory operations and i/o
interfacing are used to
identifying whether the bus is
carrying a valid address or not ,
in which direction data is needed
to be transferred over the bus,
when there is valid write data on
the data bus and when to put
read data on the system bus
8282 (8 bits) latch :
The latches are buffered D FF. They are used to
separate the valid address from the multiplexed
Address/data bus by using the control signal ALE,
which is connected to strobe(STB) of 8282. The
ALE is active high signal. Here three such latches
are required because the address is 20 bits.
8286 (8 bits) transceivers :
They are bidirectional buffers and also known as
data amplifiers. They are used to separate the
valid data from multiplexed add/data bus. Two
such transceivers are needed because the data
bus is 16 bits long. 8286 is connected to DT/R’ and
DEN’ signals. They are enabled through the DEN
signal .The direction of data on the data bus is
controlled by the DT/R’ signal. DT/R’ is connected
to T and DEN’ is connected to OE’.
8284 clock generator is used to
provide the clock.
Control signals for all operations
are generated by decoding M/IO’,
RD’, WR’. They are decoded by
74138 3:8 decoder
19. Timing Diagram Minimum Mode
Opcode fetch or read timing diagram
All processors bus cycle is of at least 4 T-
states(T1,T2,T3,T4) .The address is given by
processor in the T1 state. It is available on
the bus for one T-state.
In T2, the bus is tristated for changing the
direction of the bus( in the case of a data
read cycle.)
The data transfer takes place between
T3 and T4.
If the addressed device is slower, then the
wait state is inserted between T3 and T4.
At T1 state ALE =1 ,this indicates that a valid address is latched on the
address bus and also M / IO’= 1, which indicates the memory
operation is in progress.
In T2, the address is removed from the local bus and is sent to the
addressed device. Then the bus is tristated.
When RD’ = 0 , the valid data is present on the data bus.
During T2 DEN’ =0, which enables transceivers and DT/R’ = 0 ,which
indicates that the data is received.
During T3, data is put on the data bus and the processor reads it.
The output device makes the READY line high. This means the output
device has performed the data transfer process. When the processor
makes the read signal to 1, then the output device will again tristate
Write memory
cycle
At T1 state ALE =1 ,this indicates that a valid address is latched
on the address bus and also M / IO’= 1, which indicates the
memory operation is in progress.
In T2, the processor sends the data to be written to the
addressed location.
The data is buffered on the bus until the middle of T4 state.
The WR’=0 becomes at the beginning of T2.
The BHE’ and A0 signals are used to select the byte or bytes of
memory or I/O word.
During T2 DEN’ =0, which enables, transceivers and DT/R’ =
1 ,which indicates that the data is transferred by the processor
to the addressed device
20. Maximum Mode
When the pin 33 of the 8086 microprocessor is in the reset
state, i.e. 0, then the microprocessor functions in the
Maximum Mode.
(RQ' / GT 0) and (RQ’ / GT 1)
These two pins are used for bus request and
grant purpose. Through these pins, a
connection is established between the
external peripheral devices and the 8086
microprocessor. Among these two pins, the
pin- (RT / GT 0) has higher priority over (RT /
GT 1).
LOCK'
This pin is used to lock the internal buses of
the microprocessor. When the control of
buses is handed over to an external
peripheral device, then the microprocessor is
locked through this pin. It is an active low
signal.
QS0 and QS1
QS stands for Queue status, and as the name
suggests, these two pins are used to tell the
status of the queue
S2, S1 and S0
Here, the S in each of these pins stands for
Status. These three pins: S2, S1, and S0
together tell about the CPU cycle. The
different of the values of these pins taken
together tell about which CPU cycle is
currently running
21. We can connect more processors
to 8086 (8087/8089).
8086 max mode is basically for
implementation of allocation of
global resources and passing bus
control to other coprocessor(i.e.
second processor in the system),
because two processors can not
access system bus at same
instant.
All processors execute their own
program.
The resources which are
common to all processors are
known as global resources.
The resources which are
allocated to a particular
processor are known as local or
private resources
Clock is provided by 8284 clock generator.
8288 bus controller- Address form the address bus is latched into
8282 8-bit latch. Three such latches are required because address
bus is 20 bit. The ALE(Address latch enable) is connected to
STB(Strobe) of the latch. The ALE for latch is given by 8288 bus
controller.
The data bus is operated through 8286 8-bit transceiver. Two such
transceivers are required, because data bus is 16-bit. The
transceivers are enabled the DEN signal, while the direction of data
is controlled by the DT/R signal. DEN is connected to OE’ and DT/ R’
is connected to T. Both DEN and DT/ R’ are given by 8288 bus
controller
Bus request is done using RQ’ / GT’ lines
interfaced with 8086. RQ0/GT0 has more
priority than RQ1/GT1.
INTA’ is given by 8288, in response to an
interrupt on INTR line of 8086.
In max mode, the advanced write signals
get enabled one T-state in advance as
compared to normal write signals. This
gives slower devices more time to get
ready to accept the data, therefore it
reduces the number of cycles
Control signals for all operations are
generated by decoding S’2, S’1 and
S’0 using 8288 bus controller
ADV: It supports multiprocessing, Therefore it helps to increase the
efficiency.
DISADV: More complex circuit than min mode
22. Programmable Peripheral Interface
To communicate with the outside world microcomputers use peripherals (I/O
devices). Commonly used peripherals are: A/D converter, D/A converter, CRT,
printers, Hard disks, floppy disks, magnetic tapes etc.
Peripherals are connected to the microcomputer through electronic circuits
known as interfacing circuits.
A programmable peripheral interface is a multiport device. The ports may be
programmed in a variety of ways as required by the programmer. The device is
very useful for interfacing peripheral devices.
Intel 8255
It has two versions, namely the Intel 8255A and Intel 8255A-5.
General descriptions for both are same but there exists some
differences in electrical characteristics
It has three 8-bit ports, namely Port A, Port B and Port C.
Port C has been further divided into two 4-bit ports, port C upper and
Port C lower. Thus a total of 4-ports are available, two 8-bit ports and
two 4-bit ports.
Each port can be programmed either as an input port or an output
port. 8255 Architecture
23. Operating Modes of 8255
Mode 0 - Simple Input/output: The 8255 has two 8-bit ports (Port A and Port B) and two 4-bit ports (Port Cupper and Port Clower). In Mode 0
operation, a port can be operated as a simple input or output port. Each of the 4 ports of 8255 can be programmed to be either an input or
output port.
Mode 1-Strobed Input/output: Mode 1 is strobed input/output mode of operation. The Port A and Port B both are designed to operate in
this mode of operation. When Port A and Port B are programmed in Mode 1, six pins of Port C are used for their control.
Mode 2 -Bidirectional Port: Mode 2 is strobed bidirectional mode of operation. In this mode Port A can be programmed to operate as a
bidirectional port. The mode 2 operation is only for Port A. When Port A is programmed in Mode 2, the port B can be used either Mode 1
or Mode 0
8255 Pin Diagram
Operates on a single 5 Vd.c. supply
CS (Chip Select): It is a chip select signal. The LOW status of this
signal enables communication between the CPU and 8255.
RD (READ): When RD goes LOW the 8255 sends out data or status
information to the CPU on the data bus. In other words it allows the
CPU to read data from the input port of 8255.
WR (Write): When WR goes LOW the CPU writes data or control
word into 8255. The CPU writes data into the output port of 8255
and the control word into the control word register.
RESET: RESET is an active high signal. It clears the control register
and sets all ports in the input mode.
A0 and A1: The selection of input port and control word register is
done using A0 and A1 in conjunction with RD and WR. A0 and A1
are normally connected to the least significant bits of the address
bus
Control Signals
PA0 - PA7 :8
Pins of port
A PB0 -
PB7 :8 pins
of port B
PC0 - PC3 :4
pins of port
Clower PC4 -
PC7 :4 pins
of Port Cupper
25. Programmable Timer Controller
Used in real time application for timing and counting function such as BCD/binary counting, generation of accurate time delay,
generation of square wave of desired frequency, rate generation, hardware/software triggered strobe signal, one shot signal of
desired width etc
Intel 8253 and 8254:Both are pin to pin compatible and operate in six modes
Mode 0: Interrupt on terminal count
Mode 1: Programmable one-shot
Mode 2: Rate generator
Mode 3: Square wave generator
Mode 4: Software triggered mode
Mode 5: Hardware triggered mode
Note: The 8254 is compatible to 8086, 8088, 8085 and most
other microprocessors
24-pin IC and operates at 5 Vd.c.. It
contains three independent 16-bit
counters. The programmer can program
8253 to operate in any one of the 6
operating modes. It operates under
software control.
8254 Architecture
8254 Pin Diagram
26. RD (Read): When this pin is LOW the CPU reads data.
¯WR: (Write): When this is low, the CPU outputs data in the
form of mode information or loading of counters.
A0, A1: These pins are connected to the address bus. These are
used to select one of three counters. These are also used to
address the control word registers for mode selection.
CS: Chip Select.
D0 - D7: Bidirectional data bus.
CLK0, CLK1 and CLK2 are clock for Counter 0, Counter 1 and
Counter 2 respectively.
GATE0, GATE1 and GATE2 are gate terminals of Counter 0,
Counter 1 and Counter 2 respectively.
OUT0, OUT1 and OUT2 are output terminals of Counter 0,
Counter 1 and Counter 2 respectively.
The 8254 contains a data buffer, read/write logic and control
word register as described below:
Data Bus Buffer: This buffer is within 8254. It is a 3-state,
bidirectional, 8-bit buffer. It is used to interface 8254 to the
system data bus through D0 - D7 lines.
Read/Write logic: The 8254 contains a read/write logic which
accepts input from the system bus and then generates control
signals for the operation
Counter Word Register: When the pins A0, A1 are 11, the control word register
is selected.
27. 8254 Operational Modes
The bits D7 and D6 of the control word are to select one of the 3 counters. D5 and D4 are for loading/reading the count. D3,
D2 and D1 are for the selection of operating mode of the selected counter.
These are six modes of operation for each counter of 8254. The six modes of operation are: MODE 0, MODE 1, MODE 2,
MODE 3, MODE 4 and MODE 5. The bit D0 is for the selection of binary or BCD counting.
MODE 0 : Interrupt on Terminal Count
Used for the generation of accurate time delay under software control.
One of the counters of 8253 is initialized and loaded with suitable count for the desired time delay.
When counting is finished the counter interrupts the CPU. On interruption the microprocessor performs the required task
which is to be performed after the desired time delay.
For MODE 0 operation GATE is kept high. While counting is going on the counter output OUT remains LOW. When the terminal
count is reached i.e. count reaches 0, the output becomes HIGH until the count is reloaded or new count is loaded.
When the count is reloaded or OUT becomes LOW and the counter starts its counting operation again.
MODE 1 : Programmable One-Shot
In MODE 1 the counter acts as a retriggerable and programmable one-shot.
The LOW to HIGH transition of the signal applied to GATE acts as a trigger signal.
In this mode of operation OUT becomes initially HIGH after the mode is set. After mode set operation the counter is loaded by
a count value of N. The counter decrements count, and the output (OUT) goes LOW for N clock cycles for every LOW to HIGH
transition of the GATE input.
28. MODE 2 : RATE Generator
In MODE 2 the counter acts as a simple divide by N counter.
When this mode is set the output of the counter becomes initially HIGH.
After mode set operation the counter is loaded by a count of value N.
For MODE 2 operation GATE is kept HIGH.
In this mode the output remains HIGH for (N-1) clock pulses and then goes LOW for one clock pulse.
MODE 3 : Square Wave Generation
In MODE 3 the counter acts as a square wave generator. After mode set operation the counter is loaded by a count of value N.
For MODE 3 operation GATE is kept HIGH.
For even values of N the output remains HIGH for N/2 clock pulses abd then goes LOW for next N/2 clock pulses
MODE 4 : Software Triggered Strobe
In MODE 4 operation the output of the counter becomes
initially HIGH after the mode is set.
GATE is kept HIGH for this mode of operation. The counter
begins counting immediately after the count is loaded into
the count register.
When the counter reaches terminal count (i.e. counter
content = 0) the output goes LOW for one clock period,
then it returns to HIGH.
The output signal may be used as strobe.
This mode of operation is referred to as a software
triggered strobe because the generation of the strobe
MODE 5 : Hardware Triggered Strobe
In this mode of operation GATE input acts as a trigger.
After the mode is set, the output becomes initially HIGH.
A count value of N is loaded into the counter.
Following a LOW to HIGH transition of the GATE input the
counter starts decrementing the count.
The counting begins at the first negative edge of the clock
after the rising edge of the GATE input.
On terminal count the output goes LOW for one clock
period, and then it goes HIGH again.
As the LOW to HIGH transition of the GATE input causes
triggering, this mode is referred to as hardware triggered
strobe.
29. Memory Interfacing
To interface the memory with 8086, we need the system bus and the control signals for memory read and write operations
When we are executing any instruction, the address of memory
location or an I/O device is sent out by the microprocessor. The
corresponding memory chip or I/O device is selected by a
decoding circuit.
Memory requires some signals to read from and write to
registers and microprocessor transmits some signals for reading
or writing data
Interfacing process includes matching the memory requirements
with the microprocessor signals.
Therefore, the interfacing circuit should be designed in such a
way that it matches the memory signal requirements with the
microprocessor's signals.
8 bit data line, 16 bit address line , control signals are connected
to corresponding lines of memory IC.
Four common types of
memory:
Read only memory (ROM)
Flash memory (EEPROM)
Static Random access
memory (SARAM)
Dynamic Random access
memory (DRAM).
Address connections: All memory devices have address inputs that
select a memory location within the memory device. Address
inputs are labeled (A0 –An)
Data connections: All memory devices have a set of data outputs
or
input/outputs. Today many of them have bi-directional common
I/O pins.
Selection connections: Each memory device has an input that
selects or enables the memory device. This kind of input is most
often called a chip select (CS)
Control connections: The control input most often found on the
ROM is the output enable (OE) or gate (G) this allows data to flow
out of the output data pins of the ROM.
30. Minimum Mode Memory Interfacing
Block Diagram
Address bus & Data bus are multiplexed on same lines
(AD0 to AD15).
During first clock cycle, it serves as a memory/ IO address
bus.
For second and third clock cycles it acts as data bus and
carries data.
Demultiplexing refers to separating Address & Data
signals for read/write operations.