The PS4 can mask which CUs are used for certain jobs.
The PS4 also can reserve GPU memory (LDS/register space, etc.) on individual CUs for use by specific tasks.
The VSHELL has reserved memory on "several" CUs 100% of the time and I wouldn't be surprised if VSHELL tasks are masked to those CUs.
There's a graphics command queue dedicated to VSHELL and it can create high priority GPGPU tasks.
This was something I speculated about as a reason why there could be a different performance profile for a portion of the CUs, instead of the other speculation of physically distinct CUs.
This makes more sense now that we've seen leaks about the VSHELL pipe.
One portion of the info on Vgleaks indicated the VSHELL command processor couldn't perform compute, however a later part seems to state that it can arbitrate in the same pool as the 8 compute pipes, instead of getting its own compute pipe like the primary GFX ring.
I let the topic drop because, even though reserved resources fit what was being done, no additional information was forthcoming to say this particular choice had been made.
If true, it would allow for a lower cycle overhead for idled OS tasks, but occupancy and prioritization shifts could cause subtle differences for games.
Who can issue commands to the VSHELL ? Only the OS ?
Other posters indicated that VSHELL is what the OS is called.
EDIT:
I vaguely recall 3dilettante suggested that the PS4 OS may reserve some GPU resources 100% of the time, perhaps for serving game/app requests ? What might those (high priority jobs) be ? ^_^
At the time, I had speculated the OS and/or runtime could put long-running shaders in before the game was permitted to arbitrate for access. The disclosure about the VSHELL pipe makes the reserve more strongly enforced by the GPU's allocation logic.
Reserved storage and wavefront slots allow high-priority tasks to have an immediate landing spot for requests. In the absence of preemption, long-running shaders could sit on a CU for an unpredictable amount of time.
The impact wouldn't be directly measured in cycles reserved, rather in terms of changed behavior where certain CUs would not treat game shader priorities in the same way, or would never schedule shaders whose resource requirements made them too big to fit in the same storage as the OS reserve.
The ALUs would be potentially available when the VSHELL is not actively executing something, so a percentage of GFLOPs wouldn't be automatically lost so much as there would be non-uniform behavior from the CU array.
I wonder if the latency of this scheme would be predictable enough and low enough for the audio processing Sony thinks is possible on the GPU.
Aside from that, until the decision was made to not make the camera standard, some of the processing could go there as well. It may very well still have a camera reserve of sorts, just in case.
Why would it reserve registers?. It makes no sense, the OS doesn't require any GPU register whilst the game is running.
If a CU's registers have already been allocated, no new wavefronts can be initiated on it until one of the other allocations is freed.
In a loaded scenario, it may be that all 18 won't have enough spare capacity for an indeterminate period of time. That would mess with system tasks that require predictable or lower latency.