+ All Categories
Home > Documents > Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping...

Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping...

Date post: 11-Jan-2016
Category:
Upload: reynold-bennett-garrison
View: 216 times
Download: 1 times
Share this document with a friend
36
Reconfigurable Computing
Transcript
Page 1: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Reconfigurable Computing

Page 2: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

This Class is About

• Reconfigurable Computing

• Computer Architecture

• Coping with Change

Page 3: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Outline

• What’s wrong with the status quo

• (Admin break: handouts)

• Reconfigurable Computing: What and Why

• (break)

• What this class is about

Page 4: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Big Idea

The Biggest Idea here is perhaps the simplest:

When we have 1000x the resources, we design computer

differently.

(Good architecture depends on costs.)

Page 5: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Fountainhead Pathenon Quote“Look,” said Roark. “The famous flutings on the famous columns---what are they there for? To hide the joints in wood---when columns were made of wood, only these aren’t, they’re marble. The triglyphs, what are they? Wood. Wooden beams, the way they had to be laid when people began to build wooden shacks. Your Greeks took marble and they made copies of their wooden structures out of it, because others had done it that way. Then your masters of the Renaissance came along and made copies in plaster of copies in marble of copies in wood. Now here we are making copies in steel and concrete of copies in plaster of copies in marble of copies in wood. Why?

Page 6: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

What About Computer Architecture?

Are we making copies in submicron CMOS VLSI of copies in NMOS of copies in TTL of early vacuum tube computer designs?

Mainframe->Mini->super microprocessors ?

CDC->Cray1->i860->Vector microprocessors?

Page 7: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

1983 Computer Architecture

• VLSI is “new” to the computer architect

• you have 15Min 4m NMOS

• want to run “all” programs

• What do you build?

2

Page 8: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

What can we build in 15M

• 12Kb SRAM (1.2Kbit)

• 1500 Gate-Array Gates (10K/gate)

• 30 4-LUTs (500K /4LUT)

• 32b ALU+RF+control

2

2

2

2

Page 9: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

1983

• RISC II

• MIPs

Page 10: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

What has changed in 15 years?

• Technology (0.25m CMOS)

• Capacity (20G• Architecture?

2

Page 11: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Capacity

Page 12: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Architecture

• Moved memory system on chip

• 32->64b datapath

• +FPU, moved on chip

• 1->4 compute units

• …lots of “hacks” to preserve sequential model of original uP

Page 13: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Why did we build computers this way in 1983?

Yesterday’s solution becomes today’s historical curiosity.

-- Goldratt

Page 14: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Why…1983?

Page 15: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

More Why?

Page 16: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.
Page 17: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Have our assumptions changed?

• Beware of cached answers.

• Always check your assumptions.

To stay young requires unceasing cultivation of the ability to unlearn old falsehoods.

-- Lazarus Long

Page 18: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Why…1983?

Page 19: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Example

• HP PA-RISC8500 (Hot Chips X)

• SPEC fits in on-chip cache

• What next?

• Does it make sense to keep this architecture and balance as capacity continues to grow?

Page 20: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Challenging our Assumptions

• General-purpose computing machines don’t have to look like processors.

• 1000x increase in single-chip silicon capacity changes the underlying design costs.

Page 21: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Early RC Successes

• Fastest RSA implementation is on a reconfigurable machine (DEC PAM)

• Splash2 (SRC) performs DNA Sequence matching 300x Cray2 speed, and 200x a 16K CM2

• Many modern processors and ASICs are verified using FPGA emulation systems

• For many signal processing/filtering operations, single chip FPGAs outperform DSPs by 10-100x.

Page 22: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

What is Configurable Computing?

Short answer: Computing via post-fabrication, spatially programmed connection of processing elements.

Page 23: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Defining Terms

• Computes one function (e.g. FP-multiply, divider, DCT)

• Function defined at fabrication time

• Computes “any” computable function (e.g. Processor, DSPs, FPGAs)

• Function defined after fabrication

Fixed Function: Programmable:

Page 24: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

“Any” Computation?(Universality)

• Any computation which can “fit” on the programmable substrate

• Limitations: hold entire computation and intermediate data

• Recall size/fit constraint

Page 25: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Benefits of Programmable

• Non-permanent customization and application development after fabrication

• economies of scale (amortize large, fixed design costs)

• time-to-market (evolving requirements and standards, new ideas)

Page 26: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Distinction in Instruction Binding Time

• Fabrication time --> Fixed function devices

• Beginning of product use --> Actel/Quicklogic FPGAs

• Beginning of usage epoch --> Reconfigurable FPGAs

• Every cycle --> traditional RISC processors

Page 27: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Spatial vs. Temporal Computing

Spatial Temporal

Page 28: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Density Comparison

Page 29: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Spatial/Configurable Benefits

• 10x raw density advantage over processors

• potential for fine-grained (bit-level) control --- can offer another order of magnitude benefit

Page 30: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Processor vs. FPGA Area

Page 31: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Configurable Drawbacks

• Each compute/interconnect resource dedicated to single function

• Must dedicate resources for every computational subtask

• Infrequently needed portions of a computation sit idle --> inefficient use of resources

Page 32: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Where CC interesting?

• Regular applications -- need same operation repeatedly

• High concurrency -- large number of operations can occur simultaneously

• Fine-grained data -- small operand data widths

Page 33: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Implications?

• Post-fabrication programmable computing space >> processor arch.

• With 10Gdies now and 1T on the horizon, a much wider space of computing architectures opens up.

• Major feature: more spatial processing, less multiplexing/sharing of resources.

2 2

Page 34: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Another Quote

An organization must have some means of combating the process by which people become prisoners of their procedures. The rule book becomes fatter as the ideas become fewer. Almost every well established organization is a coral reef of procedures that were laid down to achieve some long-forgotten objective.

-- John W. Gardner

Some would argue computer architecture is falling prey to this phenomenon.

Page 35: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

What’s it about?

• Architectures for late-bound computing systems

• Emphasis on spatial computing

• Re-exam what goes into these architectures and why

• Build up tools, techniques, and intuition for the architect and system designer

Page 36: Reconfigurable Computing. This Class is About Reconfigurable Computing Computer Architecture Coping with Change.

Topics

• Instructions • Interconnect• Compute elements• Retiming• Specialization• Control• Allocation

• Costs• Comparisons• Modeling• Mapping

Architecture Components Related Issues


Recommended