4 ms·
> you can’t enumerate all possible execute paths as they are infinite. How do you design a CPU that isn't a finite state machine?
by MichaelBurge 5y ago
> you can’t enumerate all possible execute paths as they are infinite.
How do you design a CPU that isn't a finite state machine?
- JohnHaugeland 5y agoAs soon as you try to tell us which kind of FSM the CPU is, you'll realize why it isn't any of them
- MichaelBurge 5y agoI used to have a friend who worked at AMD, and he said they simulated one of their in-progress CPUs on five Virtex-5 FPGAs. Looking here: https://docs.xilinx.com/v/u/en-US/ds100 https://docs.xilinx.com/v/u/en-US/ds100 * I see a lot of LUTs, adders, and common operations(not a theoretical problem). * There's memory and IO, but that shouldn't matter for defining a single clock tick. * Thermal/power monitoring - not sure how important that is, but sure that's outside the definition of a FSM. I have written simple software and FPGA CPU cores, and I would describe all of them as FSMs. It's possible that newer CPUs wouldn't qualify because e.g. they rely on metastable circuits for randomness, power-monitoring, etc. but most of it should be a FSM and the exceptions aren't anything like "infinite execution paths".