techniques for mitigating memory latency effects in the - hot chips

18
David Johnson Systems Technology Division Hewlett-Packard Company Techniques for Mitigating Memory Latency Effects in the PA-8500 Processor

Upload: others

Post on 11-Feb-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

David JohnsonSystems Technology DivisionHewlett-Packard Company

Techniques forMiti gating Memory Latency Effects

in the PA-8500 Processor

Page 2: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Presentation Overview

• PA-8500 Overview

• Instruction Fetch Capabilities

• Reorder Buffers (“The Queue”)

• Data Cache

• System Bus

Page 3: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

PA-8500

IRBIntDP FP

ARB

IFTLB

I-Cache(0.5 MB)

D-Cache(0.5 MB)

D-tag

D-tag

Runway Bus I/O

Cac

he D

PBus Cntl I-tag

D-Cache(0.5 MB)

Page 4: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

PA-8500 Processor CoreInstruction Fetch Unit

BHT, BTACSystem Bus

Interface

Rename Registers

Dual Load/Store

Address Adders

Retire

Architected Registers

Rename Registers

Dual FP Multiply/

Accumulate Units

Dual FP Divide/ SQRT Units

Sort

Data Cache

Dual 64-bit

Integer ALUs

Inst. Cache

Address Reorder Buffer

28 entries

Runw

ay bus

ALU Buffer

28 entries

Memory Buffer

28 entries

Dual Shift/ Merge Units

TLB

Page 5: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Memory Latency

Latency ProblemsInstruction Fetches & Loads

Techniques for Hiding LatencyHigh hit-rate cachesPrefetchingOverlapping cache misses

Year

Speed(MHz)

1000

1990 1995 2000

100

10DRAM

CPU

Page 6: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Instruction Fetch Features• Instruction Cache

� 0.5 MB on-chip cache

� 4-way set associative

� Pipelined 2-cycle access

� Provides 4 instructions per cycle to CPU core

� Supports 32-byte and 64-byte line sizes

• Instruction Prefetching

Page 7: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

PA-8500 I-Cache Composition

=

I-Fetch

InstructionReorderBuffer

(“Queue”)

TAGS

I-Cache RAM I-Cache RAM

I-Cache RAM I-Cache RAM

mux

4 Instructions per c ycle to Queue

from a 0.5 MB cache

Address

Page 8: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

PA-8500 Instruction PrefetchingInstruction

ReorderBuffer

(“Queue”)

InstructionFetchUnit

InstructionCache

Tags

PrefetchBuffer

System BusInterface

Runway Bus

1. I-Miss from cache2. I-Miss issued to Runway Bus3. I-Prefetch issued to Runway Bus4. I-Miss Return inserted into cache5. I-Prefetch Return held in Prefetch Buffer6. I-Miss from Cache causes Prefetch Buffer Hit7. I-Miss moved from Prefetch Buffer to Cache8. I-Prefetch issued to Runway Bus (next line)

Page 9: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Reorder Buffers

InstructionReorderBuffer

(“Queue”)(56 entries)

AddressReorderBuffer

(28 entries)

DataCache(1MB)

System BusInterface

Load/StoreAddress

Adder

Runway Bus

Load/StoreAddress

Adder

Insert Launch Address Cache Cache RR Retire

FromI-Fetch

Cycle by cycle progression of a load instruction

Page 10: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

LOAD-MISS Overlapping

LOAD-MISS

LOAD-MISS

Use

LOAD-MISS

Use

Usetime

The Problem

PA-8500 SolutionLOAD-MISS

LOAD-MISS

Use

LOAD-MISS

Use

Use

Page 11: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

matches

grantL

requests

Address

Address Reorder Buffer: High-Speed Custom CircuitryC

ache

por

t arb

itrat

ion

circ

uits

28 Entries

Inse

rt A

ddre

sses

from ALU to Cache

0-catcher

Laun

ch A

ddre

sses

Mis

s A

ddre

sses

to Runway0-catcher

miss-grantL

Address

matches

grantL

requests

Address

miss-grantL

Address

Page 12: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Data Prefetching

LOAD-to-GR0

LOAD-HIT

Instr

time

The ProblemAvoid the LOAD-MISS latenc y

SolutionCompiler inserts Prefetch instruction (LOAD to GR0)Independent instructions executed (“Instr”)Data is resident in cache for LOAD

(LOAD-HIT)

Instr

Instr

Instr

Instr

Instr

Instr

Instr

Instr

Instr

Instr

Page 13: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Data Cache Features

• 1.0 MB on-chip cache

• 4-way set associative

• 2-cycle pipelined access

• Two accesses per cycle

• Supports 32-byte and 64-byte line sizes

• Sophisticated Store Queue

Page 14: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Sto

re Q

ueue

Data Cache

=

=

IntegerDataPath

TLB

SystemInterface

TAG RAM

TAG RAM

EVENDATA RAM

ODDDATA RAM

Sto

re Q

ueue

Page 15: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Single-Level vs. Multi-LevelCache Designs

0.5 MBInstr

Cache

1 MBData

Cache

Core

System Bus

32 KB (each) @ 1 cycle

System Bus

Off-chip L2

L1 InstrL1 Data

Core

4 MB @ ~15 cycles

1.5 MB @ 2 cycles

Page 16: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

System Bus Interface

• Split-transaction bus with out-of-order returns

• Multiple transactions in flight simultaneously

• Priority given to latency-sensitive transactions

• Asynchronous Interface

• Turbo Mode

Page 17: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Turbo Mode

Clock

Address

Data

High-Speed Data Transfer between Memory and CPU

Page 18: Techniques for Mitigating Memory Latency Effects in the - Hot Chips

Mitigating Memory Latency Effects

• Large Caches

• Out-of-Order Queue

• Flexible System Interface

• Custom Circuit Design

The PA-8500 Achieves Superb Performance !