Beruflich Dokumente
Kultur Dokumente
It is unidirectional.
The 8086 has a 16-bit data bus, so it can read data from or write
data to memory and ports either 16 bits or 8 bits at a time.
The 8086 has a 20-bit address bus, so it can directly access 220 or
10, 48,576 (1MB) memory locations. Each of the 1MB memory
locations is byte wide. Therefore, a 16-bit word is stored in two
consecutive memory locations.
The 8086 can generate 16-bit I/O address, hence it can access
216=65536 I/O ports.
HMOS technology
6-byte Queue
8086 Architecture
The complete architecture of 8086 can be
divided into two parts
BP
BX BH BL SS
FLAGS / PSW SI
CX CH CL DS
DI
DX DH DL ES IP
DATAS1(64K)
CODE
DATA
DATAS2 (64K)
STACK
EXTRA STACK(64K)
Segment registers
Memory
Segmentation :
SS(64K)
DS(64K)
ES(64K)
Queue
BIU also contain an instruction queue. When the EU
executes instructions, the BIU gets up to 6-bytes of
the next instruction and store them in the instruction
queue and this process is called instruction prefetch.
This is a process to speed up the processor.
Flag register
Memory banking
Memory banking
BHE A0 Characteristics
0 0 Whole word
0 1 Upper byte from or to odd address
1 0 Lower byte from or to even address
1 1 None
Address Data type BHE A0 Bus cycles Data lines used
0 1 FIRST D0-D7
0001 WORD
1 0 SECOND D7-D15
PIN Diagram of 8086
Modes of 8086
It can be operated in two modes
Minimum mode
Maximum mode
Minimum mode
If one processor along with memory, input & output
devices are connected to the system bus then that
mode are called minimum mode
RESET (pin:21)
It is used to restart the execution. It causes the
processor to immediately terminate its present
activity. This signal is active high for the first 4
clock cycles to RESET the microprocessor.
INTR (pin:18)
It is an hardware interrupt request signal, which is sampled
during the last clock cycle of each instruction to
determine if the processor considered this as an interrupt
or not.
NMI (pin-17)
It stands for non-maskable interrupt . It is an edge triggered
input, which causes an interrupt request to the
microprocessor.
TEST (pin-23)
This signal is like wait state . When this signal is high, then
the processor has to wait for IDLE state, else the
execution continues.
S7/BHE (pin:34)
BHE stands for Bus High Enable. and used to indicate
the transfer of data using data bus D8-D15. This
signal is low during the first clock cycle, thereafter it
is active.
Status of S7 always high
QS1 and QS0 (pin:24&25)
These are queue status signals These signals provide
the status of instruction queue.
QS0 QS1 status
0 0 No operation
0 1 First byte of opcode from the queue
1 0 Empty the queue
1 1 Subsequent byte from the queue
S0, S1, S2 (pin:26-28)
These are the status signals that provide the status of
operation, which is used by the Bus Controller 8288
to generate memory & I/O control signals.
S2 S1 S0 Status
0 0 0 Interrupt acknowledgement
0 0 1 I/O Read
0 1 0 I/O Write
0 1 1 Halt
1 0 0 Opcode fetch
1 0 1 Memory read
1 1 0 Memory write
1 1 1 passive
M/IO (pin:28)
This signal is used to distinguish between memory and I/O
operations. When it is high, it indicates I/O operation and when it
is low indicates the memory operation.
WR (pin:29)
It stands for write signal. It is used to write the data into the memory
or the output device depending on the status of M/IO signal.
HLDA (pin:30)
It stands for Hold Acknowledgement signal. This signal
acknowledges the HOLD signal.
HOLD(pin:31)
This signal indicates to the processor that external devices are
ALE (pin:25)
It stands for address enable latch A positive pulse is generated
each time the processor begins any operation. This signal
indicates the availability of a valid address on the
address/data lines.
DEN (pin:26)
It stands for Data Enable. It is used to enable Transreceiver
8286. The transreceiver is a device used to separate data
from the address/data bus.
DT/R (pin:27)
It stands for Data Transmit/Receive signal. It decides the
direction of data flow through the transreceiver. When it is
high, data is transmitted out and vice-versa.
Interrupts of 8086
The meaning of 'interrupts' is to break the sequence
of operation.
While the Microprocessor is executing a
program, an 'interrupt' breaks the normal sequence
of execution of instructions, diverts its execution to
some other program called Interrupt Service
Routine (ISR)