Title :
Synthesis of Processor Instruction Sets from High-Level ISA Specifications
Author :
Mokhov, Andrey ; Iliasov, Alexei ; Sokolov, Danil ; Rykunov, Maxim ; Yakovlev, Alex ; Romanovsky, Alexandre
Author_Institution :
Sch. of Electr. & Electron. Eng., Newcastle Univ., Newcastle upon Tyne, UK
Abstract :
As processors continue to get exponentially cheaper for end users following Moore´s law, the costs involved in their design keep growing, also at an exponential rate. The reason is ever increasing complexity of processors, which modern EDA tools struggle to keep up with. This paper focuses on the design of Instruction Set Architecture (ISA), a significant part of the whole processor design flow. Optimal design of an instruction set for a particular combination of available hardware resources and software requirements is crucial for building processors with high performance and energy efficiency, and is a challenging task involving a lot of heuristics and high-level design decisions. This paper presents a new compositional approach to formal specification and synthesis of ISAs. The approach is based on a new formalism, called Conditional Partial Order Graphs, capable of capturing common behavioural patterns shared by processor instructions, and therefore providing a very compact and efficient way to represent and manipulate ISAs. The Event-B modelling framework is used as a formal specification and verification back-end to guarantee correctness of ISA specifications. We demonstrate benefits of the presented methodology on several examples, including Intel 8051 microcontroller.
Keywords :
formal specification; instruction sets; integrated circuit design; microprocessor chips; EDA tools; Event-B modelling framework; ISA; Moores law; behavioural patterns; conditional partial order graphs; exponential rate; formal specification; formal sythesis; formal verification; hardware resources; high level ISA specifications; instruction set architecture; optimal design; processor design flow; processor instruction set synthesis; software requirements; Complexity theory; Computer architecture; Dynamic scheduling; Hardware; Instruction sets; Microcontrollers; Registers; Microprocessor; instruction set; synthesis;
Journal_Title :
Computers, IEEE Transactions on