There are several key components and sub-systems that work closely with the processor. However, in of any damage, there is nothing much you can except for replacing the damaged component. wever, as a good technician you must know about components and sub-systems. Knowledge about them will help you great in understanding the working processor and addressing issues related to designing troubleshooting the computer, especially from ,ide. Let us now examine these omponents and systems.

Clock

A processor's clock governs the speed at which the essor runs. The clock determines how many [les (pulses of power through the system) will occur a second. One cycle (clock tick) is referred to as 1 ertz. Today, computer clocks are measured in gahertz (millions of cycles) per second, usually breviated to MHz. The speed of a processor is only e factor in determining a computer's overall rformance the performance of all main mponents of a computer must be taken into count.

Motherboard

The main circuit board of a microcomputer into rhich the processor is inserted. The motherboard IDS at its own clock speed - the internal bus speed. Earlier processors this was the same as the processor eed, but later processors run faster than the there board. Motherboards can contain a range of Pocessors so that a computer can be upgraded by nserting a new chip. The motherboard contains all other chipsets, buses, controllers and expansion slots used by the computer system.

System Bus

The system bus is the main memory-access highway. The system bus clock runs at a speed independent of me processor clock. A fast system bus (loa MHz) is necessary for fast memory access the AMD Athlon processor uses a 200 MHz system bus. The Pentium II architecture introduced a new bus connecting the processor and the integrated level 2 cache. This is known as the backside bus, which typically runs at the same speed as the processor. To make the distinction, the regular system bus is known as the fronts ide bus.

Cache memory

Cache memory is random access memory (RAM) that a computer microprocessor can access more quickly than it can access regular RAM. As the microprocessor processes data, it looks first in the cache memory and if it finds the data there (from a previous reading of data), it does not have to do the more time-consuming task of reading of data from larger memory. Cache memory is sometimes described in levels of closeness and accessibility to the microprocessor. An Ll cache is on the same chip as the microprocessor. L2 cache is usually a separate static RAM (SRAM) chip.

Most L1 caches are split into two independent parts: an instruction cache {I-cache} and a data cache (D-cache). If the instructions or data are not found in the L1 cache, the CPU looks for them in the L2 cache. Unlike the L1 cache, the L2 cache is said to be "unified", meaning it makes no distinction between instructions and data. L2 caches typically operate at the same speed as the CPU, or at some sub-multiple thereof (such as half or one-third speed).

In addition to cache memory, one can think of RAM itself as a cache of memory for hard disk storage since all of RAM's contents come from the hard disk initially when you turn your computer on and load the operating-system (you are loading it into RAM) and later as you start new applications and access new data. RAM can also contain a special area called a disk cache that contains the data most recently read in from the hard disk.


Instruction pipelining

Instruction pipelining is a method to increase the capability of a CPU. The pipeline (a technique used in advanced microprocessors where the microprocessor b~gins executing a second instruction before the first has already been completed. That is, several instructions are in the pipeline simultaneously, each at a different processing stage) is divided into segments and each segment can execute its operation concurrently with the other segments. When a segment completes an operation, it passes the result to the next segment in the pipeline and fetches the next operation from the preceding segment. The final results of each instruction emerge at the end of the pipeline in rapid succession.

The idea is to divide the logic into stages, and to work on different data within each stage. To better understand, let us consider the example of laundry. If you have two loads of laundry to do, you can do it in following ways. Either wash and dry the first load before moving onto the next. Or you can wash the first load, and when you put it into dry, you can put the next load in to wash. If each step takes 20 minutes, then you will finish in 60 minutes instead of 80.

A pipelined digital circuit works the same way. Data enters the -first stage, and takes some time to process. When the data finishes the first stage, the clock ticks, and the intermediate results are latched into registers at the head of the next stage, while the next set of data enters the beginning of the first stage. Ideally, pipelining increases throughput by a factor equal to the number of stages used.

Microprogram

A microprogram is a program consisting of microcode that controls the different parts of a computer's central processing unit (CPU). The memory in which it resides is called a control store. It is the modern form of the logic of a computer's control unit. Before 1951, the control logic for central processing units was designed by ad hoc methods. One of the simplest way was to use rings of flip-flops to sequence the computer's control logic. In 1951, Maurice Wilkes had a fundamental insight. He realized that if one takes the control signals for a computer, one could understand them as being played much like a player piano roll. That is, they are controlled by a sequence of very wide words constructed of bits. A microprogram provides the bits to control these.

The fundamental advance is that CPU control becomes a specialized form of a computer program. It thus transforms a complex electronic design challenge (the control of a CPU) into a less-complex programming challenge. To take advantage of this, computers were divided into several parts, which we will discuss later in chapter under "Processor Associates". Together, these elements form an "execution unit." Most modern CPUs have several execution units.

Even simple computers usually have one unit to read and write memory, and another to execute user code. The parts of the execution units, and the execution units themselves are' interconnected bya bundle of wires called a bus. Programmers develop microprograms. The basic tools' are software: A micro assembler allows a programmer to define the table of bits symbolically. A simulator program executes the bits in the same way as the electronics (hopefully), and allows much more freedom to debug the microprogram.