Answer: 10000
To find the maximum number of stores (write requests) that can be initiated in 1 ms, we need to analyze the constraints imposed by both the system bus and the memory modules.
1. System Bus Constraint
- Each write request occupies the system bus for 100 ns.
- Since only one request can be on the bus at any time, the maximum rate at which requests can be sent over the bus is:
Ratebus=100 ns1 request
2. Memory Module Constraint
- Each memory module takes 100 ns (during bus occupation) plus 500 ns thereafter to complete a write cycle.
Total cycle time per module=100 ns+500 ns=600 ns
- There are 8 memory modules whose operations can overlap in time.
- Therefore, the maximum rate at which the 8 modules collectively can process requests is:
Ratemodules=600 ns8 requests=75 ns1 request
3. Determining the Bottleneck
The overall maximum rate of initiating write requests is limited by the slower of the two components (the bottleneck):
Maximum Rate=min(Ratebus,Ratemodules)=min(100 ns1,75 ns1)=100 ns1
Since 8×100 ns=800 ns≥600 ns, we can continuously cycle through the 8 modules without any module being busy when its turn arrives again. Thus, the system bus is the sole bottleneck.
4. Calculation for 1 Millisecond
Convert 1 millisecond to nanoseconds:
1 ms=106 ns
The maximum number of stores that can be initiated in 1 ms is:
Number of stores=100 ns106 ns=10,000