|
|
|
|
|
|
Modeling notes and assumptions: |
|
|
|
|
|
|
|
|
We associate a trial (or q) with a short sequence of events that affect the number of requests made to a buffer. We ignore the fact that in most situations the trials {q} are not independent (a full buffer at one time increases the probability that it will be full on the next trial). Actual buffer occupancy is determined by both the request arrival distribution and the departure distribution. In most buffer situations, the departure distribution that describes an exit from the buffer is extremely complex. For example, the acceptance of a request from the store buffer to the cache depends on the state of all higher priority requestors. For simplicity, we use only the arrival distribution and simply assume that entries depart the buffer after a few cycles (corresponding to the expected time required to service a request). |
|
|
|
|
|
|
|
|
It is also important to correctly interpret the meaning of p. The (unstated) modeling assumption is that p is the probability of a full or overflow given that a trial occurs. A "trial" does not necessarily occur every cycle, so the effect of the overflow must be corrected by the frequency of trials per cycle. |
|
|
|
|
|
|
|
|
Finally, the event q ³ BF involves the meaning of the buffer, BF. If a certain value q arises, the buffer will no longer accept new entries and the requestor must halt, slowing down the entire pipeline. The size (BF) is determined by the point (q) at which the slowdown occurs, which is not necessarily the apparent buffer size. For example, assume a store buffer of size = 1, but slowdown occurs only when the AG produces another request and the store buffer is full. This second request is held in the AG. From a modeling point of view, BF = 2, since it is at that point (q ³ 2) that the processor slows down. |
|
|
|
|
|
|
|
|
Suppose we wish to determine the effectiveness of a two-entry write buffer. Assume the write request rate is 0.15 per cycle, and that the expected number of cycles to do the store is 2. The mean of the arrivals is 2 ´ 0.15 = 0.3. The variance (s2) on this mean is 0.3. |
|
|
|
|
|
|
|
|
So, BF = 2, Q = 0.3, s2 = 0.3, and |
|
|
|
|
|
|
|
|
Thus, the probability that a given write request finds a full buffer is at most 0.10. Since writes occurred at a rate of 0.15 per cycle, we would expect that a "write buffer full" event would occur in only about 1.5% of all machine cycles. |
|
|
|
|
|