different microprocessors tamanna haque nipa lecturer dept. of computer science stamford university...

42
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Upload: austin-anthony

Post on 17-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Different Microprocessors

Tamanna Haque NipaLecturerDept. of Computer ScienceStamford University Bangladesh

Page 2: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Difference between 8086 &8088 External Data Path: 8 bit for 8088 and 16 bit

for 8086 Memory Access: 8088 access memory in byte

while 8086 can access memory both bytes and words.

8086 has faster clock rate and better performance then 8088.

8088 is less expensive than 8086.

Page 3: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80186/80188

Enhanced version of 8086/8088 The 6/8 MHz clock provides 2 times greater

throughput than the 5MHz 8086/8088. 68 pin package On chip priority interrupt controller chip to provide 5

interrupt pins 1 megabyte of memory can be addressed Instructions set as 8086 and 10 new instructions

(extended instruction set)

Page 4: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

8086/8088

General Registers

ALU

Control

Instruction Decoder

Segment Register

Bus Interface

Prefetcher

Prefetch queue

16 bit data or operand

request

Prefetch Instruction

20 bit address bus

multiplexed with data bus

Page 5: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

8086/8088

2 units:Execution unitBus interface unit

Both units are independent and operates parallel to each other to maximized th performance.

Page 6: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Execution unit

It executes all instructions as well as manipulating the general registers and the status and control flags.

It sends data and address to the BIU when required Instructions are fed to EU over 8 bit wide prefetch

queue bus Instructions are processed by the control system ALU, registers and internal data path are 16 bits wide

Page 7: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Bus Interface Unit

The BIU processes all requestes from the EU to read data from or write data to memory or I/O device

All requests pass through to BIU and it combines the segment and offsets to form the physical address using a dedicated hardware adder

Prefetch queue is a small FIFO RAM array, used to prefetch instruction following the current executing instruction for EU when the BIU is free

Page 8: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Bus Interface Unit

Prefetch queue in 8088 hold 4 bytes and BIU begins a fetch cycle whenever one or more bytes empty in the queue.

Prefetch queue in 8086 hold 6 bytes and BIU begins a fetch cycle whenever one or more bytes empty in the queue.

When an instruction causes program control to be transferred to the non-sequential location then the prefetch instruction no longer be valid.

Then BIU flushes the prefetch queue and immediately starts an instruction fetch at the target address.

Page 9: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Features of 80286

24-bit address bus. 16 bit data bus Able to address 16 MB of physical memory. It has a MMU[memory management unit] 68 pins 6 times faster than 8086 Used for multiuser and multitasking

Page 10: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80286 It operates in 2 modes

Real address mode: behaves like 8086 and program for 8086 can run directly.

Protected virtual address mode: it supports maltitasking, so several program runs at the same time and memory protection is required to protect the memory used by one program from the action of other program

Can address 16 megabye of physical address in protected mode and 1 GB of virtual memory.

Page 11: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Features of 80286 cont…

Register organization of 80286Eight 16-bit general purpose registersFour 16-bit segment registersStatus & control registers Instruction pointer

Page 12: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80286

Instruction Decoder

Decoded Instruction

Queue

General Registers

ALU

Control

Physical Address

Generator

Segment Registers

Segment Descriptor

CacheBus

Interface

Prefetcher

Prefetch Queue

16 bit offsets

and data

Operand request

Decoded instruction

Execution Unit

Instruction Unit

Physical address (24 bits)

Address unit

BIU

Address bus 24 bits

Data bus 16 bits

Page 13: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Processing Unit

4 Processing UnitAddress unitBus unit Instruction unitExecution unit

All units are independent and operates asynchronously and in parallel with the others.

Page 14: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Execution unit

Execution unit manipulates the general register as well as the status and control flags and executes all instructions.

The ALU performs the arithmetic and logical operations that are required by the instruction.

ALU also maintain the CPU status and control flags.

General registers are used to moves data to or from the registers as required.

Page 15: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

BUS Interface Unit It handles all communications and data

transfer between CPU and the system bus.

It generates the address, commands and data signals required to access memory and I/O devices.

Data and address bus are not multiplexed. The BIU uses the idle bus cycles to pre-

fetch instructions

Page 16: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

BUS Interface Unit cont…

Pre-fetch queue is 6 bytes long and whenever 2 or more bytes of pre-fetch queue becomes empty the pre-fetch cycle occurs.

A control transfer instruction causes the BIU flush the queue and immediately begin loading the instruction from the new address.

