csci 2570 introduction to nanocomputing
play

CSCI 2570 Introduction to Nanocomputing Reconfigurable Computing - PowerPoint PPT Presentation

CSCI 2570 Introduction to Nanocomputing Reconfigurable Computing John E Savage Overview Introduction to reconfigurable computing. Reconfiguration at the nanoscale. Figs. On pgs. 4,16-18, 24, 25, 27 were created by A. Dehon.


  1. CSCI 2570 Introduction to Nanocomputing Reconfigurable Computing 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. Reconfigurable Computing CSCI 2570 @John E Savage 2

  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. Reconfigurable Computing CSCI 2570 @John E Savage 3

  4. Very Large Scale Integration (VLSI) � > 100,000,000 transistors/chip today � 2.5 x 10 11 λ 2 units of area available on a chip. � λ = feature size (minimal wire width and separation) ( λ = half-pitch) � 3D not fully exploited � Designing, verifying, making, Reconfigurable Computing CSCI 2570 @John E Savage 4 and testing a big chip is very

  5. CPUs and ASICs � CPUs are expensive, carefully designed, general-purpose computing elements. � CPU speed has stopped doubling every 2-3 years � Future growth will be spatial and 3D � ASICs are � Inflexible but efficient in area use � Require long turn-around times � Get designed once and then are manufactured Reconfigurable Computing CSCI 2570 @John E Savage 5

  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. Reconfigurable Computing CSCI 2570 @John E Savage 6

  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. Reconfigurable Computing CSCI 2570 @John E Savage 7

  8. Field-Programmable Gate Arrays (FPGAs) � Array of programmable logic cells and interconnect – horizontal and vertical busses connected by programmable switches. Logic cells � FPGAS may contain Switch blocks processors and RAM. I/O pads � FPGAs may use more Busses power than ASICs Reconfigurable Computing CSCI 2570 @John E Savage 8

  9. FPGA Applications � Digital signal processing � Internet routing � Medical imaging � Cryptography � Computer vision Reconfigurable Computing CSCI 2570 @John E Savage 9

  10. Reconfigurable Hardware � Programmed logic arrays (PLAs) � AND/OR planes with programmable junctions � Lookup tables (LUTs) � Small memories contain mappings defining binary functions. � Logic cells � LUTs plus some memory and enabling logic Reconfigurable Computing CSCI 2570 @John E Savage 10

  11. Programmed Logic Arrays (PLAs) � Form minterms in AND plane � Combine them in an OR plane. � Simplification to sum-of-products possible. Reconfigurable Computing CSCI 2570 @John E Savage 11

  12. Programmable Logic Lookup Tables (LUTs) � FPGAs contain many LUTs � A LUT for k -input gates has register holding 2 k bits as well as a multiplexer that selects x y z f(x,y,z) one bit based on the value of the k inputs. 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 x f(x,y,z) y 1 0 1 0 z 1 1 0 0 1 1 1 1 Reconfigurable Computing CSCI 2570 @John E Savage 12

  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. LUT D Reconfigurable Computing CSCI 2570 @John E Savage 13

  14. Example of Programmable Interconnect V 2 T � Set d 1 and d 2 so L is sent to that H 3 T , H 3 R , or either V 2 B. V 2 d 1 � Add flip-flops to L H 3 H 3 R hold values of d 1 d 2 and d 2 . � Repeat at many B V 2 intersections. Reconfigurable Computing CSCI 2570 @John E Savage 14

  15. 15 Typical Switch Box Topology CSCI 2570 @John E Savage Reconfigurable Computing

  16. PLA Tile � K-LUT (k = 4) with optional output flip-flop � Tile has LUT and programmable interconnect Reconfigurable Computing CSCI 2570 @John E Savage 16

  17. 17 Toronto FPGA Model CSCI 2570 @John E Savage Reconfigurable Computing

  18. Programmable Interconnect Dominates Area in FPGAs Reconfigurable Computing CSCI 2570 @John E Savage 18

  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. Reconfigurable Computing CSCI 2570 @John E Savage 19

  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 Reconfigurable Computing CSCI 2570 @John E Savage 20

  21. Design Issues � For 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? Reconfigurable Computing CSCI 2570 @John E Savage 21

  22. FPGAs Today � 100,000s of LUTs � Memories and processors embedded � Data 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 Reconfigurable Computing CSCI 2570 @John E Savage 22

  23. New Roles for Reconfiguration � Adapt 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 flexibility � Change 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? Reconfigurable Computing CSCI 2570 @John E Savage 23

  24. Molecular-Scale Reconfigurable Arrays � Arrays of configurable nanowire (NW) crossbars. � A NW crossbar can be used as a memory, PLA, or interconnect. Reconfigurable Computing CSCI 2570 @John E Savage 24

  25. 25 CSCI 2570 @John E Savage Nanoscale PLAs Reconfigurable Computing

  26. Nanoscale PLAs � Crossbars will play a central role � Each row can act as a wired-OR . Reconfigurable Computing CSCI 2570 @John E Savage 26

  27. Role of Inversion (NOT) � Needed to boost signal strength. � Needed for a complete logical basis � Can’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 Reconfigurable Computing CSCI 2570 @John E Savage 27

  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, perhaps � Transient faults: require redundancy or rollback � Ageing faults: require monitoring and adaptation Reconfigurable Computing CSCI 2570 @John E Savage 28

  29. Conclusions � Reconfigurable computing a rich subject. � Reconfiguration at the nanoscale is desirable but introduces novel problems. Reconfigurable Computing CSCI 2570 @John E Savage 29

Recommend


More recommend