The instruction sets of most conventional computers are designed to provide "general purpose" capabilities. In solving specific problems, the instruction sets of these computers often prove to be inefficient. Microprogramming offers the user the opportunity of modifying the architecture of a microprogrammable computer to satisfy his requirements. The goal of this paper is to generate automatically the architecture more suitable for a given program. Starting from the instruction sequencing which can be microprogrammed (segments and loops) we have developed a methodology for selecting those requirements which, when converted to microprogram, minimize the execution time for a given size of control memory. © 1980.