Results 1 -
2 of
2
Synthesis of application specific instruction sets
- IEEE TCAD
, 1995
"... An instruction set serves as the interface between hardware and software in a computer system. In an application specific environment, the system per-formance can be improved by designing an instruction set that matches the characteristics of hardware and the application. We present a systematic app ..."
Abstract
-
Cited by 23 (3 self)
- Add to MetaCart
An instruction set serves as the interface between hardware and software in a computer system. In an application specific environment, the system per-formance can be improved by designing an instruction set that matches the characteristics of hardware and the application. We present a systematic approach to generate application-specific instruction sets so that software applications can be efficiently mapped to a given pipelined microarchitec-ture. The approach synthesizes instruction sets from application bench-marks, given a machine model, an objective function, and a set of design constraints. In addition, assembly code is generated to show how the benchmarks can be compiled with the synthesized instruction set. The problem of designing instruction sets is formulated as a modified schedul-ing problem. A binary tuple is proposed to model the semantics of instruc-tions and integrate the instruction formation process into the scheduling process. A simulated annealing scheme is used to solve for the schedules. Experiments have shown that the approach is capable of synthesizing pow-erful instructions for modern pipelined micro-processors, and running with reasonable time and a modest amount of memory for large applications.
Co-Synthesis of Instruction Sets and Microarchitectures
, 1994
"... The design of an instruction set processor includes several related design tasks: instruction set design, microarchitecture design, and code generation. Although there have been automatic approaches for each individual task, the investigation of the interaction between these tasks still primarily re ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
The design of an instruction set processor includes several related design tasks: instruction set design, microarchitecture design, and code generation. Although there have been automatic approaches for each individual task, the investigation of the interaction between these tasks still primarily relies on designers' experience and ingenuity. It is thus the goal of this research to develop formal models and algorithms to investigate such interaction systematically. This dissertation presents a two-phase co-synthesis approach to the problem. In the architectural level, given a set of application benchmarks and a pipeline structure, the ASIA (Automatic Synthesis of Instruction set Architecture) design automation system generates an instruction set and allocates hardware resources which best fit the applications, and, at the same time, maps the applications to assembly code with the synthesized instruction set. This approach formulates the codesign problem as a modified scheduling/allocat...

