Data storage and access.

Bits

when working with data, we need a well Economical, useful storage and access of data requires data to be stored in a One of the key aspects of computers is storage that is easy to manufacture, and very standardized with well known characteristics.

One key feature is the size of working units, i.e how big is the storage unit being accessed.

The smallest atomic unit is the bit. The bit represents one of two values, 0 or 1. The whole of modern computer memory is primarily made up of these singe bit cells which are then arranged in larger standardized addressable units.

The single bit can be very practical. It is usually used as a flag to note the state of calculations in process.

However, bits are rather expensive to address at the individual lever. Bit level addressing is usually limited to CPU flag registers or require the use of mask type instructions.

Nibble(nybble)

The nibble is a grouping of 4 bits. The nibble is large enough to store the 10 decimal values 0-9. If stored values are treated as native binary, it works well with hexadecimal, 0-F, representation.

Nibbles work well for Binary Coded Decimal (BCD) commonly used in some of the earliest computers. And we still see a variation, in the mainframe's packed decimall instructions.

But, like bits, the overhead of addressing only 4-bits at a time, is expensive and is usually supported in a limited way.

Byte

The modern byte is an 8-bits grouping. It can store an value between 0-255 and it can be views as a pair of nibbles or expressed as a pair of hexadecimal values.

The byte is the smaillest workable grouping of bits that can hold all of the character values a system uses. Note that this is a rather vague definition and, in fact, the size of a byte varied from system to system and even between the data storage and program storage with a 6-bit unit being common.

The development of a standardized character set, ASCII, which included both upper and lower case letters, numbers, punctuation, and a set of control values for data transmision and formatting, required at least 7 bits.

At the same time IBM was developing their on character set, EBCDIC, designed to be compatible with punch cards. IBM settled on an 8-bit value.

This and the development microprocessors designed to work 8-bit values, pushed to standardize the byte as an 8-bit value. However, this is an implied standard. If you look at networking literature, you will note that they prefer the term octet to clearly define the size of the work unit.

Word While the byte is large enough to represent all of the characters in western languages, it is still smaller than practical for numeric computation. For this, there is the word.

A word is commonly either 16 bits (0-65535) or 32 bits (0-4x10^9) in size depending a particula systems architecture.

A word's size is usually defined by CPU's internal register and bus structure, primarily what is the working size of the CPU arithmetic logic unit.