I wander why AMD/ATI (or Nvidia for that matter) isnt applying something similar to this - have "X2" dies compromising 2 RV770 cores including interconnects on each waver. If one of em is faulty, simply cut the die in halve and have 1 working core (could also just use the whole die with one core disabled).
The advance would be that there could be a broad bus between both cores, way fatter then whats possible if you use some generic Bus, due to known tracelenghts and no need of solderpads or pins on the packaged chip. À la Cells EIB, only way fatter. Both cores memory-controllers could then more or less use the full bandwidth of all connected memory-modules.
In the pic above I also linked the half of the PCIe-lanes together, in the case of a damaged core, the traces will again be cut and the solderpoints used. This should allow them to get rid of additional PCIe-bridge chips rather easy.. and additional bandwidth if BFI aint enough
Advantages (for full X2-dies):
- less Pads/Pins than 2 individual packages
- also less lanes on the PCB and possibly less layers because of that
- BFI (big fat interconnect) - short, simple and fat bus between cores. If you match the bandwith to be 2x the membandwith of 1 core, then you practically have a 512bit bus that either one core can exploit alone (with some added latency if its going thru the other core - but latency aint an issue for GPUS) or dynamically share. No need for seperate banks anymore
- With a bit of replication and sorting of signals theres no need for an PCIe-Bridgechip.
- unused traces and buses from the memory-controller on single cores.
- some unused logic on the PCIe controller
- possibly problems in the production-pipeline if cuts are conditionally?