Panajev2001a
GAF's Pleasant Genius
URL: http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=5&f=G&l=50&co1=AND&d=PG01&s1=%22Sony+Computer%22.AS.&OS=AN/%22Sony+Computer%22&RS=AN/%22Sony+Computer%22
I am personally quite puzzled by this patent as it opens the doors to a portable system with either a "low power GPU" coupled to a "high performance GPU" or a system with a CPU+GPU in which the CPU (with a small GPU inside?) can take the duty of graphics processing away from the GPU when there is need to conserve battery life (at the loss of performance).
It does cover the case of multiple GPU's used to increase performance, but I think that is a "let's cover our legal butt for future products (that is PS4)" kind of thing more than the main element of this patent IMHO... which would seem to be PSP2 related... being a SCE patent (a SCEA R&D patent to be more accurate).
This patent covers quite a bit of ground and partially one could get it started by looking at this bit from the patent:
Basically this is talking about a way to solve the problem of dynamically switching graphics processor active without user intervention. The example given is the older MacBook Pro which has both an Integrated GPU (or IGP) as well as a dedicated GPU (the GeForce 9600M GT) to allow you to choose between maximum battery life (with the IGP) or highest performance (with the dedicated GPU). Partially due to the "effort" needed to switch between active GPU (you have to log out and log back in after informing the OS that you want to switch active GPU) and due to the IGP providing good enough performance (especially if coupled with a fast enough GPU) make it so that most of the time you use the IGP even though you have a fast GPU with lots of dedicated RAM attached to it.
This patent identifies two problems:
1.) you want the system to be able to switch between GPU dynamically, at runtime without requiring user intervention or causing interruptions with the gameplay.
2.) you want to be able to decouple the kind of GPU used from the GPU the OS sees. You want to be able to use two completely different GPU's (one of which might even be the CPU running a software renderer) and seamlessly move from from one of the GPU's to the other(s).
Point 2.) requires pretty much the separation of the GPU native display list format (the display list contains all the references to data and the instructions needed by the GPU to do its work) from the display list format the OS/application side deals with. The app writes to a neutral display list format and such format is later compiled and optimized for the GPU the OS wants to render on.
While this does introduce a certain overhead, it can have some positive side-effects with regards to performance too as the neutral display list can be designed to help the GPU driver recognize optimization opportunities and act upon it as they best see fit. It might also be easier to expose to developers a fully documented and well understood neutral "virtual GPU" and keep the details about the physical GPU hidden from reverse engineering if the GPU maker so wishes. Another benefit is easier backwards compatibility as you only need to add a new target to the code which compiles the native GPU display list... the game thinks in terms of this virtual GPU and not of a physical GPU which particular quirks (not a 100% foolproof solution, but it can help... after-all not even on the iDevices you are completely abstracted from specific PowerVR features).
This patent also covers the possibility of having two or more GPU's and distribute work to them, shifting it from GPU to GPU when needed without user/programmer intervention.
Still puzzled...
I am personally quite puzzled by this patent as it opens the doors to a portable system with either a "low power GPU" coupled to a "high performance GPU" or a system with a CPU+GPU in which the CPU (with a small GPU inside?) can take the duty of graphics processing away from the GPU when there is need to conserve battery life (at the loss of performance).
It does cover the case of multiple GPU's used to increase performance, but I think that is a "let's cover our legal butt for future products (that is PS4)" kind of thing more than the main element of this patent IMHO... which would seem to be PSP2 related... being a SCE patent (a SCEA R&D patent to be more accurate).
This patent covers quite a bit of ground and partially one could get it started by looking at this bit from the patent:
[...] Some laptop computers are beginning to solve this problem by introducing two GPUs in one laptop-one a low-performance, low-power consumption GPU and the other a high-performance, high-power consumption GPU-and letting the user decide which GPU to use.
[...]
[0004]Unfortunately, architecturally dissimilar GPUs are not capable of cooperating with one another in a manner that allows seamless context switching between them. Therefore a problem arises in computing devices that use two or more architecturally dissimilar GPUs in that in order to switch from one GPU to another the user must stop what they are doing, select a different GPU, and then reboot the device.
[...]
[0006]It would be desirable to allow the context switching to be hidden from the user and performed automatically in the background. Unfortunately, no solution is presently available that allows for dynamic, real-time context switching between architecturally distinct GPUs. The closest prior art is the Apple MacBook Pro, from Apple Computer of Cupertino, Calif., which contains two architecturally distinct GPUs but does not allow dynamic context switches between them.
Basically this is talking about a way to solve the problem of dynamically switching graphics processor active without user intervention. The example given is the older MacBook Pro which has both an Integrated GPU (or IGP) as well as a dedicated GPU (the GeForce 9600M GT) to allow you to choose between maximum battery life (with the IGP) or highest performance (with the dedicated GPU). Partially due to the "effort" needed to switch between active GPU (you have to log out and log back in after informing the OS that you want to switch active GPU) and due to the IGP providing good enough performance (especially if coupled with a fast enough GPU) make it so that most of the time you use the IGP even though you have a fast GPU with lots of dedicated RAM attached to it.
This patent identifies two problems:
1.) you want the system to be able to switch between GPU dynamically, at runtime without requiring user intervention or causing interruptions with the gameplay.
2.) you want to be able to decouple the kind of GPU used from the GPU the OS sees. You want to be able to use two completely different GPU's (one of which might even be the CPU running a software renderer) and seamlessly move from from one of the GPU's to the other(s).
[0047]Another solution would be to have the CPU interpret the architecture neutral instruction set and have the GPU Context Controller completely shut down the GPU. Graphics performance might severely degrade but potentially less power would be consumed. According to this solution the CPU would take over the processing tasks handled by the GPU. In such a case, this solution may be implemented in a system with just one GPU. Specifically, the CPU could take over for the GPU by performing a context switch between the GPU and the CPU.
Point 2.) requires pretty much the separation of the GPU native display list format (the display list contains all the references to data and the instructions needed by the GPU to do its work) from the display list format the OS/application side deals with. The app writes to a neutral display list format and such format is later compiled and optimized for the GPU the OS wants to render on.
While this does introduce a certain overhead, it can have some positive side-effects with regards to performance too as the neutral display list can be designed to help the GPU driver recognize optimization opportunities and act upon it as they best see fit. It might also be easier to expose to developers a fully documented and well understood neutral "virtual GPU" and keep the details about the physical GPU hidden from reverse engineering if the GPU maker so wishes. Another benefit is easier backwards compatibility as you only need to add a new target to the code which compiles the native GPU display list... the game thinks in terms of this virtual GPU and not of a physical GPU which particular quirks (not a 100% foolproof solution, but it can help... after-all not even on the iDevices you are completely abstracted from specific PowerVR features).
This patent also covers the possibility of having two or more GPU's and distribute work to them, shifting it from GPU to GPU when needed without user/programmer intervention.
[0045]Embodiments of the present invention as described herein may be extended to enable dynamic load balancing between two or more graphics processors for the purpose of increasing performance at the cost of power, but with architecturally similar GPUs (not identical GPUs as with SLI). By way of example, and not by way of limitation, a context switch may be performed between the two similar GPUs based on which one would have the higher performance for processing a given set of GPU input. Performance may be based, e.g., on an estimated amount of time or number of processor cycles to process the input.
Still puzzled...