Yes. In theory, any pure function can be turned into a lookup table. And any lookup table that isn't just random numbers can be turned into a more compact algorithm that spends compute to save space.
Such tables may be infeasible, though. While a int8 -> int8 table only needs 256 bytes, an int32 -> int32 needs 16 gigabytes.
It isn't, because eventually the size of your logic or table becomes larger than the distance a signal can propagate in one clock tick. Before that, it likely presents practical issues (eg, is it worth dedicating that much silicon)
Yes, this solves the stated issue about huge lookup tables.
A planet size CPU that runs at .5 hz but can work on impossibly large numbers.
This doesn't make much sense to me, though.
If your goal is "any algorithm", you'll often have to go a lot slower than .5Hz. A hash-calculating circuit that's built out of a single mountain of silicon could have a critical path that's light-years long.
But if your goal is just "work on impossibly large numbers", but it's okay to take multiple ticks, then there's no reason to drag the frequency down that low. You can run a planet-scale CPU at 1GHz. CPUs have no need for signals to go all the way across inside a single tick.
Related to the fallacy of comparing what's slow in our world with what's computable in a simulation of it--there's no requirement for time to tick similarly.
Comments
Sounds like it's possible to run any algorithm in the world in 1 clock cycle.
Yes. In theory, any pure function can be turned into a lookup table. And any lookup table that isn't just random numbers can be turned into a more compact algorithm that spends compute to save space.
Such tables may be infeasible, though. While a int8 -> int8 table only needs 256 bytes, an int32 -> int32 needs 16 gigabytes.
Fractal functions are pure, but don’t lend themselves well to memoization nor lookup tables.
What does this statement even mean? Every function from a finite domain is just a lookup table, period.
Who said anything about finite-domains?
Every function has finite domain on a computer.
Arbitrary-precision real-number libraries would disagree with you there.
False. A computer always has a finite amount of memory.
It isn't, because eventually the size of your logic or table becomes larger than the distance a signal can propagate in one clock tick. Before that, it likely presents practical issues (eg, is it worth dedicating that much silicon)
Have slower ticks. A planet size CPU that runs at .5 hz but can work on impossibly large numbers.
Yes, this solves the stated issue about huge lookup tables.
This doesn't make much sense to me, though.
If your goal is "any algorithm", you'll often have to go a lot slower than .5Hz. A hash-calculating circuit that's built out of a single mountain of silicon could have a critical path that's light-years long.
But if your goal is just "work on impossibly large numbers", but it's okay to take multiple ticks, then there's no reason to drag the frequency down that low. You can run a planet-scale CPU at 1GHz. CPUs have no need for signals to go all the way across inside a single tick.
You'd need way better clocks and synchronization circuits than exist now though, but I don't see any pure physical barriers.
The whole thing doesn't need to be on the same clock domain. You can put clock crossings every inch.
And 27.7% [1] of the planet's crust is silicon already!
[1] Britannica: Silicon
That's actually a really fascinating science fiction idea!
https://en.wikipedia.org/wiki/Matrioshka_brain
:-D
It's a topic that has been explored quite a bit in science fiction literature.
It's sort of the plot of the Douglas Adam's books.
https://hitchhikers.fandom.com/wiki/Earth
Related to the fallacy of comparing what's slow in our world with what's computable in a simulation of it--there's no requirement for time to tick similarly.
impossibly large numbers
Forty-two for example?
With a sufficiently large chip and a sufficiently slow clock, sure.
"Give me a lut large enough and an infinite period of time to execute, and I shall simulate the world"
“Every cycle”
I like the Quantum BogoSort as a proof of this /s