Microprocessors are a key component in computer systems. They also are found in a wide variety of consumer devices such as washing machines, microwave ovens and vehicles.
A minimal hypothetical microprocessor would include a ROM chip for programs, dynamic RAM chips for data and simple I/O support chips that communicate with the CPU using special interface lines.
Memory
The memory that stores the instructions that control a microprocessor is one of the most important components of the system. The memory consists of several different types of chips that have been built using silicon-based metal-oxide-semiconductor transistors. The different types of memory are divided into two groups: prime or R/W memory and secondary or storage memory.
The primary memory contains the operating system software and user programs. These programs are accessed by a microprocessor program counter, which keeps track of the address of the specific location in memory where a machine-code instruction is located. The address is sent over a memory bus to an address microprocessor systems decoder circuit, which selects the appropriate piece of memory hardware and its specific location.
Once a processor has fetched an instruction from the memory, it reassembles it and executes the code. The data operands that are needed for the execution of the instruction are retrieved from the memory and are sent over the data bus to the CPU, where they are stored in a register.
This process of juggling data between the processor’s register set and the memory takes time and exacts a performance penalty on the microprocessor. Some newer microprocessors use a technique called prediction to reduce this overhead by attempting to properly predict the path of execution. This is done by assigning a bit to each of the possible branch paths. A compare instruction then sets this bit to either a true or false value. The microprocessor then executes only the path that has a true predicate flag, eliminating the need to re-read the memory and avoiding the associated performance penalties.
Instructions
The microprocessor is the brain of the computer system and carries out all processing functions. It executes instructions that are read from the memory or input devices and then performs operations on them, such as adding two numbers together. Each instruction is executed in a series of clock cycles. The number of operations (or “micro-ops”) that the CPU can execute in a single cycle is measured as its IPC or Instructions Per Clock.
The first microprocessor was introduced in 1971 by Intel and was called the Intel 4004. It was a 4-bit processor on a single chip that could perform basic arithmetic and logical operations using its Arithmetic and Logical Unit (ALU). It moved data from one place to another using its Program Counter register and also had a special ‘idle’ state where it stopped the system clock.
A system’s microprocessor needs to be able to handle the various kinds of data it handles in different ways, so it has to have a wide range of instructions that allow it to perform many tasks. These include reading, processing and writing information to the memory.
The microprocessor also requires a system clock, which is a quartz crystal maintaining a constant frequency. It controls the timing for all events in the system and provides a reference point against which to measure performance.
Clocks
The microprocessor executes instructions at a speed known as clock speed. This measure is usually quoted in megahertz (MHz) or gigahertz (GHz). A microprocessor’s clock speed determines how many instructions it can process in a single cycle.
A microprocessor is a computer processor that has been mounted on a single chip. It includes a memory that is used to store data and instructions while they are being processed. Modern chips contain multiple processing cores to increase their performance.
Clocks are found in homes and businesses; they are also used in watches, radios and most MP3 players. They are also the basis for all atomic timekeeping systems.
Every microprocessor has its own internal clock to synchronize its operations with the rest of the system. The clock’s output is driven by signals that come from the arithmetic logic unit, program counter, microprocessor systems manufacturer instruction register and control bus. The inputs are interpreted by the decoder to generate commands. The microprocessor then executes the instructions, which are stored in the memory.
The instructions are read by the arithmetic logic unit, which performs basic arithmetic operations such as addition, multiplication and division. Its registers provide high-speed storage for accumulating, programming and comparing data. The program counter keeps track of the current instruction and where in the microprocessor it should be executed next. The microprocessor is able to perform these tasks in parallel, which increases its overall speed, allowing it to complete a lot of work in a very short period of time.
Buses
The system bus is the collection of wire lines through which information flows between the microprocessor and memory and input/output devices. It carries control and timing signals to coordinate the functions of the processor, memory and other devices, as well as providing a pathway for data flow between these components. The bus may be based on an industry standard or designed to a specific computer design.
The earliest bus systems were essentially passive backplanes connected directly or through buffer amplifiers to the CPU pins. The address bus carried a list of device addresses, and the data bus a list of actual data, both of which were timed by a central clock, ensuring that the CPU only read or wrote at predetermined intervals. Devices signaled the CPU on separate pins, so the bus had to manage multiple simultaneous requests and conflicts.
Later bus systems separated the CPU and memory from the other system components, shifting some of the communications protocol burden from the CPU to a bus controller, which would pass the data to the appropriate peripherals. This allowed the CPU and memory to increase speed, but left the machines starved for data.
Modern microprocessor-based systems use buses to communicate among the many hardware components within a machine, such as memory, hard disk drives, keyboards and mouse devices. These systems also include embedded systems, such as washing machines and microwave ovens, as well as telecommunications equipment and automobiles.