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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

96 4 Complexity Issues<br />

The final stage is to reduce HP to a branch-free graph. Since cycles have<br />

already been eliminated this involves merging conditional branches into a sequence<br />

of instructions. This is accomplished by the transformation illustrated<br />

in Fig. 4.9. In this process both branches of the conditional are executed; however,<br />

only the branch for which the condition is true will affect the contents<br />

of memory locations.<br />

Q<br />

C1<br />

s<br />

R<br />

C1<br />

C1^Q<br />

~C1^R<br />

Fig. 4.9. Merging of conditional branches<br />

If GP is the initial control graph of P <strong>and</strong> LP is the graph resulting after all<br />

of the transformations above have been effected, then LP is called the linear<br />

control graph of the program P .<br />

The total effect of the transformation described above is to replace the<br />

initial program by a sequence of instructions , wherem<br />

is at most a constant factor larger than the runtime of P .Furthermore,each<br />

instruction Qi has the form<br />

< condition >< active − instruction ><br />

where < condition > is a composition of a constant number of tests arising<br />

from JEQ instructions, <strong>and</strong> is any non-branching<br />

instruction. The interpretation of this form is that <br />

changes the contents of a memory location if <strong>and</strong> only if < condition > is<br />

true.<br />

We then convert the linear control graph into a series of combinational<br />

circuits. For each of the R(n) parallel processing (i.e., par do) instructions in<br />

SA we construct a combinational circuit Ck with the following specification:<br />

Ck takes as input r × S(n) Boolean values arranged in S(n) blocksofr bits<br />

(we assume, without loss of generality, that r ≤ S(n)); the values in the i th<br />

s

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

Saved successfully!

Ooh no, something went wrong!