Glossary

Microarchitecture

What is a microarchitecture?

The microarchitecture of a processor is a detailed description of how a hardware implementation is structured.

The microarchitecture defines how the processor executes instructions, handles data, and performs various operations. The microarchitecture focuses on the implementation details of a processor, such as the organization of its functional units, pipelines, caches, memory hierarchy, and control mechanisms. It determines how the processor fetches, decodes, and executes instructions.

What is the difference between ISA and microarchitecture?

The difference between an ISA and a microarchitecture is that an ISA is simply a description of all the instructions that the processor should be able to perform. In contrast a microarchitecture describes how the desired functionality is achieved. With the example of RISC-V processors, the microarchitecture is compliant with the RISC-V ISA.

With CodAL a microarchitecture can be described at the cycle-accurate level. This means that it allows for example to describe for every clock cycle which data is stored in which register. Processor designers can take this very close to the Register Transfer Level (RTL), or leave some decisions to the tool.

Can a microarchitecture be modified?

The majority of processor cores available from IP providers are only delivered in RTL form with limited documentation about their microarchitecture. Whilst maybe not completely impossible to customize, it could certainly be impractical and typically illegal to try and modify the microarchitecture of such cores.

Codasip cores are designed in CodAL, making them highly modifiable and customizable. By licensing a Codasip core as CodAL source code, you can modify the microarchitecture to fit your application needs.

Getting started with Codasip