Recalling the general-purpose computing outlook Universal Learning

    Online A friend asked the question: What is the meaning of the general-purpose computing, whether philosophy, how to contact the FPGA, DSP, GPU, CPU, and so on?

    The question was not answered, interesting and meaningful to speak, is not easy. Still trying to come to a case of general purpose computing to do some explaining, but also hope to use this opportunity to learn and to explain the general outlook of universal learning.

    In fact, if you want to talk about general-purpose computing, from a very simple but interesting case began. It is well-known book "computability mathematical logic" given in. We have two numbers: XXXIX and XLVIII, which is the Roman numeral, find their product (also expressed as Roman numerals)? Give A case: MDCCCLXXII. But how come it? If you stay in the counting system in Greece and Rome, exactly how to count, I really do not know. However, I can feel the Greek and Roman people to do this calculation pain (you can feel it?). But we can do this, first convert to Roman numeration India - Arab count, that is two numbers 39 and 48, and then do what we are familiar with multiplication, get 1872, then converted back to counting Rome. This is a lot easier.

    In fact, the most fundamental idea of ​​general-purpose computing, the idea is this: things can be counted into standard stuff, with a standard way to calculate, and then transform back.

    Here to speak outside of a title. Greek and Roman people to do the calculation is very bad, because they are counting system is very bad, and we Chinese people do the calculation is very knowledgeable, because our counting system is very advanced. They are not well calculated, is a great evil, but they are in the other direction: abstract, axiom, sound reasoning. Blessing in disguise. This is the philosophical significance.

    Back to calculate. So what is the standard? What is conversion? What is counted?

    Code for the dog, it's too easy to understand, because we always do things every day. Is that the program can be counted, the standard is the machine code conversion is various compilers. Of course, their real, CTO for it, but also a higher level: You can count on is the algorithm, the standard machine generation of code, the code conversion is a dog plus software tools, ha ha ha!

    These things, for us, it is easy to understand, because we're always in every day to see these things. However, at that time 80 years ago, computing era is opening, it is possible to understand this truth, just at the start of Turing (in fact, he was also vague), and then by his famous Turing read the article, and Turing and exchange, have another person also vaguely understand that von Neumann. Then again, it is gradually gradually more people understand, and this is our computing era, everyone has a lot of general purpose computing device, each of the normal life and work are inseparable from these computing devices.

    Therefore, to understand the truth was not easy. You know, these people are the most powerful brain. Interrupt tell a story of the Von Neumann. It is said that, in the production of computer, electronic engineers engaged in some of the days get it working road map, arguing, best Von Neumann had to go to the big boss, he quietly listened to statements of both sides, then thought for 10 minutes, he said it should be so so, the results become. He is not an electronic engineer, is drawn entirely based on logical deduction. Seen these people badly. They even have to spend a lot of time, finally understanding the general-purpose computing, this concept is not easily visible.

    Another story. Von Neumann invented a computer architecture, and now we are still in use. Ordinarily, he should be proud of it as the most significant contribution in his life. However, when he was dying, a reporter to ask him what he is most proud of the scientific contributions, he said only the mathematical theory of quantum mechanics, ergodic management theory, etc., made no mention of the contribution of computing technology. Could it be that he did not understand his invention of extreme importance? of course not. He is extremely self-esteem, to mention only his own completely original, not to mention a follower of. His mind, the computer is Turing's invention is the Turing machine, universal Turing machine has a complete idea of the general-purpose computing, he only thought is to realize Turing's technically better and more specific it, so he did not mention . Yi Tan! This extreme self-esteem, now rarely met!

    So what is the key idea of ​​the Turing machine do? While we use every day, always in fact, some of the tongue but also in terms of costs. Copy Professor Michael Rabin (Turing Award winner) passage in the 100th anniversary of Turing's birth (in Israel) at the lecture of.

The most basic principle of Turing machine:

1. The memory, symbol set

2. a very small set of instructions (instruction may be less than 100)

3. instruction cycle

4. The program storage

