Computational Article Index for
Computational
Articles about
Computer
Website Links For
Computer
 

Information About

Computational




Columbia Supercomputer .]]
.]]

A computer is a Machine which manipulates Data according to a list of Instructions which makes it an ideal example of a Data Processing System .

Computers take numerous physical forms. The first devices that resemble modern computers date to the mid- 20th Century (around 1940 - 1941 ), although the computer concept and various machines similar to computers existed prior. Early electronic computers were the size of a large room, consuming as much power as several hundred modern personal computers. In 1946, ENIAC consumed an estimated 174 kW. By comparison, a typical personal computer may use around 400 W; over four hundred times less. Modern computers are are based on comparatively tiny Integrated Circuit s and are millions to billions of times more capable while occupying a fraction of the space. Early computers such as Colossus and ENIAC were able to process between 5 and 100 operations per second. A modern "commodity" microprocessor (as of 2007 ) can process billions of operations per second, and many of these operations are more complicated and useful than early computer operations. Today, simple computers may be made small enough to fit into a Wrist Watch and be powered from a Watch Battery . Personal Computer s 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 by far the Embedded Computer . Embedded computers are small, simple devices that are often used to control other devices—for example, they may be found in machines ranging from Fighter Aircraft to Industrial Robot s, Digital Camera s, and even Children's Toys .

The ability to store and execute lists of instructions called programs makes computers extremely versatile and distinguishes them from to a Supercomputer are all able to perform the same computational tasks given enough time and storage capacity.


HISTORY OF COMPUTING

See Also: History of computing



was one of the first programmable devices.]]

It is difficult to define any one device as the earliest computer. The very definition of a computer has changed and it is therefore impossible to identify the first computer. Many devices once called "computers" would no longer qualify as such by today's standards.

Originally, the term "computer" referred to a person who performed numerical calculations (a Human Computer ), often with the aid of a Mechanical Calculating Device . Examples of early mechanical computing devices included the Abacus , the Slide Rule and arguably the Astrolabe and the Antikythera Mechanism (which dates from about 150-100 BC). The end of the Middle Ages saw a re-invigoration of European mathematics and engineering, and Wilhelm Schickard 's 1623 device was the first of a number of mechanical calculators constructed by European engineers.

However, none of those devices fit the modern definition of a computer because they could not be programmed. In 1801, Joseph Marie Jacquard made an improvement to the Textile Loom that used a series of Punched Paper Cards as a template to allow his loom to weave intricate patterns automatically. The resulting Jacquard loom was an important step in the development of computers because the use of punched cards to define woven patterns can be viewed as an early, albeit limited, form of programmability.

In 1837, Charles Babbage was the first to conceptualize and design a fully programmable mechanical computer that he called "The Analytical Engine ".The Analytical Engine should not be confused with Babbage's Difference Engine which was a non-programmable mechanical calculator. Due to limited finance, and an inability to resist tinkering with the design, Babbage never actually built his Analytical Engine.

Large-scale automated data processing of punched cards was performed for the , Boolean Algebra , the Vacuum Tube (thermionic valve) and the Teleprinter .

During the first half of the 20th century, many scientific computing needs were met by increasingly sophisticated Analog Computer s, which used a direct mechanical or Electrical model of the problem as a basis for Computation . However, these were not programmable and generally lacked the versatility and accuracy of modern digital computers.

A succession of steadily more powerful and flexible computing devices were constructed in the 1930s and 1940s, gradually adding the key features that are seen in modern computers. The use of digital electronics (largely invented by Claude Shannon in 1937) and more flexible programmability were vitally important steps, but defining one point along this road as "the first digital electronic computer" is difficult . Notable achievements include:

was one of the first computers to implement the stored program ( Von Neumann ) architecture.]]

