Home
Support Engineering
Software Engineering
Sensory Experience
Spare Equipment
Accessible/Content-Only/Printer-Friendly
Jann Padley Support Engineering
Telephone: 01452-840714 (UK)
Mobile: 07800-603610 (UK)
Enquiries@JPSE.Co.UK
This page is entitled

How Computers Work

but could equally have the title

How Computers Don’t Work

or

Why Has My Computer Stopped Working?

Clients ask me this question every day. They say: "It was working fine, and now the ******* thing has stopped - what has happened?"

The Short Answer

Your computer has stopped working for one or more of the following reasons:
  • Computer Hardware Exhibits Chaotic Faults. That is, the machine itself can behave unpredictably because:
    • It is basically made of Billions Of Extremely Fast Switches that turn on and off billions of times per second. If any one of the switches goes wrong, the computer can crash. The switches represent Digital Information In An Analogue System and this information can sometimes be corrupted because the switches are sensitive to a range of environmental factors (especially the electricity supply and temperature).
  • Computer Software Exhibits Chaotic Faults. That is, the programs running on your computer can behave unpredictably because they are so complex and handle such large amounts of data. Also, the various programs have been produced by thousands of different people and inevitably contain many faults.
  • Personal Computers Are Commodity Items that are produced to a standard dictated by the market. In other words, you pay your money and take your choice. Computer hardware covers a wide range of quality, and computer software even more so. Whatever task you want to perform using a personal computer, you can pay anything from £0 to £1m or even more, and the quality of the results should bear some relation to the expense incurred...
Anyway, if your personal computer hasn’t failed yet, it probably will soon, so in Conclusion - Backup Your Data!
Did I mention - backup your data? And - if you have time - backup your data.

The Long Answer

Unfortunately, it is very difficult to answer the question properly in less words than this:

Computer Hardware Exhibits Chaotic Faults

[A light switch consists of a single switch]

Billions Of Extremely Fast Switches

Imagine a light-switch... you would expect to be able to turn the switch on and off all day every day for a long time before it breaks.

Now imagine 10 billion light-switches... OK - that is impossible - but we know that it is an extremely large number of switches (roughly the same number as in a modern personal computer). If you and a lot of friends were turning the switches on and off all day every day, how long do you think it would be before one of the switches breaks?

Now imagine that you and your friends can turn the switches on and off over a billion times per second (roughly the speed of a modern personal computer). Now how long do you think it will be before one of the switches breaks? If you think it is more than a fraction of a second you have too much confidence in light switches...

[An Intel Core2 Duo Processor consists of several hundred million switches]

This is a good analogy for the RAM (Random Access Memory) chips in a modern computer, but similar analogies exist for other components in your computer (such as the CPU (Central Processing Unit), motherboard, graphics card and hard disk).

Mainly for economic reasons, computers are not designed with much redundancy. In other words, every single switch has to work perfectly all the time. Any failure changes the behaviour of the computer. In an extreme case the failure of a single switch can lead to catastrophic failure of the machine.

Example: These are permanent hardware faults. They usually cause data corruption or cause the computer to completely crash, and are generally noticed quickly. If the offending component is replaced the fault is resolved. However, faults in RAM (Random Access Memory) can lurk for years doing subtle damage.

So it is already amazing that computers work at all, but it gets worse...

[The pits in the surface of a compact disc are clearly visible under a microscope]

Digital Information In An Analogue System

Now the switches in a computer are not physical switches with moving parts, but are electrical switches. The position of the switch is determined by an electrical voltage, current or charge. These are analogue (continuously variable) quantities, but represent digital information. So, for example, if the voltage can vary from 0 volts to 5 volts, then a voltage between 0 volts and 2.5 volts might represent the OFF position (the 0 state), and a voltage between 2.5 volts and 5 volts might represent the ON position (the 1 state). The function of every switch is dependent on:
  • Temperature and humidity
  • Electromagnetic fields and other types of radiation (from the computer or elsewhere)
  • Fluctuations in the electricity supply
[The Sandia Quantum LED takes advantage of extremely subtle subatomic physical effects]

Of course it is really much more complicated than this, and the electrical switches rely on a variety of subtle microscopic electromagnetic effects. In fact, the technology used in modern computers (semi-conductor integrated circuits) is being pushed to the physical limit of deterministic behaviour (the Heisenburg uncertainty principle), and is susceptible to quantum effects. See Towards Quantum Information Technology

In practice, this means that very occasionally a zero is mistaken for a one, or a one for a zero. Usually the computer will handle and maybe even correct such an error, but in the most extreme case, a single quantum event can make the difference between your computer working perfectly and failing catastrophically.

Example: These are temporary hardware faults. Again, they usually cause data corruption or cause the computer to completely crash, but because they are dependent on environmental factors can be erratic and difficult to trace. Better regulation of temperature, humidity and electrical supply might be required, or better electromagetic shielding might help in hostile environments.

