「[翻訳] Durango Memory System Example」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
<div>
<blockquote>このページは<a href="http://www.vgleaks.com/durango-memory-system-example/">http://www.vgleaks.com/durango-memory-system-example/</a>からの引用です
<div class="gdl-navigation-wrapper"> </div>
</blockquote>
</div>
<div class="body-wrapper">
<div class="container-wrapper">
<div class="content-wrapper main container">
<div class="page-wrapper single-blog single-sidebar left-sidebar">
<div class="row">
<div class="gdl-page-left twelve columns">
<div class="row">
<div class="gdl-page-item mb20 gdl-blog-full eight columns">
<h1 class="blog-title"><a href="http://www.vgleaks.com/durango-memory-system-example/">Durango Memory System
Example</a></h1>
<div class="blog-content-wrapper">
<div class="blog-content"><br /><div style="clear:both;"> </div>
<div style="text-align:center;"> </div>
<p>This whole system example demonstrates what the memory bandwidth might look
like when the<a href="http://www.vgleaks.com/durango-memory-system-overview/%20%E2%80%8E">whole
system</a>is working under a typical load (this numbers are only predictions
not measured numbers)</p>
<p>This example assumes what’s expected to be a typical CPU load and a maximum
GPU load:</p>
<ul><li>Three display planes are enabled at 1080p resolution.</li>
<li>Display write-back is writing a 1080p image at 60 FPS.</li>
<li>Move<a href="http://www.vgleaks.com/engines/" title="engines">engines</a>are idle.</li>
<li>Read bandwidth of the command buffer and index buffer is 4 GB/s.</li>
<li>Regular GPU rendering consumes the rest of the available bandwidth.</li>
</ul><p><img width="474" height="521" src="http://www.vgleaks.com/wp-content/uploads/2013/03/durango_memory2.jpg" alt="durango_memory2" class="size-full wp-image-2209 aligncenter" /></p>
<p>This diagram shows our prediction of the typical bandwidth for the north
bridge clients and the typical available bandwidth for the GPU clients (which
are shown in blue).</p>
<p>Let’s start by describing the CPU. Although each CPU module can request up
to 20.8 GB/s of bandwidth for read and for write, the typical bandwidth you
should expect for the CPU is 4 GB/s per CPU module per direction—about 16 GB/s
altogether.</p>
<p>You can expect typical bandwidth to be around 3 GB/s per direction for the:
audio, HDD, Camera, and USBs.</p>
<p>The Kinect Sensor is the main consumer of the bandwidth. For example, peak
bandwidth to and from the HDD is only about 50 MB/s, so the HDD cannot be seen
as a major bandwidth consumer.</p>
<p>Because the GPU is usually pushed to the maximum, you can expect typical
coherent bandwidth to be about 25 GB/s. However, this amount depends on how
many resources are made snoopable.</p>
<p>Currently, we are not able tell exactly how much of that access will be
hitting the CPU’s caches and how much of the access much will go to DRAM. So as
we said above, this figure is highly speculative at the moment.</p>
<p>The estimated 25 GB/s of bandwidth for coherent memory access does not
account for the non-coherent memory access of the GPU.</p>
<p>The coherent bandwidth that can flow through the north bridge is a limited
at 30 GB/s. Under typical conditions, this limit shouldn’t cause you problems.
But during a high load on the coherent memory traffic, the north bridge might
become saturated. Once the north bridge becomes saturated, you may notice
increased latencies for memory access.</p>
<p>CPU memory access that is Write Combined does not fall under this limitation
nor does GPU memory access that is non-coherent.</p>
<p>Finally let’s compute how much bandwidth is left for the non-coherent GPU
access to consume. Let’s assume that:</p>
<ul><li>The sum of bandwidth from the north bridge to DRAM is 25 GB/s.</li>
<li>Some portion of the GPU coherent bandwidth misses the L2 caches.</li>
<li>Non-coherent CPU bandwidth is 3 GB/s.</li>
</ul><p>This leaves 42 GB/s of DRAM bandwidth available to the GPU clients.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br /><div class="copyright-container container">
<div class="copyright-wrapper">
<div class="copyright-left"> </div>
<div class="copyright-right"> </div>
<div class="clear"> </div>
</div>
</div>
</div>
</div>