The instructions discussed above are not the rich instructions of a human language. There are incredibly broad range of I/O devices, from the familiar keyboardss, monitors and floppy disk drives, to the more unusual such as webcams. The I/O allows the computer to obtain information from the outside world, and send the results of its work back there. Once that occurs, the control unit goes to the next instruction (typically located in the next slot, unless the instruction is a jump instruction informing the computer that the next instruction is located in another location). The control unit keeps track of which slot contains the current instruction that the computer is performing, telling the ALU what operation to perform and retrieving the information (from the memory) that it needs to perform it, and transfers the result back to the appropriate memory location. This unit is where the "real work" is done. 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 "slots" for equality). 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. In general, memory can be rewritten over millions of times - it is a scratchpad rather than a stone tablet. Any slot may contain either, and indeed what is at one time data might be instructions later.
![another word for add on computer another word for add on computer](http://blog.rootsmagic.com/wp-content/uploads/2008/07/rm4autocorrect.png)
The cell may contain data that the computer needs to perform the instruction.
![another word for add on computer another word for add on computer](https://www.lifewire.com/thmb/e3JWi7r8QNnOXh8O3PWE9fwap1w=/1360x1020/smart/filters:no_upscale()/InsertPDFWord1-fb053467d2d644b7b821bb3aae649604.jpg)
The information may be an instruction to tell the computer what to do. In this system, memory is a sequence of numbered "cells" or "pigeon holes," each containing a small piece of information. These parts are interconnected by a bundle of wires, a " bus." 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). 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. Mainframe computers, minicomputers, and personal computers are the main types of computers meeting this definition.įinally, many people who are unfamiliar with other forms of computers use the term exclusively to refer to personal 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, and can be adapted for a variety of purposes by the user without physical modification. These computers inside other special-purpose devices are commonly referred to as "microcontrollers" or "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). Machines meeting this definition are referred to as Turing-complete. 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. In some sense, then, this threshold capability is a useful test for identifying "general-purpose" computers from earlier special-purpose devices. 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). However, the above definition includes many special-purpose devices that can compute only one or a limited range of functions.