Computer hardware


Computer hardware includes the physical parts of a computer, such as the central processing unit, random-access memory, motherboard, computer data storage, graphics card, sound card, and computer case. It includes external devices such as a monitor, mouse, keyboard, and speakers.
By contrast, software is a set of written instructions that can be stored and run by hardware. Hardware derived its name from the fact it is hard or rigid with respect to changes, whereas software is soft because it is easy to change.
Hardware is typically directed by the software to execute any command or instruction. A combination of hardware and software forms a usable computing system, although other systems exist with only hardware.

History

Some of the earliest computing devices date back to the seventeenth century. For example, in 1642, French mathematician Blaise Pascal designed a gear-based device called the Pascaline that could add and subtract. Then, in 1676, the stepped reckoner was invented by Gottfried Leibniz, which could also divide and multiply. Due to the limitations of contemporary fabrication and design flaws, Leibniz' reckoner was not very functional, but similar devices remained in use into the 1970s. In the 19th century, Englishman Charles Babbage invented the difference engine, a mechanical device to calculate polynomials for astronomical purposes. Babbage also designed a general-purpose computer that was never built. Much of the design was incorporated into the earliest computers: punch cards for input and output, memory, an arithmetic unit analogous to central processing units, and even a primitive programming language similar to assembly language.
In 1936, Alan Turing developed the concept of the universal Turing machine to model any type of computer, demonstrating that no machine could solve the decision problem.
The universal Turing machine was a type of stored-program computer capable of mimicking the operations of any Turing machine based on the software instructions passed to it. The storage of computer programs is key to the operation of modern computers and is the connection between computer hardware and software. Even prior to this, in the mid-19th century mathematician George Boole invented Boolean algebra—a system of logic where each proposition is either true or false. Boolean algebra is now the basis of the circuits that model the transistors and other components of integrated circuits that make up modern computer hardware. In 1945, Turing finished the design for a computer that was never built.
Around this time, technological advancement in relays and vacuum tubes enabled the construction of the first computers. Building on Babbage's design, relay computers were built by George Stibitz at Bell Laboratories and Harvard University's Howard Aiken, who engineered the MARK I. Also in 1945, mathematician John von Neumann—working on the ENIAC project at the University of Pennsylvania—devised the underlying von Neumann architecture that has served as the template for most modern computers. Von Neumann's design featured a centralized memory that stored both data and programs, a central processing unit with priority of access to the memory, and input and output units. Von Neumann used a single bus to transfer data, meaning that his solution to the storage problem by locating programs and data adjacent to each other created the Von Neumann bottleneck when the system tries to fetch both at the same time—often throttling the system's performance.

Computer architecture

Computer architecture involves balancing various goals, such as cost, speed, availability, and energy efficiency. Designers must have a thorough understanding of hardware requirements and diverse aspects of computing, ranging from compilers to Integrated circuit design. Cost has also become a significant constraint for manufacturers seeking to sell their products for less money than competitors offering a very similar hardware component. Profit margins have also been reduced. Even when the performance is not increasing, the cost of components has been dropping over time due to improved manufacturing techniques that have fewer components rejected at quality assurance stage.

Instruction set architecture

The most common instruction set architecture —the interface between a computer's hardware and software—is based on the one devised by von Neumann in 1945. Despite the separation of the computing unit and the I/O system in many diagrams, typically the hardware is shared, with a bit in the computing unit indicating whether it is in computation or I/O mode. Common types of ISAs include CISC, RISC, vector operations, and hybrid modes. CISC involves using a larger expression set to minimize the number of instructions the machines need to use. Based on a recognition that only a few instructions are commonly used, RISC shrinks the instruction set for added simplicity, which also enables the inclusion of more registers. After the invention of RISC in the 1980s, RISC based architectures that used pipelining and caching to increase performance displaced CISC architectures, particularly in applications with restrictions on power usage or space. From 1986 to 2003, the annual rate of improvement in hardware performance exceeded 50 percent, enabling the development of new computing devices such as tablets and mobiles. Alongside the density of transistors, DRAM memory as well as flash and magnetic disk storage also became exponentially more compact and cheaper. The rate of improvement slackened off in the twenty-first century.
In the twenty-first century, increases in performance have been driven by increasing exploitation of parallelism. Applications are often parallelizable in two ways: either the same function is running across multiple areas of data or different tasks can be performed simultaneously with limited interaction. These forms of parallelism are accommodated by various hardware strategies, including instruction-level parallelism, vector architectures and graphical processing units that are able to implement data parallelism, thread-level parallelism and request-level parallelism.

Microarchitecture

, also known as computer organization, refers to high-level hardware questions such as the design of the CPU, memory, and memory interconnect. Memory hierarchy ensures that the memory quicker to access is located closer to the CPU, while slower, cheaper memory for large-volume storage is located further away. Memory is typically segregated to separate programs from data and limit an attacker's ability to alter programs. Most computers use virtual memory to simplify addressing for programs, using the operating system to map virtual memory to different areas of the finite physical memory.

Cooling

Computer processors generate heat, and excessive heat impacts their performance and can harm the components. Many computer chips will automatically throttle their performance to avoid overheating. Computers also typically have mechanisms for dissipating excessive heat, such as air or liquid coolers for the CPU and GPU and heatsinks for other components, such as the RAM. Computer cases are also often ventilated to help dissipate heat from the computer. Data centers typically use more sophisticated cooling solutions to keep the operating temperature of the entire center safe. Air-cooled systems are more common in smaller or older data centers, while liquid-cooled immersion and direct-to-chip can be more expensive but are also more efficient. Most computers are designed to be more powerful than their cooling system, but their sustained operations cannot exceed the capacity of the cooling system. While performance can be temporarily increased when the computer is not hot, in order to protect the hardware from excessive heat, the system will automatically reduce performance or shut down the processor if necessary. Processors also will shut off or enter a low power mode when inactive to reduce heat. Power delivery as well as heat dissipation are the most challenging aspects of hardware design, and have been the limiting factor to the development of smaller and faster chips since the early twenty-first century. Increases in performance require a commensurate increase in energy use and cooling demand.

Types of computer hardware systems

Personal computer

The personal computer is one of the most common types of computer due to its versatility and relatively low price.
  • Desktop personal computers have a monitor, a keyboard, a mouse, and a computer case. The computer case holds the motherboard, fixed or removable disk drives for data storage, the power supply, and may contain other peripheral devices such as modems or network interfaces. Some models of desktop computers integrated the monitor and keyboard into the same case as the processor and power supply. Separating the elements allows the user to arrange the components in a pleasing, comfortable array, at the cost of managing power and data cables between them.
  • Laptops are designed for portability but operate similarly to desktop PCs. They may use lower-power or reduced size components, with lower performance than a similarly priced desktop computer. Laptops contain the keyboard, display, and processor in one case. The monitor in the folding upper cover of the case can be closed for transportation, to protect the screen and keyboard. Instead of a mouse, laptops may have a touchpad or pointing stick.
  • Tablets are portable computers that use a touch screen as the primary input device. Tablets generally weigh less and are smaller than laptops. Some tablets include fold-out keyboards or offer connections to separate external keyboards. Some models of laptop computers have a detachable keyboard, which allows the system to be configured as a touch-screen tablet. They are sometimes called 2-in-1 detachable laptops or tablet-laptop hybrids.
  • Mobile phones are designed to have an extended battery life and light weight, while having less functionality than larger computers. They have diverse hardware architecture, often including antennas, microphones, cameras, GPS devices, and speakers. Power and data connections vary between phones.