Module 5 -Introduction-to-Pentium-Processor
Module 5 -Introduction-to-Pentium-Processor
Syllabus:
Salient features of Pentium, System architecture, Superscalar Execution, Separate code & data cache, Floating
Point Exceptions, Branch prediction.
Introduction to Pentium-pro processor, Special Pentium-pro features, Introduction to Pentium -2 processor,
Pentium – 3 processor, Intel MMX Architecture.
1
9) Address Parity and
10) Internal Parity Checking
Provides high level of data integrity through data parity checking, address parity checking
and internal parity checking with machine check exception.
11) Functional Redundancy Checking and Lock Step operation
The Pentium processor has implemented functional redundancy checking to provide maximum error
detection of the processor and the interface to the processor. When functional redundancy checking is
used, a second processor, the ―checker‖ is used to execute in lock step with the ―master‖ processor.
The checker samples the master‘s outputs and compares those values with the values it computes
internally, and asserts an error signal if a mismatch occurs.
12) Execution Tracing
The trace cache sits between the instruction decode and execution core and is able to store already
decoded instructions reducing the load on the decoder.
13) Performance Monitoring
14) IEEE 1149.1 Boundary Scan
As more and more functions are integrated on chip, the complexity of board level testing is
increased. To address this, the Pentium processor has increased test and debug capability by
implementing IEEE Boundary Scan (Standard 1149.1).
15) System Management Mode
16) Virtual Mode Extensions
OR
1) Binary Compatible with Large Software Base
DOS, OS/2, UNIX, and WINDOWS
2) 32-Bit Microprocessor
32-Bit Addressing
64-Bit Data Bus
3) Superscalar Architecture
Two Pipelined Integer Units
Capable of under One Clock per Instruction
Pipelined Floating Point Unit
4) Separate Code and Data Caches
8K Code, 8K Write Back Data
2-Way 32-Byte Line Size
Software Transparent
MESI Cache Consistency Protocol
5) Advanced Design Features
Branch Prediction
2
Virtual Mode Extensions
6) 273-Pin Grid Array Package
7) BiCMOS Silicon Technology
8) Increased Page Size
4M for Increased TLB Hit Rate
9) Multi-Processor Support
Multiprocessor Instructions
Support for Second Level Cache
10) Internal Error Detection
Functional Redundancy Checking
Built in Self Test
Parity Testing and Checking
11) IEEE 1149.1 Boundary Scan Compatibility
12) Performance Monitoring
Counts Occurrence of Internal Events
Traces Execution through Pipelines
3
OR
The Pentium processor includes features to support multi-processor systems, namely an onchip
Advanced Programmable Interrupt Controller (APIC). This APIC implementation supports
multiprocessor interrupt management (with symmetric interrupt distribution across all processors),
multiple I/O subsystem support, 8259A compatibility, and inter-processor interrupt support.
4
Super scalar Architecture:
Processors capable of parallel instruction execution of multiple instructions are known as
Superscalar. The Pentium processor is a superscalar machine, built around two general purpose integer
pipelines and a pipelined floating-point unit capable of executing two instructions in parallel. Both
pipelines operate in parallel, allowing integer instructions to execute in a single clock in each pipeline.
The pipelines in the embedded Pentium processor are called the ―U‖ and ―V‖ pipes and the process
of issuing two instructions in parallel is termed ―pairing.‖ The U-pipe can execute any instruction in the
Intel architecture, whereas the V-pipe can execute ―simple‖ instructions.
D1 D2 WB
F EX
5
5) Write Back (WB): In the WB stage, the processor updates the registers and flags with the
instruction‘s results. All exceptional conditions must be resolved before an instruction can advance to
WB.
The branch instructions occur frequently while running any application. These instructions change the
normal sequential control flow of the program and may stall the pipelined execution in the Pentium
system. Branches may be of two types: Conditional branch and unconditional branch. In case of
conditional branch, the CPU has to wait till the execution stage to determine whether the condition is
met or not.
The Pentium processor makes the dynamic branch prediction using a Branch Target Buffer (BTB). To
efficiently predict branches, the Pentium uses two prefetch buffers. One buffer prefetches code in linear
fashion, while the other prefetches instructions based on address in the branch target buffer. As a result
the needed code is prefetched before it is required for execution. The Pentium processors prediction
algorithm not only forecast the simple branch choices but also supports more complex branch prediction
for example, within nested loops.
The prediction mechanism is implemented using 4 way set associative cache with 256 entries referred as
branch target buffer. Whenever branch is taken CPU enters the branch instruction address & the
destination address in BTB. When an instruction is decoded CPU searches the BTB to determine
presence of entry. If it is present, CPU uses previous history to decide to take the branch. The history bits
can indicate one of the four possible stages & updated as follows.
6
Floating-point Exceptions:
An in the case of integer arithmetic, there are six possible floating-point exceptions in Pentium. These
are:
1. Divide by zero,
2. Overflow,
3. Underflow,
4. Denormalized operand and
5. Invalid operation.
These exceptions carry their usual meanings. The divide by zero exception, invalid operation
exception and denormalized operand exception can be easily detected even before the actual floating-
point calculation. A mechanism known as Safe Instruction Recognition (SIR) has been employed in
Pentium. This mechanism determines whether a floating-point operation will be executed without
creating any exception. In case an instruction can safely be executed without any exception, the
instruction is allowed to proceed for final execution. If a floating-point instruction is not safe then the
pipeline stalls the instruction for three cycles and after that the exception is generated.
7
X2 Floating-Point Execute stage two;
WF Perform rounding and write floating-point result to register file; bypass 2
ER Error Reporting/Update Status Word.
8
Introduction to Pentium 2 processor:
Pentium 2 supports all features of Pentium, Pentium Pro and Pentium with MMX architecture.
1) Available at 233 MHz, 266 MHz, 300 MHz, and 333 MHz core frequencies
2) Binary compatible with applications running on previous members of the Intel microprocessor line
3) Dynamic Execution micro architecture
4) Dual Independent Bus architecture: Separate dedicated external System Bus and dedicated internal
high-speed cache bus
5) Intel‘s highest performance processor combines the power of the Pentium Pro processor with the
capabilities of MMX technology
6) Power Management capabilities
System Management mode
Multiple low-power states
7) Optimized for 32-bit applications running on advanced 32-bit operating systems
8) Single Edge Contact (S.E.C.) cartridge packaging technology; the S.E.C. cartridge delivers high
performance with improved handling protection and socketability
9) Integrated high performance 16 KB instruction and 16 KB data, non-blocking, level one cache
10) Available with integrated 512 KB unified, non-blocking, level two cache
11) Enables systems which are scalable up to two processors and 64 GB of physical memory
12) Error-correcting code for System Bus data
9
10) Integrated high performance 16KB instruction and 16KB data, non-blocking, level one cache
11) 512KB Integrated Full Speed level two cache allows for low latency on read/store operations
12) Quad Quad-word Wide (256 bit) cache data bus provides extremely high throughput on read/ store
operations.
13) 8-way cache associativity provides improved cache hit rate on reads/store operations.
14) Error-correcting code for System Bus data
15) Data Prefetch Logic
What is MMX?
Intel introduced the MMX (multimedia extension) technology at a time when there was a tremendous need
to improve the 2-D and 3-D imaging for multimedia applications.
Most of the algorithms in multimedia applications involve operations on several pixels (picture cell)
simultaneously. A pixel of an image may be represented by a 24-bit quantity. Similarly, in case of a
black and white image, a pixel may be represented by an 8-bit number.
Most of the image processing algorithms and images compression techniques required for involves
operations on multiple numbers of pixels simultaneously. Thus most of the multimedia applications
require SIMD (single Instruction stream Multiple Data Stream) kind of architecture. This is precisely
what Intel provides through a set of the 57 MMX instructions. These instructions help the programmer to
write efficient programs for image filtering, image enhancement, coding and other algorithms.
Using conventional CPUs, we can operate on two pixels at the most, concurrently. Using MMX instruction
set, on the other hand, we can load eight pixels simultaneously and perform concurrent operations on
them.
10
MMX Data Types:
The MMX technology supports the following four data types.
1. Packed bytes-In this data types, eight bytes can be packed into one 64 bit quantity.
2. Packed word-Four words can be packed into 64 bit.
3. Packed double word-Two double words can be packed into 64 bit
4. One quadword-One single64 bit quantity.
The bytes in the packed bytes data type are numbered 0 through 7, with byte 0 being contained in the
least significant bits of the data type (bits 0 through 7) and byte 7 being contained in the most significant
bits (bits 56 through 63). The words in the packed words data type and numbered 0 through 4, with word
0 being contained in the bits 0 through 15 of the data type and word 4 being contained in bits 48 through
63. The doublewords in a packed doublewords data type are numbered 0 through 1, with doubleword 0
being contained in bits 0 through 31 and doubleword 1 being contained in bits 32 through 63.
12
13
Computer Department, Jamia Polytechnic (0366) Advanced Microprocessor (AMI – 17627)
a) Describe the general purpose registers and their functions in pentium processor with neat
diagram.
c) State and describe the significance of separate code and data cache in pentium processor.
Summer 2016
1. Attempt any FIVE of the following: 20
c) List any eight saliant features of Pentium.
d) Describe fire state pipelining mechanism of Pentium with neat diagram.
14
Computer Department, Jamia Polytechnic (0366) Advanced Microprocessor (AMI – 17627)
Winter 2016
1. Answer any FIVE of the following: 20
c) Explain branch prediction in pentium.
15