BidVertiser Ads

Adbrit Ads

Saturday, May 2, 2009

Major brands and manufacturers

There is a multitude of laptop brands and manufacturers; several major brands, offering notebooks in various classes, are listed in the box to the right.

The major brands usually offer good service and support, including well-executed documentation and driver downloads that will remain available for many years after a particular laptop model is no longer produced. Capitalizing on service, support and brand image, laptops from major brands are more expensive than laptops by smaller brands and ODMs.

Some brands are specializing in a particular class of laptops, such as gaming laptops (Alienware), netbooks (EeePC) and laptops for children (OLPC).

Many brands, including the major ones, do not design and do not manufacture their laptops. Instead, a small number of Original Design Manufacturers (ODMs) design new models of laptops, and the brands choose the models to be included in their lineup. In 2006, 7 major ODMs manufactured 7 of every 10 laptops in the world, with the largest one (Quanta Computer) having 30% world market share.[52] Therefore, there often are identical models available both from a major label and from a low-profile ODM in-house brand

Upgradeability

Upgradeability of laptops is very limited compared to desktops, which are thoroughly standardized. In general, hard drives and memory can be upgraded easily. Optical drives and internal expansion cards may be upgraded if they follow an industry standard, but all other internal components, including the CPU and graphics, are not intended to be upgradeable.

The reasons for limited upgradeability are both technical and economic. There is no industry-wide standard form factor for laptops; each major laptop manufacturer pursues its own proprietary design and construction, with the result that laptops are difficult to upgrade and have high repair costs. With few exceptions, laptop components can rarely be swapped between laptops of competing manufacturers, or even between laptops from the different product-lines of the same manufacturer.

Some upgrades can be performed by adding external devices, either USB or in expansion card format such a PC Card: sound cards, network adapters, hard and optical drives, and numerous other peripherals are available, but these upgrades usually impair the laptop's portability, because they add cables and boxes to the setup and often have to be disconnected and reconnected when the laptop is moved.

Ergonomics and health

Because of their small and flat keyboard and trackpad pointing devices, prolonged use of laptops can cause repetitive strain injury.[46] Usage of separate, external ergonomic keyboards

and pointing devices is recommended to prevent injury when working for long periods of time; they can be connected to a laptop easily by USB or via a docking station. Some health standards require ergonomic keyboards at workplaces.

The integrated screen often causes users to hunch over for a better view, which can cause neck or spinal injuries. A larger and higher-quality external screen can be connected to almost any laptop to alleviate that and to provide additional "screen estate" for more productive work.

A study by State University of New York researchers found that heat generated from laptops can raise the temperature of the scrotum when balancing the computer on one's lap, potentially putting sperm count at risk. The small study, which included little more than two dozen men aged 21 to 35, found that the sitting position required to balance a laptop can raise scrotum temperature by as much as 2.1 °C (3.8 °F). Heat from the laptop itself can raise the temperature by another 0.7 °C (1.4 °F), bringing the potential total increase to 2.8 °C (5.2 °F). However, further research is needed to determine whether this directly affects sterility in men

Performance

While the performance of mainstream desktops and laptops is comparable, laptops are significantly more expensive than desktop PCs at the same performance level.[44] The upper limits of performance of laptops are a little bit lower, and "bleeding-edge" features usually appear first in desktops and only then, as the underlying technology matures, are adapted to laptops.

However, for Internet browsing and typical office applications, where the computer spends the majority of its time waiting for the next user input, even netbook-class laptops are generally fast enough.[45] Standard laptops are sufficiently powerful for high-resolution movie playback, 3D gaming and video editing and encoding. Number-crunching software (databases, math, engineering, financial, etc.) is the area where the laptops are at the biggest disadvantage.

Components

The basic components of laptops are similar in function to their desktop counterparts, but are miniaturized, adapted to mobile use, and designed for low power consumption. Because of the additional requirements, laptop components usually are of inferior performance compared to similarly priced desktop parts. Furthermore, the design bounds on power, size, and cooling of laptops limit the maximum performance of laptop parts compared to that of desktop components. [28]

The following list summarizes the differences and distinguishing features of laptop components in comparison to desktop personal computer parts:

  • Motherboard – laptop motherboards are highly make and model specific, and do not conform to a desktop form factor. Unlike a desktop board that usually has several slots for expansion cards (3 to 7 are common), a board for a small, highly integrated laptop may have no expansion slots at all, with all the functionality implemented on the motherboard itself; the only expansion possible in this case is via an external port such as USB or a card slot such as PCMCIA. Other boards may have one or more standard, such as ExpressCard, or proprietary expansion slots. Several other functions (storage controllers, networking, sound card and external ports) are implemented on the motherboard.[29]

