Computer

Computer

From
Hardware
Video demonstrating the standard components of a "slimline" computer

The term hardware covers all of those parts of a computer that are tangible physical objects. Circuits, computer chips, graphic cards, sound cards, memory (RAM), motherboard, displays, power supplies, cables, keyboards, printers and "mice" input devices are all hardware.


History of computing hardware


First generation (mechanical/electromechanical)
Calculators
Pascal's calculator, Arithmometer, Difference engine, Quevedo's analytical machines


Programmable devices
Jacquard loom, Analytical engine, IBM ASCC/Harvard Mark I, Harvard Mark II, IBM SSEC, Z1, Z2, Z3


Second generation (vacuum tubes)
Calculators
Atanasoff–Berry Computer, IBM 604, UNIVAC 60, UNIVAC 120


Programmable devices
Colossus, ENIAC, Manchester Baby, EDSAC, Manchester Mark 1, Ferranti Pegasus, Ferranti Mercury, CSIRAC, EDVAC, UNIVAC I, IBM 701, IBM 702, IBM 650, Z22


Third generation (discrete transistors and SSI, MSI, LSI integrated circuits)
Mainframes
IBM 7090, IBM 7080, IBM System/360, BUNCH


Minicomputer
HP 2116A, IBM System/32, IBM System/36, LINC, PDP-8, PDP-11


Desktop Computer
Programma 101, HP 9100


Fourth generation (VLSI integrated circuits)
Minicomputer
VAX, IBM System i


4-bit microcomputer
Intel 4004, Intel 4040


8-bit microcomputer
Intel 8008, Intel 8080, Motorola 6800, Motorola 6809, MOS Technology 6502, Zilog Z80


16-bit microcomputer
Intel 8088, Zilog Z8000, WDC 65816/65802


32-bit microcomputer
Intel 80386, Pentium, Motorola 68000, ARM


64-bit microcomputer[92]
Alpha, MIPS, PA-RISC, PowerPC, SPARC, x86-64, ARMv8-A


Embedded computer
Intel 8048, Intel 8051


Personal computer
Desktop computer, Home computer, Laptop computer, Personal digital assistant (PDA), Portable computer, Tablet PC, Wearable computer


Theoretical/experimental
Quantum computer, Chemical computer, DNA computing, Optical computer, Spintronics-based computer, Wetware/Organic computer



Other hardware topics



Peripheral device (input/output)
Input
Mouse, keyboard, joystick, image scanner, webcam, graphics tablet, microphone


Output
Monitor, printer, loudspeaker


Both
Floppy disk drive, hard disk drive, optical disc drive, teleprinter


Computer buses
Short range
RS-232, SCSI, PCI, USB


Long range (computer networking)
Ethernet, ATM, FDDI

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.


Input devices


When unprocessed data is sent to the computer with the help of input devices, the data is processed and sent to output devices. The input devices may be hand-operated or automated. The act of processing is mainly regulated by the CPU. Some examples of input devices are:

Output devices


The means through which computer gives output are known as output devices. Some examples of output devices are:



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 control signals that activate other parts of the computer.[93] Control systems in advanced computers may change the order of execution of some instructions 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.[94]

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 microcode program that causes all of these events to happen.


Central processing unit (CPU)


The control unit, ALU, and registers 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.


Arithmetic logic unit (ALU)

The ALU is capable of performing two classes of operations: arithmetic and logic.[95] 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) while 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 statements and processing boolean logic.

Superscalar computers may contain multiple ALUs, allowing them to process several instructions simultaneously.[96] Graphics processors and computers with SIMD and MIMD features often contain ALUs that can perform arithmetic on vectors and matrices.


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 (28 = 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:





Read Next page

Report Page