Calculating Memory Throughput
Calculating Memory Throughput
(OP)
Hello everyone,
How do I calculate the throughput of SRAM, SDR and DDR SDRAM? Is there a formula to calculate it?
Let suppose that:
- The speed for all three memory ICs = 100 MHz
- Data width = 16
- SRAM is attached to Asynchronous Memory Interface
- SDR and DDR SDRAM (both CL2) are connected to Synchronous Memory Interface
Regards,
James
How do I calculate the throughput of SRAM, SDR and DDR SDRAM? Is there a formula to calculate it?
Let suppose that:
- The speed for all three memory ICs = 100 MHz
- Data width = 16
- SRAM is attached to Asynchronous Memory Interface
- SDR and DDR SDRAM (both CL2) are connected to Synchronous Memory Interface
Regards,
James





RE: Calculating Memory Throughput
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
Chinese prisoner wins Nobel Peace Prize
RE: Calculating Memory Throughput
Considering just the memory, for the asynchronous memory and bus the calculation is relatively simple: work out the worst-case access time for the memory, add in the data setup and hold times for any buffers and latches (read-write sequences will usually be longer). This gives you the maximum cycle time of that memory type. For synchronous memory you must consider the same parameters for the memory devices used, which ideally must be much less than the time between clock pulses otherwise you will require one or more 'wait states' to get in sync.
Without considering what types of data transfers are required between the different memory types, you could arrive at a figure where for the simplest transfer case you add the figures together for the different memory types involved. However, unless you have a DMA controller, or similar, to perform an independent bus to bus transfer, the processor speed will normally determine the rate at which data can be transferred from one memory area to another.
RE: Calculating Memory Throughput
SRAM's Read-Write
(1 Setup) + (1 Read Access) + (1 hold) + (1 Transition) + (1 Setup) + (1 Write Access) + (1 hold) = 7 Cycles
SDRAM's Read-Write
ON-Page Read-Write: (3 ACTIVE) + (3 Read) + (1 Write) = 7 Cycles
OFF-Page Read-Write: (8 Read) + (7 Write) = 15 Cycles
So, for one byte read-write, SDRAM looses. However, for multi-byte read-write, the SDRAM wins.
Can you read or write to SDRAM during its "auto refresh"?
Regards,
James
RE: Calculating Memory Throughput
But, speed is not the only consideration for selecting memory devices. Density and power are also critical factors. Since the initial development of the PC, DRAM was selected over SRAM, not for speed, but for density and power. DRAMs ostensibly have no DC power draw when not selected, but SRAMs do. SRAMs had typically been at least a factor of 4 less dense than DRAM.
SRAM is typically reserved for registers and cache memories, where speed and non-volatility is paramount.
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
Chinese prisoner wins Nobel Peace Prize
RE: Calculating Memory Throughput
Somehow, I was always under the impression that SRAM is the fastest memory for single-byte random access...
RE: Calculating Memory Throughput
I think that if the final product is going to be SDRAM, then the development environment should be identical. Nothing worse that developing timing critical code that runs fine on the development system, but crashes on the target system because the timing is different.
Also, the long-pole in the tent for development is rarely the download time. It's more often a problem with compiling, linking, etc. And usually, don't they download to flash, anyway?
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
Chinese prisoner wins Nobel Peace Prize
RE: Calculating Memory Throughput
Dan - Owner

http://www.Hi-TecDesigns.com