Difference between revisions of "CSC103: DT's Notes 1"
Line 3: | Line 3: | ||
==Lecture 1: Introduction== | ==Lecture 1: Introduction== | ||
+ | |||
+ | ===Current Computer Design is the Result of an Evolutionary Process=== | ||
[[Image:SteamboyTheMovie.png|right|200px]] In this course we are going to look at the computer as a tool, as the result of technological experiments that have crystalized currently on a particular design, the von Neumann architecture, on a particular source of energy, electricity, on a particular fabrication technology, silicon transistors, and a particular information representation, the binary system, but any of these could have been different, depending on many factors. In fact, in the next ten or twenty years, one of more of these fundamental parts that make today's computers could change. | [[Image:SteamboyTheMovie.png|right|200px]] In this course we are going to look at the computer as a tool, as the result of technological experiments that have crystalized currently on a particular design, the von Neumann architecture, on a particular source of energy, electricity, on a particular fabrication technology, silicon transistors, and a particular information representation, the binary system, but any of these could have been different, depending on many factors. In fact, in the next ten or twenty years, one of more of these fundamental parts that make today's computers could change. | ||
Line 10: | Line 12: | ||
For computers, we can make the same observation. The reason our laptops today are designed the way they are is really the result of happy accidents in some ways. The way computers are designed, for example, with one processor (more on multi-core processors later), a system of busses, and memory where both data and programs reside side-by-side hasn't changed since '''John von Neumann''' wrote his (incomplete and never officially published) ''First Draft of a Report on the EDVAC,''<ref name="vonNeumann">John von Neumann, First Draft of a Report on the EDVAC, transcribed by | For computers, we can make the same observation. The reason our laptops today are designed the way they are is really the result of happy accidents in some ways. The way computers are designed, for example, with one processor (more on multi-core processors later), a system of busses, and memory where both data and programs reside side-by-side hasn't changed since '''John von Neumann''' wrote his (incomplete and never officially published) ''First Draft of a Report on the EDVAC,''<ref name="vonNeumann">John von Neumann, First Draft of a Report on the EDVAC, transcribed by | ||
Michael D. Godfrey, Stanford U., Jan 2010, http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf</ref> article, in June of 1945. | Michael D. Godfrey, Stanford U., Jan 2010, http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf</ref> article, in June of 1945. | ||
− | One can argue that if von Neumann hadn't written this report, we may have followed somebody else's brilliant idea for putting together a machine working with electricity, where information is stored and operated on in binary form. | + | One can argue that if von Neumann hadn't written this report, we may have followed somebody else's brilliant idea for putting together a machine working with electricity, where information is stored and operated on in binary form. Our laptop today could be using a different architecture, and programming them might be a totally different type of problem solving. |
[[Image:Antikythera.jpg|right|200px]]For computers were not always electrical machines. Initially they were mechanical machines. The abacus, which appeared several millennia B.C. was a counting machine made of wood. The [http://en.wikipedia.org/wiki/Antikythera_mechanism Antikythera] mechanism, is currently regarded as the first mechanical machine for computing astronomical calculations. Mechanical as well, the important machine in the history of computers is '''[http://en.wikipedia.org/wiki/Difference_engine Babbage's Difference Engine]'''. This one was made of gears and shafts, with a crank at the top, and was a ''general purpose'' machine. Interestingly, this machine has given us an expression we still use with modern electronic computers: we still hear programmers refer to "cranking out" the results, even though the crank is long gone. | [[Image:Antikythera.jpg|right|200px]]For computers were not always electrical machines. Initially they were mechanical machines. The abacus, which appeared several millennia B.C. was a counting machine made of wood. The [http://en.wikipedia.org/wiki/Antikythera_mechanism Antikythera] mechanism, is currently regarded as the first mechanical machine for computing astronomical calculations. Mechanical as well, the important machine in the history of computers is '''[http://en.wikipedia.org/wiki/Difference_engine Babbage's Difference Engine]'''. This one was made of gears and shafts, with a crank at the top, and was a ''general purpose'' machine. Interestingly, this machine has given us an expression we still use with modern electronic computers: we still hear programmers refer to "cranking out" the results, even though the crank is long gone. | ||
+ | |||
+ | The same is true of '''silicon transistors''' powered by electricity. Silicon is the material of choice for electronic microprocessor circuits as well as semiconductor circuits we find in today's computers. Its appeal lies in its property of being able to either conduct and not conduct electricity, depending on a signal it receives which is also electrical. Silicon allows us to create electrical switches that are very fast, very small, and consume very little power. But because we are very good at creating semiconductor | ||
+ | in silicon, it doesn't mean that it is the substrate of choice. Researchers have shown<ref name="Adleman">Adleman, L. M., "Molecular computation of solutions to combinatorial problems". Science 266 (5187): 1021–1024. 1994.</ref> that complex computation could also be done using DNA, in vials. Think about it: no electricity there; just many vials with solutions containing DNA molecules, a huge number of them, that are induced to code all possible combinations of a particular sequence, such that one of the combinations is the solution to the problem to solve. DNA computing is a form of ''parallel computation'' where many different solutions are computed at the same time, in ''parallel'', using DNA molecules<ref name="Lewin">Lewin, D. I., "DNA computing". Computing in Science & Engineering 4 (3): 5–8, 2002.</ref>. One last example for computation that is not performed in silicon by traveling electrons can be found in '''optical computating'''. The idea behind this concept (we really do not have optical computers yet, just isolated experiments showing its potential) is that electrons are replaced with photons, and these photons, which are faster than electrons, but much harder to control. | ||
+ | |||
+ | So, in summary, we start seeing that computing, at least the medium chosen for where the computation takes place can be varied, and does not have to be silicon. Indeed, there exist many examples of computation devices that do not use electronics in silicon and can perform quite complex computation. In consequence, we should also be ready to find that new computers in ten, twenty or thirty years will not use semiconductors made of silicon, and may not use electrons to carry information that is controlled by transistors. In fact, it is highly probable that they won't [http://en.wikipedia.org/wiki/Predictions_made_by_Ray_Kurzweil]. | ||
+ | |||
+ | ===Binary=== | ||
+ | |||
+ | -while technology can be different, math is universal. | ||
+ | -computers will follow the rules of math | ||
+ | -The choice of the source of power will dictate how the information is transfered, and this will dictate how many states information can take. This will define a system with a given base. | ||
+ | -For electricity it's 2: ON, and OFF. | ||
+ | -Binary sytem: whatever we can do in base 10, we can do in base 2. Algebra. + * 0, 1 | ||
+ | -George Boole: logic: True, False, boolean algebra. Three operators: AND, OR, and NOT | ||
+ | -Claude Shannon: MIT thesis: whatever algebraic operation we want to perform, we can use logic operators to perform that. | ||
+ | |||
+ | |||
+ | ===Computer = Electricity (electrons), Boolean Logic, Binary algebra.=== | ||
+ | |||
+ | - | ||
+ | |||
Revision as of 00:26, 30 January 2012