Proposal for Libre-Chip's First CPU Architecture

Stages

The CPU architecture will be developed in several stages:

  1. Getting an initial working CPU -- First NLNet/etc. Grant

Possible follow-on work, order TBD:

  • Expand CPU to support more operations (e.g. floating-point, vector ops., paging)
  • Add FPGA-style programmable decoder and μOp Cache, with trap-to-software fallback for uncommon/complex ops, which allows running more ISAs such as RISC-V, older x86-32/64, more PowerISA support, and then if we can figure out the legal situation, ARM and modern x86-64. The idea is QEMU (or similar) will be compiled with a special compiler that generates both the fallback software and the bitstream for the decoder, the compiled output will be covered by QEMU's license which has some patent clauses, which hopefully helps with the legal situation. Jacob Lifshay came up with this idea back in 2022
  • Formal proof that the CPU doesn't have any spectre-style bugs even though it still is OoO superscalar with speculative execution. Jacob Lifshay came up with this idea back in 2020

Register Renaming & Internal Registers

See Register Renaming

Architecture Diagram