edited by
26,573 views
72 votes
72 votes
Consider the main memory system that consists of $8$ memory modules attached to the system bus, which is one word wide. When a write request is made, the bus is occupied for $100$ nanoseconds (ns) by the data, address, and control signals. During the same $100$ ns, and for $500$ ns thereafter, the addressed memory module executes one cycle accepting and storing the data. The (internal) operation of different memory modules may overlap in time, but only one request can be on the bus at any time. The maximum number of stores (of one word each) that can be initiated in $1$ millisecond is ________
edited by

6 Answers

Best answer
87 votes
87 votes
When a write request is made, the bus is occupied for $100$ ns. So, between $2$ writes at least $100$ ns interval must be there.

Now, after a write request, for $100 + 500 = 600$ ns, the corresponding memory module is busy storing the data. But, assuming the next stores are to a different memory module (we have totally $8$ modules in question), we can have consecutive stores at intervals of $100$ ns. So, maximum number of stores in $1$ ms

$=  10^{-3} \times 1/(100 \times 10^{ -9}) = 10,000$
edited by
36 votes
36 votes

The (internal) operation of different memory modules may overlap in time

Whenever operations can be overlapped, we can do them simultaneously. Whenever operations can be interleaved, we can use the pipelining concept. This is elementary stuff.

Now, read this line further.

The (internal) operation of different memory modules may overlap in time, but only one request can be on the bus at any time.

This is basically just interleaving. We can use the pipelining concepts here.


 

Now, see carefully what the question asks for.

The maximum number of stores (of one word each) that can be initiated in 1 millisecond is

Each initiation takes $100ns$. We can't overlap initiations, so they must be done separately.

In 1ms, we can perform $\frac{1ms}{100ns}=10^4=10000$ initiations. Answer.


If the question asked the number of stores that can be completed  in $1ms$

We could write it as

$(100ns+500ns)+x(100ns)=1ms$

ie, the first job would take 100ns + 500ns time. The rest of the jobs would take just 100ns time, because only initiation is to be kept separate, internal operations can be overlapped. This equation is pretty much identical to what we use in pipelining.

 

Upon solving, $x=9994$

Since $x$ denotes "rest of the jobs", we need to add $1$ to $x$ to obtain total jobs.

 

So, total stores completed would be $9994+1=9995$

20 votes
20 votes
We have 8 total memory modules, and by the time we've completed memory write initiation to 6th memory module, 1st memory module will have completed its (100 + 500 nsec) memory write cycle. Similarly, the 2nd memory module will be ready by the end of 7th memory write initiation. Therefore, at least one memory module will always be ready for write initiation. So it's just a matter of finding how many 100 nsec are there in 1 msec: $\frac{100 \times 10^{-9}}{10^{-3}} = 10000.$
6 votes
6 votes

Answer in easy language 

1. When a write request is made to the memory, the system bus is occupied for 100 nanoseconds (ns). This means that once a write operation starts, no other operation can start for the next 100 ns.

 

2. After a write request, the corresponding memory module is busy storing the data for a duration between 100 ns and 500 ns. 

 

3. However, if the next write operation is to a different memory module (and there are 8 modules in total), we can start another write operation after 100 ns, even if the previous module is still busy.

 

4. So, in this system, we can initiate a new write operation every 100 ns. As there are 10^6 (1 million) nanoseconds in a millisecond, we can initiate up to 10^6 / 100 = 10,000 write operations in 1 millisecond.

I hope this makes it clearer! 

Answer:

Related questions

47 votes
47 votes
3 answers
3
go_editor asked Sep 28, 2014
13,512 views
The number of distinct minimum spanning trees for the weighted graph below is _____
42 votes
42 votes
6 answers
4
go_editor asked Sep 28, 2014
17,313 views
A cycle on $n$ vertices is isomorphic to its complement. The value of $n$ is _____.