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

Sadahiro Isoda, Yoshizumi Kobayashi, Toru Ishida

Research output: Contribution to journalArticle

14 Citations (Scopus)

Abstract

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
VolumeC-32
Issue number10
DOIs
Publication statusPublished - 1983 Jan 1
Externally publishedYes

Fingerprint

Dependency Graph
Data Dependency
Compaction
Horizontal
Firmware
Flow Control
Flow control
Compiler
Computer systems
Computer-aided Design
Concurrency
Join
Express
Module
Evaluation
Graph in graph theory

Keywords

  • 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

Cite this

Global Compaction of Horizontal Microprograms Based on the Generalized Data Dependency Graph. / Isoda, Sadahiro; Kobayashi, Yoshizumi; Ishida, Toru.

In: IEEE Transactions on Computers, Vol. C-32, No. 10, 01.01.1983, p. 922-933.

Research output: Contribution to journalArticle

@article{0c456c4ac1284661ad141e62c3d28f37,
title = "Global Compaction of Horizontal Microprograms Based on the Generalized Data Dependency Graph",
abstract = "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.",
keywords = "Concurrency, data dependency, flow analysis, generalized data dependency graph, global compaction, microorder, microprogramming",
author = "Sadahiro Isoda and Yoshizumi Kobayashi and Toru Ishida",
year = "1983",
month = "1",
day = "1",
doi = "10.1109/TC.1983.1676136",
language = "English",
volume = "C-32",
pages = "922--933",
journal = "IEEE Transactions on Computers",
issn = "0018-9340",
publisher = "IEEE Computer Society",
number = "10",

}

TY - JOUR

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

AU - Isoda, Sadahiro

AU - Kobayashi, Yoshizumi

AU - Ishida, Toru

PY - 1983/1/1

Y1 - 1983/1/1

N2 - 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.

AB - 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.

KW - Concurrency

KW - data dependency

KW - flow analysis

KW - generalized data dependency graph

KW - global compaction

KW - microorder

KW - microprogramming

UR - http://www.scopus.com/inward/record.url?scp=0020834701&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0020834701&partnerID=8YFLogxK

U2 - 10.1109/TC.1983.1676136

DO - 10.1109/TC.1983.1676136

M3 - Article

VL - C-32

SP - 922

EP - 933

JO - IEEE Transactions on Computers

JF - IEEE Transactions on Computers

SN - 0018-9340

IS - 10

ER -