Active Re Ranking
Active Re Ranking
A device that processes numerical information; more generally, any device that manipulates symbolic
information according to specified computational procedures. The term digital computer—or simply,
computer—embraces calculators, computer workstations, control computers (controllers) for
applications such as domestic appliances and industrial processes, data-processing systems,
microcomputers, microcontrollers, multiprocessors, parallel computers, personal computers, network
servers, and supercomputers. See also Calculators; Digital control; Microcomputer; Programmable
controllers; Supercomputer.
A digital computer is an electronic computing machine that uses the binary digits (bits) 0 and 1 to
represent all forms of information internally in digital form. Every computer has a set of instructions
that define the basic functions it can perform. Sequences of these instructions constitute machine-
language programs that can be stored in the computer and used to tailor it to an essentially unlimited
number of specialized applications. Calculators are small computers specialized for mathematical
computations. General-purpose computers range from pocket-sized personal digital assistants
(notepad computers), to medium-sized desktop computers (personal computers and workstations), to
large, powerful computers that are shared by many users via a computer network. The vast majority
of digital computers now in use are inexpensive, special-purpose microcontrollers that are embedded,
often invisibly, in such devices as toys, consumer electronic equipment, and automobiles. See also Bit;
Computer programming; Embedded systems.
The main data-processing elements of a computer reside in a small number of electronic integrated
circuits (ICs) that form a microprocessor or central processing unit (CPU). Electronic technology allows
a basic instruction such as “add two numbers” to be executed many millions of times per second.
Other electronic devices are used for program and data storage (memory circuits) and for
communication with external devices and human users (input-output circuits). Nonelectronic
(magnetic, optical, and mechanical) devices also appear in computers. They are used to construct
input-output devices such as keyboards, monitors (video screens), secondary memories, printers,
sensors, and mechanical actuators.
Information is stored and processed by computers in fixed-sized units called words. Common word
sizes are 8, 16, 32, and 64 bits. Four-bit words can be used to encode the first 16 integers. By
increasing the word size, the number of different items that can be represented and their precision
can be made as large as desired. A common word size in personal computers is 32 bits, which allows
232 = 4,294,967,296 distinct numbers to be represented.
Computer words can represent many different forms of information, not just numbers. For example,
8-bit words called characters or bytes are used to encode text symbols (the 10 decimal digits, the 52
upper- and lowercase letters of the English alphabet, and punctuation marks). A widely used code of
this type is ASCII (American Standard Code for Information Interchange). Visual information can be
reduced to black and white dots (pixels) corresponding to 0's and 1's. Audio information can be
digitized by mapping a small element of sound into a binary word; for example, a compact disk (CD)
uses several million 16-bit words to store an audio recording. Logical quantities encountered in
reasoning or decision making can be captured by associating 1 with true and 0 with false. Hence, most
forms of information are readily reduced to a common, numberlike binary format suitable for
processing by computer. See also Compact disk; Image processing; Logic.
Logic components
The operation of a digital computer can be viewed at various levels of abstraction, which are
characterized by components of different complexity. These levels range from the low, transistor level
seen by an electronic circuit designer to the high, system level seen by a computer user. A useful
intermediate level is the logic level, where the basic components process individual bits. By using
other basic components called gates, logic circuits can be constructed to perform many useful
operations. See also Logic circuits.
System organization
An accumulator is a digital system that constitutes a simple processor capable of executing a few
instructions. By introducing more data-processing circuits and registers, as well as control circuits for
a larger set of instructions, a practical, general-purpose processor can be constructed. Such a
processor forms the “brain” of every computer, and is referred to as its central processing unit. A CPU
implemented on a single integrated-circuit chip is called a microprocessor. See also Microprocessor.
A typical computer program is too large to store in the CPU, so another component called the main
memory is used to store a program's instructions and associated data while they are being executed
(Fig. 1). Main memory consists of high-speed integrated circuits designed to allow storage and
retrieval of information one word at a time. All words in main memory can be accessed with equal
ease; hence this is also called a random-access memory (RAM).
digital computer
A computer that performs operations with quantities represented electronically as digits, usually
in binary code. (Compare analog computer.)
Computer Desktop Encyclopedia:
digital computer
Top
Home > Library > Technology > Computer Encyclopedia
A computer that accepts and processes data that has been converted into binary numbers. Most
computers are digital. Contrast with analog computer.
Download Computer Desktop Encyclopedia to your PC, iPhone or Android.
Barron's Business Dictionary:
digital computer
Top
Home > Library > Business & Finance > Business Dictionary
Type of computer that represents information in discrete form, as opposed to an analog computer, which
allows representations to vary along a continuum. All modern general-purpose electronic computers are
digital.
Previous: Digital, Differentiation Strategy, Dickering
Next: Digital Copier, Digitize, Dilution
Mosby's Dental Dictionary:
digital computer
Top
Home > Library > Health > Dental Dictionary
n
A computer that operates on discrete data by performing arithmetic and logic processes on them.
Digital Computers are that kind of computing machines which work on the principle of binary mathematics. Digital computing
machines when clubbed with Analog computers produce Hybrid computers.
The digital systems work on the principle of binary mathematics. In binary mathematics all calculations are represented
through "0" and "1". You have often heard about the word "Byte", "Mega Byte", "Kilo Byte". But what is a Byte? A single Byte
is a group of 8 numbers or bits represented through a code series comprising of "0" and "1" .The combination of the digital
signal can solve a number of mathematical operations. It is interesting to note that the fundamentals of mathematics applied
are addition, subtraction, multiplication and division. But the chief problem is that though it can solve mathematical problems
at a tremendous speed, it cannot perform bulk operations simultaneously. For this purpose, digital systems by themselves
cannot give very precise results. Hence, for greater efficiency, the Digital systems do not find much application.
IMAGES
A brief treatment of digital computers follows. For full treatment, see computer science: Basic
computer components.
Functional elements
A typical digital computer system has four basic functional elements: (1) input-outputequipment,
(2) main memory, (3) control unit, and (4) arithmetic-logic unit. Any of a number of devices is
used to enter data and program instructions into a computer and to gain access to the results of
the processing operation. Common input devices include keyboards and optical
scanners; output devices include printers and cathode-ray tube and liquid-crystal display
monitors. The information received by a computer from its input unit is stored in the main
memory or, if not for immediate use, in an auxiliary storage device. The control unit selects and
calls up instructions from the memory in appropriate sequence and relays the proper commands
to the appropriate unit. It also synchronizes the varied operating speeds of the input and output
devices to that of the arithmetic-logic unit (ALU) so as to ensure the proper movement of data
through the entire computer system. The ALU performs the arithmetic and logic algorithms
selected to process the incoming data at extremely high speeds—in many cases in nanoseconds
(billionths of a second). The main memory, control unit, and ALU together make up the central
processing unit (CPU) of most digital computer systems, while the input-output devices and
auxiliary storage units constitute peripheral equipment
Digital Computers
A digital computer is designed to process data in numerical form (see digital circuit); its circuits perform directly the
mathematical operations of addition, subtraction, multiplication, and division. The numbers operated on by a digital
computer are expressed in the binary system; binary digits, or bits, are 0 and 1, so that 0, 1, 10, 11, 100, 101, etc.,
correspond to 0, 1, 2, 3, 4, 5, etc. Binary digits are easily expressed in the computer circuitry by the presence (1) or
absence (0) of a current or voltage. A series of eight consecutive bits is called a "byte"; the eight-bit byte permits 256
different "on-off" combinations. Each byte can thus represent one of up to 256 alphanumeric characters, and such an
arrangement is called a "single-byte character set" (SBCS); the de facto standard for this representation is the
extended ASCII character set. Some languages, such as Japanese, Chinese, and Korean, require more than 256
unique symbols. The use of two bytes, or 16 bits, for each symbol, however, permits the representation of up to
65,536 characters or ideographs. Such an arrangement is called a "double-byte character set" (DBCS); Unicode is
the international standard for such a character set. One or more bytes, depending on the computer's architecture, is
sometimes called a digital word; it may specify not only the magnitude of the number in question, but also its sign
(positive or negative), and may also contain redundant bits that allow automatic detection, and in some cases
correction, of certain errors (see code; information theory). A digital computer can store the results of its calculations
for later use, can compare results with other data, and on the basis of such comparisons can change the series of
operations it performs. Digital computers are used for reservations systems, scientific investigation, data-processing
and word-processing applications, desktop publishing, electronic games, and many other purposes.
Processing of Data
The operations of a digital computer are carried out by logic circuits, which are digital circuits whose single output is
determined by the conditions of the inputs, usually two or more. The various circuits processing data in the
computer's interior must operate in a highly synchronized manner; this is accomplished by controlling them with a
very stable oscillator, which acts as the computer's "clock." Typical computer clock rates range from several million
cycles per second to several hundred million, with some of the fastest computers having clock rates of about a billion
cycles per second. Operating at these speeds, digital computer circuits are capable of performing thousands to
trillions of arithmetic or logic operations per second, thus permitting the rapid solution of problems that would be
impossible for a human to solve by hand. In addition to the arithmetic and logic circuitry and a small number of
registers (storage locations that can be accessed faster than main storage and are used to hold the intermediate
results of calculations), the heart of the computer—called the central processing unit, or CPU—contains the circuitry
that decodes the set of instructions, or program, and causes it to be executed.
Storage and Retrieval of Data
Associated with the central processing unit is the storage unit, or memory, where results or other data are stored for
periods of time ranging from a small fraction of a second to days or weeks before being retrieved for further
processing. Once made up of vacuum tubes and later of small doughnut-shaped ferromagnetic cores strung on a
wire matrix, main storage now consists of integrated circuits, each of which contains thousands
of semiconductor devices. Where each vacuum tube or core represented one bit and the total memory of the
computer was measured in thousands of bytes (or kilobytes, KB), each semiconductor device now represents millions
of bytes (or megabytes, MB) and the total memory of mainframe computers is measured in billions of bytes (or
gigabytes, GB). Random-access memory (RAM), which both can be read from and written to, is lost each time the
computer is turned off. Read-only memory (ROM), which cannot be written to, maintains its content at all times and is
used to store the computer's control information.
Programs and data that are not currently being used in main storage can be saved on auxiliary storage, or external
storage. Although punched paper tape and punched cards once served this purpose, the major materials used today
are magnetic tape and magnetic disks, which can be read from and written to, and two types of optical disks,
thecompact disc (CD) and its successor the digital versatile disc (DVD). DVD is an improved optical storage
technology capable of storing vastly greater amounts of data than the CD technology. CD–Read-Only Memory (CD-
ROM) and DVD–Read-Only Memory (DVD-ROM) disks can only be read—the disks are impressed with data at the
factory but once written cannot be erased and rewritten with new data. The latter part of the 1990s saw the
introduction of new optical storage technologies: CD-Recordable (CD-R) and DVD-Recordable (DVD-R), optical disks
that can be written to by the computer to create a CD-ROM or DVD-ROM, but can be written to only once; and CD-
ReWritable (CD-RW), DVD-ReWritable (DVD-RW and DVD+RW), and DVD–Random Access Memory (DVD-RAM),
disks that can be written to multiple times.
When compared to semiconductor memory, magnetic and optical storage is less expensive, is not volatile (i.e., data
is not lost when the power to the computer is shut off), and provides a convenient way to transfer data from one
computer to another. Thus operating instructions or data output from one computer can be stored away from the
computer and then retrieved either by the same computer or another. In a system using magnetic tape the
information is stored by a specially designed tape recorder somewhat similar to one used for recording sound. In
magnetic and optical disk systems the principle is the same except that the magnetic or optical medium lies in a path,
or track, on the surface of a disk. The disk drive also contains a motor to spin the disk and a magnetic or optical head
or heads to read and write the data to the disk. Drives take several forms, the most significant difference being
whether the disk can be removed from the drive assembly.
Removable magnetic disks are most commonly made of mylar enclosed in a paper or plastic holder. These floppy
disks have varying capacities, with very high density disks holding 250 MB—more than enough to contain a dozen
books the size of Tolstoy's Anna Karenina. Compact discs can hold many hundreds of megabytes, and are used, for
example, to store the information contained in an entire multivolume encyclopedia or set of reference works, and
DVD disks can hold ten times as much as that. Nonremovable disks are made of metal and arranged in spaced
layers. They can hold more data and can read and write data much faster than floppies.
Data are entered into the computer and the processed data made available via input/output devices. All auxiliary
storage devices are used as input/output devices. For many years, the most popular input/output medium was the
punched card. Although this is still used, the most popular input device is now the computer terminal and the most
popular output device is the high-speed printer. Human beings can directly communicate with the computer through
computer terminals, entering instructions and data by means of keyboards much like the ones on typewriters, by
using a pointing device such as a mouse, trackball, or touchpad, or by speaking into a microphone that is connected
to computer running voice-recognition software. Responses may be displayed on a cathode-ray tube, liquid-
crystal display, or printer. The CPU, main storage, auxiliary storage, and input/output devices collectively make up a
system.
Sharing the Computer's Resources
Generally, the slowest operations that a computer must perform are those of transferring data, particularly when data
is received from or delivered to a human being. The computer's central processor is idle for much of this period, and
so two similar techniques are used to use its power more fully.
Time sharing, used on large computers, allows several users at different terminals to use a single computer at the
same time. The computer performs part of a task for one user, then suspends that task to do part of another for
another user, and so on. Each user only has the computer's use for a fraction of the time, but the task switching is so
rapid that most users are not aware of it. Most of the tens of millions of computers in the world are stand-alone,
single-user devices known variously as personal computers or workstations. For them, multitasking involves the
same type of switching, but for a single user. This permits a user, for example, to have one file printed and another
sorted while editing a third in a word-processing session. Such personal computers can also be linked together in a
network, where each computer is connected to others, usually by wires or coaxial cables, permitting all to share
resources such as printers, modems, and hard-disk storage devices.
Computer Programs and Programming Languages
Before a computer can be used to solve a given problem, it must first be programmed, that is, prepared for solving
the problem by being given a set of instructions, or program. The various programs by which a computer controls
aspects of its operations, such as those for translating data from one form to another, are known as software, as
contrasted with hardware, which is the physical equipment comprising the installation. In most computers the
moment-to-moment control of the machine resides in a special software program called an operating system, or
supervisor. Other forms of software include assemblers and compilers for programming languages and applications
for business and home use (see computer program). Software is of great importance; the usefulness of a highly
sophisticated array of hardware can be severely compromised by the lack of adequate software.
Each instruction in the program may be a simple, single step, telling the computer to perform some arithmetic
operation, to read the data from some given location in the memory, to compare two numbers, or to take some other
action. The program is entered into the computer's memory exactly as if it were data, and on activation, the machine
is directed to treat this material in the memory as instructions. Other data may then be read in and the computer can
carry out the program to solve the particular problem.
Since computers are designed to operate with binary numbers, all data and instructions must be represented in this
form; the machine language, in which the computer operates internally, consists of the various binary codes that
define instructions together with the formats in which the instructions are written. Since it is time-consuming and
tedious for a programmer to work in actual machine language, a programming language, or high-level language,
designed for the programmer's convenience, is used for the writing of most programs. The computer is programmed
to translate this high-level language into machine language and then solve the original problem for which the program
was written. Certain high-level programming languages are universal, varying little from machine to machine.
COMPUTER ENGINEERING
(DIGITAL SYSTEMS)
General Description
The digital systems area primarily involves the design and utilization of digital computer hardware and software. Almost
every electronic device made today contains digital circuitry in the form of microprocessors or application- dependent digital
interfaces. Whereas analog circuits process continuously-varible electrical signals, digital circuits always involve discrete,
quantized electrical signals, which are represented by strings of binary digits (1 or 0). The major classroom topics include
Boolean algebra, combinational logic design, sequential logic design, digital integrated circuits, programmable logic devices,
computer design, and microprocessor hardware and software. Mainframe computers, microprocessors, video games,
industrial data acquisition and control systems, medical instrumentation, and automobile instrumentation are typical end-
products of a digital system designer.
Job Opportunities
Since digital systems are so pervasive throughout the world today, there are many jobs available in the digital system area.
There are opportunities in design, manufacturing, sales, customer support, and application engineering. The digital engineer
may work on discrete large board-level systems or small systems-on-a-chip (VLSI). Applications include all domains:
commercial, industrial, and military. Typical products include supercomputers, personal computers, video games,
appliances, cellular phones, video and audio products, calculators, digital clocks, industrial control, data acquisition, process
control, instrumentation, and automobile and aviation systems.
Senior Sequences
Option 1:
Option 2:
Describes any system based on discontinuous data or events.Computers are digital machines because at their most basic
level they can distinguish between just two values, 0 and 1, or off and on. There is no simple way to represent all the values
in between, such as 0.25. All data that a computer processes must be encoded digitally, as a series of zeroes and ones.
The opposite of digital is analog. A typical analog device is a clock in which the hands move continuously around the face.
Such a clock is capable of indicating every possible time of day. In contrast, a digital clock is capable of representing only a
finite number of times (every tenth of a second, for example).
In general, humans experience the world analogically. Vision, for example, is an analog experience because we perceive
infinitely smooth gradations of shapes and colors. Most analog events, however, can be simulated digitally. Photographs in
newspapers, for instance, consist of an array of dots that are either black or white. From afar, the viewer does not see the
dots (the digital form), but only lines and shading, which appear to be continuous. Although digital representations are
approximations of analog events, they are useful because they are relatively easy to store and manipulate electronically.
The trick is in converting from analog to digital, and back again.
This is the principle behind compact discs (CDs). The music itself exists in an analog form, as waves in the air, but these
sounds are then translated into a digital form that is encoded onto the disk. When you play a compact disc, the CD
player reads the digital data, translates it back into its original analog form, and sends it to the amplifier and eventually the
speakers.
Internally, computers are digital because they consist of discrete units calledbits that are either on or off. But by combining
many bits in complex ways, computers simulate analog events. In one sense, this is what computer science is all about.
Also see quantum computing.
Analog computer is another kind of a computer that represents data as variable across a continuous
range of values. The earliest computers were analog computers. Analog computers are used for
measuring of parameters that vary continuously in real time, such as temperature, pressure and
voltage. Analog computers may be more flexible but generally less precise than digital computers.
Slide rule is an example of an analog computer.
This book deals only with the digital computer and uses the term computer for them.
Digital data
From Wikipedia, the free encyclopedia
This article needs additional citations for verification. Please help improve this article byadding
citations to reliable sources. Unsourced material may be challenged and removed.(September 2012)
This article is about broad technical and mathematical information regarding digital data. For alternate or more
specific uses, seeDigital (disambiguation).
Digital data, in information theory and information systems, are discrete, discontinuous representations of
information or works, as contrasted with continuous, or analog signals which behave in a continuous manner,
or represent information using a continuous function.
Although digital representations are discrete, the information represented can be either discrete, such
as numbers and letters or continuous, such as sounds, images, and other measurements.
The word digital comes from the same source as the words digit and digitus (the Latin word for finger), as
fingers are often used for discrete counting. Mathematician George Stibitz of Bell Telephone Laboratories used
the word digital in reference to the fast electric pulses emitted by a device designed to aim and fire anti-aircraft
guns in 1942.[1] It is most commonly used in computing andelectronics, especially where real-world information
is converted to binary numeric form as in digital audio and digital photography.
Contents
[hide]
4 See also
5 References
6 Further reading
Since symbols (for example, alphanumeric characters) are not continuous, representing symbols digitally is
rather simpler than conversion of continuous or analog information to digital. Instead
of sampling and quantization as in analog-to-digital conversion, such techniques as polling and encoding are
used.
A symbol input device usually consists of a group of switches that are polled at regular intervals to see which
switches are switched. Data will be lost if, within a single polling interval, two switches are pressed, or a switch
is pressed, released, and pressed again. This polling can be done by a specialized processor in the device to
prevent burdening the main CPU. When a new symbol has been entered, the device typically sends
an interrupt to alert in a specialized format so that the CPU to read it.
For devices with only a few switches (such as the buttons on a joystick), the status of each can be encoded as
bits (usually 0 for released and 1 for pressed) in a single word. This is useful when combinations of key presses
are meaningful, and is sometimes used for passing the status of modifier keys on a keyboard (such as shift and
control). But it does not scale to support more keys than the number of bits in a single byte or word.
Devices with many switches (such as a computer keyboard) usually arrange these switches in a scan matrix,
with the individual switches on the intersections of x and y lines. When a switch is pressed, it connects the
corresponding x and y lines together. Polling (often called scanning in this case) is done by activating each x
line in sequence and detecting which y lines then have a signal, thus which keys are pressed. When the
keyboard processor detects that a key has changed state, it sends a signal to the CPU indicating the scan code
of the key and its new state. The symbol is then encoded, or converted into a number, based on the status of
modifier keys and the desired character encoding.
A custom encoding can be used for a specific application with no loss of data. However, using a standard
encoding such as ASCII is problematic if a symbol such as 'ß' needs to be converted but is not in the standard.
It is estimated that in the year 1986 less than 1% of the world's technological capacity to store information was
digital and in 2007 it was already 94%.[2] The year 2002 is assumed to be the year when human kind was able
to store more information in digital than in analog format (the "beginning of the digital age").[3]
All digital information possesses common properties that distinguish it from analog communications methods:
Synchronization: Since digital information is conveyed by the sequence in which symbols are ordered, all
digital schemes have some method for determining the beginning of a sequence. In written or spoken
human languages synchronization is typically provided by pauses (spaces), capitalization, and
punctuation. Machine communications typically use special synchronization sequences.
Language: All digital communications require a language[disambiguation needed], which in this context consists of
all the information that the sender and receiver of the digital communication must both possess, in
advance, in order for the communication to be successful. Languages are generally arbitrary and specify
the meaning to be assigned to particular symbol sequences, the allowed range of values, methods to be
used for synchronization, etc.
Errors: Disturbances (noise) in analog communications invariably introduce some, generally small
deviation or error between the intended and actual communication. Disturbances in a digital
communication do not result in errors unless the disturbance is so large as to result in a symbol being
misinterpreted as another symbol or disturb the sequence of symbols. It is therefore generally possible to
have an entirely error-free digital communication. Further, techniques such as check codes may be used
to detect errors and guarantee error-free communications through redundancy or retransmission. Errors in
digital communications can take the form of substitution errors in which a symbol is replaced by another
symbol, or insertion/deletion errors in which an extra incorrect symbol is inserted into or deleted from a
digital message. Uncorrected errors in digital communications have unpredictable and generally large
impact on the information content of the communication.
Copying: Because of the inevitable presence of noise, making many successive copies of an analog
communication is infeasible because each generation increases the noise. Because digital
communications are generally error-free, copies of copies can be made indefinitely.
Granularity: When a continuously variable analog value is represented in digital form there is always a
decision as to the number of symbols to be assigned to that value. The number of symbols determines the
precision or resolution of the resulting datum. The difference between the actual analog value and the
digital representation is known as quantization error. Example: the actual temperature is 23.234456544453
degrees but if only two digits (23) are assigned to this parameter in a particular digital representation (e.g.
digital thermometer or table in a printed report) the quantizing error is: 0.234456544453. This property of
digital communication is known as granularity.
Compressible: According to Miller, "Uncompressed digital data is very large, and in its raw form would
actually produce a larger signal (therefore be more difficult to transfer) than analog data. However, digital
data can be compressed. Compression reduces the amount of bandwidth space needed to send
information. Data can be compressed, sent and then decompressed at the site of consumption. This
makes it possible to send much more information and result in, for example, digital television signals
offering more room on the airwave spectrum for more television channels."[4]
Historical digital systems[edit source | editbeta]
Even though digital signals are generally associated with the binary electronic digital systems used in modern
electronics and computing, digital systems are actually ancient, and need not be binary or electronic. [citation needed]
Written text (due to the limited character set and the use of discrete symbols - the alphabet in most cases)
The abacus was created sometime between 1000 BC and 500 BC, it later became a form of calculation
frequency. Nowadays it can be used as a very advanced, yet basic digital calculator that uses beads on
rows to represent numbers. Beads only have meaning in discrete up and down states, not in analog in-
between states.
A beacon is perhaps the simplest non-electronic digital signal, with just two states (on and off). In
particular, smoke signals are one of the oldest examples of a digital signal, where an analog "carrier"
(smoke) is modulated with a blanket to generate a digital signal (puffs) that conveys information.
Morse code uses six digital states—dot, dash, intra-character gap (between each dot or dash), short gap
(between each letter), medium gap (between words), and long gap (between sentences)—to send
messages via a variety of potential carriers such as electricity or light, for example using an electrical
telegraph or a flashing light.
The Braille system was the first binary format for character encoding, using a six-bit code rendered as dot
patterns.
Flag semaphore uses rods or flags held in particular positions to send messages to the receiver watching
them some distance away.
International maritime signal flags have distinctive markings that represent letters of the alphabet to allow
ships to send messages to each other.
More recently invented, a modem modulates an analog "carrier" signal (such as sound) to encode binary
electrical digital information, as a series of binary digital sound pulses. A slightly earlier, surprisingly
reliable version of the same concept was to bundle a sequence of audio digital "signal" and "no signal"
information (i.e. "sound" and "silence") on magnetic cassette tape for use with early home computers.
"Computer technology" and "Computer system" redirect here. For the company, see Computer Technology Limited.
For other uses, see Computer (disambiguation) and Computer system (disambiguation)
Computer
A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical
operations. Since a sequence of operations can be readily changed, the computer can solve more than one kind of
problem.
Conventionally, a computer consists of at least one processing element, typically a central processing unit (CPU) and
some form of memory. The processing element carries out arithmetic and logic operations, and a sequencing and
control unit that can change the order of operations based on stored information. Peripheral devices allow information
to be retrieved from an external source, and the result of operations saved and retrieved.
The first electronic digital computers were developed between 1940 and 1945. Originally they were the size of a large
room, consuming as much power as several hundred modern personal computers (PCs).[1] In this
eramechanical analog computers were used for military applications.
Modern computers based on integrated circuits are millions to billions of times more capable than the early machines,
and occupy a fraction of the space.[2] Simple computers are small enough to fit into mobile devices, and mobile
computers can be powered by smallbatteries. Personal computers in their various forms are icons of the Information
Age and are what most people think of as “computers.” However, the embedded computers found in many devices
from MP3 players to fighter aircraft and from toys to industrial robots are the most numerous.
Contents
[hide]
1 History of computing
2 Programs
o 2.2 Bugs
3 Components
o 3.1 Control unit
o 3.3 Memory
o 3.5 Multitasking
o 3.6 Multiprocessing
4 Misconceptions
5 Further topics
o 5.2 Hardware
o 5.3 Software
o 5.4 Languages
6 See also
7 Notes
8 References
9 External links
History of computing
The Jacquard loom, on display at theMuseum of Science and Industry in Manchester, England, was one of the first programmable devices.
The first use of the word “computer” was recorded in 1613 in a book called “The yong mans gleanings” by English
writer Richard Braithwait I haue read the truest computer of Times, and the best Arithmetician that euer breathed, and
he reduceth thy dayes into a short number. It referred to a person who carried out calculations, or computations, and
the word continued with the same meaning until the middle of the 20th century. From the end of the 19th century the
word began to take on its more familiar meaning, a machine that carries out computations.[3]
Blaise Pascal invented the mechanical calculator in 1642,[9] known as Pascal's calculator, it was the first machine to
better human performance of arithmetical computations [10] and would turn out to be the only functional mechanical
calculator in the 17th century.[11]Two hundred years later, in 1851, Thomas de Colmar released, after thirty years of
development, his simplified arithmometer; it became the first machine to be commercialized because it was strong
enough and reliable enough to be used daily in an office environment. The mechanical calculator was at the root of
the development of computers in two separate ways. Initially, it was in trying to develop more powerful and more
flexible calculators[12] that the computer was first theorized by Charles Babbage[13][14] and then
developed.[15]Secondly, development of a low-cost electronic calculator, successor to the mechanical calculator,
resulted in the development byIntel[16] of the first commercially available microprocessor integrated circuit.
This portrait of Jacquard was woven in silk on a Jacquard loom and required 24,000 punched cards to create (1839). It was only produced to
order. Charles Babbage owned one of these portraits; it inspired him in using perforated cards in his analytical engine.[18]
The Zuse Z3, 1941, considered the world's first working programmable, fully automatic computing machine.
It was the fusion of automatic calculation with programmability that produced the first recognizable computers. In
1837, Charles Babbage was the first to conceptualize and design a fully programmable mechanical computer,
his analytical engine.[19] Limited finances and Babbage's inability to resist tinkering with the design meant that the
device was never completed—nevertheless his son, Henry Babbage, completed a simplified version of the analytical
engine's computing unit (the mill) in 1888. He gave a successful demonstration of its use in computing tables in 1906.
This machine was given to the Science museum in South Kensington in 1910.
Ada Lovelace, considered to be the first computer programmer.[20]
Between 1842 and 1843, Ada Lovelace, an analyst ofCharles Babbage's analytical engine, translated an article by
Italian military engineer Luigi Menabrea on the engine, which she supplemented with an elaborate set of notes of her
own, simply calledNotes. These notes contain what is considered the first computer program – that is, an algorithm
encoded for processing by a machine. Lovelace's notes are important in the early history of computers. She also
developed a vision on the capability of computers to go beyond mere calculating or number-crunching while others,
including Babbage himself, focused only on those capabilities.[21]
In the late 1880s, Herman Hollerith invented the recording of data on a machine-readable medium. Earlier uses of
machine-readable media had been for control, not data. “After some initial trials with paper tape, he settled on
punched cards...”[22] To process these punched cards he invented the tabulator, and the keypunch machines. These
three inventions were the foundation of the modern information processing industry. Large-scale automated data
processing of punched cards was performed for the 1890 United States Census by Hollerith's company, which later
became the core ofIBM. By the end of the 19th century a number of ideas and technologies, that would later prove
useful in the realization of practical computers, had begun to appear: Boolean algebra, the vacuum tube (thermionic
valve), punched cards and tape, and the teleprinter.
During the first half of the 20th century, many scientific computing needs were met by increasingly
sophisticated analog computers, 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.
Alan Turing is widely regarded as the father of modern computer science. In 1936, Turing provided an influential
formalization of the concept of the algorithm and computation with the Turing machine, providing a blueprint for the
electronic digital computer.[23] Of his role in the creation of the modern computer, Time magazine in naming Turing
one of the 100 most influential people of the 20th century, states: “The fact remains that everyone who taps at a
keyboard, opening a spreadsheet or a word-processing program, is working on an incarnation of a Turing
machine.”[23]
The ENIAC, which became operational in 1946, is considered to be the first general-purpose electronic computer. Programmers Betty Jean
Jennings (left) and Fran Bilas (right) are depicted here operating the ENIAC's main control panel.
EDSAC was one of the first computers to implement the stored-program (von Neumann) architecture.
George Stibitz is internationally recognized as a father of the modern digital computer. While working at Bell Labs in
November 1937, Stibitz invented and built a relay-based calculator he dubbed the “Model K” (for “kitchen table,” on
which he had assembled it), which was the first to use binary circuits to perform an arithmetic operation. Later models
added greater sophistication including complex arithmetic and programmability. [24]
The Atanasoff–Berry Computer (ABC) was the world's first electronic digital computer, albeit
not programmable.[25] Atanasoff is considered to be one of the fathers of the computer. [26] Conceived in 1937 by Iowa
State College physics professor John Atanasoff, and built with the assistance of graduate student Clifford
Berry,[27] the machine was not programmable, being designed only to solve systems of linear equations. The
computer did employ parallel computation. A 1973 court ruling in a patent dispute found that the patent for the
1946 ENIAC computer derived from the Atanasoff–Berry Computer.
The first program-controlled computer was invented by Konrad Zuse, who built the Z3, an electromechanical
computing machine, in 1941.[28] The first programmable electronic computer was the Colossus, built in 1943
by Tommy Flowers.
Konrad Zuse's electromechanical “Z machines.” The Z3 (1941) was the first working machine
featuring binary arithmetic, including floating point arithmetic and a measure of programmability. In 1998 the Z3
was proved to be Turing complete, therefore being the world's first operational computer.[29] Thus, Zuse is often
regarded as the inventor of the computer.[30][31][32][33]
The non-programmable Atanasoff–Berry Computer (commenced in 1937, completed in 1941) which used
vacuum tube based computation, binary numbers, and regenerative capacitor memory. The use of regenerative
memory allowed it to be much more compact than its peers (being approximately the size of a large desk or
workbench), since intermediate results could be stored and then fed back into the same set of computation
elements.
The secret British Colossus computers (1943),[34] which had limited programmability but demonstrated that a
device using thousands of tubes could be reasonably reliable and electronically re-programmable. It was used
for breaking German wartime codes.
The Harvard Mark I (1944), a large-scale electromechanical computer with limited programmability. [35]
The U.S. Army's Ballistic Research Laboratory ENIAC (1946), which used decimal arithmetic and is sometimes
called the first general purpose electronic computer (since Konrad Zuse's Z3 of 1941
used electromagnets instead of electronics). Initially, however, ENIAC had an architecture which required
rewiring a plugboard to change its programming.
Stored-program architecture
This section does not cite any references or sources. Please help improve this section
byadding citations to reliable sources. Unsourced material may be challenged
and removed.(July 2012)
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, distributed in 1945. A number of
projects to develop computers based on the stored-program architecture commenced around this time, the first of
which was completed in 1948 at the University of Manchester in England, the Manchester Small-Scale Experimental
Machine (SSEM or “Baby”). The Electronic Delay Storage Automatic Calculator (EDSAC), completed a year after the
SSEM at Cambridge University, was the first practical, non-experimental implementation of the stored-program
design and was put to use immediately for research work at the university. 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. 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.
Die of an Intel 80486DX2 microprocessor(actual size: 12×6.75 mm) in its packaging
Beginning in the 1950s, Soviet scientists Sergei Sobolev and Nikolay Brusentsov conducted research on ternary
computers, devices that operated on a base three numbering system of -1, 0, and 1 rather than the
conventional binary numbering system upon which most computers are based. They designed the Setun, a functional
ternary computer, at Moscow State University. The device was put into limited production in the Soviet Union, but
supplanted by the more common binary architecture.
Modern smartphones are fully programmable computers in their own right, and as of 2009 may well be the most
common form of such computers in existence.[citation needed]
Programs
Alan Turing was an influential computer scientist.
The defining feature of modern computers which distinguishes them from all other machines is that they can
be programmed. That is to say that some type of instructions (the program) can be given to the computer, and it will
process them. Modern computers based on the von Neumann architecture often have machine code in the form of
an imperative programming language.
In practical terms, a computer program may be just a few instructions or extend to many millions of instructions, as do
the programs for word processors and web browsers for example. A typical modern computer can execute billions of
instructions per second (gigaflops) and rarely makes a mistake over many years of operation. Large computer
programs consisting of several million instructions may take teams of programmers years to write, and due to the
complexity of the task almost certainly contain errors.
Replica of the Small-Scale Experimental Machine (SSEM), the world's first stored-program computer, at the Museum of Science and
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:
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.[37]
Bugs
Main article: Software bug
The actual first computer bug, a moth found trapped on a relay of the Harvard Mark II computer
Errors in computer programs are called “bugs.” They may be benign and not affect the usefulness of the program, or
have only subtle effects. But in some cases, they may cause the program or the entire system to “hang,” becoming
unresponsive to input such as mouseclicks or keystrokes, to completely fail, or to crash. Otherwise benign bugs may
sometimes be harnessed for malicious intent by an unscrupulous user writing an exploit, code designed to take
advantage of a bug and disrupt a computer's proper execution. Bugs are usually not the fault of the computer. Since
computers merely execute the instructions they are given, bugs are nearly always the result of programmer error or
an oversight made in the program's design.[38]
Admiral Grace Hopper, an American computer scientist and developer of the first compiler, is credited for having first
used the term “bugs” in computing after a dead moth was found shorting a relay in the Harvard Mark II computer in
September 1947.[39]
Machine code
In most computers, individual instructions are stored as machine code with each instruction being given a unique
number (its operation code or opcode for short). The command to add two numbers together would have one opcode,
the command to multiply them would have a different opcode and so on. The simplest computers are able to perform
any of a handful of different instructions; the more complex computers have several hundred to choose from, each
with a unique numerical code. Since the computer's memory is able to store numbers, it can also store the instruction
codes. This leads to the important fact that entire programs (which are just lists of these instructions) can be
represented as lists of numbers and can themselves be manipulated inside the computer in the same way as numeric
data. The fundamental concept of storing programs in the computer's memory alongside the data they operate on is
the crux of the von Neumann, or stored program, architecture. In some cases, a computer might store some or all of
its program in memory that is kept separate from the data it operates on. This is called the Harvard architecture after
the Harvard Mark I computer. Modern von Neumann computers display some traits of the Harvard architecture in
their designs, such as in CPU caches.
While it is possible to write computer programs as long lists of numbers (machine language) and while this technique
was used with many early computers,[40] it is extremely tedious and potentially error-prone to do so in practice,
especially for complicated programs. Instead, each basic instruction can be given a short name that is indicative of its
function and easy to remember – a mnemonic such as ADD, SUB, MULT or JUMP. These mnemonics are
collectively known as a computer's assembly language. Converting programs written in assembly language into
something the computer can actually understand (machine language) is usually done by a computer program called
an assembler.
A 1970s punched card containing one line from aFORTRAN program. The card reads: “Z(1) = Y + W(1)” and is labeled “PROJ039” for
identification purposes.
Programming language
Main article: Programming language
Programming languages provide various ways of specifying programs for computers to run. Unlike natural languages,
programming languages are designed to permit no ambiguity and to be concise. They are purely written languages
and are often difficult to read aloud. They are generally either translated into machine code by a compiler or
an assembler before being run, or translated directly at run time by an interpreter. Sometimes programs are executed
by a hybrid method of the two techniques.
Low-level languages
Main article: Low-level programming language
Machine languages and the assembly languages that represent them (collectively termed low-level programming
languages) tend to be unique to a particular type of computer. For instance, an ARM architecture computer (such as
may be found in a PDA or a hand-held videogame) cannot understand the machine language of an Intel Pentium or
the AMD Athlon 64 computer that might be in a PC.[41]
Higher-level languages
Main article: High-level programming language
Though considerably easier than in machine language, writing long programs in assembly language is often difficult
and is also error prone. Therefore, most practical programs are written in more abstract high-level programming
languages that are able to express the needs of the programmer more conveniently (and thereby help reduce
programmer error). High level languages are usually “compiled” into machine language (or sometimes into assembly
language and then into machine language) using another computer program called a compiler.[42] High level
languages are less related to the workings of the target computer than assembly language, and more related to the
language and structure of the problem(s) to be solved by the final program. It is therefore often possible to use
different compilers to translate the same high level language program into the machine language of many different
types of computer. This is part of the means by which software like video games may be made available for different
computer architectures such as personal computers and various video game consoles.
Program design
This section does not cite any references or sources. Please help improve this section
byadding citations to reliable sources. Unsourced material may be challenged
and removed.(July 2012)
Program design of small programs is relatively simple and involves the analysis of the problem, collection of inputs,
using the programming constructs within languages, devising or using established procedures and algorithms,
providing data for output devices and solutions to the problem as applicable. As problems become larger and more
complex, features such as subprograms, modules, formal documentation, and new paradigms such as object-
oriented programming are encountered. Large programs involving thousands of line of code and more require formal
software methodologies. The task of developing large software systems presents a significant intellectual challenge.
Producing software with an acceptably high reliability within a predictable schedule and budget has historically been
difficult; the academic and professional discipline of software engineering concentrates specifically on this challenge.
Components
Main articles: Central processing unit and Microprocessor
A general purpose computer has four main components: the arithmetic logic unit (ALU), the control unit, the memory,
and the input and output devices (collectively termed I/O). These parts are interconnected by buses, often made of
groups of wires.
Inside each of these parts are thousands to trillions of small electrical circuits which can be turned off or on by means
of an electronic switch. Each circuit represents a bit (binary digit) of information so that when the circuit is on it
represents a “1”, and when off it represents a “0” (in positive logic representation). The circuits are arranged in logic
gates so that one or more of the circuits may control the state of one or more of the other circuits.
The control unit, ALU, registers, and basic I/O (and often other hardware closely linked with these) are collectively
known as a central processing unit (CPU). Early CPUs were composed of many separate components but since the
mid-1970s CPUs have typically been constructed on a single integrated circuit called a microprocessor.
Control unit
Main articles: CPU design and Control unit
Diagram showing how a particular MIPS architecture instruction would be decoded by the control system.
The control unit (often called a control system or central controller) manages the computer's various components; it
reads and interprets (decodes) the program instructions, transforming them into a series of control signals which
activate other parts of the computer.[43] Control systems in advanced computers may change the order of some
instructions so as to improve performance.
A key component common to all CPUs is the program counter, a special memory cell (a register) that keeps track of
which location in memory the next instruction is to be read from. [44]
The control system's function is as follows—note that this is a simplified description, and some of these steps may be
performed concurrently or in a different order depending on the type of CPU:
1. Read the code for the next instruction from the cell indicated by the program counter.
2. Decode the numerical code for the instruction into a set of commands or signals for each of the other
systems.
3. Increment the program counter so it points to the next instruction.
4. Read whatever data the instruction requires from cells in memory (or perhaps from an input device). The
location of this required data is typically stored within the instruction code.
5. Provide the necessary data to an ALU or register.
6. If the instruction requires an ALU or specialized hardware to complete, instruct the hardware to perform the
requested operation.
7. Write the result from the ALU back to a memory location or to a register or perhaps an output device.
8. Jump back to step (1).
Since the program counter is (conceptually) just another set of memory cells, it can be changed by calculations done
in the ALU. Adding 100 to the program counter would cause the next instruction to be read from a place 100 locations
further down the program. Instructions that modify the program counter are often known as “jumps” and allow for
loops (instructions that are repeated by the computer) and often conditional instruction execution (both examples
of control flow).
The sequence of operations that the control unit goes through to process an instruction is in itself like a short
computer program, and indeed, in some more complex CPU designs, there is another yet smaller computer called
a microsequencer, which runs a microcodeprogram that causes all of these events to happen.
The ALU is capable of performing two classes of operations: arithmetic and logic.[45]
The set of arithmetic operations that a particular ALU supports may be limited to addition and subtraction, or might
include multiplication, division, trigonometry functions such as sine, cosine, etc., and square roots. Some can only
operate on whole numbers (integers) whilst others use floating point to represent real numbers, albeit with limited
precision. However, any computer that is capable of performing just the simplest operations can be programmed to
break down the more complex operations into simple steps that it can perform. Therefore, any computer can be
programmed to perform any arithmetic operation—although it will take more time to do so if its ALU does not directly
support the operation. An ALU may also compare numbers and return boolean truth values (true or false) depending
on whether one is equal to, greater than or less than the other (“is 64 greater than 65?”).
Logic operations involve Boolean logic: AND, OR, XOR and NOT. These can be useful for creating
complicated conditional statementsand processing boolean logic.
Superscalar computers may contain multiple ALUs, allowing them to process several instructions
simultaneously.[46] Graphics processors and computers with SIMD and MIMD features often contain ALUs that can
perform arithmetic on vectors and matrices.
Memory
Main article: Computer data storage
Magnetic core memory was the computer memory of choice throughout the 1960s, until it was replaced by semiconductor memory.
A computer's memory can be viewed as a list of cells into which numbers can be placed or read. Each cell has a
numbered “address” and can store a single number. The computer can be instructed to “put the number 123 into the
cell numbered 1357” or to “add the number that is in cell 1357 to the number that is in cell 2468 and put the answer
into cell 1595.” The information stored in memory may represent practically anything. Letters, numbers, even
computer instructions can be placed into memory with equal ease. Since the CPU does not differentiate between
different types of information, it is the software's responsibility to give significance to what the memory sees as
nothing but a series of numbers.
In almost all modern computers, each memory cell is set up to store binary numbers in groups of eight bits (called
a byte). Each byte is able to represent 256 different numbers (2^8 = 256); either from 0 to 255 or −128 to +127. To
store larger numbers, several consecutive bytes may be used (typically, two, four or eight). When negative numbers
are required, they are usually stored in two's complement notation. Other arrangements are possible, but are usually
not seen outside of specialized applications or historical contexts. A computer can store any kind of information in
memory if it can be represented numerically. Modern computers have billions or even trillions of bytes of memory.
The CPU contains a special set of memory cells called registers that can be read and written to much more rapidly
than the main memory area. There are typically between two and one hundred registers depending on the type of
CPU. Registers are used for the most frequently needed data items to avoid having to access main memory every
time data is needed. As data is constantly being worked on, reducing the need to access main memory (which is
often slow compared to the ALU and control units) greatly increases the computer's speed.
Computer main memory comes in two principal varieties: random-access memory or RAM and read-only memory or
ROM. RAM can be read and written to anytime the CPU commands it, but ROM is preloaded with data and software
that never changes, therefore the CPU can only read from it. ROM is typically used to store the computer's initial
start-up instructions. In general, the contents of RAM are erased when the power to the computer is turned off, but
ROM retains its data indefinitely. In a PC, the ROM contains a specialized program called the BIOS that orchestrates
loading the computer's operating system from the hard disk drive into RAM whenever the computer is turned on or
reset. In embedded computers, which frequently do not have disk drives, all of the required software may be stored in
ROM. Software stored in ROM is often called firmware, because it is notionally more like hardware than
software. Flash memory blurs the distinction between ROM and RAM, as it retains its data when turned off but is also
rewritable. It is typically much slower than conventional ROM and RAM however, so its use is restricted to
applications where high speed is unnecessary.[47]
In more sophisticated computers there may be one or more RAM cache memories, which are slower than registers
but faster than main memory. Generally computers with this sort of cache are designed to move frequently needed
data into the cache automatically, often without the need for any intervention on the programmer's part.
Input/output (I/O)
Main article: Input/output
Hard disk drives are common storage devices used with computers.
I/O is the means by which a computer exchanges information with the outside world. [48]Devices that provide input or
output to the computer are called peripherals.[49] On a typical personal computer, peripherals include input devices
like the keyboard and mouse, and output devices such as the display and printer. Hard disk drives, floppy disk
drives andoptical disc drives serve as both input and output devices. Computer networking is another form of I/O.
I/O devices are often complex computers in their own right, with their own CPU and memory. A graphics processing
unit might contain fifty or more tiny computers that perform the calculations necessary to display 3D graphics.[citation
needed] Modern desktop computerscontain many smaller computers that assist the main CPU in performing I/O.
Multitasking
Main article: Computer multitasking
While a computer may be viewed as running one gigantic program stored in its main memory, in some systems it is
necessary to give the appearance of running several programs simultaneously. This is achieved by multitasking i.e.
having the computer switch rapidly between running each program in turn. [50]
One means by which this is done is with a special signal called an interrupt, which can periodically cause the
computer to stop executing instructions where it was and do something else instead. By remembering where it was
executing prior to the interrupt, the computer can return to that task later. If several programs are running “at the
same time,” then the interrupt generator might be causing several hundred interrupts per second, causing a program
switch each time. Since modern computers typically execute instructions several orders of magnitude faster than
human perception, it may appear that many programs are running at the same time even though only one is ever
executing in any given instant. This method of multitasking is sometimes termed “time-sharing” since each program is
allocated a “slice” of time in turn.[51]
Before the era of cheap computers, the principal use for multitasking was to allow many people to share the same
computer.
Seemingly, multitasking would cause a computer that is switching between several programs to run more slowly, in
direct proportion to the number of programs it is running, but most programs spend much of their time waiting for slow
input/output devices to complete their tasks. If a program is waiting for the user to click on the mouse or press a key
on the keyboard, then it will not take a “time slice” until the event it is waiting for has occurred. This frees up time for
other programs to execute so that many programs may be run simultaneously without unacceptable speed loss.
Multiprocessing
Main article: Multiprocessing
Supercomputers in particular often have highly unique architectures that differ significantly from the basic stored-
program architecture and from general purpose computers.[52] They often feature thousands of CPUs, customized
high-speed interconnects, and specialized computing hardware. Such designs tend to be useful only for specialized
tasks due to the large scale of program organization required to successfully utilize most of the available resources at
once. Supercomputers usually see usage in large-scale simulation, graphics rendering,
and cryptography applications, as well as with other so-called “embarrassingly parallel” tasks.
Computers have been used to coordinate information between multiple locations since the 1950s. The U.S.
military's SAGE system was the first large-scale example of such a system, which led to a number of special-purpose
commercial systems such as Sabre.[53]
In the 1970s, computer engineers at research institutions throughout the United States began to link their computers
together using telecommunications technology. The effort was funded by ARPA (now DARPA), and the computer
network that resulted was called theARPANET.[54] The technologies that made the Arpanet possible spread and
evolved.
In time, the network spread beyond academic and military institutions and became known as the Internet. The
emergence of networking involved a redefinition of the nature and boundaries of the computer. Computer operating
systems and applications were modified to include the ability to define and access the resources of other computers
on the network, such as peripheral devices, stored information, and the like, as extensions of the resources of an
individual computer. Initially these facilities were available primarily to people working in high-tech environments, but
in the 1990s the spread of applications like e-mail and the World Wide Web, combined with the development of
cheap, fast networking technologies likeEthernet and ADSL saw computer networking become almost ubiquitous. In
fact, the number of computers that are networked is growing phenomenally. A very large proportion of personal
computers regularly connect to the Internet to communicate and receive information. “Wireless” networking, often
utilizing mobile phone networks, has meant networking is becoming increasingly ubiquitous even in mobile computing
environments.
The quantum computer architecture holds the most promise to revolutionize computing. [55]
Logic gates are a common abstraction which can apply to most of the above digital or analog paradigms.
The ability to store and execute lists of instructions called programs makes computers extremely versatile,
distinguishing them fromcalculators. The Church–Turing thesis is a mathematical statement of this versatility: any
computer with a minimum capability (being Turing-complete) is, in principle, capable of performing the same tasks
that any other computer can perform. Therefore any type of computer (netbook, supercomputer, cellular automaton,
etc.) is able to perform the same computational tasks, given enough time and storage capacity.
Misconceptions
Main articles: Human computer and Harvard Computers
A computer does not need to be electronic, nor even have a processor, nor RAM, nor even ahard disk. While popular
usage of the word “computer” is synonymous with a personal electronic computer, the modern [56] definition of a
computer is literally “A device that computes, especially a programmable [usually] electronic machine that performs
high-speed mathematical or logical operations or that assembles, stores, correlates, or otherwise processes
information.”[57] Any device which processes information qualifies as a computer, especially if the processing is
purposeful.
Required technology
Main article: Unconventional computing
Historically, computers evolved from mechanical computers and eventually from vacuum tubes to transistors.
However, conceptually computational systems as flexible as a personal computer can be built out of almost anything.
For example, a computer can be made out of billiard balls (billiard ball computer); an often quoted example.[citation
needed] More realistically, modern computers are made out oftransistors made of photolithographed semiconductors.
There is active research to make computers out of many promising new types of technology, such as optical
computers, DNA computers, neural computers, and quantum computers. Most computers are universal, and are able
to calculate any computable function, and are limited only by their memory capacity and operating speed. However
different designs of computers can give very different performance for particular problems; for example quantum
computers can potentially break some modern encryption algorithms (by quantum factoring) very quickly.
Further topics
Glossary of computers
Artificial intelligence
A computer will solve problems in exactly the way it is programmed to, without regard to efficiency, alternative
solutions, possible shortcuts, or possible errors in the code. Computer programs that learn and adapt are part of the
emerging field of artificial intelligenceand machine learning.
Hardware
Main articles: Computer hardware and Personal computer hardware
The term hardware covers all of those parts of a computer that are tangible objects. Circuits, displays, power
supplies, cables, keyboards, printers and mice are all hardware.
Fourth generation (VLSI integrated Intel 80386, Pentium, Motorola 68000, ARM
32-bit microcomputer
circuits) architecture
Quantum
computer, Chemical
Theoretical/experimental
computer, DNA
computing,Optical
computer, Spintronics based
computer
Peripheral
device(input/output) Output Monitor, printer, loudspeaker
Both Floppy disk drive, hard disk drive, optical disc drive, teleprinter
Computer busses
Long range (computer
Ethernet, ATM, FDDI
networking)
Software
Main article: Computer software
Software refers to parts of the computer which do not have a material form, such as programs, data, protocols, etc.
When software is stored in hardware that cannot easily be modified (such as BIOS ROM in an IBM PC compatible), it
is sometimes called “firmware.”
UNIX System V, IBM AIX, HP-UX, Solaris (SunOS), IRIX, List of BSD operating
Unix and BSD
systems
Operating
Windows 95, Windows 98, Windows NT, Windows 2000, Windows
system Microsoft Windows
Me, Windows XP, Windows Vista,Windows 7, Windows 8
Library
Data
Graphical user
Microsoft Windows, GNOME, KDE, QNX Photon, CDE, GEM, Aqua
interface (WIMP)
User
interface
Text-based user
Command-line interface, Text user interface
interface
Internet Access Browser, E-mail client, Web server, Mail transfer agent, Instant messaging
Application
Languages
There are thousands of different programming languages—some intended to be general purpose, others useful only
for highly specialized applications.
Programming languages
Commonly
used assembly ARM, MIPS, x86
languages
Commonly
used high-level
Ada, BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal, Object Pascal
programming
languages
Computer-related professions
The need for computers to work well together and to be able to exchange information has spawned the need for
many standards organizations, clubs and societies of both a formal and informal nature.
Organizations
Free/open source software groups Free Software Foundation, Mozilla Foundation, Apache Software Foundation
See also
Computability theory
Computer insecurity
Computer security
1. ^ In 1946, ENIAC required an estimated 174 kW. By comparison, a modern laptop computer may use around
30 W; nearly six thousand times less. "Approximate Desktop & Notebook Power Usage". University of
2. ^ 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."Intel Core2 Duo Mobile
3. ^ computer, n.. Oxford English Dictionary (2 ed.). Oxford University Press. 1989. Retrieved 10 April 2009.
4. ^ * Ifrah, Georges (2001). The Universal History of Computing: From the Abacus to the Quantum Computer. New
York: John Wiley & Sons. ISBN 0-471-39671-0. From 2700 to 2300 BC,Georges Ifrah, pp.11
5. ^ Berkeley, Edmund (1949). Giant Brains, or Machines That Think. John Wiley & Sons. p. 19. Edmund Berkeley
6. ^ According to advertising on Pickett's N600 slide rule boxes."Pickett Apollo Box Scans". Copland.udel.edu.
7. ^ "Discovering How Greeks Computed in 100 B.C.". The New York Times. 31 July 2008. Retrieved 27 March
2010.
9. ^ Felt, Dorr E. (1916). Mechanical arithmetic, or The history of the counting machine. Chicago: Washington
10. ^ "The arithmetical machine produces effects which approach nearer to thought than all the actions of animals.
But it does nothing which would enable us to attribute will to it, as to the animals.", Pascal, Pensées Bartleby.com,
12. ^ Babbage's Difference engine in 1823 and his Analytical engine in the mid-1830s
13. ^ “It is reasonable to inquire, therefore, whether it is possible to devise a machine which will do for mathematical
computation what the automatic lathe has done for engineering. The first suggestion that such a machine could be
made came more than a hundred years ago from the mathematician Charles Babbage. Babbage's ideas have
only been properly appreciated in the last ten years, but we now realize that he understood clearly all the
fundamental principles which are embodied in modern digital computers” Faster than thought, edited by B. V.
14. ^ “...Among this extraordinary galaxy of talent Charles Babbage appears to be one of the most remarkable of all.
Most of his life he spent in an entirely unsuccessful attempt to make a machine which was regarded by his
contemporaries as utterly preposterous, and his efforts were regarded as futile, time-consuming and absurd. In
the last decade or so we have learnt how his ideas can be embodied in a modern digital computer. He understood
more about the logic of these machines than anyone else in the world had learned until after the end of the last
war.” Foreword, Irascible Genius, Charles Babbage, inventor by Maboth Moseley, 1964, London, Hutchinson
15. ^ In the proposal that Aiken gave IBM in 1937 while requesting funding for the Harvard Mark I we can read:
“Few calculating machines have been designed strictly for application to scientific investigations, the notable
exceptions being those of Charles Babbage and others who followed him ... After abandoning the difference
engine, Babbage devoted his energy to the design and construction of an analytical engine of far higher powers
than the difference engine ... Since the time of Babbage, the development of calculating machinery has
continued at an increasing rate.” Howard Aiken, Proposed automatic calculating machine, reprinted in: The origins
of Digital computers, Selected Papers, Edited by Brian Randell, 1973, ISBN 3-540-06169-X
16. ^ "Intel Museum – The 4004, Big deal then, Big deal now". Intel.com. Retrieved 29 January 2012.
18. ^ See: Anthony Hyman, ed., Science and Reform: Selected Works of Charles Babbage (Cambridge, England:
Cambridge University Press, 1989), page 298. It is in the collection of the Science Museum in London, England.
19. ^ The analytical engine should not be confused with Babbage'sdifference engine which was a non-programmable
mechanical calculator.
20. ^ Fuegi, J.; Francis, J. (2003). "Lovelace & Babbage and the creation of the 1843 'notes'". Annals of the History of
22. ^ "Columbia University Computing History: Herman Hollerith". Columbia.edu. Retrieved 11 December 2010.
23. ^ a b "Alan Turing – Time 100 People of the Century". Time Magazine. Retrieved 13 June 2009. "The fact remains
that everyone who taps at a keyboard, opening a spreadsheet or a word-processing program, is working on an
24. ^ "Inventor Profile: George R. Stibitz". National Inventors Hall of Fame Foundation, Inc.
25. ^ "John Vincent Atanasoff and the Birth of Electronic Digital Computing". Cs.iastate.edu. Retrieved 29 January
2012.
26. ^ "John Vincent Atanasoff – the father of the computer". Columbia.edu. Retrieved 29 January 2012.
28. ^ "Spiegel: The inventor of the computer's biography was published". Der Spiegel. 28 September 2009. Retrieved
11 December 2010.
29. ^ Rojas, R. (1998). "How to make Zuse's Z3 a universal computer". IEEE Annals of the History of
32. ^ Monsters & Critics: "he(Zuse) built the world's first computer in Berlin"
33. ^ About.com: "Konrad Zuse earned the semiofficial title of "inventor of the modern computer""
34. ^ B. Jack Copeland, ed., Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford University
Press, 2006
35. ^ "Robot Mathematician Knows All The Answers", October 1944, Popular Science. Google Books. Retrieved 11
December 2010.
37. ^ This program was written similarly to those for the PDP-11minicomputer and shows some typical things a
computer can do. All the text after the semicolons are comments for the benefit of human readers. These have no
significance to the computer and are ignored. (Digital Equipment Corporation 1972)
38. ^ It is not universally true that bugs are solely due to programmer oversight. Computer hardware may fail or may
itself have a fundamental problem that produces unexpected results in certain situations. For instance,
the Pentium FDIV bugcaused some Intel microprocessors in the early 1990s to produce inaccurate results for
certain floating point division operations. This was caused by a flaw in the microprocessor design and resulted in a
39. ^ Taylor, Alexander L., III (16 April 1984). "The Wizard Inside the Machine". TIME. Retrieved 17 February 2007.
40. ^ Even some later computers were commonly programmed directly in machine code. Some minicomputers like
the DECPDP-8 could be programmed directly from a panel of switches. However, this method was usually used
only as part of thebooting process. Most modern computers boot entirely automatically by reading a boot program
41. ^ However, there is sometimes some form of machine language compatibility between different computers.
An x86-64compatible microprocessor like the AMD Athlon 64 is able to run most of the same programs that
an Intel Core 2microprocessor can, as well as programs designed for earlier microprocessors like the
Intel Pentiums and Intel 80486. This contrasts with very early commercial computers, which were often one-of-a-
42. ^ High level languages are also often interpreted rather than compiled. Interpreted languages are translated into
machine code on the fly, while running, by another program called aninterpreter.
43. ^ The control unit's role in interpreting instructions has varied somewhat in the past. Although the control unit is
solely responsible for instruction interpretation in most modern computers, this is not always the case. Many
computers include some instructions that may only be partially interpreted by the control system and partially
interpreted by another device. This is especially the case with specialized computing hardware that may be
partially self-contained. For example, EDVAC, one of the earliest stored-program computers, used a central
control unit that only interpreted four instructions. All of the arithmetic-related instructions were passed on to its
44. ^ Instructions often occupy more than one memory address, therefore the program counter usually increases by
45. ^ David J. Eck (2000). The Most Complex Machine: A Survey of Computers and Computing. A K Peters, Ltd.
46. ^ Erricos John Kontoghiorghes (2006). Handbook of Parallel Computing and Statistics. CRC Press.
47. ^ Flash memory also may only be rewritten a limited number of times before wearing out, making it less useful for
48. ^ Donald Eadie (1968). Introduction to the Basic Computer. Prentice-Hall. p. 12.
49. ^ Arpad Barna; Dan I. Porat (1976). Introduction to Microcomputers and the Microprocessors. Wiley.
p. 85.ISBN 978-0-471-05051-3.
50. ^ Jerry Peek; Grace Todino, John Strang (2002). Learning the UNIX Operating System: A Concise Guide for the
51. ^ Gillian M. Davis (2002). Noise Reduction in Speech Applications. CRC Press. p. 111. ISBN 978-0-8493-0949-6.
52. ^ However, it is also very common to construct supercomputers out of many pieces of cheap commodity
hardware; usually individual computers connected by networks. These so-calledcomputer clusters can often
provide supercomputer performance at a much lower cost than customized designs. While custom architectures
are still used for most of the most powerful supercomputers, there has been a proliferation of cluster computers in
53. ^ Agatha C. Hughes (2000). Systems, Experts, and Computers.MIT Press. p. 161. ISBN 978-0-262-08285-3. "The
experience of SAGE helped make possible the first truly large-scale commercial real-time network: the SABRE
54. ^ "A Brief History of the Internet". Internet Society. Retrieved 20 September 2008.
55. ^ "Computer architecture: fundamentals and principles of computer design" by Joseph D. Dumas 2006. page 340.
56. ^ According to the Shorter Oxford English Dictionary (6th ed, 2007), the word computer dates back to the mid
17th century, when it referred to “A person who makes calculations; specifically a person employed for this in an
observatory etc.”
58. ^ Most major 64-bit instruction set architectures are extensions of earlier designs. All of the architectures listed in
this table, except for Alpha, existed in 32-bit forms before their 64-bit incarnations were introduced.
References
Fuegi, J. and Francis, J. "Lovelace & Babbage and the creation of the 1843 'notes'". IEEE Annals of the History of
a
Kempf, Karl (1961). Historical Monograph: Electronic Computers Within the Ordnance Corps. Aberdeen Proving
a
Phillips, Tony (2000). "The Antikythera Mechanism I". American Mathematical Society. Retrieved 5 April 2006.
a
Shannon, Claude Elwood (1940). A symbolic analysis of relay and switching circuits. Massachusetts Institute of
Technology.
Digital Equipment Corporation (1972). PDP-11/40 Processor Handbook (PDF). Maynard, MA: Digital Equipment
Corporation.
Verma, G.; Mielke, N. (1988). Reliability performance of ETOX based flash memories. IEEE International Reliability
Physics Symposium.
Meuer, Hans; Strohmaier, Erich; Simon, Horst; Dongarra, Jack (13 November 2006). "Architectures Share Over
Lavington, Simon (1998). A History of Manchester Computers (2 ed.). Swindon: The British Computer
Stokes, Jon (2007). Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture. San
Felt, Dorr E. (1916). Mechanical arithmetic, or The history of the counting machine. Chicago: Washington Institute.
Ifrah, Georges (2001). The Universal History of Computing: From the Abacus to the Quantum Computer. New York:
Berkeley, Edmund (1949). Giant Brains, or Machines That Think. John Wiley & Sons.
DIGITAL COMPUTER
A computer that stores data in terms of digits (numbers) and proceeds in discrete
steps from one state to the next. The states of a digital computer typically
involvebinary digits which may take the form of the presence or absence of magnetic
markers in a storage medium (see memory), on-off switches or relays. In digital
computers, even letters, words and whole texts are represented digitally.
Unlike analog computers, digital computers can only approximate a continuum by
assigning large numbers of digits to a state description and by proceeding in
arbitrarily small steps. (Krippendorff)
omputer [kəmˈpjuːtə]
n
1. (Electronics & Computer Science / Computer Science)
a. a device, usually electronic, that processes data according to a set of instructions. The digital computer stores
data in discrete units and performs arithmetical and logical operations at very high speed. Theanalog computer has
no memory and is slower than the digital computer but has a continuous rather than a discrete input. The hybrid
computercombines some of the advantages of digital and analog computers.
b. (as modifier) computer technology Related prefix cyber-
2. a person who computes or calculates