Rugged Laptop

A rugged (or ruggedized) laptop is designed to reliably operate in harsh usage conditions such as strong vibrations, extreme temperatures and wet or dusty environments. Rugged laptops are usually designed from scratch, rather than adapted from regular consumer laptop models. Rugged notebooks are bulkier, heavier, and much more expensive than regular laptops[26], and thus are seldom seen in regular consumer use.

The design features found in rugged laptops include rubber sheeting under the keyboard keys, sealed port and connector covers, passive cooling, superbright displays easily readable in daylight, cases and frames made of magnesium alloys or have a magnesium alloy rollcage[27] that are much stronger than plastic found in commercial laptops and solid-state storage devices or hard disc drives that are shock mounted to withstand constant vibrations. Rugged laptops are commonly used by public safety services (police, fire and medical emergency), military, utilities, field service technicians, construction, mining and oil drilling personnel. Rugged laptops are usually sold to organizations, rather than individuals, and are rarely marketed via retail channels.

Netbook

Netbooks are laptops that are light-weight, economical, energy-efficient and especially suited for wireless communication and Internet access[18][19]. Hence the name netbook (as "the device excels in web-based computing performance")[20] rather than notebook which pertains to size[21].

Especially suited for web browsing and e-mailing, netbooks "rely heavily on the Internet for remote access to web-based applications"[20] and are targeted increasingly at cloud computing users who rely on servers and require a less powerful client computer.[22]. While the devices range in size from below 5 inches[23] to over 12[24], most are between 7 and 11 inches and weigh between 2 and 3 pounds[20].

Netbooks have a wide range of light-weight operating systems including Linux and Windows XP[20] rather than more resource-intensive operating systems like Windows Vista as they have less processing power than traditional laptops

Notebook

Although the term Notebook is now often used interchangeably with the term Laptop, it was originally introduced to differentiate a smaller, thinner and lighter range of devices (comparable with a traditional paper notebook) which supplanted their larger counterparts


A subnotebook, also called an ultraportable by some vendors, is a laptop designed and marketed with an emphasis on portability (small size, low weight and long battery life) that retains the performance of a standard notebook. Subnotebooks are usually smaller and lighter than standard laptops, weighing between 0.8 and 2 kg (2 to 5 pounds)[12]; the battery life can exceed 10 hours[17] when a large battery or an additional battery pack is installed.

To achieve the size and weight reductions, ultraportables use high resolution 13" and smaller screens (down to 6.4"), have relatively few ports, employ expensive components designed for minimal size and best power efficiency, and utilize advanced materials and construction methods. Some subnotebooks achieve a further portability improvement by omitting an optical/removable media drive; in this case they may be paired with a docking station that contains the drive and optionally more ports or an additional battery.

The term "subnotebook" is usually reserved to laptops that run general-purpose desktop operating systems such as Windows, Linux or Mac OS X, rather than specialized software such as Windows CE, Palm OS or Internet Tablet OS.

Tuesday, April 21, 2009

Laptop


A laptop (also known as a notebook) is a personal computer designed for mobile use small enough to sit on one's lap.[1] A laptop includes most of the typical components of a desktop computer, including a display, a keyboard, a pointing device (a touchpad, also known as a trackpad, or a pointing stick), speakers, as well as a battery, into a single small and light unit. The rechargeable battery required is charged from an AC/DC adapter and typically stores enough energy to run the laptop for several hours.

Laptops are usually shaped like a large notebook with thicknesses between 0.7–1.5 inches (18–38 mm) and dimensions ranging from 10x8 inches (27x22cm, 13" display) to 15x11 inches (39x28cm, 17" display) and up. Modern laptops weigh 3 to 12 pounds (1.4 to 5.4 kg); older laptops were usually heavier. Most laptops are designed in the flip form factor to protect the screen and the keyboard when closed. Modern 'tablet' laptops have a complex joint between the keyboard housing and the display, permitting the display panel to twist and then lay flat on the keyboard housing. They usually have a touchscreen display and some include handwriting recognition or graphics drawing capability.





Motherboard


