Q. Explain about Synchronous DRAM?
One of the most broadly used forms of DRAM is synchronous DRAM (SDRAM). Unlike the conventional DRAM that is asynchronous SDRAM exchanges data with processor synchronized to an external clock signal and running at full speed of memory/processor bus without imposing wait states.
In a typical DRAM processor presents addresses and control levels to memory denoting that a set of data at a specific location in memory must be either read from or written in the DRAM. After a delay, access time, DRAM either reads or writes data during the access-time delay. DRAM performs several internal functions like activating high capacitance of row and column lines sensing the data as well as routing the data out through output buffers. The processor should simply wait through this delay slowing system performance.
With synchronous access DRAM moves data in and out under supervision of system clock. Processor or other master issues instruction and address information that is latched on to by the DRAM. DRAM then responds after a set number of clock cycles. In the meantime master can safely do other tasks whereas SDRAM is processing the request.
SDRAM employs a burst mode to get rid of address setup time. In burst mode a series of data bits can be clocked out rapidly after first bit has been accessed. Mode is useful when all the bits to be accessed are in a sequence and in same row of array as the initial access. Additionally SDRAM has a multiple-bank internal architecture which improves opportunities for on-chip parallelism.
The mode register and associated control logic is another major aspect differentiating SDRAMs from traditional DRAMs. It offers a mechanism to modify the SDRAM to suit explicit system needs. The mode register specifies the burst length that is the number of separate units of data synchronously fed onto bus. The register also permits the programmer to adjust latency between receipt of a read request and beginning of data transfer.
SDRAM performs best when it's transferring large blocks of data sequentially like for applications such as spreadsheets, word processing as well as multimedia.