Top Banner
Chapter 1 Chapter 1 Introduction to Digi Introduction to Digi tal Computers and Bi tal Computers and Bi o-molecular Computin o-molecular Computin g g
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 1

Chapter 1Chapter 1

Introduction to Digital CIntroduction to Digital Computers and Bio-molecomputers and Bio-molec

ular Computingular Computing

Page 2: Chapter 1

• Today the term “Computer Science” has a vToday the term “Computer Science” has a very broad meaning. ery broad meaning.

• From the viewpoint of computing characteristiFrom the viewpoint of computing characteristic, “Computer Science” actually contains a dic, “Computer Science” actually contains a digital computer [Turing 1937, von Neumann 19gital computer [Turing 1937, von Neumann 1956], bio-molecular computing [Adleman 1994] 56], bio-molecular computing [Adleman 1994] and quantum computing [Deutsch 1985]. and quantum computing [Deutsch 1985].

• Because the discussion for quantum computinBecause the discussion for quantum computing exceeds the scope of this book, thus, we do ng exceeds the scope of this book, thus, we do not introduce “quantum computing”. ot introduce “quantum computing”.

Page 3: Chapter 1

• For the purpose of this book, the phrase For the purpose of this book, the phrase “bio-molecular computing” describes the “bio-molecular computing” describes the inin vitrovitro (therefore outside living cell) (therefore outside living cell) manipulation of bio-molecules. manipulation of bio-molecules.

• Those manipulations may be applied to Those manipulations may be applied to finish various kinds of computations. finish various kinds of computations.

• In this introductory chapter, we try to In this introductory chapter, we try to explain the behaviors of a digital computer explain the behaviors of a digital computer and bio-molecular computing. and bio-molecular computing.

Page 4: Chapter 1

1.1 The Behaviors of a Digital 1.1 The Behaviors of a Digital ComputerComputer

• If you are not concerned with the internal If you are not concerned with the internal mechanism of a digital computer, you can mechanism of a digital computer, you can simply denote it as a black box. simply denote it as a black box.

• However, you still need to denote the However, you still need to denote the tasks finished by a digital computer for tasks finished by a digital computer for distinguishing it from other types of black distinguishing it from other types of black boxes. boxes.

• We offer computational model of a digital We offer computational model of a digital computer. computer.

• Figure 1.1.1 is used to represent Figure 1.1.1 is used to represent computational model of a digital computational model of a digital computer.computer.

Page 5: Chapter 1
Page 6: Chapter 1

• From Figure 1.1.1, a digital computer can be From Figure 1.1.1, a digital computer can be thought of as a data processor. thought of as a data processor.

• A digital program also can be thought of as a A digital program also can be thought of as a set of instructions written in a digital computer set of instructions written in a digital computer language that indicates the data processor language that indicates the data processor what to do with the input data. what to do with the input data.

• The output data depend on the combination of The output data depend on the combination of two factors: the input data and the digital two factors: the input data and the digital program. program.

• With the same digital program, you can With the same digital program, you can produce different outputs if you change the produce different outputs if you change the input.input.

• Similarly, with the same input data, you can Similarly, with the same input data, you can generate different outputs if you change the generate different outputs if you change the digital program. digital program.

Page 7: Chapter 1

1.2 The Behaviors of Bio-1.2 The Behaviors of Bio-molecular Computingmolecular Computing

• For bio-molecular computing, if you are not For bio-molecular computing, if you are not concerned with the internal mechanism, it concerned with the internal mechanism, it can simply be defined as another black box. can simply be defined as another black box.

• The black box for bio-molecular computing The black box for bio-molecular computing is shown in Figure 1.2.1. is shown in Figure 1.2.1.

• In Figure 1.2.1, all operations with test In Figure 1.2.1, all operations with test tubes have to be carried out by the user. tubes have to be carried out by the user.

• A more advanced model is depicted in A more advanced model is depicted in Figure 1.2.2, where some robotics or Figure 1.2.2, where some robotics or electronic computing is used to carry out electronic computing is used to carry out automatically the majority of the operations automatically the majority of the operations with the test tubes without the intervention with the test tubes without the intervention of the user. of the user.

Page 8: Chapter 1

pp

Page 9: Chapter 1

• From Figure 1.2.1 and Figure 1.2.2, input From Figure 1.2.1 and Figure 1.2.2, input data can be encoded in test tubes. data can be encoded in test tubes.

