I'd argue that an all-knowing God is something that can't really be reasoned about. It's the introduction of an infinite value into the discussion (or maybe more like a division by zero?). You end up with logically contradictory statements when describing the properties of such a being.
Maybe the general definition of free will most people seem to go with just doesn't deal with weird edge cases because it basically developed to fit reality.
... because we (the chip designer) are okay with larger footprint per core.
> specialized instructions are pretty much free
... only after we have fixed the footprint per core. But if we're willing to vary that parameter, then the specialized instructions are not free.
Not to mention, the main article of this thread is a strong evidence that those specialized instructions are almost never used!
As for your point about 1024 cores, the whole point I'm trying to make is that whatever software does today with 4 cores in a 4-core processor, could be done by 4-cores in a 1024-core processor, because those 4-cores don't implement the instructions that are not needed. And that means you have 1020 cores free sitting in your microprocessor. You could only make your computations faster or at the same speed (in the worst case) in their presence, not slower.
> simple CPUs are just slow
I would like to see any source of this claim. The only reason I can think of is that complex CPUs implement some instructions that help speed up. But as we can see in the original article of this thread, software is not making use of those instructions. So I don't see how a simple CPU (that picks the best 5-7 instructions that give turing completeness, as well as best performance) is any slower.
Note, by a simple CPU, I'm not advocating eliminating pipelines and caches, etc. All I'm saying is that once you optimize a CPU design and eliminate redundancy as well as the requirement of backward compatibility, you can get a much better performing CPU that what we have currently.
A good part of the complexity of current cpus comes from features like branch prediction, speculative execution and so on so removing features wouldn't make them drastically simpler. Many of the truly rarely used instrucctions aren't build in hardware and therefore don't contribute to the complexity of the cpu anyway. Others are rarely used but add huge speed boosts for important special purpose tasks, think os kernel.