What is meant by a computer? Following is the meaning and function.
What is meant by a computer? Following is the meaning and function.
In 1936, the word "computer" meant a person (usually a woman) whose job was to compute with pencil and paper. Turing wanted to show that, in principle, such a "computer" could be simulated by a machine. What would the machine look like? Well, it would have to able to write down its calculations somewhere. Since we don't really care about handwriting, font size, etc., it's easiest to imagine that the calculations are written on a sheet of paper divided into squares, with one symbol per square, and a finite number of possible symbols.
Traditionally paper has two dimensions, but without loss of generality we can imagine a long, one-dimensional paper tape. How long? For the time being, we'll assume as long as we need.
What can the machine do? Well, clearly it has to be able to read symbols off the tape and modify them based on what it reads. We'll assume for simplicity that the machine reads only one symbol at a time.
But in that case, it had better be able to move back and forth on the tape. It would also be nice if, once it's computed an answer, the machine can halt! But at any time, how does the machine decide which things to do? According to Turing, this decision should depend only on two pieces of information: (1) the symbol currently being read, and (2) the machine's current "internal configuration" or "state." Based on its internal state and the symbol currently being read, the machine should (1) write a new symbol in the current square, (2) move backwards or forwards one square, and (3) switch to a new state or halt.
Finally, since we want this machine to be physically realizable, the number of possible internal states should be finite. These are the only requirements.
Turing's first result is the existence of a "universal" machine: a machine whose job is to simulate any other machine described via symbols on the tape.
In other words, universal programmable computers can exist. You don't have to build one machine for email, another for playing DVD's, another for Tomb Raider, and so on: you can build a single machine that simulates any of the other machines, by running different programs stored in memory.
It should be noted that a Turing machine isn't really a definition of what a computer "is". No computers we use today resemble a Turing machine in their mechanical operation. (Rather, the computers we use are generally Von Neumann architectures. Instead, a Turing machine defines (as far as we know) what physically-achievable computers are able to do.
That is, as far as we know, any computer we build (whether using classical physics, quantum mechanics, or something else), can at most solve exactly the problems a Turing machine can and no others.
How a computer really works?
Basically, computer architecture is separated into a hiearchy that makes its representation a little easier to understand. From the most fundamental, to the most abstract is as follows:
Devices - Transistors
Circuits - Logic Gates
Microarchitecture
Machine Architecture (ISA)
Languages
Algorithms
Interface
To understand how a computer really works, you need to have a basic understanding of what each level does, as computing as the general public knows (GUI machine with basic software) cannot really be understood at the most fundamental level.
The transistors make up the "switches" of the computer, they will change based on inputs and other signals they recieve. This might be due to a key being pressed on a keyboard which would create a signal that tells the processor what just happened (highly simplified, as in actualality it would create a cascade of different signals).
The next level is more of an abstraction, the logic gates. Essentially, logic gates are basic conditions that must be met for a signal to be passed (or not passed) to the next part of the circuit. These gates are made out of transistors in a way that makes them function to whatever logic they are to produce(see logic gates on wiki).
The next step is the microarchtecture, which is how these logic gates are arranged in the bigger scheme of things. It is the specific way the hardware is organized to handle specific events. This is still machine level (as in the computer just sees 1's and 0's).
After microarchitecture we reach the Machine Architecture, which is specific to individual microarchitectures. This is more of the assembly language (very primative form of programming language which has commands that focus more on specific hardware requests than having a more generic programming language (java, C, etc). This level is where programming starts to come into play, though you have to specifically tell the computer what to do(ex move data from one memory address to the working memory, and then do some math operation).
Languages is the next category, this is where you see C/java/etc. This is not specific to the hardware and is more abstract (ex create a variable named x, add x to y and store that answer in a variable named z). For this to be used on a given Machine architecture, it needs to be translated into the assembly language listed above. So in the example given, x y and z would be given specific memory addresses, and all of the commands to make the example work would be MUCH more specific.
Algorithms are what make up parts of code. For example, Microsoft Word has an algorithm that will run through the document being written and give you spelling errors. That is one part of the code, an algorithm, that makes up the whole piece of software. Finally you reach the interface, which is the software being used, whether it be an operating system such as windows, or other software such as word or video games.
Post a Comment for "What is meant by a computer? Following is the meaning and function."