The motherboard, also referred to as systemboard or mainboard, is the primary circuit board within a personal computer. Many other components connect directly or indirectly to the motherboard. Motherboards usually contain one or more CPUs, supporting circuitry - usually integrated circuits (ICs) - providing the interface between the CPU memory and input/output peripheral circuits, main memory, and facilities for initial setup of the computer immediately after power-on (often called boot firmware or, in IBM PC compatible computers, a BIOS). In many portable and embedded personal computers, the motherboard houses nearly all of the PC's core components. Often a motherboard will also contain one or more peripheral buses and physical connectors for expansion purposes. Sometimes a secondary daughter board is connected to the motherboard to provide further expandability or to satisfy space constrain

Central processing unit


The central processing unit, or CPU, is that part of a computer which executes software program instructions. In older computers this circuitry was formerly on several printed circuit boards, but in PCs is a single integrated circuit. Nearly all PCs contain a type of CPU known as a microprocessor. The microprocessor often plugs into the motherboard using one of many different types of sockets. IBM PC compatible computers use an x86-compatible processor, usually made by Intel, AMD, VIA Technologies or Transmeta. Apple Macintosh computers were initially built with the Motorola 680x0 family of processors, then switched to the PowerPC series (a RISC architecture jointly developed by Apple Computer, IBM and Motorola), but as of 2006, Apple switched again, this time to x86-compatible processors by Intel. Modern CPUs are equipped with a fan attached via heat sink.

Pocket PC


A pocket PC is a hardware specification for a handheld-sized computer (personal digital assistant) that runs the Microsoft Windows Mobile operating system. It may have the capability to run an alternative operating system like NetBSD or Linux. It has many of the capabilities of modern desktop PCs.

Currently there are tens of thousands of applications for handhelds adhering to the Microsoft Pocket PC specification, many of which are freeware. Some of these devices also include mobile phone features. Microsoft compliant Pocket PCs can also be used with many other add-ons like GPS receivers, barcode readers, RFID readers, and cameras. In 2007, with the release of Windows Mobile 6, Microsoft dropped the name Pocket PC in favor of a new naming scheme. Devices without an integrated phone are called Windows Mobile Classic instead of Pocket PC. Devices with an integrated phone and a touch screen are called Windows Mobile Professional

Tablet PC

A tablet PC is a notebook or slate-shaped mobile computer, first introduced by Pen computing in the early 90s with their PenGo Tablet Computer and popularized by Microsoft. Its touchscreen or graphics tablet/screen hybrid technology allows the user to operate the computer with a stylus or digital pen, or a fingertip, instead of a keyboard or mouse. The form factor offers a more mobile way to interact with a computer. Tablet PCs are often used where normal notebooks are impractical or unwieldy, or do not provide the needed functionality.

Ultra-Mobile PC


The ultra-mobile PC (UMPC) is a specification for a small form factor tablet PC. It was developed as a joint development exercise by Microsoft, Intel, and Samsung, among others. Current UMPCs typically feature the Windows XP Tablet PC Edition 2005, Windows Vista Home Premium Edition, or Linux operating system and low-voltage Intel Pentium or VIA C7-M processors in the 1 GHz range.

Netbook


Netbook PCs are small portable computers in a "clamshell" design, that are designed specifically for wireless communication and access to the Internet. They are generally much lighter and cheaper than subnotebooks, and have a smaller display, between 7" and 9", with a screen resolution between 800x600 and 1024x768. The operating systems and applications on them are usually specially modified so they can be comfortably used with a smaller sized screen, and the OS is often based on Linux, although some netbooks run on Windows XP. Some netbooks make use of their built in high speed Wireless connectivity to offload some of their applications software to Internet servers, through the principle of Cloud computing, as most have small solid state storage systems instead of hard-disks. Storage capacities are usually in the 4 to 16 GB range. One of the first examples of such a system was the original Eee PC.

Laptop


A laptop computer or simply laptop, also called a notebook computer or sometimes a notebook, is a small personal computer designed for mobility. Usually all of the interface hardware needed to operate the laptop, such as parallel and serial ports, graphics card, sound channel, etc., are built in to a single unit. Most laptops contain batteries to facilitate operation without a readily available electrical outlet. In the interest of saving power, weight and space, they usually share RAM with the video channel, slowing their performance compared to an equivalent desktop machine.

One main drawback of the laptop is that, due to the size and configuration of components, relatively little can be done to upgrade the overall computer from its original design. Some devices can be attached externally through ports (including via USB), however internal upgrades are not recommended or in some cases impossible, making the desktop PC more modular.

A subtype of notebooks, called subnotebooks, are computers with most of the features of a standard laptop computer but smaller. They are larger than hand-held computers, and usually run full versions of desktop/laptop operating systems. Ultra-Mobile PCs (UMPC) are usually considered subnotebooks, or more specifically, subnotebook Tablet PCs (see below). Netbooks are sometimes considered in this category, though they are sometimes separated in a category of their own (see below).

