One thought that isn't on here: Once the process is "mature" and isn't changing every few years, the error rate could be squeezed way down. That would make it practical and economical to make larger chips. There are cooling and power issues too but I'm sure those are solvable. Make way for the 64-bit 128-core 1024gb RAM 12cm^2 SoC? Call it More's Law? Or a BFC? (for Big F'ing Chip?)
>Make way for the 64-bit 128-core 1024gb RAM 8cm^2 SoC This is already happening? Intel Xeon Knights Landing already has an enormous 6.83cm^2 die size. It has 72 "cores," each of which has a 512-bit vector processor. In some sense, you could say that this chip has 9,216 "single precision cores." It also supports up to 384GB DDR4 RAM, which is not far from your 1024GB. The term "core" is becoming vague, as NVIDIA refe…
Only way to improve that is to make programming languages push either data locality or dataflow like designs, which may mean giving up or reimagining OO.
Error rates (yield) are a serious problem, but if your design is uniform enough you can very well get away with just disabling bits. There's also a less obvious problem with on-chip variation (OCV) - some physical properties have a gradient across the chip. At runtime, there's a temperature gradient as well.