Chapter 10 Memory Subsystem.pdf
Chapter 10 Memory Subsystem.pdf
Chapter 10 Memory Subsystem.pdf
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Class 1 and class 2 request for transaction<br />
(requests previously received on group 1 and group 2).<br />
An arbitration decision occurs.<br />
Class 1 has less priority than class 2. Return to<br />
class 1 - group 1 after the service of class 2 - group 2.<br />
Group 0 Group 1 Group 2 Group 4 Group 7<br />
4 x 64-bit burst<br />
transaction<br />
ongoing<br />
?<br />
?<br />
Public Version<br />
www.ti.com SDRAM Controller (SDRC) <strong>Subsystem</strong><br />
1. A thread requests a burst transaction. According to the thread ID, the last request was serviced on<br />
Class 2 - Group 2.<br />
2. The thread cannot provide the subsequent request of the burst. The module waits for one idle cycle<br />
without moving the arbitration grant, to receive the subsequent request (from the same thread).<br />
3. On the second idle cycle, if the subsequent request has not been received, the arbitration grant is<br />
moved so that a request from another thread is serviced.<br />
Figure <strong>10</strong>-70. Idle Cycle Mechanism Within A Burst<br />
.......<br />
Move the arb. Grant<br />
Wait 1 idle cycle<br />
Request for transaction on group 4<br />
occurs during transaction on group 2.<br />
Group 6<br />
Class 1 Class 2<br />
Class 0<br />
.......<br />
A burst transaction is serviced on group 2: the burst is not complete.<br />
Wait 1 idle cycle to get the subsequent request of this burst.<br />
On the second idle cycle, if nothing has been received:<br />
move the arbitration grant to class 1 - group 1 or class 2 - group 4.<br />
Two bursts must be serviced at the burst boundary. One idle cycle after servicing these two bursts, the<br />
arbitration grant is moved.<br />
<strong>10</strong>.2.6.2.3.2 Extended-Grant Mechanism<br />
The extended-grant mechanism gives additional granularity to the arbitration. An extended grant defines<br />
the number of consecutive transactions (from 1 to 3) a group is granted.<br />
Example:<br />
Requests were already available on Class 1-Group 0 and Class 2-Group 3.<br />
An arbitration decision occurs: grant access to Class 1-Group 0.<br />
A request is now being serviced on Class 1-Group 0 with SMS_CLASS_ARBITER1[9:8]<br />
EXTENDEDGRANT = 0x3 (three consecutive transactions are granted to Group 0). The mode of<br />
operation is:<br />
• Process the request for three cycles.<br />
• If another request comes from another class (even Class 0) during the processing, it is ignored; the<br />
arbiter does not treat incoming requests.<br />
• After three consecutive transactions, return to the arbitration decision:<br />
– Were there any incoming requests during the last transaction?<br />
– What is the next request to be serviced?<br />
Figure <strong>10</strong>-71 shows this mechanism on Class 1-Group 0:<br />
SPRUGN4L–May 20<strong>10</strong>–Revised June 2011 <strong>Memory</strong> <strong>Subsystem</strong><br />
Copyright © 20<strong>10</strong>–2011, Texas Instruments Incorporated<br />
sdrc-027<br />
2271