refined Computers Information, explanation, recent texts, monographs, and related patents.
Information & explanations, latest texts & monographs on Computers (including recent related patents.)


Computer

(Redirected from Computers) A computer is any device used to process information according to a well-defined procedure. The word was originally used to describe people employed to do arithmetic calculations, with or without mechanical aids, but was transferred to the machines themselves. Originally, the information processing was almost exclusively related to arithmetical problems, but modern computers are used for many tasks unrelated to mathematics. The first commercially available computer in the U.K. being the Ferranti star based on the 'baby' design. Within such a definition sit mechanical devices such as the slide rule, the gamut of mechanical calculators from the abacus onwards, as well as all contemporary electronic computers. Terms better suited for such broad meanings ascribed to the word "computer" would be " information processor" or "information processing system." For more details, see the word computer. Table of contents showTocToggle("show","hide") 1 Definitions 1.1 Embedded Computers 1.2 Personal Computers 2 How Computers Work 2.1 Memory 2.2 Processing 2.3 Input and Output 2.4 Instructions 2.5 Architecture 2.6 Programs 2.6.1 Operating System 3 Uses of computers 4 The word "computer" 4.1 Computer Types 5 See Also Definitions However, the above definition includes many special-purpose devices that can compute only one or a limited range of functions. When considering modern computers, their most notable characteristic that distinguishes them from earlier computing devices is that, given the right programming, any computer can emulate the behaviour of any other (though perhaps limited by storage capacity and at different speeds), and, indeed, it is believed that current machines can emulate any future computing devices we invent (though undoubtedly more slowly). In some sense, then, this threshold capability is a useful test for identifying "general-purpose" computers from earlier special-purpose devices. This "general-purpose" definition can be formalised into a requirement that a certain machine must be able to emulate the behaviour of a universal Turing machine. Machines meeting this definition are referred to as Turing-complete. While such machines are physically impossible as they require unlimited storage and zero crashing probability, the attribute Turing-complete is sometimes also used in a lax sense for machines that would be universal if they had more (infinite) storage and were absolutely reliable. The first such machine appeared in 1941: the program-controlled Z3 of Konrad Zuse (but its Turing-completeness was shown only much later, namely, in 1998). Other machines followed in a flurry of developments around the world. See the history of computing article for more details of this period. Embedded Computers In the last 20 years or so, however, many household devices, notably including video game consoles but extending to mobile telephones, video cassette recorders, PDA's and myriad other household, industrial, automotive, and other electronic devices, all contain computer-like circuitry capable of meeting the above Turing-completeness requirement (with the proviso that the programming of these devices is often hardwired into a ROM chip which would need to be replaced to change the programming of the machine). These computers inside other special-purpose devices are commonly referred to as "microcontrollers" or "embedded computers". Therefore, many restrict the definition of computers to devices whose primary purpose is information processing, rather than being a part of a larger system such as a telephone, microwave oven, or aircraft (but see: avionics), and can be adapted for a variety of purposes by the user without physical modification. Mainframe computers, minicomputers, and personal computers are the main types of computers meeting this definition. Personal Computers Finally, many people who are unfamiliar with other forms of computers use the term exclusively to refer to personal computers. How Computers Work While the technologies used in digital computers have changed dramatically since the first computers of the 1940s (see History of computing hardware for more details), most still use the von Neumann architecture proposed in the early 1940s by John von Neumann. Von Neumann's architecture describes a computer with four main sections: the Arithmetic and Logic Unit (ALU), the control circuitry, the memory, and the input and output devices (collectively termed I/O). These parts are interconnected by a bundle of wires, a "bus." Memory In this system, memory is a sequence of numbered bytes (like "cells" or "pigeon holes"), each containing a small piece of information. The information may be an instruction to tell the computer what to do. The cell may contain data that the computer needs to perform the instruction. Any byte of memory may contain either, and indeed what is at one time data might be instructions later. In general, memory can be rewritten over millions of times - it is a scratchpad rather than a stone tablet. The size of each cell, and the number of cells, varies greatly from computer to computer, and the technologies used to implement memory have varied greatly - from electromechanical relays, to mercury-filled tubes (and later springs) in which acoustic pulses were formed, to matrices of permanent magnets, to individual transistors, to integrated circuits with millions of capacitors on a single chip. Processing The arithmetic and logical unit, or ALU, is the device that performs elementary operations such as arithmetic operations (addition, subtraction, and so on), logical operations (AND, OR, NOT), and comparison operations (for example, comparing the contents of two bytes for equality). This unit is where the "real work" is done. The control unit keeps track of which bytes in memory contain the current instruction that the computer is performing, telling the ALU what operation to perform and retrieving the information (from memory) that it needs to perform it, and transfers the result back to the appropriate memory location. Once that occurs, the control unit goes to the next instruction (typically located in the next slot (memory address), unless the instruction is a jump instruction informing the computer that the next instruction is located in another location). Input and Output The I/O allows the computer to obtain information from the outside world, and send the results of its work back there. There is an incredibly broad range of I/O devices, from the familiar keyboards, monitors and floppy disk drives, to the more unusual such as webcams. What all input devices have in common is that they encode (convert) information of some type into data which can further be processed by the digital computer system. Output devices on the other hand, decode the data into information which can be understood by the computer user. In this sense, a digital computer system is an example of a data processing system. Instructions The instructions discussed above are not the rich instructions of a human language. A computer only has a limited number of well-defined, simple instructions. Typical sorts of instructions supported by most computers are "copy the contents of cell 123, and place the copy in cell 456", "add the contents of cell 666 to cell 042, and place the result in cell 013", and "if the contents of cell 999 are 0, your next instruction is at cell 345". Instructions are represented within the computer as numbers - the code for "copy" might be 001, for example. The particular instruction set that a specific computer supports is known as that computer's machine language. In practice, people do not normally write the instructions for computers directly in machine language but rather use a "high level" programming language which is then translated into the machine language automatically by special computer programs (interpreters and compilers). Some programming languages map very closely to the machine language, such as assembler (low level languages); at the other end, languages like Prolog are based on abstract principles far removed from the details of the machine's actual operation (high level languages). Architecture Contemporary computers put the ALU and control unit into a single integrated circuit known as the Central Processing Unit or CPU. Typically, the computer's memory is located on a few small integrated circuits near the CPU. The overwhelming majority of the computer's mass is either ancilliary systems (for instance, to supply electrical power) or I/O devices. Some larger computers differ from the above model in one major respect - they have multiple CPUs and control units working simultaneously. Additionally, a few computers, used mainly for research purposes and scientific computing, have differed significantly from the above model, but they have found little commercial application. The functioning of a computer is therefore in principle quite straightforward. The computer fetches instructions and data from its memory. The instructions are executed, the results are stored, and the next instruction is fetched. This procedure repeats until the computer is turned off. Programs Computer programs are simply large lists of instructions for the computer to execute, perhaps with tables of data. Many computer programs contain millions of instructions, and many of those instructions are executed repeatedly. A typical modern PC (in the year 2003) can execute around 2-3 billion instructions per second. Computers do not gain their extraordinary capabilities through the ability to execute complex instructions. Rather, they do millions of simple instructions arranged by clever people, "programmers." Good programmers develop sets of instructions to do common tasks (for instance, draw a dot on screen) and then make those sets of instructions available to other programmers. Nowadays, most computers appear to execute several programs at the same time. This is usually referred to as multitasking. In reality, the CPU executes instructions from one program, then after a short period of time, it switches to a second program and executes some of its instructions. This small interval of time is often referred to as a time slice. This creates the illusion of multiple programs being executed simultaneously by sharing the CPU's time between the programs. This is similar to how a movie is simply a rapid succession of still frames. The operating system is the program that usually controls this time sharing. Operating System The operating system is a sort of catch-all of useful pieces of code. Whenever some kind of computer code becomes sharable by many different types of computer program, over many years, programmers eventually move it into the operating system. The operating system, decides which programs are run, when, and what resources (such as memory or I/O) they get to use. The operating system also provides services to other programs, such as code ("drivers") which allow programmers to write programs for a machine without needing to know the intimate details of all attached electronic devices. Uses of computers The first digital computers, with their large size and cost, mainly performed scientific calculation. ENIAC, an early US computer originally designed to calculate ballistics firing tables for artilery, calculated neutron cross-sectional densities to see if the hydrogen bomb would work properly (this calculation, performed in December 1945 through January 1946 and involving over a million punch cards of data, showed the design then under consideration would fail). The CSIR Mk I, the first Australian computer, evaluated rainfall patterns for the catchment of the Snowy Mountains Scheme, a large hydroelectric generation project. Others were used in cryptanalysis, for example the world's first programmable digital electronic computer, Colossus, built during World War II. However, early visionaries also anticipated that programming would allow chess playing, moving pictures and other uses. People in governments and large corporations also used computers to automate many of the data collection and processing tasks previously performed by humans - for example, maintaining and updating accounts and inventories. In academia, scientists of all sorts began to use computers for their own analyses. Continual reductions in the costs of computers saw them adopted by ever-smaller organizations. Businesses, organizations, and governments often employ a large number of small computers to accomplish tasks that were previously done by an expensive, large mainframe computer. Collections of the smaller computers in one location is referred to as a server farm. With the invention of the microprocessor in the 1970s, it became possible to produce very inexpensive computers. Personal computers became popular for many tasks, including keeping books, writing and printing documents. Calculating forecasts and other repetitive math with spreadsheets, communicating with e-mail and, the Internet. However, computers' wide availability and easy customization has seen them used for many other purposes. At the same time, small computers, usually with fixed programming, began to find their way into other devices such as home appliances, automobiles, aeroplanes, and industrial equipment. These embedded processors controlled the behaviour of such devices more easily, allowing more complex control behaviours (for instance, the development of anti-lock brakes in cars). By the start of the twenty-first century, most electrical devices, most forms of powered transport, and most factory production lines are controlled by computers. Most engineers predict that this trend will continue. The word "computer" Over the years there has been several slightly different meanings to the word computer, and several different words for the thing we now usually call a computer. For instance "computer" was once commonly used to mean a person employed to do arithmetic calculations, with or without mechanical aids. According to the Barnhart Concise Dictionary of Etymology, the word came into use in English in 1646 as a word for a "person who computes" and then by 1897 also for a mechanical calculating machine. During World War II it referred to U.S. and British servicewomen whose job it was to calculate the trajectories of large artillery shells with such machines. Charles Babbage designed one of the first computing machines called the Analytical engine, but due to technological problems it was not built in his lifetime. Various simple mechanical devices such as the slide rule and abacus have also been called computers. In some cases they were referred to as "analog computers", as they represented numbers by continuous physical quantities rather than by discrete binary digits. What are now called simply "computers" were once commonly called "digital computers" to distinguish them from these other devices (which are still used in the field of analog signal processing, for example). In thinking of other words for the computer, it is worth noting that in other languages the word chosen does not always have the same literal meaning as the English language word. In French for example, the word is "ordinateur", which means approximately "organizer", or "sorting machine". The Spanish word is "ordenador" , with the same meaning, although in some countries they use the anglicism computadora. In Italian, computer is "calcolatore", calculator, emphasizing its computational uses over logical ones like sorting. In Swedish, a computer is called "dator" from "data". At least in the 1950s, they were called "matematikmaskin" ("mathematics machine"). In Finnish computer is called "tietokone" which means "information machine". In Chinese, a computer is called "dian nao" or an "electric brain". In English, other words and phrases have been used, such as "data processing machine". Computer Types See Also