Desktop replacements, meanwhile, are large laptops meant to replace a desktop computer while keeping the mobility of a laptop.

Desktop computer

Prior to the wide spread of PCs a computer that could fit on a desk was considered remarkably small. Today the phrase usually indicates a particular style of computer case. Desktop computers come in a variety of styles ranging from large vertical tower cases to small form factor models that can be tucked behind an LCD monitor. In this sense, the term 'desktop' refers specifically to a horizontally-oriented case, usually intended to have the display screen placed on top to save space on the desk top. Most modern desktop computers have separate screens and keyboards.

Main article: Nettop

A subtype of desktops, called nettops, was introduced by Intel in February 2008 to describe low-cost, lean-function, desktop computers. A similar subtype of laptops (or notebooks) are the netbooks (see below).

Friday, April 17, 2009

Visual display unit


A visual display unit, often called simply a monitor or display, is a piece of electrical equipment which displays images generated from the video output of devices such as computers, without producing a permanent record. Most newer monitors typically consist of a TFT LCD, with older monitors based around a cathode ray tube (CRT). Almost all of the mainstream new monitors being sold on market now are LCD. The monitor comprises the display device, simple circuitry to generate and format a picture from video sent by the signals source, and usually an enclosure. Within the signal source, either as an integral section or a modular component, there is a display adapter to generate video in a format compatible with the monitor.



The size of a display is typically given as the distance between two opposite screen corners. One problem with this method is that it does not distinguish between the aspect ratios of monitors with identical diagonal sizes, in spite of the fact that a shape of a given diagonal span's area decreases as it becomes less square. For example, a 4:3 21" monitor has an area of ~211 square inches, while a 16:9 21" widescreen has an area of only ~188 square inches.

This method of measurement is from the first types of CRT television, when round picture tubes were in common use. Being circular, they only needed to use their diameter to describe their tube size. When round tubes were used to display rectangular images, the diagonal measurement was equivalent to the round tube's diameter. This method continued even when CRT tubes were manufactured as rounded rectangles.

Another historically problematic practice is the direct measurement of a monitor's imaging element as its quoted size in publicity and advertising materials. Especially on CRT displays, a substantial portion of the imaging element is concealed behind the case's bezel or shroud in order to hide areas outside the monitor's safe area due to overscan. Seen as deceptive, widespread consumer objection and lawsuits eventually forced most manufacturers to instead measure viewable size.


As with television, many different hardware technologies exist for displaying computer-generated output:

Keyboard (computing)


A keyset or chorded keyboard is a computer input device that allows the user to enter characters or commands formed by pressing several keys together, like playing a "chord" on a piano. The large number of combinations available from a small number of keys allows text or commands to be entered with one hand, leaving the other hand free to do something else. A secondary advantage is that it can be built into a device (such as a pocket-sized computer) that is too small to contain a normal sized keyboard. A chorded keyboard designed to be used while held in the hand is called a keyer.

Virtual

Virtual keyboards, such as the I-Tech Virtual Laser Keyboard, project an image of a full-size keyboard onto a surface. Sensors in the projection unit identify which key is being "pressed" and relay the signals to a computer or personal digital assistant. There is also a virtual keyboard, the On-Screen Keyboard, for use on Windows.

Touchscreens

