13.12.2012 Views

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

Theoretical and Experimental DNA Computation (Natural ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

98 4 Complexity Issues<br />

1)), ADDR[]) is given by<br />

S(n)−1<br />

∨<br />

FETCH[0...r − 1] = k=0 Mk[] ∧ (bin(k) ≡ ADDR[])<br />

The total number of two-input gates required to realize this operation is<br />

Size(FETCH) ≤ S(n) − 1+S(n)(r + m) =O(S(n)logS(n))<br />

Depth(FETCH) ≤ m + log(m) =O(log S(n)))<br />

We now describe in detail the combinational circuit associated with each operation<br />

in Table 4.4.<br />

Load constant x<br />

This merely involves transcribing the r-bit binary representation of the<br />

constant x onto the r-wires representing the accumulator contents.<br />

Size(LDC) =0;Depth(LDC) =0<br />

Load direct x<br />

This is equivalent to FETCH(M[],x) <strong>and</strong> transcribing the output to the<br />

accumulator wires.<br />

Size(LDA) =O(S(n)logS(n)); Depth(LDA) =O(log S(n))<br />

Load indirect x<br />

Indirect addressing involves two successive invocations of the FETCH<br />

module, i.e., FETCH(M[],FETCH[M[],x)) <strong>and</strong> transcribing to the accumulator.<br />

Size(LDI)=O(S(n)logS(n)); Depth(LDI) =O(log S(n))<br />

ADD x<br />

ADD(ACC[],FETCH(M[],x)). An addition module, ADD(x, y) adds<br />

two r-bit values <strong>and</strong> returns an r-bit value (overflow is assumed to cause<br />

an error). A number of combinational circuits exist which achieve this in O(r)<br />

gates <strong>and</strong> O(log r) depth, e.g., [91]. Hence, the dominant complexity contribution<br />

arises from fetching the oper<strong>and</strong>. In total we have<br />

Size(ADD) =O(S(n)logS(n)); Depth(ADD) =O(log S(n))<br />

SUB x<br />

Similar to ADD using, for example, complement arithmetic.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!