Glossary

Architecture exploration

What is architecture exploration?

Architectural exploration refers to the the process of analyzing alternatives in implementing an instruction set architecture (ISA).

This includes defining processor resources such as registers, privilege modes and word lengths. It also includes the definition of instruction encoding and semantics. Before finalizing the ISA it is normal to evaluate the performance of the instruction set using software examples that are representative of the target workload. This would be done by creating a compiler for the instruction set and profiling software examples.

What is the difference between microarchitecture and architecture exploration?

A complementary activity is microarchitectural exploration which analyzes alternative ways of implementing the ISA in hardware. For example, alternative pipeline lengths, computational units and ways to protect memory may be assessed.

Both architectural and microarchitectural exploration can start with a description in an architectural language such as Codasip’s CodAL which allows the resources, encoding, semantics and microarchitecture to be described. A software toolchain can be generated from a CodAL description using Codasip’s Studio toolset. Similarly the CodAL description can be used to generate an RTL description of the microarchitecture.

Getting started with Codasip