[skip nav] www.ackadia.com
ant worker


» System Architecture - A look at Motherboards «

Intro


Motherboards
[Δ]
Motherboards

Get the Anatomy of a motherboard
BUS


system bus A set of conductors (wires, PCB tracks or connections in an integrated circuit) connecting the various functional units in a computer. There are busses both within the CPU and connecting it to external memory and peripheral devices. The width of the bus, i.e. the number of parallel connectors, determines the size in bits of the largest data item which it can carry. The bus width and the number of data items per second which it can transmit are one of the factors limiting a computer's performance. Most current microprocessors have 32-bit busses both internally and externally.

Some processors have internal buses which are wider than their external busses (usually twice the width) since the width of the internal bus affects the speed of all operations and has less effect on the overall system cost than the width of the external bus.

The term is almost certainly derived from the electrical engineering term "bus bar" - a substantial, rigid power supply conductor to which several connections are made. This was once written "'bus bar" as it was a contraction of "omnibus bar" - a connection bar "for all", by analogy with the passenger omnibus - a conveyance "for all".

Data Bus
The connections between and within the CPU, memory and peripherals used to carry data. Other connections are the address bus and control signals.

The width of the data bus is one of the main factors determining the processing power of a computer. Most current processor designs use a 32-bit bus, meaning that 32 bits of data can be transferred at once. Some processors have an internal data bus which is wider than their external bus in order to make external connections cheaper while retaining some of the benefits in processing power of a wider bus.

Address Bus
The connections between the CPU and memory which carry the address from/to which the CPU wishes to read or write. The number of bits of address bus determines the maximum size of memory which the processor can access.

BIOS (Basic Input/Output System)

The part of the system software of the IBM PC and compatibles that provides the lowest level interface to peripheral devices and controls the first stage of the bootstrap process, including installing the operating system. The BIOS is stored in ROM, or equivalent, in every PC. Its main task is to load and execute the operating system which is usually stored on the computer's hard disk, but may be loaded from CD-ROM or floppy disk at install time.

In order to provide acceptable performance (e.g. for screen display), some software vendors access the routines in the BIOS directly, rather than using the higher level operating system calls. Thus, the BIOS in the compatible computer must be 100% compatible with the IBM BIOS.

As if that wasn't bad enough, many application programs bypass even the BIOS and address the screen hardware directly just as the BIOS does. Consequently, register level compatibility is required in the compatible's display electronics, which means that it must provide the same storage locations and identification as the original IBM hardware.

Clock speeds

Computers use an internal clock to synchronize all of their calculations. The clock insures that the various circuits inside a computer work together at the same time. The speed of a clock is measured by how many "ticks" per second the clock makes. This unit of measurement is called a "Hertz" (Hz). One Hertz equals one tick per second. The clock speed of computers is usually measured in "Megahertz" (MHz). One Megahertz equals one million ticks per second. Clock speed can be used as a rough measurement of how "fast" a computer is. A 166 MHz computer will be faster than a 120 MHz computer with the same processor and the same amount of memory. However, clock speed can not be used to compare computers with different types of processors or computers with different amounts of memory.

Machine Cycle


The four steps which the CPU carries out for each machine language instruction: fetch, decode, execute, and store. These steps are performed by the control unit, and may be fixed in the logic of the CPU or may be programmed as microcode which is itself usually fixed (in ROM) but may be (partially) modifiable (stored in RAM).

The fetch cycle places the current program counter contents (the address of the next instruction to execute) on the address bus and reads in the word at that location into the instruction register (IR). In RISC CPUs instructions are usually a single word but in other architectures an instruction may be several words long, necessitating several fetches.

The decode cycle uses the contents of the IR to determine which gates should be opened between the CPU's various functional units and busses and what operation the ALU(s) should perform (e.g. add, bitwise and). Each gate allows data to flow from one unit to another (e.g. from register 0 to ALU input 1) or enables data from one output onto a certain bus. In the simplest case ("horizontal encoding") each bit of the instruction register controls a single gate or several bits may control the ALU operation. This is rarely used because it requires long instruction words (such an architecture is sometimes called a very long instruction word architecture). Commonly, groups of bits from the IR are fed through decoders to control higher level aspects of the CPU's operation, e.g. source and destination registers, addressing mode and ALU operation. This is known as vertical encoding. One way RISC processors gain their advantage in speed is by having simple instruction decoding which can be performed quickly.

The execute cycle occurs when the decoding logic has settled and entails the passing of values between the various function units and busses and the operation of the ALU. A simple instruction will require only a single execute cycle whereas a complex instruction (e.g. subroutine call or one using memory indirect addressing) may require three or four. Instructions in a RISC typically (but not invariably) take only a single cycle.

The store cycle is when the result of the instruction is written to its destination, either a register or a memory location. This is really part of the execute cycle because some instructions may write to multiple destinations as part of their execution.