This article is adapted from from Wikipedia All Wikipedia article text is available under the terms of the GNU Free Documentation License

The Adobe Photoshop CS Book for Digital Photographers by Scott Kelby

Mac OS X: The Missing Manual, Panther Edition by David Pogue

Starting an eBay Business for Dummies by Marsha Collier

Windows XP for Dummies by Andy Rathbone

Google Hacks: 100 Industrial-Strength Tips & Tools by Tara Calishain

MCSE Self-Paced Training Kit: Microsoft Windows Server 2003 Core Requirements, Exams 70-290, 70-291, 70-293, 70-294 by Dan Holme

Design Patterns by Erich Gamma

Adobe Photoshop 7.0 Classroom in a Book by Adobe Creative Team

Don't Make Me Think: A Common Sense Approach to Web Usability by Steve Krug

Adobe Photoshop CS Classroom in a Book by Adobe Creative Team

HTML for the World Wide Web with XHTML and CSS: Visual QuickStart Guide, Fifth Edition by Elizabeth Castro

Exploiting Software : How to Break Code by Greg Hoglund

Mastering Windows Server 2003 by Mark Minasi

Microsoft Windows Server 2003 Administrator's Pocket Consultant by William R. Stanek

Cascading Style Sheets: The Definitive Guide, 2nd Edition by Eric A. Meyer