Page 17: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

The Instruction Unit

It decodes the pre-fetched instruction bytes for execution unit.

Up to 3 fully decoded instructions are available in the queue provided by the instruction unit.

Page 18: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

The Address Unit

In real mode the address unit works same as in the 8086. segment and offset values are summed together by a dedicated adder to produce a physical memory address.

In protected mode, every memory references, including code pre-fetches, must be checked against the permissions and segment limits of the current task to detect memory protection violations.

After the permission, the logical address needs to translate to a physical address for use by the BIU.

A cache has been designed into the address unit named segment descriptor cache register.

Page 19: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

The Address Unit

One segment descriptor cache register is provided for each of the four segment register.

When a segment register is loaded with a new value, the segment descriptor specifying access right, segment base address and address size associated with that value is automatically loaded into the appropriate segment descriptor cache register.

segment descriptor cache register is only accessed by the address unit.

Page 20: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80386 Similar to 80286 but enhanced 6 parts:

BIU Code Prefetch Unit Instruction Decode unit Execution Unit Segmentation Unit Paging Unit

Six level of pipelining makes it more faster Each part can work independently and parallel to

each other. So different part can process different instruction at a time.

Page 21: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80386Translation Lookaside

buffer

Page translator

Segment register

Segment Descriptor

Cache

Segment translator

Instruction decoder

Decoded Instruction

Queue

Protection test unit

General Registers

Barrel shifter

ALU

Multiply/Divide

Control Prefetcher

Prefetch Queue

BIUOperand request

Decoded instruction

Execution Unit

Instruction Decode Unit

Physical address

Address bus

Data bus

Code prefetch unit

Segmentation Unit

Paging Unit

Effective address 32 bits

Linear address

Page 22: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Additional hardware

The performance of 80386 has been also improved by some additional hardware64 bit barrel shifter: a specialized hardware that

performs multiple bit shifts in a single clock cycle.3 input adder dedicated to effective address processingAn early-out multiplier : terminates the multiply

algorithm when no significant digits remain to be processed.

Page 23: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

386DX and 386SX

Difference between 80386DX and 80386SX is the width of the external address and data buses. Internally both uses 32 bit pathways.

The address bus of 386DX is 32 bits wide and can directly address 4 gigabytes (232 bytes) of physical memory

The address bus of 386SX is 24 bits wide and can directly address 16 Mb (224 bytes) of physical memory

Page 24: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Bus Interface Unit

All requests for access to the bus that comes from the other on chip processing unit passes through the BIU

Because of the parallel operation of other parts of the microprocessor, it is possible that more than one bus request may be received by the BIU at the same time

BIU also queue and prioritize these requests. To avoid the delaying program execution, request from EU have highest priority

Every unit can independently communicate with BIU.

Page 25: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

The Code Pre-fetch Unit

Operates same as 80286 80386 can store 16 bytes of prefetch

instruction

Page 26: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

The instruction decode unit

3 decoded instruction can be saved in decoded instruction queue

Same as 80286

Page 27: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Execution Unit

The function of the EU can be divided into 3 major parts:

Control unit: the function of control unit is to speed up certain types of operations including multiplies, divides and effective address calculations.

Data unit: it contains ALU and eight 32 bit general registers of the 80386. it includes 64 bit barrel shifter and an early out multiplier.

The protection test unit: it monitors memory to detect segmentation violations.

Page 28: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Segmentation unit

It performs the first stage of address translation, converting the logical address to linear address.

Segment descriptor caches are employed both to speed up the translation and to allow protection violations to be detected without performance.

The dedicated 3 input adder is also used to speed up

Page 29: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

The Paging Unit

It translate the linear address to physical address.

If paging unit is not enable then physical address is the same as linear address .

It contains a cache called translation lookaside buffer (TLB), which holds 32 most recently used page table entries.

Page 30: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80486 Microprocessor

The 32-bit 80486 is the next evolutionary step up from the 80386.

One of the most obvious feature included in a 80486 is a built in math coprocessor. This coprocessor is essentially the same as the 80387 processor used with a 80386, but being integrated on the chip allows it to execute math instructions about three times as fast as a 80386/387 combination.

80486 is an 8Kbyte cache for both code and data 80486 is packaged in a 168 pin 25 to 66 MHz clock 32 bit data bus and 32 bit address bus

Page 31: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Translation Lookaside

buffer

Page translator

Segment register

Segment Descriptor

Cache

Segment translator

Floating Point

