Computer Memory Overview
The memory is that part of computer where programs and data are stored. The basical concept is the following:
The basic unit of memory is the binary digit called a bit. A bit may contain a 0 or 1. It is the simplest possible unit
- Memories consist of a number of cells or locations each of which can store a piece of information. Each location has a number called its address, by which program can refer to it. The cells is the smallest addressable
- If an address has m bits, the maximum number of cells addressable is 2m.
- Byte: 8-bits
- Bytes are grouped into words. The significance of word is that most instruction operate on entire word. A computer with a 32bit/word has 4 bytes/word
- The bytes in a word can be numbered from left-to-right or right-to-left.
- The former system, where the numbering begin at the “big” (i.e, high-order) end is called a big endian computer, such as the SPARC or the big IBM mainframes. In contras it is a little endian computer, such as the Intel family using right-to-left numbering for the representation of a 32 bit computer.
Characteristics of Memory System
- Capacity: the amount of information that can be contained in a memory unit -- usually in terms of words or bytes
- Memory word: the natural unit of organization in the memory, typically the number of bits used to represent a number
- Addressable unit: the fundamental data element size that can be addressed in the memory -- typically either the word size or individual bytes
- Unit of transfer: The number of data elements transferred at a time – usually bits in main memory and blocks in secondary memory
- Transfer rate: Rate at which data is transferred to/from the memory device
- Access time:
– For RAM, the time to address the unit and perform the transfer
– For non-random access memory, the time to position the R/W head over the desired location
- Memory cycle time: Access time plus any other time required before a second access can be started
- Access technique: how are memory contents accessed
– Random access:
» Each location has a unique physical address
» Locations can be accessed in any order and all access times are the same
» What we term “RAM” is more aptly called
read/write memory since this access technique also applies to ROMs as well
» Example: main memory
– Sequential access:
» Data does not have a unique address
» Must read all data items in sequence until the desired item is found
» Access times are highly variable
» Example: tape drive units
– Direct access:
» Data items have unique addresses
» Access is done using a combination of moving to a general memory “area” followed by a sequential access to reach the
desired data item
» Example: disk drives
– Associative access:
» A variation of random access memory
» Data items are accessed based on their contents rather than their actual location
» Search all data items in parallel for a match to a given search pattern
» All memory locations searched in parallel without regard to the size of the memory
» Extremely fast for large memory sizes
» Cost per bit is 5-10 times that of a “normal” RAM cell
» Example: some cache memory units.