Computer Memory Architecture

Computer memory architecture is a way to implement computer data storage in a way that optimizes criteria for speed, reliability, durability and cost. Naturally, an optimization of one criteria will be at the expense of another, so compromises must be made to satisfy a minimum level for each criteria.

The simplest example is optimizing for speed. Dynamic memory can be accessed quickly, but at the expense of a continual refresh millions of times a second -- the cost and reliability criteria take a hit. Flash memory, on the other hand, can store data for years with no refresh needed, yet access is much slower and frequent use reduces durability. A system's capacity for computer RAM is another example -- the more RAM, the faster the system, but the cost does add up. Hardware design, such as whether the data bus will be used for parallel or serial data access, is also a factor in designing a computer memory architecture.

The choice of which criteria to optimize is a subject that can fill textbooks. For now, we'll concentrate on the different models on which a computer architecture can be based. Traditio nal models exist to translate data at the symbolic level, while more advanced models work at the knowledge representational level to create such complex systems as neural arrays -- that's another concept for the textbooks.

The symbolic level starts with bits and bytes. Bits are the individual on/off switches that are the basis of all computers. These "binary items" are grouped together to represent symbols that humans can interpret -- eight bits equal one byte. The way in which these bits are organized within each byte creates a symbolic representation of a number or character that can be manipulated to give a result. Multiples of the eight-bit foundation result in 16, 24, 32, 64, 128 or higher-numbered bit collections. That's why computer RAM is sold in multiples of eight.

Bytes are organized into arrays, two-dimensional groupings whose contents can be accessed by a grid-number system. Arrays in turn can be organized into a structure that represents numbers or words or a structure that represents the actual computer code that runs an application on a computer. That's the big secret of computer memory architecture -- the operating instructions for a computer are stored in exactly the same way as the data. The architecture must account for the differing needs of access to operating instructions and of access to data.