Download
presentation outline n.
Skip this Video
Loading SlideShow in 5 Seconds..
Presentation Outline PowerPoint Presentation
Download Presentation
Presentation Outline

Presentation Outline

65 Views Download Presentation
Download Presentation

Presentation Outline

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Presentation Outline • Background • Self-Replication • Genome memory • Self-Repair • Conclusion Cours Systèmes et Programmation Génétiques

  2. Introduction • Background • Self-Replication • Genome memory • Self-Repair • Conclusion • Embryonics: biological inspiration • Bio-inspired hardware • Field-Programmable Gate Arrays • BioWall Cours Systèmes et Programmation Génétiques

  3. The BioWall • How does it work? Cours Systèmes et Programmation Génétiques

  4. Von Neumann’s Constructor Von Neumann’s Universal Constructor (Uconst) can build a copy of itself (Uconst’) and of any finite machine (Ucomp’), given the description of both D(Uconst+Ucomp). DAUGHTER CELL MOTHER CELL GENOME Cours Systèmes et Programmation Génétiques

  5. Von Neumann to Embryonics UComp UConst Universal Computation Universal Construction UTM on MicTree MicTree on MuxTree Cours Systèmes et Programmation Génétiques

  6. Universal Construction How do we go from an FPGA to a cellular array? Knowing that the structure of the cells varies with each application! CELLULAR SELF-REPLICATION Cours Systèmes et Programmation Génétiques

  7. The Artificial Organism What is an artificial organism? An application-specific computing system. Cours Systèmes et Programmation Génétiques

  8. The Artificial Organism What is an artificial organism? An application-specific parallel computing system, made up of a two-dimensional array of artificial cells. Where each cell contains the entire genetic material of the organism. Cours Systèmes et Programmation Génétiques

  9. The Artificial Cell What is an artificial cell? A small (but universal) processor containing: • a memory for the genome program; • an interpreter and a coordinate system; • a functional unit and a routing unit. Cours Systèmes et Programmation Génétiques

  10. Bio-Inspired Hardware What is the size of a cell? It depends on the application!! Solution: A novel FPGA architecture! Cours Systèmes et Programmation Génétiques

  11. The Artificial Cell What is an artificial cell? A small (but universal) configurable processor , made up of a two-dimensional array of artificial molecules. Cours Systèmes et Programmation Génétiques

  12. The Artificial Molecule What is an artificial molecule? An FPGA element of the MuxTree family containing: • a programmable function; • a set of fixed and programmableconnections; • a configuration register. Cours Systèmes et Programmation Génétiques

  13. The 4 Levels of Embryonics Population level (∑ organisms) Organism level (∑ cells) Cell level (∑ molecules) Molecule level (∑ transistors = FPGA) Cours Systèmes et Programmation Génétiques

  14. Defining the Needs What do we need? To develop a bio-inspired FPGA architecture capable of: • Supporting cellular-level self-replication. • Storing the (large) genome in each cell. • Supporting cellular-level self-repair while tolerating minor faults at the molecular level. Cours Systèmes et Programmation Génétiques

  15. Self-Replication • Background • Self-Replication • Genome memory • Self-Repair • Conclusion • Langton’s loop • Our novel self-replicating loop • The membrane builder Cours Systèmes et Programmation Génétiques

  16. Langton’s Loop Cours Systèmes et Programmation Génétiques

  17. Propagation of Langton’s Loop Cours Systèmes et Programmation Génétiques

  18. Our Novel Loop Cours Systèmes et Programmation Génétiques

  19. The Loop’s Propagation Cours Systèmes et Programmation Génétiques

  20. The LSL Loop Cours Systèmes et Programmation Génétiques

  21. The Membrane Builder Cours Systèmes et Programmation Génétiques

  22. Cellular Division To implement cellular division, we need to split up the FPGA into a two-dimensional grid of identical sub-arrays of molecules, of variable size depending on the application. Cours Systèmes et Programmation Génétiques

  23. The Membrane in MuxTree Cours Systèmes et Programmation Génétiques

  24. The Membrane in MuxTree CONFIGURATION BITSTREAM Cours Systèmes et Programmation Génétiques

  25. The Membrane in MuxTree Cours Systèmes et Programmation Génétiques

  26. The BioWall Cours Systèmes et Programmation Génétiques

  27. Self-Replication • Background • Self-Replication • Genome memory • Self-Repair • Conclusion • Memory in MuxTree • Cyclic vs. addressable memories • Cyclic memory implementation Cours Systèmes et Programmation Génétiques

  28. The MUXTREE Molecule Every cell must store the (large) genome program. However, the only memory elements in the MUXTREE molecule are a single D-type flip-flop and the configuration register CREG. Cours Systèmes et Programmation Génétiques

  29. The Genome Memory A "conventional" addressable memory is not suited to our architecture (decoding logic too large, incompatible storage). However, the access pattern of the genome program allows us to use a different kind of memory, which we will call cyclic memory. Performance-wise, it is not efficient (jumps) but the storage structure is perfectly suited to a shift-register implementation. Cours Systèmes et Programmation Génétiques

  30. FF CREG[19:0] A: X 0 INPUT SELECT[7:0] SWITCH BLOCK[7:0] FU[2:0] 0 1 DATA[7:0] SWITCH BLOCK[7:0] MEM[2:0] B: 1 1 DATA[15:0] MEM[2:0] C: Genome Memory: Implementation Our configuration register CREG is a shift register. And all the connections required for a cyclic memory are already in place for configuration and/or repair. Cours Systèmes et Programmation Génétiques

  31. Self-Repair • Background • Self-Replication • Genome memory • Self-Repair • Conclusion • MuxTree • Self-test • Self-repair • MuxTree and MicTree Cours Systèmes et Programmation Génétiques

  32. Cellular Self-Repair How do we implement cellular self-repair? We need a hardware mechanism to detect the faults and to generate a KILL signal. HARDWARE = MOLECULAR LAYER Cours Systèmes et Programmation Génétiques

  33. MuxTree Cours Systèmes et Programmation Génétiques

  34. MuxTree: Function Cours Systèmes et Programmation Génétiques

  35. MuxTree: Connections Cours Systèmes et Programmation Génétiques

  36. MuxTree: Register Cours Systèmes et Programmation Génétiques

  37. Why does my system crash? • Software bugs • Programming errors, communication errors • Design errors • Bad design (e.g., Pentium bug), layout errors • Fabrication defects • Process deficiencies, mask defects • Lifetime faults • Radiation-induced faults, electron migration, age Cours Systèmes et Programmation Génétiques

  38. Fault Modeling • Actual faults: • Shorts • Opens • Bridging • Memory flips • Fault models: • Stuck-at-1 • Stuck-at-0 Cours Systèmes et Programmation Génétiques

  39. INPUT PATTERNS INPUT PATTERNS Test hardware Test logic PROBES Fault OUTPUTS KNOWN VALUES KNOWN OUTPUTS Fault Detection • Test at fabrication • Test patterns • Built-In Self-Test Cours Systèmes et Programmation Génétiques

  40. ACTIVE ACTIVE SPARE SPARE RESET RECONFIGURE RECONFIGURE MAJORITY FUNCTION FAULT FAULT ACTIVE OUTPUT ACTIVE Fault Tolerance • Triplication • Reconfiguration • Online self-repair Cours Systèmes et Programmation Génétiques

  41. Function Self-Test Cours Systèmes et Programmation Génétiques

  42. Connections Self-Test Cours Systèmes et Programmation Génétiques

  43. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Register Self-Test Cours Systèmes et Programmation Génétiques

  44. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Register Faults: Stuck-at-0 Cours Systèmes et Programmation Génétiques

  45. 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 Register Faults: Stuck-at-1 Cours Systèmes et Programmation Génétiques

  46. X X SPARE 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 CFG 7 CFG 4 CFG 5 CFG 1 CFG 3 CFG 6 CFG 8 CFG 0 CFG 2 0 1 X X CFG 4 SPARE X X SPARE Self-Repair Cours Systèmes et Programmation Génétiques

  47. 0 0 0 0 1 1 1 1 0 0 0 0 X X X X CFG 2 CFG 2 CFG 5 CFG 5 CFG 8 CFG 8 SPARE SPARE 1 1 1 1 X 0 X 1 1 0 0 1 X 1 1 X CFG 1 CFG 1 DEAD CFG 4 CFG 4 CFG 7 SPARE CFG 7 0 0 0 0 1 1 1 1 0 0 0 0 X X X X CFG 0 CFG 0 CFG 3 CFG 3 CFG 6 CFG 6 SPARE SPARE 1 0 0 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1001001000 0110110110 1011001001 0100100000 0110110010 1001000000 1101100100 1101101100 1011011001 0100000000 0010000000 0010010000 1101101101 1000000000 0000000000 0010010010 1001001001 1100100100 0110010010 0100100100 1011011011 0110110110 1001001001 0000000000 0000000000 0000001101 0000110110 0001101101 0000000001 0000011011 0110110110 0000000000 0000000110 0000000011 0000000000 0011011011 Reconfiguration Cours Systèmes et Programmation Génétiques

  48. X X X X SPARE SPARE 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 CFG 1 CFG 5 CFG 6 CFG 0 CFG 6 CFG 1 CFG 0 CFG 8 CFG 8 CFG 3 CFG 3 CFG 4 CFG 2 CFG 5 CFG 4 CFG 2 X X X X 1 1 1 1 DEAD DEAD CFG 7 CFG 7 X X X X SPARE SPARE Rerouting Cours Systèmes et Programmation Génétiques

  49. The Spare Columns Cours Systèmes et Programmation Génétiques

  50. The New Membrane Builder The spare columns should be contained within a block (cell). Cours Systèmes et Programmation Génétiques