Professional Documents
Culture Documents
A d d re s s B u s 2 0 b its
AH AL S U M M A T IO N
BH BL
D a ta B u s
CH CL
CS
DH DL
DS
SP
SS
BP
ES
DI
IO
BI
In te rn a l Bus
C o m m u n ic a tio n s C o n tr o l
R e g is te rs
8088
Bus
T e m p o r a ry
R e g is te rs
In s tru c tio n Q u e u e
ALU
EU
C o n tr o l
1 2 3 4
F la g s
• 8086/8088 consists of two internal units
– The execution unit (EU) - executes the instructions
– The bus interface unit (BIU) - fetches instructions,
reads operands and writes results
• The 8086 has a 6B prefetch queue
• The 8088 has a 4B prefetch queue
BIU Elements
• Instruction Queue: the next instructions or data can be
fetched from memory while the processor is executing
the current instruction
– The memory interface is slower than the processor
execution time so this speeds up overall performance
• Segment Registers:
– CS, DS, SS and ES are 16b registers
– Used with the 16b Base registers to generate the 20b
address
– Allow the 8086/8088 to address 1MB of memory
– Changed under program control to point to different
segments as a program executes
• Instruction Pointer (IP) contains the Offset Address of
the next instruction, the distance in bytes from the
address given by the current CS register
EU Elements
• Internal Registers
23 QS1 and QS0 : The queue status bits show status of internal
instruction queue. Provided for access by the
numeric coprocessor (8087).
S2, S1, S0 : Indicate function of current bus cycle (decoded by 8288).
8284A Clock Generator
Single 18 pin chip Clock Generator for 8086and 8088
Basic functions:
• Clock generation.
• RESET synchronization.
• READY synchronization.
• Peripheral clock signal.
Pin Functions
1 AEN1 &AEN2 Address enable pins to qualify the bus ready signal, RDY1 & RDY2
2 RDY1 & RDy The bus ready provided in conjunction with the AEN1 & AEN2 pins to cause
wait
3 ASYNC Ready synchronization selection input selects either 1 or 2 stages of
synchronization
4 READY It is an output pin connected to 8086/8088.
5 X1 & X2 Crystal oscillator pins connect to an external crystal used as timing source
8 CLK The clock output pin provides the CLK input signal to 8086/8088. It is one
third of the Crystal or EFI signal
10 OSC Oscillator output-same frequency as the crystal or EFI, it provides the EFI
input to other 8284A.
11 RES The reset input is connected to an RC network that provides power-
on resetting
12 RESET The reset output connected to 8086/8088 RESET input pin.
Top half of the logic dig. Represents the clock and reset synchronization.
Clock section
• If a crystal is attached to X1 & X2 The Oscillator generates a square wave
signal at the same frequency as the Crystal.
• This signal is fed to OSC out put through an inverting buffer. This o/p can be
connected to the EFI of another 8284A.
• The AND gate circuit is used to select EFI or the Oscillator generated wave
with the help of F/C input.
• The 4 processor clock cycles are called T states. Four cycles is the shortest
time that the processor can use for carrying out a read or an input cycle.
• At the beginning of T1, the processor outputs S2, S1, S0, A16/S3…A19/S6,
AD0..AD15 and BHE#/S7.
• The 8288 bus controller transitions the ALE signal from low to high, thereby
allowing the address to pass through the transparent latches (74HC373).
The address, along with the BHE# signal is latched when ALE goes low,
providing the latched address A0..A19.
• During T2 the processor removes the address and data. S3..S6 status is
output on the upper 4 address/status lines of the processor.
• The AD0..AD15 signals are floated as inputs, waiting for data to be read.
• Data bus transceivers (74HC245) are enabled towards the microprocessor
(the READ direction) by the DT/R# and DEN signals.
• The RD signal is asserted.
• The signals are maintained during T3. At the end of T3 the microprocessor
samples the input data.
• During T4 the memory and I/O control lines are de-asserted.
Write Timing
Note that the control
signal logic levels and
timing diagram are
similar to that of read
operation, except for
data transmit or
receive mode, read
and write signals.
• At the beginning of T1, the processor outputs S2, S1, S0, A16/S3…A19/S6,
AD0..AD15 and BHE#/S7.
• The 8288 bus controller transitions the ALE signal from low to high, thereby
allowing the address to pass through the transparent latches (74HC373). The
address, along with the BHE# signal is latched when ALE goes low, providing
the latched address A0..A19.
• During T2 the processor removes the address and data. S3..S6 status is output
on the upper 4 address/status lines of the processor.
• During T4 the memory and I/O control lines are de-asserted. In simple Intel
Architecture systems, the data is usually written to the memory or output
device at the rising edge of the MWRC# or IOWC# signal.
READY AND WAIT STATE
• Await state (Tw) is an extra clocking period inserted between T2
and T3, to lengthen the bus cycle
• The READY INPUT
• Sampled at the end of T2, and in the middle of Tw.
• If READY is a logic zero at that time(1 to 0 of T2), T3 is delayed and
Tw is inserted.
• Again sampled at the middle of Tw (0-1 of Tw) to check weather
the next state is Tw or T3.
• When 8284a is used The RDY input occurs at the end of each T
state
RDY and 8284A
To obtain a logic 1 at flip flop RDY1 ANDed with AEN1 must be active or
RDY2 ANDed with AEN2 must be active.
• Specially the WR, M/IO, DT/R, DEN, ALE and INTA, signals are no
longer produced by the 8086. Instead it outputs three status signals
S0, S1, S2 prior to the initiation of each bus cycle. This 3- bit bus
status code identifies which type of bus cycle is to follow.
• S2S1S0 are input to the external bus controller device, the bus
controller generates the appropriately timed command and control
signals.
• The command signals are shown in the table
• The control outputs produced by the 8288 are DEN, DT/R and ALE.
These 3 signals provide the same functions as those described for
the minimum system mode. This set of bus commands and control
signals is compatible with the Multibus and industry standard for
interfacing microprocessor systems.
Bus Status Codes
S2 S1 S0 CPU Cycles 8288 Command
0 1 1 Halt None
1 1 1 Passive None
Advanced Processors
• 80186/80188
• Evolution of 8086/8088 80186/80188
• Increased instruction set
• On-chip system components (Clock
generator, DMA, Interrupt, Timers…)
• Unsuccessful in PCs
• Popular in embedded systems…
2nd Generation Processor 286
• P2 (286) = 2nd Generation Processor
• Introduced in 1981
• CPU behind IBM AT
• Throughput of original IBM AT (6MHz) was about 500% of IBM PC
(4.77MHz)
• Level of integration: 134k transistors (vs 29k in 8086)
• Still a 16b processor…
• Available in higher clock frequencies: 25MHz
• Fully backwards compatible to 8086
80286 runs 8086 software without modification
• Improved instruction execution
Average instruction takes 4.5 cycles vs. 12 cycles (8086)
• Improved instruction set
• Real mode and Protected Mode
Multitasking-support. What happens in one area of memory doesn’t affect other
programs. Protected mode supported by Windows 3.0.
• 16MB addressable physical memory
• On-chip MMU (1GB virtual memory)
• Non-multiplexed address-bus and data-bus
3rd Generation Processor 386
• P3 (386) = 3rd Generation Processor
• Introduced: 10/1985
• Full 32b processor
(32b registers. 32b internal and external databus. 32b address bus)
• 275k transistors. CMOS. 132-pin PGA package.
(Supply current Icc=400mA. Roughly the same as 8086 !)
• Clock speeds: 16-33MHz
• P3 processors were far ahead of their time:
It took 10 years before 32b operating systems became mainstream!
• First 386 PCs early 1987
(COMPAQ)
• Modes of operation:
– Real. Protected. Virtual Real.
• Protected mode of 386 is fully compatible with 286
Protected mode=native mode of operation. Chips are designed for advanced operating systems such as Windows
NT
• New virtual real mode
Processor can run with hardware memory protection while simulating the 8086’s real-mode operation. Multiple
copies of e.g. DOS can run simultaneously, each in a protected area of memory. If a program in one memory area
crashes, the rest of the system is protected.
Featurers
• 32b general and offset registers
• 16B prefetch queue
• Memory management unit with segmentation unit
and paging unit
• 32b address and data bus
• 4GB physical address space
• 64TB virtual address space
• i387 numerical coprocessor
• Implementation of real, protected and virtual 8086
modes
80486: IA-32 with RISC
elements
• Introduced 04/91
• Greatly improved 80386 CPU
• Hard-wired implementation of frequently used instructions
(as in RISCs). On average 2 clock cycles/instruction.
• 5 stage instruction pipeline
• Internal L1 Cache Memory (8kB) + cache controller
• On-chip Floating Point coprocessor (FPU)
• Longer Prefetch Queue (32-bytes as opposed to 16 on the
80386)
• Higher frequency operation: up to 120MHz
• >1.2M transistors, 0.8µ m CMOS. 168-pin PGA.