So not only do the billions of fast switches all have to work perfectly all of the time, but on top of that they are all susceptible to a range of environmental factors and even quantum events. So now it is really astonishing that computers work at all, but it gets much worse...

[An IF-THEN-ELSE flowchart]

Computer Software Exhibits Chaotic Faults

The computer itself is just a machine. If you switch it on without giving it a valid set of instructions, you will just have a blank screen - it won’t actually do anything except maybe open and close the CD drawer. Most computers run a set of instructions called a BIOS (Basic Input Output System), on top of which runs an operating system, such as Microsoft Windows, Apple Macintosh OS or UNIX/LINUX.

When you boot-up your computer, it starts executing the provided instructions, and the rich behaviour it exhibits is a result of the rapidly changing state of all those billions of switches. What you see on the screen is just a tiny part of it, representing only about 0.1% of all the switches in the computer. The number of possible states that a modern computer can hold is truly astronomical. Here is a table which gives you an idea of the scale of the numbers:
Number of Switches Number of Possible States Comparison
1 2 (ON and OFF) Light switch
2 4 (ON-ON, ON-OFF, OFF-ON and OFF-OFF)
3 8
4 16
5 32 Letters in the alphabet
6 64
7 128
8 256
10 1024
100 1 million Population of Birmingham
1,000 1 billion Population of India
10,000 1,000,000,000,000 Number of stars in a large galaxy
100,000 1,000,000,000,000,000 Number of ants in the world
1 million 1,000,000,000,000,000,000 Number of stars in the universe
1 billion (mobile phone) 1,000,000,000,000,000,000,000,000,000
10 billion (modern computer) 1,000,000,000,000,000,000,000,000,000,000 Diameter of the universe in centimeters

[A galaxy contains hundreds of billions of stars] So you can see that the number of possible states in a mobile phone is greater than the number of stars in the universe. In fact, the numbers have recently got just plain silly: if you include the hard disk, the number of switches in a modern desktop PC is more than one thousand billion (1,000,000,000,000), giving a number of possible states of more than one billion, billion, billion, billion (1,000,000,000,000,000,000,000,000,000,000,000,000). This is the volume of the sun in cubic centimeters.

But computers are designed, produced and programmed by humans: how can humans possibly create something so complex? Well, it has taken hundreds of thousands of people decades of hard work to bring us to the current generation of computers. The functions that the computer can perform have been meticulously constructed piece by piece, layer by layer. New functions and layers are constantly being created using all of the existing functions and layers, so the entire system evolves and expands incrementally over time. Every letter, every coloured line or block, every icon, menu, button or scroll-bar, every window or dialog box, every web page or document that you have ever seen on a computer has at some stage been laboriously crafted by a human.

The state of the computer is dynamically changing billions of times per second, so the state of the computer at any moment depends on the state a moment earlier.

Now we come to the crux of it: The computer system is an assembly of components (hardware and software) that appears to function as an organic whole. Even if the computer is functioning exactly as intended, a single fault in any component (hardware or software) has the potential to cause the catastrophic failure of the entire system.

Personal Computers Are Commodity Items

Personal computers are conceived, designed and manufactured in a free market. The amount of resources dedicated to quality control and testing any given system are dictated by the market:
  • [A modern aircraft cockpit] Critical systems such as avionics (aircraft electronics) are produced to a very high standard: the cost of even the tiniest fault on an aircraft can be enormous, so the costs of meticulous quality control and exhaustive testing are justified.
  • The quality control and testing regime of personal computer systems (hardware, software and peripherals) is intended to reduce failures only to a commercially acceptable level.
  • In other words, when consumers keep buying faulty products, the information technology industry continues to make a profit from selling them.
  • [A pile of junked personal computers] In other words, when consumers seek out cheap hardware and software, they create a demand that encourages the industry to produce even less reliable systems. For example, when you buy a computer system containing hard disks or RAM (Random Access Memory) modules, it is very unlikely that these components will even have been scanned for faults. A certain percentage of components are known to be faulty, but it is not commercially viable to exhaustively test them. In my experience it is not worth buying the poorer quality computer components at all - any potential savings are wiped out many times over by the costs resulting from faults.
[A shiny new compact disc]

Conclusion - Backup Your Data

So that is it: personal computers fail for a myriad of reasons. The truly amazing thing is that a good quality, well maintained personal computer will carry out a vast range of tasks perfectly well most of the time.

Here is the obvious conclusion and the most important point of this article:
  • Your data is irreplaceable and maybe invaluable. It might be valuable for personal reasons or commercial reasons.
  • Your computer might fail catastrophically at any moment. It will almost certainly suffer some type of failure at some point in the future. The risks of failure are reduced by proper maintenance.
  • Backup your data. Backup your data. Backup your data. Backup your data.
  • Oh yes - in case you didn’t get that - backup your data.
©2020 Jann Padley, Last Modified: February 16 2023 15:09:14.