Global Compaction of Horizontal Microprograms Based on the Generalized Data Dependency Graph

Sadahiro Isoda, Yoshizumi Kobayashi, Toru Ishida

Research output: Contribution to journalArticlepeer-review

15 Citations (Scopus)


This paper describes a global compaction algorithm which can produce efficient microprograms with respect to both space and time. The algorithm depends upon a generalized data dependency graph (GDDG), which can integratedly express the concurrency of microorders and their mobility past the boundaries of basic blocks, as well as the control flow for a microprogram. In the algorithm an initial GDDG is first built up from a source microprogram consisting of a sequence of microorders, and this is transformed by repeated application of a set of microscopic transformation rules to the graph's edges until all of them have been examined. Then microorders are packed into microinstruction fields so that the more frequently executed basic blocks may contain as few microinstructions as possible. The intrinsic nature of the control flow's joins and forks allows determination of which basic block should accommodate those microorders that can be placed in more than one basic block. The algorithm is applied to the compiler of a computer-aided firmware design system CHEF (Conversational and Hierarchical languages system for Enhanced Firmware). A preliminary evaluation of the compiler's compaction module shows that the algorithm allows production of microprograms almost as efficient as an expert microprogrammer can.

Original languageEnglish
Pages (from-to)922-933
Number of pages12
JournalIEEE Transactions on Computers
Issue number10
Publication statusPublished - 1983 Oct
Externally publishedYes


  • Concurrency
  • data dependency
  • flow analysis
  • generalized data dependency graph
  • global compaction
  • microorder
  • microprogramming

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'Global Compaction of Horizontal Microprograms Based on the Generalized Data Dependency Graph'. Together they form a unique fingerprint.

Cite this