Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf ·...
Transcript of Polysynchronous Clocking for Molecular Computingmbmc.info/wp-content/uploads/2015/12/Riedel.pdf ·...
Polysynchronous Clocking for Molecular Computing
Marc RiedelAssociate Professor, Electrical and Computer Engineering
Graduate Faculty, Biomedical Informatics and Computational BiologyUniversity of Minnesota
University Southern California – MBMC Workshop, Dec. 4, 2015
Digital Circuits
Computation Elements State Holding Elements
Synchronous Sequential Computation
Computation
Memory
Clock
Input Output
Bistable Bit Representation(dual-rail encoding)
AND Gate
Outputting 0
Outputting 1
OR Gate
Outputting1
Outputting 0
XOR Gate
Outputting 1
Outputting 0
Logic Gates
Clock
Implementing D Flip Flop
Master-slave configuration
Synchronous Sequential Computation
Computation
Memory
Clock
Input Output
Molecular Clocking
Clock Distribution Network in Silicon Circuits
• Significant Fraction of Design Effort
• 15% of Area, 20% of Power Dissipation
Positional Encodings
75710 = 7·102 + 5·101 + 7·100
• A positional representation scheme is compact: 2n distinct numbers can be represented with n bits.
• Operating on this representation is complex.
Human
Computer 10101112 = 26 + 24 + 22 + 21 + 20
Stochastic (Fractional) Encoding
A real value x in [0, 1] is represented by a sequence of random bits, each of which has probability x of being one and probability of 1 − x of being zero.
0,1,0,1,1,0,0
x = 3/7
Positional Multiplication
AB
C1,1,0,0,0,0,1,01,1,0,1,0,1,1,1
1,1,0,0,1,0,1,0
a = 6/8
b = 4/8
c = 3/8
Assume two input bit streams are independent
6/8 · 4/8 = 3/8
Stochastic Multiplication
Scaled Addition
))1(
()](1[)()()(
bsasBPSPAPSP
CPc
0
1
Stochastic Logic
5/8
3/8
4/8
3/8
4/8
8/8
Probability values are the input and output signals.
combinationalcircuit
Stochastic LogicProbability values are the input and output signals.
1,1,0,1,0,1,1,0…
1,0,0,0,1,1,0,0,…
0,1,1,0,1,0,1,0,…
0,1,1,0,1,0,0,0,…
1,0,1,0,1,0,1,0,…
1,1,1,1,1,1,1,1,…
serial bit streams
combinationalcircuit
combinationalcircuit
Stochastic LogicProbability values are the input and output signals.
t
Functions of a probability value t.
3.08.08.0 2+- tt
Virtual 1: Fewer Gates
Across many types of benchmark circuits and applications, consistently find 50 to 100 times fewer logic gates required.
Stochastic vs. Conventional Circuits
Compare conventional implementation to stochasticimplementation of polynomial functions.
Virtual 1: Fewer GatesStochastic vs. Conventional Circuits
Virtue 2: Fault Tolerance
• Stochastic Encoding– A bit flip does not substantially change the probability:
1010111001 → 1010011001
• Binary Radix Encoding– A bit flip in the most significant bit causes a huge
change in the value:(1010)2 → (0010)2
0.6 0.5
10 2
Stochastic vs. Conventional Circuits
Deterministic v.s. Stochastic Implementation of Gamma correction function with 10% noise injection.
Conventional Implementation
Stochastic Implementation
1% 2% 10%
Stochastic Implementation: no pixels with errors > 25%!
Deterministic implementation:37% pixels with errors > 25%
Virtue 3: Clock Skew ToleranceStochastic vs. Conventional Circuits
Virtue 3: Clock Skew ToleranceStochastic vs. Conventional Circuits
Replace Global Clock with(Crappy) Local Clocks
Domain 1
Domain 1
Domain 1
Replace Global Clock with(Crappy) Local Clocks
Domain 1
Domain 1
Domain 1
Virtue 3: Clock Skew ToleranceStochastic vs. Conventional Circuits
Fractional Representation
Represent a value in the range [0..1] with a pair of molecular types X0 and X1:
Multiplication
a x b = c
a
b
c
(scaled) Addition
0 0 → 0
0 1 → 0
1 0 → 1
1 1 → 1
10 1
1. 0 1. 10 1 0 0 1 1
1. 0 1. 10 1 0 1 1
Synchronous Sequential Computation
Computation
Memory
Clock
Input Output
Discussion
• Synthesize a design for a precise, robust, programmable probability distribution on outcomes – for arbitrary types and reactions.
Computational Synthetic Biology vis-a-vis
Technology-Independent Logic Synthesis
• Implement design by selecting specific types and reactions – say from “toolkit”.
Experimental Design vis-a-vis
Technology Mapping in Circuit Design
• Methods and CAD tools for implementing logical and arithmetic with molecular reactions.
Where are we?
• Methods and CAD tools for generating sequential and iterative computation (e.g., DSP functions) with molecular reactions.
Where are we headed?
• A technology-independent chemical CPU.
Discussion
• Mapping designs onto chemical substrates (e.g., DNA)
Acknowledgements
Kia BazarganDavid Lillja
Weikang Qian Peng Li
Keshab Parhi