prefix notation

Or "prefix syntax") One of the possible orderings of functions and operands: in prefix notation the function precedes all its operands. For example, what may normally be written as "1+2" becomes "(+ 1 2)". A few languages (e.g., lisp) have strictly prefix syntax, many more employ prefix notation in combination with infix notation.

Compare: postfix notation.

SI prefix

The standard metric prefixes used in the Système International d'Units (SI) conventions for scientific measurement.

Here are the SI magnifying prefixes, along with the corresponding binary interpretations in common use:
prefix abr decimal binary
yocto- 1000^-8
atto- 1000^-6
zepto- 1000^-7 femto- f 1000^-5 pico- p 1000^-4
* Abbreviat
nano- n 1000^-3 micro- * 1000^-2 ion: Greek mu milli- m 1000^-1
1,024 mega- M 1000^2 1024^2 = 2^20 =
kilo- k 1000^1 1024^1 = 2^10 = 1,048,576 giga- G 1000^3 1024^3 = 2^30 = 1,073,741,824
1000^5 1024^5 = 2^50 = 1,125,899,906,842,624 ex
tera- T 1000^4 1024^4 = 2^40 = 1,099,511,627,776 peta- a- 1000^6 1024^6 = 2^60 = 1,152,921,504,606,846,976
3,424 yotta- 1000^8 1024^8 = 2^80 = 1,208,925,819,614,629,1
zetta- 1000^7 1024^7 = 2^70 = 1,180,591,620,717,411,3 074,706,176
"Femto" and "atto" derive not from Greek but from Danish.

The abbreviated forms of these prefixes are common in electronics and physics.

When used with bytes of storage, these prefixes usually denote multiplication by powers of 1024 = 2^10 (K, M, G and T are common in computing). Thus "MB" stands for megabytes (2^20 bytes). This common practice goes against the edicts of the BIPM who deprecate the use of these prefixes for powers of two. The formal SI prefix for 1000 is lower case "k"; some, including this dictionary, use this strictly, reserving upper case "K" for multiplication by 1024 (KB is thus "kilobytes").

Also, in data transfer rates the prefixes stand for powers of ten so, for example, 28.8 kb/s means 28,800 bits per second.

The unit is often dropped so one may talk of "a 40K salary" (40000 dollars) or "2 meg of disk space" (2*2^20 bytes).

The accepted pronunciation of the initial G of "giga-" is hard, /gi'ga/.

Confusing 1000 and 1024 (or other powers of 2 and 10 close in magnitude) - for example, describing a memory in units of 500K or 524K instead of 512K - is a sure sign of the marketroid. For example, 3.5"microfloppies are often described as storing "1.44 MB". In fact, this is completely specious. The correct size is 1440 KB = 1440 * 1024 = 1474560 bytes. Alas, this point is probably lost on the world forever.

In 1993, hacker Morgan Burke proposed, to general approval on Usenet, the following additional prefixes: groucho (10^-30), harpo (10^-27), harpi (10^27), grouchi (10^30). This would leave the prefixes zeppo-, gummo-, and chico- available for future expansion. Sadly, there is little immediate prospect that Mr. Burke's eminently sensible proposal will be ratified.


1. <unit> SI prefix.

2. <language> Related to the prefix notation.

(MB) Megabyte

(MB, colloquially "meg") 2^20 = 1,048,576 bytes = 1024 kilobytes. 1024 megabytes are one gigabyte.

The text of a six hundred page paperback book would require about a megabyte of ASCII storage.

(PROM) Programmable Read-Only Memory

(PROM) A kind of ROM which can be written using a PROM programmer. The contents of each bit is determined by a fuse or antifuse. The memory can be programmed once after manufacturing by "blowing" the fuses, which is an irreversible process. Blowing a fuse opens a connection while blowing an antifuse closes a connection (hence the name). Programming is done by applying high-voltage pulses which are not encountered during normal operation.

(ROM) Read-Only Memory

(ROM) A type of data storage device which is manufactured with fixed contents. In its most general sense, the term might be used for any storage system whose contents cannot be altered, such as a gramophone record or a printed book; however, the term is most often applied to semiconductor integrated circuit memories, of which there are several types, and CD-ROM.

