80486 and pentium

advertisement
80486 Processor
• 80486 math co-processor is the first processor to have built-in
math coprocessor.
• This being integrated on the chip allows it to execute math
instructions 3 times faster.
• It has 8kb code data internal cache.
• It has five stage instructions pipeline scheme that allows it to
execute instructions much faster than 386.
• It is 168 pin chip.
Signals of 80486
• Address Bus : A31- A2 These are the address lines of the
microprocessor, and are used for selecting memory I/O devices.
However, for memory/IO addressing we also need another set of
signals known as byte enable signals BE0 – BE3. These active-low
byte enable signals (BE0# - BE3#) indicate which byte of the 32-bit
data bus is active during the read or write cycle.
• Data Bus : D0-D31 This is bi-directional data bus with D0 as the
least and D31 as the most significant data bit.
• Data Parity Group: The pins of this group of signals are extremely
important, because they are used to detect the parity during the
memory read and write operations.
• DP0-Dp3: These four data parity input/output pins are used for
representing the individual parity of 4bytes (32bits) of the data
bus.
• Pchk#:the 486 checks the parities of the data bytes read and
signals on the DP0-DP3, if error is found, 486 asserts the Pchk
signal.
• Bus cycle signals
• M/IO#: This output pin differentiates between memory and
I/O operations.
• D/C#: This output pin differentiates between data/control
operations.
• W/R#: This output pin differentiates between read and write
bus cycle.
• PLOCK#: This pseudo lock pin indicates that the current
operation may require more than one bus cycle for its
completion. The bus is to be locked until then.
• LOCK# : This output pin indicates that the current bus cycle is
locked.
• Bus control signals
• ADS# : The address status output pin indicates that a valid bus cycle
definition and addresses are currently available on the corresponding
pins.
• RDY# : This input pin acts as a ready signal for the current non-burst
cycle.
• Bus Arbitration signals
• BREQ : This active high output indicates that the 80486 has generated a
bus request.
• HOLD : This pin acts a local bus hold input, to be activated by another
bus master like DMA controller, to enable to gain the control of the
system bus.
• HLDA : This is an output that acknowledges the receipt of a valid HOLD
request.
• BOFF#: When a CPU requests the access of the bus, and if the bus is
granted to it, then the current bus master which is currently in charge of
the bus will be asked to back off or release the bus.
• Burst Control signals
• These signals are BRDY#, BLAST# are used to control burst
mode memory reads and writes. To start the burst mode 486
sends out the first address and asserts the BLAST# signals.
When the DRAM controller has the first data it asserts BRDY#
signal. Since successive data has to be read, only lower
address bits has to be changed.
• Bus Size Control
• BS8# and BS16# : The bus size-8 and bus size-16 inputs are
used for the dynamic bus sizing feature of 80486. These two
pins enable 80486 to be interfaced with 8-bit or 16-bit devices
though the CPU has a bus width of 32-bits.
• Interrupt Signals:
• RESET : This input pin reset the processor, if its goes high
• INTR : This is a maskable interrupt input that is controlled by
the IF in the flag register
• NMI : This is a non-maskable interrupt input, of type 2.
• Cache Invalidation signals
• AHOLD: The address holds request input pin enables other
bus masters to use the 80486 system bus during a cache
invalidation cycle.
• EADS#: The external address input signal indicates that a valid
address for external bus cycle is available on the address bus.
• Cache Control signals
• KEN# : The cache enable input pin is used to determine
whether the current cycle is cacheable or not.
• FLUSH#: The cache flush input, if activated, clears the cache
contents and validity bits.
• Page caching control
• PCD, PWT : The page cache disables and page write-through
output pins reflect the status of the corresponding bits in
page table or page directory entry.
• Numeric Error Reporting
• FERR : The FERR output pin is activated if the floating point
unit reports any error.
• IGNNE: If ignore numeric processor extension input pin is
activated, the 80486 ignores the numeric processor errors and
continues with processing of data.
What was new?
• Two integer pipeline units are provided so that
two instructions can be handled in parallel in
the pipelines, providing superscalar
performance, that is capability to complete
more than one instruction in one clock cycle.
• Internal data paths of 128 and 256 bits are
used to handle multiple data items of 32 bit
size simultaneously for processing.
Pentium processor
• 486 has 5-stage pipeline
1. Fetch
2. Decode1
3. decode2
4. Data fetch from, or store to, the memory. (ALU)
5. Write the result, back to the destination register
• In Pentium, there are two pipelines provided for
integer operation, after the decode stage.
• Floating point has 8-stage pipeline
Two-integer Pipelines
F
D1
Fetch Instruction
Decode
Instruction
F- instruction Fetch Stage
D1-Decode Stage 1
D2-Decode Stage 2
E-Exucute memory or ALU
WB-Write back to
destination
D2
Generate
Memory Addr
Generate
Memory Addr
D2
E
Do Memory or
ALU Operation
Generate
Memory Addr
E
Write result to
register
Write result to
register
W
B
U-
V-Pipe
W
B
Branch Handling
• Static Predictions – based on instructions.
• Conditional Branch, branch address above the
contents of EIP, it is not taken ; backward jump
is taken.
• Loop – is always taken since the no of times
the branch will be executed is high i.e. except
for the last iteration.
The 4MB page and Flat memory
• The pentium supports the segmented paged model. But the
size of the each page is 4mb rather than 4kb as in 386.
• In large programs, with systems having large physical memory,
it becomes more efficient from operational point of view to
have large pages, so that page swap overhead is reduced.
• Also it shrinks the page management tables.
• In flat memory model we specify the base address of all
segments as 0. so that memory looks like one segment of size
4gb.
Advanced Programmable Interrupt
Controller(APIC)
• Advanced programmable interrupt is in the processor chip in
contrast to 8086 which has priority interrupt controller
external to processor.
• They can be programmed to respond to any I/O interrupts or
even to external interrupt signals from 8259A
• In multiprocessor systems, they can communicate with other
processors and perform inter-processor interrupt
communications.
Multimedia Extension Technology
This technology requires a large amount of data processing.
Example of such processing is image processing, where several
pixels need to be processed to produce the result.
For such type of processing we have to use the concept of
SIMD(single instruction, multiple data) and this concept was first
introduced in Pentium processor.
• We have several MMX(Multimedia Extension) registers for
this purpose. Sometimes floating point registers are also used
for this process.
• The length of MMX data in pentium is 64-bits.
Model Specific Registers(MSRs) and Machine
check(MC) exception
• In pentium processors the special registers were introduced
called as MSR’s to indicate any h/w operation errors.
• The error types are indicated in these registers and recovery
can be guided by these indications which provides a way for
system management.
• The example of these errors can be
• When the bus memory or I/O operation cannot be completed
• During reset some of the h/w routines cannot be loaded.
• When a resource is held indefinitely by some agent , other
devices are waiting for that , some kind of dead lock occurs.
The INIT pin and Built-in-Self Test(BIST)
• At the time of power-on this pin is made 1 and reset pin is
made 0. the 1 on INIT pin will make the BIST program to
execute and check the large part of the processor at least
70%(circuits). The test result will be eax register. If its contents
are 0 it indicates circuit are perfect and the processor is ready
for operation.
• If any other value in eax register , it indicates that processor
circuit is damaged.
• Result in EAX reg : 0 -> no errors.
Any other value -> processor faulty.
System Management Mode(SMM)
• Pentium provides a system management mode,
intended for high-level functions such as power
management and security
• This mode is entered into when an interrupt is
generated at a special pin in the pentium processor,
• Executes CS:EIP; CS=3000H, EIP=8000H.
• All register conditions stored in SMM dump record
prior to entry and the restored when returning to
interrupted environment. It can create sleep mode
and other power saving modes.
Download