Recent Computers related patents

From USPTO:
6718549: Methods for managing the distribution of client bits to client computers
6718547: Medical network system
6718541: Register economy heuristic for a cycle driven multiple issue instruction scheduler
6718540: Data processing system and method for storing data in a communication network
6718537: Method and system to stress interactions in a test machine
6718535: System, method and article of manufacture for an activity framework design in an e-commerce based environment
6718533: Method for building a real-time control system with mode and logical rate
6718531: Method of designing integrated circuit using hierarchical design technique
6718525: Hybrid system of static analysis and dynamic simulation for circuit design
6718520: Method and apparatus for selectively providing hierarchy to a circuit design
6718510: Data processing method and apparatus, recording medium, reproducing method and apparatus using the same method
6718508: High-performance error-correcting codes with skew mapping
6718501: Copy protected digital audio compact disc and method and system for producing same
6718497: Method and apparatus for generating jitter test patterns on a high performance serial bus
6718492: System and method for arranging bits of a data word in accordance with a mask
6718490: Method and apparatus for controlling warning-information
6718488: Method and system for responding to a failed bus operation in an information processing system
6718486: Fault monitor for restarting failed instances of the fault monitor
6718482: Fault monitoring system
6718479: Method, system, program, and data structures for managing hierarchical timing wheels
6718475: Multi-processor mobile computer system having one processor integrated with a chipset
6718473: Method and apparatus for reducing power consumption
6718466: Data medium with restorable original base data content, and method for its production
6718465: Reconfigurable inner product processor architecture implementing square recursive decomposition of partial product matrices
6718464: Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server
6718463: System, method and apparatus for loading drivers, registry settings and application data onto a computer system during a boot sequence
6718462: Sending a CD boot block to a client computer to gather client information and send it to a server in order to create an instance for client computer
6718449: System for data transfer between different clock domains, and for obtaining status of memory device during transfer
6718448: Queued locking of a shared resource using multimodal lock types
6718447: Method and system for providing logically consistent logical unit backup snapshots within one or more data storage devices
6718446: Storage media with benchmark representative of data originally stored thereon
6718445: System and method for performing dynamic buffer management in an HFS (hierarchical file system DF/SMS)
6718442: Method and system for using high count invalidate acknowledgements in distributed shared memory systems
6718435: Method and system for migrating data in a raid logical drive migration
6718434: Method and apparatus for assigning raid levels
6718428: Storage array interconnection fabric using a torus topology
6718425: Handheld computer based system for collection, display and analysis of engine/vehicle data
6718423: Bus hub with a selectable number of ports
6718422: Enhanced bus arbiter utilizing variable priority and fairness
6718419: System and method for extending the number of addressable physical devices on a data bus
6718417: Physical layer and data link interface with flexible bus width
6718415: Computer system and method including console housing multiple computer modules having independent processing units, mass storage devices, and graphics controllers
6718414: Function modification in a write-protected operating system
6718411: Asic system architecture including data aggregation technique
6718410: System for transferring data in a CD image format size of a host computer and storing the data to a tape medium in a format compatible with streaming
6718409: National marine electronics association protocol converter
6718408: Interchangeable and configurable input/output module for a computing deviceco
6718407: Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
6718405: Hardware chain pull

Bibliographic Resources
Updates and comments at Essential Facts blog
Are you interested in Feng Shui?
Price Theory Resources
Fructose, Sucrose, Glucose Core Bibliography
World Class Photographers
Some philosophical movements
Top PDF and eBook Downloads
©2004, All applicable rights reserved.