Solution
The correct answer is 3.3%
SOLUTION:
To calculate the fraction of total memory bandwidth lost to refresh cycles, we need to consider the time spent on refreshing compared to the total time available.
First, let's find out how many rows are there in the DRAM:
\(\text{Number of Rows} = \frac{\text{Total Memory Size}}{\text{Number of Columns}}\)
\(\text{Number of Rows} = \frac{256 \text{ MB} \times 8}{32 \text{ MB}}\)
\(\text{Number of Rows} = 64\)
Now, let's calculate the time required to refresh all rows:
\(\text{Total Refresh Time} = \text{Number of Rows} \times \text{Time to Refresh One Row}\)
\(\text{Total Refresh Time} = 64 \times 100 \text{ ns}\)
\(\text{Total Refresh Time} = 6400 \text{ ns}\)
Now, let's find the time available for data access in one refresh cycle:
\(\text{Time Available for Data Access} = \text{Refresh Cycle Time} - \text{Total Refresh Time}\)
Time Available for Data Access=499935600 ns
\(\text{Time Available for Data Access} = 50 \text{ ms} - 6400 \text{ ns}\)
Finally, let's find the fraction of time lost to refresh cycles:
\(\text{Fraction of Time Lost} = \frac{\text{Total Refresh Time}}{\text{Refresh Cycle Time}} \times 100\%\)
\(\text{Fraction of Time Lost} = \frac{6400 \text{ ns}}{50 \text{ ms}} \times 100\%\)
\(\text{Fraction of Time Lost} \approx 3.2\%\)
Now, let's compare this result with the given options:
The closest option is 3.3%, so the correct answer is: 2) 3.3%