Seminar on High-Speed Asynchronous Pipelines
Download
Report
Transcript Seminar on High-Speed Asynchronous Pipelines
Seminar on High-Speed
Asynchronous Pipelines
Montek Singh
Thursdays 10-11, SN325
1
Lecture 1: Introduction
What is asynchronous design? Why do we want to
study it?
What is pipelining? How can it be used to design
really fast hardware?
2
Introduction: Clocked Digital Design
Most current digital systems are synchronous:
Clock: a global signal that paces operation of all components
clock
Benefit of clocking: enables discrete-time representation
all components operate exactly once per clock tick
component outputs need to be ready by next clock tick
allows “glitchy” or incorrect outputs between clock ticks
3
Microelectronics Trends
Current and Future Trends: Significant Challenges
Large-Scale “Systems-on-a-Chip” (SoC)
100 Million ~ 1 Billion transistors/chip
Very High Speeds
multiple GigaHertz clock rates
Explosive Growth in Consumer Electronics
demand for ever-increasing functionality …
… with very low power consumption (limited battery life)
Higher Portability/Modularity/Reusability
“plug ’n play” components, robust interfaces
4
Challenges to Clocked Design
Breakdown of Single-Clock Paradigm:
Chip will be partitioned into multiple timing domains
Increasing Difficulties with Clocked Design:
Clock distribution: will require significant designer effort
Performance bottleneck: a single slow component
Clock burns large fraction of chip power
Fixed clock rate: poor match for
designing reusable components
interfacing with mixed-timing environments
5
What is Asynchronous Design?
Digital design with no centralized clock
Synchronization using local “handshaking”
clock
Synchronous System
(Centralized Control)
handshaking
interface
Asynchronous System
(Distributed Control)
6
Why Asynchronous Design?
Higher Performance
May obtain “average-case” operation (not “worst-case”)
Avoids overheads of multi-GHz clock distribution
Lower Power
No clock power expended
Inactive components consume negligible power
Better Electromagnetic Compatibility
Smooth radiation spectra: no clock spikes
Much less interference with sensitive receivers [e.g., Philips
pagers]
Greater Flexibility/Modularity
Naturally adapt to varied environments
Supports reusable components
7
Challenges of Asynchronous Design
Hazards: potential “glitches” on wire
clock tick
clean signals
hazardous signals
no problem
for clocked
systems
communication must be hazard-free!
special design challenge = “hazard-free synthesis”
Testability Issues:
absence of clock means no “single-stepping”
Lack of Commercial CAD Tools:
chicken-and-egg problem
8
Asynchronous Design: Past & Present
Async Design: In existence for 50 years, but …
… many recent technical advances:
Hazard-Free Circuit Design:
several practical techniques for controllers [Stanford/Columbia]
Design for Testability:
several test solutions, e.g. Philips Research
Maturing Computer-Aided-Design (“CAD”) Tools:
software tools for automated design [Philips,Columbia,Manchester]
Successful Fabricated Chips:
embedded processors, high-speed pipelines, consumer electronics…
9
Recent Commercial Interest
Several commercial asynchronous chips:
Philips: asynchronous 80c51 microcontrollers
used in commercial pagers [1998] and cell phones [2000]
Univ. of Manchester: async ARM processor [2000]
Motorola: async divider in PowerPC chip [2000]
HAL: async floating-point divider
in HAL-I and II processors [early 1990’s]
Recent experimental chips:
IBM, Sun and Intel:
fast pipelines, arbiters, instruction-length decoder…
IBM/Columbia Univ.: asynchronous digital FIR filter
Several recent startups:
Theseus Logic, ADD, AmuCo…
10
Seminar Focus
Overall Goal:
Asynchronous Design for Very High-Speed Systems
Focus: High-Throughput Pipelines
Motivation: Pipelining is at the heart of nearly all
high-performance digital systems
Additional Benefits:
Low power
Interfacing with mixed systems
Modular and scalable design
11
Background: Pipelining
What is Pipelining?: Breaking up a complex operation on a
stream of data into simpler sequential operations
fetch
decode
execute
A “coarse-grain” pipeline (e.g. simple processor)
Storage elements
(latches/registers)
A “fine-grain” pipeline (e.g. pipelined adder)
Throughput = #data items processed/second
+ Throughput: significantly increased
– Latency: somewhat degraded
12
Seminar Focus (contd.)
Particular Focus: Extremely fine-grain pipelines
“gate-level” pipelining = use narrowest possible stages
each stage consists of only a single level of logic gates
some of the fastest existing digital pipelines to date
Application areas:
multimedia hardware (graphics accelerators, video DSP’s, …)
naturally pipelined systems, throughput is critical
input is often “bursty”
optical networking
serializing/deserializing FIFO’s
genomic string matching?
KMP style string matching: variable skip lengths
13
Homework Problem
Alice and Bob live on opposite sides of a wide river:
Alice
Bob
Alice is supposed to send a message (say, a “Yes”/”No”) across
to Bob around midnight. Both have flashlights, but neither
owns a watch. What should they do?
Suggest several strategies, and discuss pros and cons of each.
14