Several developers of ENIAC, recognizing its flaws, came up with a far more flexible and elegant design, which came to be known as the stored program architecture or Von Neumann Architecture . This design was first formally described by John Von Neumann in the paper " First Draft Of A Report On The EDVAC ", published in 1945. A number of projects to develop computers based on the stored program architecture commenced around this time, the first of these being completed in Great Britain . The first to be demonstrated working was the Manchester Small-Scale Experimental Machine (SSEM) or "Baby". However, the EDSAC , completed a year after SSEM, was perhaps the first practical implementation of the stored program design. Shortly thereafter, the machine originally described by von Neumann's paper— EDVAC —was completed but did not see full-time use for an additional two years.

Nearly all modern computers implement some form of the stored program architecture, making it the single trait by which the word "computer" is now defined. By this standard, many earlier devices would no longer be called computers by today's definition, but are usually referred to as such in their historical context. While the technologies used in computers have changed dramatically since the first electronic, general-purpose computers of the 1940s, most still use the Von Neumann Architecture . The design made the universal computer a practical reality.

are miniaturized devices that often implement stored program CPU s.]]

Vacuum Tube -based computers were in use throughout the 1950s, but were largely replaced in the 1960s by Transistor -based devices, which were smaller, faster, cheaper, used less power and were more reliable. These factors allowed computers to be produced on an unprecedented commercial scale. By the 1970s, the adoption of Integrated Circuit technology and the subsequent creation of Microprocessor s such as the Intel 4004 caused another leap in size, speed, cost and reliability. By the 1980s, computers had become sufficiently small and cheap to replace simple mechanical controls in domestic appliances such as Washing Machines . Around the same time, computers became widely accessible for personal use by individuals in the form of Home Computer s and the now ubiquitous Personal Computer . In conjunction with the widespread growth of the Internet since the 1990s, personal computers are becoming as common as the Television and the Telephone and almost all modern electronic devices contain a computer of some kind.




STORED PROGRAM ARCHITECTURE

See Also: Computer program
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 Subroutine s by providing a type of jump that "remembers" the location it jumped from and another instruction to return to that point.

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.This program was written similarly to those for the PDP-11 Minicomputer and shows some typical things a computer can do. All the text after the semicolons are Comment s for the benefit of human readers. These have no significance to the computer and are ignored.

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

  { Class "wikitable"
  { Class "wikitable"
  { Class "wikitable"
  { Class "wikitable"
  { Class "wikitable"
  { Class "wikitable"


  Author Kempf, Karl
  Title Historical Monograph: Electronic Computers Within the Ordnance Corps
  Publisher Aberdeen Proving Ground ( United States Army )
  Url http://ed-thelenorg/comp-hist/U-S-Ord-61html
  Date 1961


  Last Phillips
  First Tony
  Publisher American Mathematical Society
  Year 2000
  Title The Antikythera Mechanism I
  Url http://wwwmathsunysbedu/~tony/whatsnew/column/antikytheraI-0400/kyth1html
  Accessdate 2006-04-05


  Author Shannon, Claude Elwood
  Title A symbolic analysis of relay and switching circuits
  Publisher Massachusetts Institute of Technology
  Url http://hdlhandlenet/17211/11173
  Date 1940


  Author Digital Equipment Corporation
  Publisher Digital Equipment Corporation
  Location Maynard, MA
  Title PDP-11/40 Processor Handbook
  Url http://bitsaversvt100net/dec/wwwcomputermuseumuqeduau_mirror/D-09-30_PDP11-40_Processor_Handbookpdf
  Format PDF
  Year 1972


  Author Verma, G Mielke, N
  Title Reliability performance of ETOX based flash memories
  Publisher IEEE International Reliability Physics Symposium
  Date 1988


  Url http://wwwtop500org/lists/2006/11/overtime/Architectures
  Title Architectures Share Over Time
  Accessdate 2006-11-27
  Last Meuer
  First Hans
  Authorlink Hans Meuer
  Coauthors Strohmaier, Erich Simon, Horst Dongarra, Jack
  Date 2006-11-13
  Publisher TOP500