Top Banner
1 2004 MAPLD: 153 Brej Early output logic and Anti-Tokens Charlie Brej APT Group Manchester University
24

Early output logic and Anti-Tokens

Jan 23, 2016

Download

Documents

shadi

Early output logic and Anti-Tokens. Charlie Brej APT Group Manchester University. Overview. Synchronous Problems Asynchronous Logic Why? How? Solutions Early Output Anti-Tokens. Problems: Communication. Communication horizon - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Early output logic and Anti-Tokens

1 2004 MAPLD: 153Brej

Early output logic and Anti-Tokens

Charlie Brej

APT Group

Manchester University

Page 2: Early output logic and Anti-Tokens

2 2004 MAPLD: 153Brej

Overview

Synchronous ProblemsAsynchronous Logic

Why?How?

SolutionsEarly OutputAnti-Tokens

Page 3: Early output logic and Anti-Tokens

3 2004 MAPLD: 153Brej

Problems: Communication

Communication horizon“For a 60 nanometer

process a signal can reach only 5% of the die’s length in a clock cycle” [D. Matzke,1997]

Clock distributed using wave pipelining

Page 4: Early output logic and Anti-Tokens

4 2004 MAPLD: 153Brej

Problems: Performance

Cycletime

Unbalanced Stages

Clock Skew/Jitter

Transistor Variability

Signal Integrity

Worst – Averagecase performance

Real Computation

Clockoverheads

TimingAssumptionoverheads

Page 5: Early output logic and Anti-Tokens

5 2004 MAPLD: 153Brej

Clock! What is it good for?

No arguing with the clock9am - 5pm. No excuses!

Page 6: Early output logic and Anti-Tokens

6 2004 MAPLD: 153Brej

Bundled-Data

When you finish, do the next taskFlexitime

Request + Delay

Acknowledge

Page 7: Early output logic and Anti-Tokens

7 2004 MAPLD: 153Brej

How do you know when you are finished?

Synchronous:EstimateGlobal timing reference

Asynchronous (bundled-data)EstimateLocal delay elements

Asynchronous (delay-insensitive)When the data arrivesIntrinsic

Page 8: Early output logic and Anti-Tokens

8 2004 MAPLD: 153Brej

Becoming Delay Insensitive

Dual-RailTwo wires00 – NULL01 – Zero10 – One(11 – Not used)

Four Phase handshakeReturn to zero

R1

Ack

R0

Page 9: Early output logic and Anti-Tokens

9 2004 MAPLD: 153Brej

Early Output Logic

Dual-Rail interfacesOutput generated as

early as possibleTwo Early output cases

If either input is ‘0’ then the output is ‘0’

Page 10: Early output logic and Anti-Tokens

10 2004 MAPLD: 153Brej

Bit level pipelining

Forward completed parts of the resultPace workDon’t stall parts unless you have to

Page 11: Early output logic and Anti-Tokens

11 2004 MAPLD: 153Brej

Bit level pipelining

Forward completed parts of the resultPace workDon’t stall parts unless you have to

Page 12: Early output logic and Anti-Tokens

12 2004 MAPLD: 153Brej

Bit level pipelining

Forward completed parts of the resultPace workDon’t stall parts unless you have to

Page 13: Early output logic and Anti-Tokens

13 2004 MAPLD: 153Brej

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Inputs Present

Pro

babi

lity

of O

utpu

t

Branch unitinc. Coproc.

Branch unit

CompareLT/GE 8bit

CompareEqual 8bit

Adder bit 8

Mux 8:1

Memoryshift unit

ALU Slice

16 inputAND

Early Output cases

Page 14: Early output logic and Anti-Tokens

14 2004 MAPLD: 153Brej

Validity

Unnecessary late inputsMust be acknowledgedMust wait until they arrive

Validity signalLatch generatedReady to be acknowledged

Result before all inputs presentAcknowledge after all inputs present

Page 15: Early output logic and Anti-Tokens

15 2004 MAPLD: 153Brej

Synchronisation Hurts

No need to wait before generating result

Need to wait for input in order to acknowledge it

Unnecessary stall

Page 16: Early output logic and Anti-Tokens

16 2004 MAPLD: 153Brej

Anti-Tokens

Unnecessary late inputsStall the entire stage

Proactive approachSend a ‘cancel’ signal backward to the sourceAcknowledge before data arrives

Anti-Token latchesAssert validity early

Page 17: Early output logic and Anti-Tokens

17 2004 MAPLD: 153Brej

Anti-token generation

0

1

C

Page 18: Early output logic and Anti-Tokens

18 2004 MAPLD: 153Brej

Anti-token generation

0

A 1

C

Page 19: Early output logic and Anti-Tokens

19 2004 MAPLD: 153Brej

Anti-token Propagation

1

C

A

Page 20: Early output logic and Anti-Tokens

20 2004 MAPLD: 153Brej

Anti-token Propagation

1

C

AA

Page 21: Early output logic and Anti-Tokens

21 2004 MAPLD: 153Brej

Anti-token Token collisions

1 1 A A

1 1 A A?

A?1

Page 22: Early output logic and Anti-Tokens

22 2004 MAPLD: 153Brej

Anti-token Token collisions

1 1 A

1 1 A A1

A1

11

Page 23: Early output logic and Anti-Tokens

23 2004 MAPLD: 153Brej

Remove Unnecessary computation

Cycletime

Unbalanced Stages

Clock Skew/Jitter

Transistor Variability

Signal Integrity

Worst – Averagecase performance

Real Computation

Clockoverheads

TimingAssumptionoverheads

Unnecessary Computation/Delays

Page 24: Early output logic and Anti-Tokens

24 2004 MAPLD: 153Brej

Summary

AsynchronousDelay Insensitive

Safe No timing assumptions

Average case performanceRemove unnecessary computationAnti-tokens without mutual exclusion units