Otherwise known as the CPU, some people crudely refer to it as the "Brain" or "Heart" of a computer or robot. There is a grain of truth there, in that it is the main computing element of any system.

At its most basic, it is a unit which can process and run instructions in a system. The instructions are a program, and the kinds of program could be anything from a simple clock to some of the most sophisticated games and software available.

Most CPU's can only process one program at any time, but through advanced programming techniques, can divide their time among many programs, and give the appearance of running many programs simultaneously - this is known as multi-tasking. A single running program (also known as a process) may have multiple tasks, known as threads. Multi Tasking techniques consist of a task being able to run a block of code, followed by an instruction to yield back to the task manager so it can store all its state and give some run time to another task. This survives to today, where unless you are running a multiple processor based system, your system is still only truly processing one stream of instructions at one instant.

The often cause of very serious crashes can be that a task has never yielded. Task management systems may use a timer based interrupt to ensure that a task is eventually forced to yield. Since its state is still saved, it may come around on the task queue again, and continue running, but if a task is continually timed out, then your system may mark this as a crash, and present you with a familiar dialogue box informing you that it has stopped responding and that the process (the parent if in a multi-threaded process) should be terminated.

The term MicroProcessor came about from the fact that at one time, old CPU's took up whole rooms, or at least a five foot by two foot by six foot module (which did not include storage, hard disks or displays). They were then massively miniaturised to the size now, which is most definitely comparatively micro.

They are closely related to <a a="" brain")="" class="wiki" for="" href="/wiki/microcontroller.html" robot"="" title="A programmable digital controller (or ">MicroControllers</a> which tend to be based on a CPU, with additional on board IO and memory.

Old CPU's and Computers

If anyone has had the privilege of seeing such a system, such as the one at the Bank of England registrars department, they would often have a cluster of 2 rows of 10 5 foot cabinets, which were the processing cores, surrounded by walls of tape loop machines, sets of Hard Disk Drives powered by motors the size of motorbike engines, and had a room full of chain printers (where the characters are embossed on dies which are mounted on a constantly spinning chains) for backups. The whole facility was about half the size of a gymnasium.

In modern terms, a mobile phone probably comes with more processing power and storage than these kinds of systems did in their heyday, a mark of how fast the technology has moved in 30/40 years.