From ea3967903428a0feddbfe696f80747feede6b29a Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Fri, 28 Nov 2025 14:47:26 -0800 Subject: [PATCH] update wording --- src/grants/cpu_with_programmable_decoder.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/grants/cpu_with_programmable_decoder.md b/src/grants/cpu_with_programmable_decoder.md index 040a25f..868bd1b 100644 --- a/src/grants/cpu_with_programmable_decoder.md +++ b/src/grants/cpu_with_programmable_decoder.md @@ -8,7 +8,7 @@ Website/Wiki: Modern computers are built on several different mutually-incompatible popular ISAs such as x86_64, PowerISA, AArch64, and RISC-V. Many of the most popular ISAs have no high-speed libre/open-source implementations, which makes them much harder to trust since you can't inspect their source-code to look for bugs or secret backdoors. Additionally, there are basically no existing modern CPUs which can run more than one of those ISAs without requiring software emulation, which is slow and can often be buggy. -To solve those issues, we are building a libre-licensed CPU with speculative out-of-order superscalar execution that will support a programmable decoder (loosely inspired by FPGAs) followed by a µOp cache so the CPU can be programmed to decode and run just about any ISA you like at full speed, by handling the most common instructions entirely in hardware, with software fallback for decoding some of the less common instructions which can still easily be executed in hardware (storing the decoded instructions in the µOp cache), and full software emulation for the remaining instructions. +To solve those issues, we are building a libre-licensed CPU with speculative out-of-order superscalar execution that will support a programmable decoder (loosely inspired by FPGAs) followed by a µOp cache so the CPU can be programmed to decode and run at full speed just about any ISA you select, by handling the most common instructions entirely in hardware, with software fallback for decoding some of the less common instructions which can still easily be executed in hardware (storing the decoded instructions in the µOp cache), and full software emulation for the remaining instructions. Additionally you can easily switch between selected ISAs by reprogramming the decoder, allowing you to e.g. run an x86_64 program alongside a RISC-V program in the same OS and quickly context-switch between them. We are planning on building a custom compiler so the user can select an ISA and that compiler can compile the source code of QEMU to automatically generate the required bitstream for the FPGA, as well as generating the software required for decoding and/or emulating the remaining parts of the chosen ISA.