Cypress: What’s New

With our refresher out of the way, let’s discuss what’s new in Cypress.

Starting at the SPU level, AMD has added a number of new hardware instructions to the SPUs and sped up the execution of other instruction, both in order to improve performance and to meet the requirements of various APIs. Among these changes are that some dot products have been reduced to single-cycle computation when they were previously multi-cycle affairs. DirectX 11 required operations such as bit count, insert, and extract have also been added. Furthermore denormal numbers have received some much-needed attention, and can now be handled at full speed.


Perhaps the most interesting instruction added however is an instruction for Sum of Absolute Differences (SAD). SAD is an instruction of great importance in video encoding and computer vision due to its use in motion estimation, and on the RV770 the lack of a native instruction requires emulating it in no less than 12 instructions. By adding a native SAD instruction, the time to compute a SAD has been reduced to a single clock cycle, and AMD believes that it will result in a significant (>2x) speedup in video encoding.

The clincher however is that SAD not an instruction that’s part of either DirectX 11 or OpenCL, meaning DirectX programs can’t call for it, and from the perspective of OpenCL it’s an extension. However these APIs leave the hardware open to do what it wants to, so AMD’s compiler can still use the instruction, it just has to know where to use it. By identifying the aforementioned long version of a SAD in code it’s fed, the compiler can replace that code with the native SAD, offering the native SAD speedup to any program in spite of the fact that it can’t directly call the SAD. Cool, isn’t it?

Last, here is a breakdown of what a single Cypress SP can do in a single clock cycle:

  • 4 32-bit FP MAD per clock
  • 2 64-bit FP MUL or ADD per clock
  • 1 64-bit FP MAD per clock
  • 4 24-bit Int MUL or ADD per clock
  • SFU : 1 32-bit FP MAD per clock

Moving up the hierarchy, the next thing we have is the SIMD. Beyond the improvements in the SPs, the L1 texture cache located here has seen an improvement in speed. It’s now capable of fetching texture data at a blistering 1TB/sec. The actual size of the L1 texture cache has stayed at 16KB. Meanwhile a separate L1 cache has been added to the SIMDs for computational work, this one measuring 8KB. Also improving the computational performance of the SIMDs is the doubling of the local data share attached to each SIMD, which is now 32KB.


At a high level, the RV770 and Cypress SIMDs look very similar

The texture units located here have also been reworked. The first of these changes are that they can now read compressed AA color buffers, to better make use of the bandwidth they have. The second change to the texture units is to improve their interpolation speed by not doing interpolation. Interpolation has been moved to the SPs (this is part of DX11’s new Pull Model) which is much faster than having the texture unit do the job. The result is that a texture unit Cypress has a greater effective fillrate than one under RV770, and this will show up under synthetic tests in particular where the load-it and forget-it nature of the tests left RV770 interpolation bound. AMD’s specifications call for 68 billion bilinear filtered texels per second, a product of the improved texture units and the improved bandwidth to them.

Finally, if we move up another level, here is where we see the cause of the majority of Cypress’s performance advantage over RV770. AMD has doubled the number of SIMDs, moving from 10 to 20. This means twice the number of SPs and twice the number of texture units; in fact just about every statistic that has doubled between RV770 and Cypress is a result of doubling the SIMDs. It’s simple in concept, but as the SIMDs contain the most important units, it’s quite effective in boosting performance.


However with twice as many SIMDs, there comes a need to feed these additional SIMDs, and to do something with their products. To achieve this, the 4 L2 caches have been doubled from 64KB to 128KB. These large L2 caches can now feed data to L1 caches at 435GB/sec, up from 384GB/sec in RV770. Along with this the global data share has been quadrupled to 64KB.


RV770 vs...


Cypress

Next up, the ROPs have been doubled in order to meet the needs of processing data from all of those SIMDs. This brings Cypress to 32 ROPs. The ROPs themselves have also been slightly enhanced to improve their performance; they can now perform fast color clears, as it turns out some games were doing this hundreds of times between frames. They are also responsible for handling some aspects of AMD’s re-introduced Supersampling Anti-Aliasing mode, which we will get to later.

 

Last, but certainly not least, we have the changes to what AMD calls the “graphics engine”, primarily to bring it into compliance with DX11. RV770’s greatly underutilized tessellator has been upgraded to full DX11 compliance, giving it Hull Shader and Domain Shader capabilities, along with using a newer algorithm to reduce tessellation artifacts. A second rasterizer has also been added, ostensibly to feed the beast that is the 20 SIMDs.

A Quick Refresher on the RV770 DirectX11 Redux
Comments Locked

327 Comments

View All Comments

  • Ryan Smith - Wednesday, September 23, 2009 - link

    The load temp is the same as a single card.
  • ilnot1 - Wednesday, September 23, 2009 - link

    Does anyone have a link to any review that compares 4850's, 4870's, and 4890's in Crossfire against the 5870 & 5870 CF setup?
  • T2k - Wednesday, September 23, 2009 - link

    FWIW: http://www.techpowerup.com/reviews/AMD/HD_5870_PCI...">http://www.techpowerup.com/reviews/AMD/HD_5870_PCI...
  • T2k - Wednesday, September 23, 2009 - link

    Ehh, I meant: http://www.techpowerup.com/reviews/ATI/Radeon_HD_5...">http://www.techpowerup.com/reviews/ATI/Radeon_HD_5...
  • ilnot1 - Wednesday, September 23, 2009 - link

    Thanks T2k, but the only cards that are in Crossfire in that review are the 58XX's. There are no other comparisons to cards in CF or SLI. Since Ryan included some of the most recent nVida cards in SLI I was hoping to find the 48XX's in CF.
  • T2k - Thursday, September 24, 2009 - link

    Basically the rule of thumb seems to be that at 1920x1200 a single 5870 is still slightly slower than 4870X2 and probably slightly faster than a 4850X2 2GB.
    I own the latter so I will wait this time - either they lower the initial price of the 5870X2 or they release a 5850X2, otherwise I'll pass because single 5870 is simply OVERPRICED as it is already.

  • T2k - Wednesday, September 23, 2009 - link

    Seriously: we get a very nice technical background section - then you top it with this more than idiotic collection of games for testing, leaving out 4850X2 2GB, 5850, using TWO stupid CryEngine-based PoS from Crytek, the most un-optimized code producers or WoW, of which even you admit it's CPU-bounded but now CoD:WaW, no Clear Sky, no UT3 or rather a single current Unreal Eninge-based game?

    Benchmarking part is ALMOST WORTHLESS, the only useful info is that unless you go above 1920x1200 the 4870X2 pretty much owns 5870's @ss as of now.
  • Ryan Smith - Wednesday, September 23, 2009 - link

    For what it's worth, Batman: Arkham Asylum is UE3 engine based.
  • T2k - Wednesday, September 23, 2009 - link

    OK, I missed that (probably because I found the game shots ugly and became uninterested.)
    But how about ET:QW? Yes, it's not the best looking game but it is still popular, let alone World at War which is both great looking and crazy popular, let alone Clear Sky which is a very demanding DX10.1 game? Where is Fallout 3? Where is Modern Warfare?
    FFS the most demanding are the quick ation-shooters and we, FPS players are the first one to upgrade to new cards...
  • Werelds - Thursday, September 24, 2009 - link

    How would ET:QW be a good benchmark? Last I checked, it's still limited to the 30 FPS animations, which makes running it at more than 30 FPS pointless because everything will look jerky.

    I agree something like the CoD games should be included for comparison's sake, but they're hardly a good benchmark or taxing on a system. QW does not fall into the same category though, it has a smaller active playerbase than even L4D which lost a lot of players due to the lack of updates.

Log in

Don't have an account? Sign up now