Local Microcode Compaction Techniques
TL;DR: A survey of microcode compaction algorithms can be found in this paper, where a general model of processor behavior suitable for comparing the algorithms is presented. But the authors emphasize the conceptual distinction between data dependency and conflict analysis.
read more
Abstract: Microcode compaction is an essential tool for the compilation of high-level language microprograms into microinstructions with parallel microoperations. Although guaranteeing minimum execution time is an exponentially complex problem, recent research indicates that it is not difficult to obtain practical results. This paper, which assumes no prior knowledge of microprogramming on the part of the reader, surveys the approaches that have been developed for compacting microcode. A comprehensive terminology for the area is presented, as well as a general model of processor behavior suitable for comparing the algorithms. Execution examples and a discussion of strengths and weaknesses are given for each of the four classes of loc .al compaction algorithms: linear, critical path, branch and bound, and list scheduling. Local compaction, which applies to jump-free code, is fundamental to any compaction technique. The presentation emphasizes the conceptual distinction between data dependency and conflict analysis.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Trace Scheduling: A Technique for Global Microcode Compaction
TL;DR: Compilation of high-level microcode languages into efficient horizontal microcode and good hand coding probably both require effective global compaction techniques.
1.3K
Hypertool: a programming aid for message-passing systems
Min-You Wu,Daniel D. Gajski +1 more
TL;DR: Programming assistance, automation concepts, and their application to a message-passing system program development tool called Hypertool, which performs scheduling and handles the communication primitive insertion automatically, thereby increasing productivity and eliminating synchronization errors.
726
Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing
B. R. Rau,C. D. Glaeser +1 more
- 01 Dec 1981
TL;DR: A novel architecture and a powerful scheduling algorithm that yields optimal and near-optimal schedules for iterative computations for horizontal architectures are developed.
455
Instruction-level parallel processing: history, overview, and perspective
TL;DR: Instruction-level parallelism (ILP) as mentioned in this paper is a family of processor and compiler design techniques that speed up execution by causing individual machine operations to execute in parallel, and it has become a much more significant force in computer design.
348
Lifetime-sensitive modulo scheduling
Richard A. Huff
- 01 Jun 1993
TL;DR: This paper shows how to software pipeline a loop for minimal register pressure without sacrificing the loop's minimum execution time, and empirical results indicate near-optimal performance.
259
References
•Book
Computer and job-shop scheduling theory
Edward G. Coffman,John L. Bruno +1 more
- 01 Jan 1976
1.2K
Polynomial complete scheduling problems
Jeffrey D. Ullman
- 01 Jan 1973
TL;DR: It is shown that the problem of finding an optimal schedule for a set of jobs is polynomial complete even in the following two restricted cases, tantamount to showing that the scheduling problems mentioned are intractable.
106
Microprogram Optimization: A Survey
TL;DR: For the majority of the techniques studied, much further work remains to be done before any practical applications can be foreseen, however some methods however constitute steps in the right directions.
103
A High-Level Language for Horizontal Microprogramming
C.V. Ramamoorthy,M. Tsuchiya +1 more
TL;DR: A high-level language, SIMPL (Single Identity MicroProgramming), for horizontal microprogramming has been developed, which allows the SIMPL compiler to easily detect concurrent microoperations and to optimize their intricate timing and concurrency for generating highly parallel and efficient object microprograms in horizontal formats.
86
The Organization of Microprogram Stores
TL;DR: Some aspects of control store archi tectures are surveyed, including the organization of microinst ruct ion words, and the effects of different t iming schemes on the complexi ty of both control s tore and hos t mach ine organizat ions.
77