ROM is inherently non-volatile storage - it retains its contents even when the power is switched off, in contrast to RAM.

ROM is often used to hold programs for embedded systems since these usually have a fixed purpose. ROM is also used for storage of the lowest level bootstrap software (firmware) in a computer.

(RAM) random-access memory

(RAM) (Previously "direct-access memory"). A data storage device for which the order of access to different locations does not affect the speed of access. This is in contrast to, say, a magnetic disk, magnetic tape or a mercury delay line where it is very much quicker to access data sequentially because accessing a non-sequential location requires physical movement of the storage medium rather than just electronic switching.

In the 1970s magnetic core memory was used and some old-timers still call RAM "core". The most common form of RAM in use today is semiconductor integrated circuits, which can be either static random-access memory (SRAM) or dynamic random-access memory (DRAM).

The term "RAM" has gained the additional meaning of read-write. Most kinds of semiconductor read-only memory (ROM) are actually "random access" in the above sense but are never referred to as RAM. Furthermore, memory referred to as RAM can usually be read and written equally quickly (approximately), in contrast to the various kinds of programmable read-only memory. Finally, RAM is usually volatile though non-volatile random-access memory is also used.

Interestingly, some DRAM devices are not truly random access because various kinds of "page mode" or "column mode" mean that sequential access is faster than random access.

The humorous expansion "Rarely Adequate Memory" refers to the fact that programs and data always seem to expand to fill the memory available.

(CPU) central processing unit

(CPU, processor) The part of a computer which controls all the other parts. Designs vary widely but the CPU generally consists of the control unit, the arithmetic and logic unit (ALU), registers, temporary buffers and various other logic.

The control unit fetches instructions from memory and decodes them to produce signals which control the other parts of the computer. These signals cause it to transfer data between memory and ALU or to activateperipherals to perform input or output.

Various types of memory, including cache, RAM and ROM, are often considered to be part of the CPU, particularly in modern microprocessors where a single integrated circuit may contain one or more processors as well as any or all of the above types of memory. The CPU, and any of these components that are in separate chips, are usually all located on the same printed circuit board, known as the motherboard. This in turn is located in the system unit (sometimes incorrectly referred to as the "CPU").

A parallel computer has several CPUs which may share other resources such as memory and peripherals.

The term "processor" has to some extent replaced "CPU", though RAM and ROM are not logically part of the processor.

Integrated Circuit

(IC, or "chip") A microelectronic semiconductor device consisting of many interconnected transistors and other components. ICs are constructed ("fabricated") on a small rectangle (a "die") cut from a Silicon (or for special applications, Sapphire) wafer. This is known as the "substrate". Different areas of the substrate are "doped" with other elements to make them either "p-type" or "n-type" and polysilicon or aluminium tracks are etched in one to three layers deposited over the surface. The die is then connected into a package using gold wires which are welded to "pads", usually found around the edge of the die.

Integrated circuits can be classified into analogue, digital and hybrid (both analogue and digital on the same chip). Digital integrated circuits can contain anything from one to millions of logic gates - inverters, AND, OR,NAND and NOR gates, flip-flops, multiplexors etc. on a few square millimeters. The small size of these circuits allows high speed, low power dissipation, and reduced manufacturing cost compared with board-level integration.

The first integrated circuits contained only a few transistors. Small Scale Integration (SSI) brought circuits containing transistors numbered in the tens. Later, Medium Scale Integration (MSI) contained hundreds of transistors. Further development lead to Large Scale Integration (LSI) (thousands), and VLSI (hundreds of thousands and beyond). In 1986 the first one megabyte RAM was introduced which contained more than one million transistors.

LSI circuits began to be produced in large quantities around 1970 for computer main memories and pocket calculators. For the first time it became possible to fabricate a CPU or even an entire microprocesor on a single integrated circuit. The most extreme technique is wafer-scale integration which uses whole uncut wafers as components.

Types of Expansion bus Architectures used within the PC computer

ISA Industrial Standard Architecture 
MCA Micro channel Architecture (Created by IBM) 
EISA - Enhanced Standard Architecture 

About the ISA Bus

1.  Has a clock speed limit of  8 MHz
2.  Has a word length of 8 or 16 bits (8 or 16 data lines)
3.  Requires two clock ticks to transfer data (16 bit transfers)
4.  Very slow for high performance disk accesses and high performance video cards 