Touchscreens, such as with the iPhone and the OLPC laptop, can be used as a keyboard. (The OLPC initiative's second computer will be effectively two tablet touchscreens hinged together like a book. It can be used as a convertible Tablet PC where the keyboard is one half-screen (one side of the book) which turns into a touchscreen virtual keyboard.)

Foldable

Foldable (also called flexible) keyboards are made of soft plastic which can be rolled or folded over for travel.[1] When in use, the keyboard can conform to uneven surfaces, and it is more resistant to liquids than a standard keyboard. Also can be connected to portable devices and smartphones.

Some models can be fully immersed in water, making them popular in hospitals and laboratories, as they can be disinfected.

Laser/Infrared

Some devices have recently been produced which project a keyboard layout onto any flat surface using a laser. These devices detect key presses via infrared, and can artificially produce the tapping or clicking sound of a physical keyboard through their software.



The QWERTZ layout is fairly widely used in Germany and much of Central Europe. The main difference between it and QWERTY is that Y and Z are swapped, and most special characters such as brackets are replaced by diacritical characters. Another situation takes place with “national” layouts. Keyboards designed for typing in Spanish have some characters shifted, to release the space for Ñ ñ; similarly, those for French and other European languages may have a special key for the character Ç ç . The AZERTY layout is used in France, Belgium and some neighbouring countries. It differs from the QWERTY layout in that the A and Q are swapped, the Z and W are swapped, and the M is moved from the right of N to the right of L (where colon/semicolon is on a US keyboard). The digits 0 to 9 are on the same keys, but to be typed the shift key must be pressed. The unshifted positions are used for accented characters.

Image scanner

Jump to: navigation, search
Desktop scanner, with the lid raised. An object has been laid on the glass, ready for scanning.
Scan of the jade rhinoceros seen in the photograph above.
Image scanner.

In computing , a scanner is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image. Common examples found in offices are variations of the desktop (or flatbed) scanner where the document is placed on a glass window for scanning. Hand-held scanners, where the device is moved by hand, have evolved from text scanning "wands" to 3D scanners used for industrial design, reverse engineering, test and measurement, orthotics, gaming and other applications. Mechanically driven scanners that move the document are typically used for large-format documents, where a flatbed design would be impractical.

Modern scanners typically use a charge-coupled device (CCD) or a Contact Image Sensor (CIS) as the image sensor, whereas older drum scanners use a photomultiplier tube as the image sensor. A rotary scanner, used for high-speed document scanning, is another type of drum scanner, using a CCD array instead of a photomultiplier. Other types of scanners are planetary scanners, which take photographs of books and documents, and 3D scanners, for producing three-dimensional models of objects.

Another category of scanner is digital camera scanners, which are based on the concept of reprographic cameras. Due to increasing resolution and new features such as anti-shake, digital cameras have become an attractive alternative to regular scanners. While still having disadvantages compared to traditional scanners (such as distortion, reflections, shadows, low contrast), digital cameras offer advantages such as speed, portability, gentle digitizing of thick documents without damaging the book spine. New scanning technologies are combining 3D scanners with digital cameras to create full-color, photo-realistic 3D models of objects.

In the biomedical research area, detection devices for DNA microarrays are called scanners as well. These scanners are high-resolution systems (up to 1 µm/ pixel), similar to microscopes. The detection is done via CCD or a photomultiplier tube (PMT).

Networking and the Internet

Visualization of a portion of the routes on the Internet.

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 like Sabre.[29]

In the 1970s, computer engineers at research institutions throughout the United States began to link their computers together using telecommunications technology. This effort was funded by ARPA (now DARPA), and the computer network that it produced was called the ARPANET.[30] 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 like Ethernet 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.

Multiprocessing

Cray designed many supercomputers that used multiprocessing heavily.

Some computers are designed to distribute their work across several CPUs in a multiprocessing configuration, a technique once employed only in large and powerful machines such as supercomputers, mainframe computers and servers. Multiprocessor and multi-core (multiple CPUs on a single integrated circuit) personal and laptop computers are now widely available, and are being increasingly used in lower-end markets as a result.

Supercomputers in particular often have highly unique architectures that differ significantly from the basic stored-program architecture and from general purpose computers.[28] 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.

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.[26]

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.[27]

Before the era of cheap computers, the principle 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. However, 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 at the same time without unacceptable speed loss.

Input/output (I/O)

Hard disks are common I/O devices used with computers.

I/O is the means by which a computer exchanges information with the outside world.[24] Devices that provide input or output to the computer are called peripherals.[25] 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 and optical disc drives serve as both input and output devices. Computer networking is another form of I/O.

Often, I/O devices are 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 computers contain many smaller computers that assist the main CPU in performing I/O.

Thursday, April 16, 2009

Control unit

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.[19] 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.[20]

Diagram showing how a particular MIPS architecture instruction would be decoded by the control system.

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).

It is noticeable that 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 that runs a microcode program that causes all of these events to happen.

Programs


In practical terms, a computer program may run from just a few instructions to many millions of instructions, as in a program for a word processor or a web browser. A typical modern computer can execute billions of instructions per second (gigahertz or GHz) and rarely make 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.

Errors in computer programs are called "bugs". Bugs 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 to "hang"—become unresponsive to input such as mouse clicks or keystrokes, or to completely fail or "crash". Otherwise benign bugs may sometimes may be harnessed for malicious intent by an unscrupulous user writing an "exploit"—code designed to take advantage of a bug and disrupt a program'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.[15]

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 instructions) can be represented as lists of numbers and can themselves be manipulated inside the computer just as if they were 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 this technique was used with many early computers,[16] it is extremely tedious 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. 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