The general purpose computing device (a machine may be calculated any function that can be calculated / programmed process

sequence)

    These are all Turing in his famous article, "On the number of computable" which talked about.

    Of course, it was very vague and ambiguous, has not been able so clearly extracted. Very likely, when Turing wrote the article, is to think of a model can solve his problems at the time, I did not think that this model has great significance and role, will open an era. But he must know, do a mechanical calculation, I am afraid that this way, and definitely not a dedicated hardware to solve a particular problem.

    You can use today to explain what the term, it is more clear. 1, the memory is our memory, the symbol set is {0,1}. 2, the instruction set is an instruction set CPU (GPU, etc.), of course, now the instruction set is relatively large, because the CPU is much more complicated. 3, the instruction cycle is a cycle of the CPU, the data is read, and according to a program, some simple operation, write data. 4, program data is actually stored in the machine. 5, CPU (in fact, FPGA, DSP, GPU also true) is a general purpose computing device. That is to say, our program through a compiler, been converted to a string of machine instructions executed machine instructions to complete the calculation.

    Here say a few words on the difference between CPU and FPGA, DSP, GPU's. Can speak more abstract, these chips are hardware, they are also equivalent (Shannon's theory) a bunch of Boolean functions, and these Boolean function can perform a variety of instructions. Note that, in principle, a small instruction set on it, and to complete the Boolean function of this small instruction set will not be very complicated. This is important for early development of computers. Of course, now the chips are complex instruction set is large, because to do many more things. Especially want to say, modern chips are running multiple programs simultaneously, and therefore complex. FPGA can be said that you can modify the hardware, which represents the Boolean function can be modified. The DSP is designed for processing signals, that is, those Boolean function, there are many dedicated to signal processing. There are many Boolean function is devoted to the floating point arithmetic and the image processing of the GPU.

    However, we do not have to tell a very critical point: What is counted? This is a very important issue. In fact, now, 80 years later, what is the mechanical calculation can be counted on, many people are still vague, it may also include a number of professionals. However, this problem can be said to be solved, there is a three theories developed independently in the 1930s, also made it clear that three theories completely equivalent. This is the Turing machine theory of recursive function theory Godel, Turing, Church of the lambda operator theory. These three theories from different angles, all of what is mechanical calculation made strict rules. Later, also developed a more independent theory, is completely equivalent. It can be calculated, that is, Godel recursive function, or a function Turing calculated, or can be a lambda expression calculation. In fact, in modern language, it is this: you can write a program in a programming language that can be calculated (substantially equal to the operation with lambda expression). For this program, we can be converted into machine code by the tool, the machine can perform these codes, the calculation is complete. The simplest sense, and expressed example of the Roman numeral front of the same. Notes that any calculation, from play songs, to play games, to the missile control, to network management, to mobile communications, to land on the moon, to prove mathematical theorems, the robot is running, and so on, and so on. In short, any calculations. So is the general-purpose computing.

    Recommended are interested in the theory of computation friend read the book by Professor Zhang Yinsheng "proof and computing."

    Here, you can control what these two general-purpose computing roadmap and special calculations. In the 1930s, there are a lot of computing devices have been developed. General-purpose computing this route we said earlier, is to explore the theoretical basis of the success, and then developed. However, when the mainstream is the industry-specific calculations, that is to say with a set of specialized hardware to do some specialized calculations. You can see the figures, which is IBM originally developed by computer company accounting records. But now people have completely forgotten this once mainstream. why? This is the theory there is no difference between theory and, general and special difference. No theory, in fact, is a dead end.

640?wx_fmt=png

    These are passed. Now we are in a new era, facing new problems. So, what is the most important issue of our time is that? Everyone has their own views. My view is: The most important issue is that the program come from?

    To date, the vast majority of programs are compiled of people. However, this will not last forever, and in fact has been difficult to go on. why? Please be sure to make it clear, calculable and can be programmed with people, it is very different. In fact, there have been many areas, people programming something completely enough. The most typical example is the Go program. AlphaGo of chess programs are not people be able to compile out.

    It is foreseeable that the vast majority of future programs, not people series, but the one to teach. This requires the establishment of common learning theory. What is common to learn? That is, a machine can learn to do anything possible to learn (control general-purpose computing: a machine can calculate everything possible calculations). This is the task of our time. We need to understand the basic nature of this machine, this machine clarify the basic law, establishing the basic principles of such a machine, and the gradual realization of the project, and then applied to practical problems. This road is the road and general-purpose computing history as the great bright road.

    Limited special study, it is impossible to reach a high realm to achieve high success.

    Establish a common learning is a great task, the task of our time. We are working in this direction. Welcome interested friends to join to participate.

    Calculation has been set, to learn when the legislation!

Attachment:

Marathon mountains and felt the way

Chun Lin Lvyao Golden Dawn,

Crossing Chi Yan Ben thoughts.

Figure brother Feng Qiu old and new meaning,

Sun drizzle release movement.


Note 1, the mountains in upstate New York marathon mountain walk through the inside, more than 26 miles, up and down 1,500 meters.

Complete a full course took more than 13 hours. Walking alone in the mountains, each time a new idea sparks.


Note 2, FIG brother von mound, Godel, Turing, Von Neumann, Church developed 80 years ago in the calculation processing

On guided the decades of computing technology. But now these theories have been insufficient to guide new

The development of the urgent need to develop new theories.


Note 3, movement, machine core theory of epistemology.


Guess you like

Origin blog.csdn.net/VucNdnrzk8iwX/article/details/90653094