Title: Presentation Outline
1Presentation Outline
- Background
- Self-Replication
- Self-Repair
- Conclusion
2Introduction
- Embryonics biological inspiration
- Bio-inspired hardware
- Field-Programmable Gate Arrays
- BioWall
- Background
- Self-Replication
- Self-Repair
- Conclusion
3The BioWall
How does it work?
4The Artificial Organism
What is an artificial organism?
An application-specific computing system.
5The 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.
6The 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.
7Bio-Inspired Hardware
What is the size of a cell?
It depends on the application!!
Solution A novel FPGA architecture!
8The Artificial Cell
What is an artificial cell?
A small (but universal) configurable processor ,
made up of a two-dimensional array of artificial
molecules.
9The Artificial Molecule
What is an artificial molecule?
An FPGA element of the MuxTree family
containing
a programmable function
a set of fixed and programmable connections
a configuration register.
10The 4 Levels of Embryonics
Population level (? organisms) Organism level (?
cells) Cell level (? molecules) Molecule
level (? transistors FPGA)
11Defining the Needs
What do we need?
To develop a novel, bio-inspired FPGA architecture
capable of
Supporting cellular-level self-replication.
Storing the (large) genome in each cell.
Supporting cellular-level self-repair.
Tolerating minor faults at the molecular level.
12Self-Replication
- Von Neumanns universal constructor
- Langtons loop
- Our novel self-replicating loop
- The membrane builder
- Background
- Self-Replication
- Self-Repair
- Conclusion
13Von Neumanns Constructor
Von Neumanns Universal Constructor (Uconst) can
build a copy of itself (Uconst) and of any
finite machine (Ucomp), given the description of
both D(UconstUcomp).
DAUGHTER CELL
MOTHER CELL
GENOME
14Von Neumann to Embryonics
UComp
UConst
Universal Computation
Universal Construction
UTM on MicTree
MicTree on MuxTree
15Universal 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
16Langtons Loop
17Propagation of Langtons Loop
18Our Novel Loop
19The Loops Propagation
20The LSL Loop
21The Membrane Builder
22The Membrane in MuxTree
CONFIGURATION BITSTREAM
23The Membrane in MuxTree
24The 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.
25The 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.
26Genome 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.
27The BioWall
28Self-Repair
- Background
- Self-Replication
- Self-Repair
- Conclusion
- MuxTree
- Self-test
- Self-repair
- MuxTree and MicTree
29Cellular 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
30MuxTree
31MuxTree Function
32MuxTree Connections
33MuxTree Register
34Why 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
35Fault Modeling
- Actual faults
- Shorts
- Opens
- Bridging
- Memory flips
- Fault models
- Stuck-at-1
- Stuck-at-0
36Fault Detection
- Test at fabrication
- Test patterns
- Built-In Self-Test
37Fault Tolerance
- Triplication
- Reconfiguration
- Online self-repair
38Function Self-Test
39Connections Self-Test
40Register Self-Test
41Register Faults Stuck-at-0
42Register Faults Stuck-at-1
43Self-Repair
44Reconfiguration
45Rerouting
46The Spare Columns
47The New Membrane Builder
The spare columns should be contained within a
block (cell).
48The Membrane in MuxTree
CONFIGURATION BITSTREAM
49The KILL Signal
50MuxTree and MicTree
51The BioWall
52Conclusion
- Background
- Self-Replication
- Self-Repair
- Conclusion
- Hierarchical Structure
- The BioWall and Beyond
53The 3 Layers
54The BioWall
55The Future of Embryonics (1)
Self-directed replication
56The Future of Embryonics (2)
Convergence of the POE axes
57The End
- Background
- Self-Replication
- Self-Repair
- Conclusion
Time for some questions...