Control

Floating Point

Registers and Stack

General Registers

Barrel shifter

ALU

Multiply /Divide

Prefetcher

Prefetch Queue

Integer Unit

Prefetch unit

Segmentation Unit

Paging Unit

Linear address

Instruction decoder

Control

Protection test unit

Cache controller

8k Cache Bus

Interface

Bus Size Control

Burst Control

Parity Generator and Control

Write Buffers

Instruction Decode unit

Control unit

Floating Point unit

Cache unit

32 bit Address bus

32 bit Data bus

Instruction word

Micrpcode Entry Point

32 bit data

Physical address

Page 32: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80486 Similar to 80386 but enhanced 9 parts:

BIU Prefetch Unit Instruction Decode unit Control Unit Floating Point Unit Integer Unit Segmentation Unit Paging Unit Cache Unit

Six level of pipelining makes it more faster Each part can work independently and parallel to each other. So different

part can process different instruction at a time 80486 bus provides support for parity checking, burst cycle, cacheable

cycles and cache invalidation cycles, write buffering and can be configured dynamically for 8/16/32 bit data operations.

Page 33: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80486 The BIU exchange data internally only with

cache and instruction prefetch unit . Requests from all other processing units pass through the cache unit first. All request for access to the bus are prioritized and executed by the BIU.

The BIU reads data from the external bus 16 bytes at a time for transfer to cache unit.

The BIU can buffer up to 32 bit write transfers to memory.

Page 34: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80486

80486 contains 8k of high speed of RAM configured an on chip cache and managed by the cache unit.

An instruction prefetch cycle reads a 16 bytes block of memory.

The prefetch queue can hold 32 bytes and accepts prefetches in 16 bytes transfer.

Page 35: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80486 The instruction decode unit reads prefetched

instructions from the prefetch queue and translates the machine code bytes into control signals for the other processing unit.

The control unit executes the instructions that have been decoded and control over the integer, floating point and segmentation unit

The 2 32 bit data buses connecting the integer, cache and floating point unit are used together for transferring 64 bit operands in a single operation and has a separate 32 bit connection to the segmentation unit to pass the data to generate the effective address.

Page 36: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

80486

The segmentation unit and the paging unit constitute the memory management unit in 80486 and are used to implement both memory protection and virtual memory management.

Floating point unit is a integrated math coprocessor and execution speed is significantly improves when all operands are in registers or accessible in the cache. It is used to minimized the execution time.

Page 37: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Pentium Processor It is based on a superscalar design as the

processor includes dual pipelining and executes more than one instruction per clock cycle.

80486 is an 8Kbyte cache for code and 8Kbyte for data

60 to 100 MHz clock 64 bit data bus and 32 bit address bus It conation the complete 80486 instructions set

with some new ones.

Page 38: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Pentium Processor

The Pentium processor has 3 modes of operations: Real address mode: Pentium processor runs

programs written for 8086/8088. Protected mode: Designed for memory

management, protection, multitasking and multiprocessing.

System management mode (SMM): It allows engineers to design for low power usage.

Page 39: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh
Page 40: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Pentium Processor It includes faster floating point on chip hardware

than 80486. Faster algorithms provide up to ten times speed

up for common operations such as add, multiply and load.

The two instruction pipelines and on chip floating point unit are capable of independent operations.

Each pipeline issues frequently used instructions in a single clock cycle.

The dual pipelines an jointly issue 2 integer instruction in one clock cycle. Or one floating point instruction in one clock cycle.

Page 41: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Pentium Processor Branch prediction is implemented in the Pentium by

using two prefetch buffer:

one to prefetch code in a linear fashion and one to prefetch code according to the contains of the Branch Target Buffer (BTB) so the required code is almost always prefetched before it is needed for execution.

It includes 8 Kbytes on chip code cache and 8 Kbytes of data cache. Each cache is two way set associative and each cache has a dedicated Translation Lookaside Buffer (TLB) to translate linear address to physical address used by each cache.

Page 42: Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh

Pentium Processor There are 2 instruction pipelines, the ‘U’ pipe and the “V”

pipe which are nor equivalent and interchangeable. The “U” pipe can execute all integer and floating point

instructions. The “V” pipe can only execute simple integer instructions

and floating point exchange register contents instructions.

The instruction decode unit decodes the prefetched instructions so that the Pentium can execute them. The control ROM includes the micro code for the Pentium processor and has direct control over both pipelines.

A barrel shifter is included in the chip for fast shift operations.