An evolutionary computation framework for microarchitecture design /

The manual design of microarchitecture is labour-intensive and unlikely to generate good counterintuitive solutions. A designer, guided solely by intuition, is forced to manipulate many interdependent parameters by hand, introducing simplifying assumptions that artificially limit the potential of...

Full description

Bibliographic Details
Main Author: Holly, Matthew James
Other Authors: Driesen, Karel (advisor)
Format: Others
Language:en
Published: McGill University 2002
Subjects:
Online Access:http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=78379
Description
Summary:The manual design of microarchitecture is labour-intensive and unlikely to generate good counterintuitive solutions. A designer, guided solely by intuition, is forced to manipulate many interdependent parameters by hand, introducing simplifying assumptions that artificially limit the potential of the architecture. The sheer number of possible configurations precludes an exhaustive exploration of the entire search space. Evolutionary computation is a domain-independent, highly scalable technique capable of producing innovative designs with reasonable computational cost. === This study presents a software framework for designing microarchitecture. As a case study, a genetic algorithm is used to automatically synthesize two-level indirect branch predictors. The evolved designs routinely deliver enhanced performance as compared to the equivalent, highly optimized structures created by hand. The primary drawback associated with this method is the excessive design complexity induced by unconstrained evolution. Several methods of incorporating simplicity of design into the evolutionary process are investigated. A unified fitness metric, combining both simplicity and performance, leads to the evolution of simple and effective designs.