01.08.2013 Views

Chapter 10 Memory Subsystem.pdf

Chapter 10 Memory Subsystem.pdf

Chapter 10 Memory Subsystem.pdf

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!