• Each encoded data in test tubes can be Each encoded data in test tubes can be thought of a data processor. thought of a data processor.

• A bio-molecular program also can be A bio-molecular program also can be thought of as a set of biological operations thought of as a set of biological operations written in a high-level natural language written in a high-level natural language that tells each data processor what to do.that tells each data processor what to do.

Page 10: Chapter 1

• The output data also are based on the The output data also are based on the combination of two factors: the input data combination of two factors: the input data and the bio-molecular program. and the bio-molecular program.

• With the same bio-molecular program, you With the same bio-molecular program, you can produce different outputs if you can produce different outputs if you change the input. change the input.

• Similarly, with the same input data, you Similarly, with the same input data, you can generate different outputs if you can generate different outputs if you change the bio-molecular program. change the bio-molecular program.

• Finally, if the input data and the bio-Finally, if the input data and the bio-molecular program remain the same, the molecular program remain the same, the output should be the same. Let us look at output should be the same. Let us look at those cases. those cases.

Page 11: Chapter 1

pp

Page 12: Chapter 1
Page 13: Chapter 1

• In Figure 1.2.3, a bio-molecular program is In Figure 1.2.3, a bio-molecular program is used to find the smallest element for used to find the smallest element for different data in different test tubes. different data in different test tubes.

• The first tube contains two natural The first tube contains two natural numbers: 001 and 010. numbers: 001 and 010.

• The second tube also includes two The second tube also includes two different natural numbers: 011 and 111.different natural numbers: 011 and 111.

• When the first tube is regarded as an input When the first tube is regarded as an input tube of the bio-molecular program, after tube of the bio-molecular program, after each bio-molecular operation in the bio-each bio-molecular operation in the bio-molecular program is performed, the molecular program is performed, the output data in the third tube is 001. output data in the third tube is 001.

Page 14: Chapter 1

• Similarly, while the second tube is Similarly, while the second tube is regarded as an input tube of the bio-regarded as an input tube of the bio-molecular program, after each bio-molecular program, after each bio-molecular operation in the bio-molecular molecular operation in the bio-molecular program is finished, the output data in the program is finished, the output data in the fourth tube is 011.fourth tube is 011.

• In Figure 1.2.4, for the data in the first In Figure 1.2.4, for the data in the first tube the first bio-molecular program is tube the first bio-molecular program is used to find the smallest element and the used to find the smallest element and the second bio-molecular program is applied second bio-molecular program is applied to find the biggest element. to find the biggest element.

• The data in the first tube are 100 and 110. The data in the first tube are 100 and 110.

Page 15: Chapter 1

• When the first tube is regarded as an input When the first tube is regarded as an input tube of the first bio-molecular program, tube of the first bio-molecular program, after each bio-molecular operation in the after each bio-molecular operation in the first bio-molecular program is finished, the first bio-molecular program is finished, the output data in the second tube is 100. output data in the second tube is 100.

• Similarly, while the first tube is also Similarly, while the first tube is also regarded as an input tube of the second regarded as an input tube of the second bio-molecular program, after each bio-bio-molecular program, after each bio-molecular operation in the second bio-molecular operation in the second bio-molecular program is performed, the molecular program is performed, the output data in the third tube is 110. output data in the third tube is 110.

Page 16: Chapter 1
Page 17: Chapter 1

1.3 The Introduction for a Digital 1.3 The Introduction for a Digital Computer of the Von Neumann Computer of the Von Neumann ArchitectureArchitecture

• The so-called von Neumann architecture is The so-called von Neumann architecture is a model for a computing machine that a model for a computing machine that uses a single storage structure to hold uses a single storage structure to hold both the set of instructions on how to both the set of instructions on how to perform the computation and the data perform the computation and the data required or generated by the computation. required or generated by the computation.

• Today, each digital computer based on the Today, each digital computer based on the von Neumann architecture contains four von Neumann architecture contains four subsystems: memory, arithmetic logic subsystems: memory, arithmetic logic unit, control unit and input/output devices.unit, control unit and input/output devices.

Page 18: Chapter 1

