A computer is a machine that manipulates data
according to a list of instructions. The first devices that resemble modern computers date to
the mid-20th century (around 1940 - 1945), although the computer concept
and various machines similar to computers existed earlier. Early electronic
computers were the size of a large room, consuming as much power as several
hundred modern personal computers. Modern computers are based on tiny
integrated circuits and are millions to billions of times more capable
while occupying a fraction of the space. Today, simple computers may be
made small enough to fit into a wristwatch and be powered from a watch
battery. Personal computers, in various forms, are icons of the Information
Age and are what most people think of as "a computer"; however,
the most common form of computer in use today is the embedded computer.
Embedded computers are small, simple devices that are used to control other
devices — for example; they may be found in machines ranging from
fighter aircraft to industrial robots, digital cameras, and children's
toys. The ability to store and execute lists of instructions
called programs makes computers extremely versatile and distinguishes them
from calculators. The Church–Turing thesis is a mathematical
statement of this versatility: any computer with a certain minimum
capability is, in principle, capable of performing the same tasks that any
other computer can perform. Therefore, computers with capability and
complexity ranging from that of a personal digital assistant to a
supercomputer are all able to perform the same computational tasks given
enough time and storage capacity. Stored program
architecture Main articles: Computer program and Computer programming The defining feature of modern computers which
distinguishes them from all other machines is that they can be programmed.
That is to say that a list of instructions (the program) can be given to
the computer and it will store them and carry them out at some time in the
future. In most cases, computer instructions are simple: add one
number to another, move some data from one location to another, send a
message to some external device, etc. These instructions are read from the
computer's memory and are generally carried out (executed) in the order
they were given. However, there are usually specialized instructions to
tell the computer to jump ahead or backwards to some other place in the
program and to carry on executing from there. These are called
"jump" instructions (or branches). Furthermore, jump instructions
may be made to happen conditionally so that different sequences of instructions
may be used depending on the result of some previous calculation or some
external event. Many computers directly support subroutines by providing a
type of jump that "remembers" the location it jumped from and
another instruction to return to the instruction following that jump
instruction. Program execution might be likened to reading a book.
While a person will normally read each word and line in sequence, they may
at times jump back to an earlier place in the text or skip sections that
are not of interest. Similarly, a computer may sometimes go back and repeat
the instructions in some section of the program over and over again until
some internal condition is met. This is called the flow of control within
the program and it is what allows the computer to perform tasks repeatedly
without human intervention. Comparatively, a person using a pocket calculator can
perform a basic arithmetic operation such as adding two numbers with just a
few button presses. But to add together all of the numbers from 1 to 1,000
would take thousands of button presses and a lot of time—with a near
certainty of making a mistake. On the other hand, a computer may be
programmed to do this with just a few simple instructions. For example: mov #0,sum
;
set sum to 0 mov #1,num ; set
num to 1 loop: add num,sum ; add num to sum add #1,num ; add 1
to num cmp
num,#1000 ; compare num to 1000 ble loop ;
if num <= 1000, go back to 'loop' halt
;
end of program. stop running Once told to run this program, the computer will perform
the repetitive addition task without further human intervention. It will
almost never make a mistake and a modern PC can complete the task in about
a millionth of a second.[6] However, computers cannot "think" for
themselves in the sense that they only solve problems in exactly the way
they are programmed to. An intelligent human faced with the above addition
task might soon realize that instead of actually adding up all the numbers
one can simply use the equation and arrive at the correct answer (500,500)
with little work.[7] In other words, a computer programmed to add up the
numbers one by one as in the example above would do exactly that without
regard to efficiency or alternative solutions.
![]()
Power up your business Earn up to 2¢ per visitor - MakeMoneyHost.com