(45 points) Page mode in the MCM516100-70 DRAM is considerably
faster than normal random access. Suppose that the DRAM has been
enhanced with support circuitry for and timing
(with the circuitry similar to that of the last assignment). In
addition to address, / , and signals, this
logic also has an input which, when asserted, indicates
that page mode should be used, in which case the upper address bits
are ignored. Assume that this enhanced DRAM chip does not change the
timing at all from the datasheet (ha!), except that for the circuit to
work, it always holds asserted until the start of the next
request to see whether or not page mode is desired.
Consider a microprocessor with a 32-bit memory bus, a 128Mbyte
memory bank that is 4 bytes wide, and a simplified semi-synchronous
bus cycle in which, in a no-wait bus cycle, there is a 0.5 clock
period overhead, 2 clock periods for data access time, and a final 0.5
clock period overhead. Assume that the microprocessor requests one
memory operation (read or write) per bus cycle. (See the figure.)
The interface logic drives the DRAM at its fastest possible speed, and
all its delays are accounted for in the 1-clock overhead to the bus
cycles.
- Design circuitry to decide whether or not page mode can be used
for each memory request. Design it so that it can be assumed to
correctly assert in 0.5 clock cycles. Use a databook to
find maximum delay times for your selected parts.
- For a clock speed of 10MHz, how many wait states are
needed without your circuit? How many for sequential and random
addresses with your circuit? Thoroughly justify your answer, being
sure that all timing constraints are met (the most important are
likely to be access time and cycle time). An annotated timing diagram
would help.
- For 25MHz?
- For 50MHz?
- Assuming the 50MHz clock, suppose that all memory
accesses come in groups 4 sequential accesses (the microprocessor has
a 4-word cache line). What is the memory bandwidth (Mbytes per
second) with and without your circuit? What speedup did you gain?