• A digital computer system of the von A digital computer system of the von Neumann architecture is shown in Neumann architecture is shown in Figure 1.3.1. From Figure 1.3.1, the Figure 1.3.1. From Figure 1.3.1, the input subsystem accepts input data input subsystem accepts input data and the digital program from outside and the digital program from outside the digital computer and the output the digital computer and the output subsystem sends the result of subsystem sends the result of processing to the outside.processing to the outside.

• Memory is the main storage area in Memory is the main storage area in the inside of the digital computer the inside of the digital computer system. system.

• It is used to store data and digital It is used to store data and digital programs during processing. programs during processing.

Page 19: Chapter 1

• This implies that both the data and This implies that both the data and programs should have the same format programs should have the same format because they are stored in memory. because they are stored in memory.

• They are, in fact, stored as binary patterns They are, in fact, stored as binary patterns (a sequence of 0s and 1s) in memory. (a sequence of 0s and 1s) in memory.

• The arithmetic logic unit is the core of the The arithmetic logic unit is the core of the digital computer system and is applied to digital computer system and is applied to perform calculation and logical operations. perform calculation and logical operations.

• The control unit is employed to control the The control unit is employed to control the operations of the memory, ALU, and the operations of the memory, ALU, and the input/output subsystem. input/output subsystem.

Page 20: Chapter 1

pp

Page 21: Chapter 1

• A digital program in the von Neumann A digital program in the von Neumann architecture is made of a finite number of architecture is made of a finite number of instructions. instructions.

• In the architecture, the control unit fetches In the architecture, the control unit fetches one instruction from memory, interprets it, one instruction from memory, interprets it, and then excutes it. and then excutes it.

• In other words, the instructions in the In other words, the instructions in the digital program are executed one after digital program are executed one after another. another.

• Of course, one instructions may request Of course, one instructions may request the control unit to jump to some previous the control unit to jump to some previous or following one instruction, but this does or following one instruction, but this does not mean that the instructions are not not mean that the instructions are not executed sequentially.executed sequentially.

Page 22: Chapter 1

1.4 The Von Neumann 1.4 The Von Neumann Architecture for Bio-molecular Architecture for Bio-molecular ComputingComputing• In bio-molecular computing, data also are representIn bio-molecular computing, data also are represent

ed as ed as binary patterns (a sequence of 0s and 1s). binary patterns (a sequence of 0s and 1s). • Those binary patterns are encoded by Those binary patterns are encoded by

sequences of bio-molecules and are stored in a sequences of bio-molecules and are stored in a tube. tube.

• This is to say that a tube is the only storage This is to say that a tube is the only storage area in bio-molecular computing and is aslo the area in bio-molecular computing and is aslo the memory and the input/output subsystem of the memory and the input/output subsystem of the von Neumann architecture. von Neumann architecture.

• Bio-molecular programs are made of a set of Bio-molecular programs are made of a set of bio-molecular operations and are used to bio-molecular operations and are used to perform calculation and logical operations. perform calculation and logical operations.

Page 23: Chapter 1

• So, bio-molecular programs can be So, bio-molecular programs can be regarded as the arithmetic logic unit of the regarded as the arithmetic logic unit of the von Neumann architecture. von Neumann architecture.

• A robot is used to A robot is used to automaticallyautomatically control the control the operations of a tube (the memory and the operations of a tube (the memory and the input/output subsystem) and bio-molecular input/output subsystem) and bio-molecular programs (the ALU). programs (the ALU).

• This implies that the robot can be This implies that the robot can be regarded as the control unit of the von regarded as the control unit of the von Neumann architecture. Neumann architecture.

Page 24: Chapter 1
Page 25: Chapter 1

• In Figure 1.4.1, bio-molecular computing of In Figure 1.4.1, bio-molecular computing of the the von Neumann architecture is shown. von Neumann architecture is shown.

• From Figure 1.4.1, a robot fetches one bio-From Figure 1.4.1, a robot fetches one bio-molecular operation from a bio-molecular molecular operation from a bio-molecular program (the ALU), and then carries out program (the ALU), and then carries out the bio-molecular operation for those data the bio-molecular operation for those data stored in the tube (the memory). stored in the tube (the memory).

• In other words, the bio-molecular In other words, the bio-molecular operations are executed one after another. operations are executed one after another.

• Certainly, one bio-molecular operation Certainly, one bio-molecular operation perhaps requests the robot to perform perhaps requests the robot to perform some previous or following bio-molecular some previous or following bio-molecular operations.operations.