Computers:Memory

From ProPHOTO WIKI

Jump to: navigation, search

Contents

Introduction

One of the most significant factors in the performance of an image processing system, the main memory is a critical component. All working data is stored in this bank so that it can be fed to the processor for computational tasks.

Characteristics

Bandwidth

The bandwidth rating of a memory system is the rate at which sequential sets of data can be transferred to the main processor. This is a best case scenario and only occurs when memory is continuously read out in the exact order that it is stored.

Latency

The amount of time (usually measured in clock cycles) that it takes for a memory module to begin the transfer of data after it has been requested. When working with small blocks of data scattered throughout the memory bank, this can become more significant than the bandwidth rating above.

Types of Memory

DDR SDRAM

Used by older Intel processors and all current AMD processors, Double Data Rate memory transmits data two times per clock cycle. This memory is generally being phased out at this stage as the market is moving towards the newer DDR2 DIMMs.

DDR2 SDRAM

An evolution of the older DDR standard, DDR2 memory transmits data four times per clock cycle, effectively doubling memory bandwidth at any given clock rate. Unfortunately, as the underlying technology hasn't changed this also means that the number of clock cycles lost at the start of a transfer (see latency) is effectively doubled.

As the added bandwidth does increase the complexity of the memory bus, DDR2 memory often runs at lower native clock rates than DDR modules. With respect to bandwidth, this is generally more than made up for by the extra transfers. Unfortunately, this does mean that real latency will often be worse than DDR modules.

With the arival of 800MHz DDR2 memory, this problem is beginning to be mitigated as it matches the fastest official clock rates used by DDR manufacturers. As such, Intel moved to this memory with the switch to Socket T and AMD will be moving to it with the new Socket AM2.

Multi-Channel Memory

In order to increase memory bandwidth beyond what is natively possible, modern systems usually have two seperate memory controllers that work in tandem. The two controllers (channels) can operate in parallel and, in effect, double the memory bandwidth of the system.

To effectively use dual-channel memory, both of the channels must be equipped with equal quantities of memory running at the same speed. If this is not the case, many memory controllers will revert to single channel mode and slow down the performance of the system.

Buffered vs. Unbuffered

Conventional unbuffered DIMMs provide a direct connection to the memory modules. For small amounts of memory, this is generally not a problem - however as the quantity of memory grows there are some adverse effects that begin to build up. This, in turn, can lead to performance degradation or instability when computers are equipped with large banks of memory.

In order to address this issue, high-end memory controllers use buffered memory modules. The buffers in these DIMMs electrically isolate the memory modules from the memory bus, removing this effect altogether. This allows computers to be equipped with much more memory than an unbuffered system would allow.

The downside, however, is that the buffers create additional latency in the signals passing through them. This means that for smaller quantities of memory, an unbuffered memory bank will generally operate faster than a similarly configured bank of buffered memory.

As the underlying design of the two types of memory are different, they are not compatible with one another. That is, a computer with a memory controller designed to work with buffered memory will not accept unbuffered memory. Similarly, buffered memory will not function in a system designed for unbuffered memory.

Personal tools