Abstract
A successful technique for improving system performance has been to migrate often used software functions into firmware. An extension of this technique, called vertical migration, has been developed that deals with migrations of functions between any two levels in a multilevel interpretive hierarchy. In both of these approaches the effect of multiple migrations on system performance is not fully understood and has not been formally analyzed. In this paper the effects of multiple migrations on system performance are formally described. Three distinct types of migration are identified and formulas for the execution time savings of each type are derived.