Introducing the NoISA™ Processor
Motivation
The motivation for the NoISA processor is the observation that current instruction set architecture (ISA) based processor systems use a fixed ALU, a fixed register file, and a fixed hardware controller. These three units divide the data and control planes into small pieces called “instructions.” The fixed hardware controller implements the instruction decoder of a fixed ISA and the data orchestration of the program.
A NoISA processor is based on the Hotstate machine plus some HDL. The Hotstate machine is an advanced runtime loadable microcoded algorithmic state machine, programmable in a subset of C. The Hotstate machine performs the same functions as the hardware controller of a processor for any arbitrary hardware architecture.
Use cases
- Use a NoISA processor when a softcore CPU takes up too much area or runs too slowly.
- The NoISA processor uses less energy than a softcore CPU. Use it on the edge or IoT where power matters.
- NoISA processors make great controllers. Use them to quickly create small controllers and C programmable state machines.
- NoISA processors are small and fast and the perfect choice for systolic arrays.
- NoISA processors are great for changing the behavior of an FPGA without changing the FPGA itself.
- NoISA processors change their behavior by reloading powerful microcode instead of little instructions.
ISA based processors lock you into a fixed instruction set. NoISA processors are more flexible and powerful.
Don’t be a slave to the ISA. The freedom of NoISA processors means you can get the ultimate performance.
How to install and then use the Hotstate machine