About the EISA Bus

1.  Has a clock speed of  8.33 MHz
2.  Maximum of  a  32-bit wide word length(32 data lines)
3.  Can support lots of devices
4.  Supports older devices which have Slower or Smaller word lengths(ISA)
5.  Transfers data every clock tick.

About MCA

1.  Has a clock speed of  10 MHz
2.  Has a 32 bit word length (32 data lines)
3.  Transfers data every clock tick

Types of Local bus Architectures used within the PC computer

VESA Video Electronics Standard Association (Created by a group of manufactures) 
VL Bus - Enhanced Video Electronics Standard Association Local Bus 
PCI - Peripherals Component Interconnect  (Created by the Intel Corporation) 

About the VESA + VL bus

1.  Has a clock speed limit of  33 MHz.
2.  Limited to a 32-Bit wide word length (32 data lines).
3.  Cannot take advantage of the Pentium’s  64 bit architecture.
4.  Restricted on the number of devices which can be connected ( 1 or 2 devices). 

About the PCI bus

1.  Has a clock speed of  33 MHz - 66MHz(Pentium)
2.  The PCI bus has a special chip set which allows more sophisticated control over the devices.
3.  The PCI Bus can support many more devices then VESA + VL Bus.
4.  A greater variety of  expansion cards can be attached.
5.  Supports a 64 bit extension for the Pentium processor along with a clock speed of  66MHz.
6.  PCI is used in other computer architectures such as the Macintosh computers.

Can you think of a solution that would enable faster devices to work at a more productive level?

The easy solution would be to get all devices that can work fast, and put them on to another high speed bus, linked directly to the processor.

In fact that is what they have done, they called  this the Local bus. It is simply just another bus connected directly to the CPU. Devices which have high throughput(data transfer rates) can then work more productively.

Designing a Bus

If you were to increase the number of address lines, you would effectively increase the number of memory locations you could address. If you increased the number of data lines you would then be able to send more data bits at a time, and if you increased the speed of the bus(clock speed) then the more data transfers could take within a certain time. 

Types of Bus

We have learned so far that in order for devices to be connected to the CPU they must be attached via a bus. When computers were first introduced they only had one bus, they were called single bus systems. These computers had all the devices attached to this single bus such as memory, graphics cards, IO(Input/Output) ports etc.

However today, the computer has multiple buses one for memory, expansion cards, high data transfer devices.

The  two types of bus which I will introduce to you now are  Expansion Bus and the Local Bus.

The Expansion buses main purpose is to allow various types of devices to be connected to the CPU where as the Local buses main purpose is to allow devices which require high data transfer rates to benefit from almost direct connection to the CPU. 

Why do you think the Bus speed pre-set?

There are various devices which can be attached to the bus, unfortunately some of them operate at different speeds, some faster than others. This presents a problem when devices must use the bus. 

Devices which operate slower than others  will not be able to transmit/recieve data faster enough. This means that the clock bus speed must be set so that all devices can communicate on the bus at the same speed.

A major draw back to the clock bus speed is that devices which can work at fast speeds will not be able to work to their full potential as they will be slowed down, when transfering/recieving data via the bus. 


Definition: A set of  parallel conductors, which allow devices attached to it to communicate with the CPU.
The bus consists of  three main parts:
              Control lines Address lines Data lines
Control lines

These allow the CPU to control which operations the devices attached should perform, I.E. read or write.

Address lines

Allows the CPU to reference certain (Memory) locations within the device.

Data lines

The meaningful data which is to be sent or retrieved from a device is placed on to these lines. 

Diagram of a bus 
The Bus is set to run at a specified speed which is measured in MHz 

What is a BUS?

The main purpose of this article is to teach the basic principles of how devices communicate to the CPU by means of a BUS.

This article also covers the ISA, PCI, MCA, EISA, VESA and VL-Bus architecture standards, along with a brief overview of the important points.

During this article there will be some questions to answer in the form of URL links, these are highlighted in Blue, which when clicked will take you to the next page. 
If you have any questions about the content of these pages then please do not hesitate to email me and I shall try to answer your query as soon as possible. You can also email me if you would like to add any suggestions as to what you think of this site, using the link below.