×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Calculating Memory Throughput
2

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
 

RE: Calculating Memory Throughput

Are you talking about basic read-write speed of each memory type? I don't think there is a particular formula to combine your requirements together as its depends too much on the architecture of your design and the processor.

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

(OP)
Thank you for your valuable reply.  I worked out the read-write timing as follows:

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

That sounds like a typical conclusion.  That's the whole point of developing SDRAMs in the first place.  However, it's not clear from your analysis whether "cycle" means the same thing in both cases.  Additionally, your conclusion only appears to be corroborated by your analysis for an off-page access.

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

(OP)
We are trying to decide what to put on a development board for ease of software development (SDRAM only or SDRAM + SRAM).  In the final product, only SDRAM will be used.

Somehow, I was always under the impression that SRAM is the fastest memory for single-byte random access...

RE: Calculating Memory Throughput

Well, I haven't really looked at their performance in over a decade, but that certainly used to be the case, i.e., DRAM had, at one point in time, roughly 60ns access time, while the SRAM of that same time were running 12 ns access times.  Most the "cycle" stuff is really a processor thing, i.e., to synchronize RAS' and CAS' and RE's and CE's to the clock cycles of the processors.

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

I'm chuckling at that, IR (long-pole in the tent)... it's the bane of my development career winky smile

Dan - Owner
http://www.Hi-TecDesigns.com

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources