By using this site, you agree to our Privacy Policy and our Terms of Use. Close
drkohler said:
Adinnieken said:

Likewise, as I said before.  GDDR and DDR memory work differently.  In GDDR memory you need to flush the memory before writing to it.  You can't append the memory.  Where as in DDR memory you can.  Which is why I believe the PS4 relies on virtual memory (HDD cache file).  The cache file is used to read and write active data from/to memory as it's being used. 

I have no idea what you are trying to say here. What is "flushing memory before writing?"

You do know that gddr memory adds a ton of features to accessing memory that are simply not available with ddr memory? This is why the controller for gddr memory is much more complex than your run-of-the-mill ddr controller, btw..

Typically, you read data from the HDD into a block of memory.  The size of the block varies by memory, 256 bits(b) on GDDR5.  So, if you have a file that's 4 bytes(B) in size you've wasted 28 B.  But let's say you now want to do something with that data.  Maybe it's an XML file that you keep user stats stored in.  Normally, with DDR3 memory you would be able to append the memory.  With GDDR5 you have to either 1) clear that block of memory than write the complete data to it, 2) write to a separate block of memory, then clearing out the original block of memory, or 3) use the HDD as a temporary write space, then read data back into memory after you've cleared out the previous data.

The problem with one is clock cycles.  You just waste them.  Problem with two is you use double the memory and you now need to keep track of two memory addresses, not one.  The problem with three is the fact that going to the HDD is less efficient than just writing to memory. 

Again, with graphical data you're either just reading it or completely transforming it.  So, it either just sits there in memory (like a texture) or it completely replaces the previous data that was once there.  But for use in an OS, there are far more instances where you're dealing with small files (my examples are extremely small) that simply need to be appended, not rewritten.

It's an inefficiency, but at this point the question is, does it really translate into a fundemental performance flaw.  It would be interesting to see the same optimized code running on each console.  If you could, then you'd see a true benchmark of both systems.