csci 2570 introduction to nanocomputing 04 reconfigurablecomputing.pdfreconfigurable computing csci...

29
CSCI 2570 Introduction to Nanocomputing Reconfigurable Computing John E Savage

Upload: others

Post on 24-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

CSCI 2570Introduction to

Nanocomputing

ReconfigurableComputing

John E Savage

Page 2: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 2

Overview

Introduction to reconfigurable computing.

Reconfiguration at the nanoscale.

Figs. On pgs. 4,16-18, 24, 25, 27 were created by A. Dehon.

Page 3: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 3

The Current Hardware Landscape

Very large scale integration (VLSI) yields chips with lots of components

The role of configurable chips is increasing.Application specific integrated circuits (ASICs) allow engineers to design chips for manufacture from standard parts.Field-programmable gate arrays (FGPAs) allow engineers to program a chip after manufacture.

Page 4: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 4

Very Large Scale Integration (VLSI)

> 100,000,000 transistors/chip today

2.5 x 1011 λ2 units of area available on a chip.

λ = feature size (minimal wire width and separation) (λ = half-pitch)3D not fully exploited

Designing, verifying, making, and testing a big chip is very

Page 5: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 5

CPUs and ASICsCPUs are expensive, carefully designed, general-purpose computing elements.

CPU speed has stopped doubling every 2-3 yearsFuture growth will be spatial and 3D

ASICs are Inflexible but efficient in area useRequire long turn-around timesGet designed once and then are manufactured

Page 6: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 6

Reconfigurable Computers

Computers in which the hardware can be re-programmed during or just before execution.

This 1960s concept was not used extensively until the amount of re-programmable hardware on a chip was large enough.

Page 7: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 7

Why Use Reconfigurable Computing?

CPUs have lots of general-purpose hardware

Some hardware can be bypassed through reconfiguration.

Note: Reconfiguration introduces its own overhead

In the nanoscale world, reconfiguration is needed to handle uncertainty and errors.

Page 8: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 8

Field-Programmable Gate Arrays (FPGAs)

Array of programmable logic cells and interconnect – horizontal and vertical busses connected by programmable switches.

Logic cells

Switch blocks

I/O pads

Busses

FPGAS may contain processors and RAM.

FPGAs may use more power than ASICs

Page 9: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 9

FPGA ApplicationsDigital signal processing

Internet routing

Medical imaging

Cryptography

Computer vision

Page 10: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 10

Reconfigurable HardwareProgrammed logic arrays (PLAs)

AND/OR planes with programmable junctions

Lookup tables (LUTs)Small memories contain mappings defining binary functions.

Logic cellsLUTs plus some memory and enabling logic

Page 11: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 11

Programmed Logic Arrays (PLAs)

Form minterms in AND planeCombine them in an OR plane. Simplification to sum-of-products possible.

Page 12: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 12

Programmable LogicLookup Tables (LUTs)

FPGAs contain many LUTsA LUT for k-input gates has register holding 2k bits as well as a multiplexer that selects one bit based on the value of the k inputs.

0 1 1 0 1 0 0 1

xy

f(x,y,z)

1111

0011

0101

1001

0110

1010

11000000

f(x,y,z)zyx

z

Page 13: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 13

Logic Cell

A typical logic cell has one LUT, a D-type flip-flop and a 2-1 mulitplexer to circumvent the flip-flop, if desired.

LUTD

Page 14: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 14

Example of Programmable Interconnect

Set d1 and d2 so that H3

L is sent to either V2

T, H3R, or

V2B.

Add flip-flops to hold values of d1and d2.

Repeat at many intersections.

d1

d2

H3L

V2T

H3R

V2B

Page 15: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 15

Typical Switch Box Topology

Page 16: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 16

PLA Tile

K-LUT (k = 4) with optional output flip-flop

Tile has LUT and programmable interconnect

Page 17: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 17

Toronto FPGA Model

Page 18: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 18

Programmable Interconnect Dominates Area in FPGAs

Page 19: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 19

Mapping of Hardware Descriptions to FPGAs

Write program in hardware design language (HDL)HDL uses logical expressions and registers (arrays of flip-flops)

HDL translated to register transfer level (RTL) descriptions

Circuits and control signals for registers

RTL descriptions are mapped to hardware so as to minimize either area, speed, or power.

Page 20: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 20

Mapping of Hardware Descriptions to FPGAs

Placement problem: map gates and flip-flops to specific FPGA cells.Routing problem: choose paths for wires between gates and flip-flops.

These are NP-hard problems.Regular FPGA structure introduces inefficiencies

Other issues: design verification, fault testing

Page 21: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 21

Design IssuesFor what type of problems are FPGAs best?

What granularity is appropriate for logic cells?

How flexible should the switchboxes be?

How wide should the busses be?

What other components should be on chip?

How efficient are FPGAs relative to ASICs and custom design?

Page 22: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 22

FPGAs Today100,000s of LUTs

Memories and processors embeddedData rates of 10 Terabits – bandwidth 10-100 x

Clock rate is 100s of MHz

Will continue to get bigger but speed not likely to increase

Page 23: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 23

New Roles for ReconfigurationAdapt to defects and ageing faults

Reload configuration data for FPGA after fault detection.Cosmic rays can erase bits while FPGA in earth orbit

Provide computational flexibilityChange specialized functions on the fly

Performance improvement is goal.

Design and reconfiguration can be simplified if appropriate computational model is used.

What models are best adapted to nanoscale systems?

Page 24: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 24

Molecular-Scale Reconfigurable Arrays

Arrays of configurable nanowire (NW) crossbars.

A NW crossbar can be used as a memory, PLA, or interconnect.

Page 25: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 25

Nanoscale PLAs

Page 26: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 26

Nanoscale PLAs

Crossbars will play a central roleEach row can act as a wired-OR.

Page 27: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 27

Role of Inversion (NOT)

Needed to boost signal strength.

Needed for a complete logical basisCan’t get all Boolean functions with AND & OR.

Inverters are hard to “place” at nanoscale.Lightly-doped regions spaced out on NWs.NWs placement via “floating” results in random alsignment with mesoscale wires

Page 28: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 28

Atomic-Scale Physical Effects

Material assembly will be statistical.NW addresses will be unknown in advance and must discovered

Faults will be common.Permanent defects: can program around, perhapsTransient faults: require redundancy or rollbackAgeing faults: require monitoring and adaptation

Page 29: CSCI 2570 Introduction to Nanocomputing 04 ReconfigurableComputing.pdfReconfigurable Computing CSCI 2570 @John E Savage 23 New Roles for Reconfiguration zAdapt to defects and ageing

Reconfigurable Computing CSCI 2570 @John E Savage 29

Conclusions

Reconfigurable computing a rich subject.

Reconfiguration at the nanoscale is desirable but introduces novel problems.