skip to main content
10.1145/800118.803843acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
Article
Free access

Approaches to design of high level languages for microprogramming

Published: 30 September 1974 Publication History

Abstract

The development of a programming language for microprocessors (we will use the term microprocessor to refer to the hardware host to be microprogrammed) differs from the development of languages for conventional processors [5, 6]. The difference is traced to:
(1) concurrency of hardware
(2) limited writable local memory
(3) main memory access delay and I/0 control
(4) limited microprocessor instruction repertoire
(5) special hardware characteristics that impact heavily upon machine efficiency.
These features impose restrictions upon the compiler writer that have not been fully overcome [5, 6, 8, 10, 14]. Writable control memory, for example, places severe restrictions on the designer who wishes to implement a syntax driven compiler that produces many intermediate results that must be stored.
It is not the intention of this paper to advocate a solution to any of the five problems listed above or to propose a particular language design. Instead we will present a basic compilation model (see Figure 1) and briefly discuss some of the alternatives to be considered at each level of the model.
The discussion is broken into five areas: (a) syntax design, (b) phase I interface design, (c) intermediate language design, (d) phase II interface design, and (e) micro-instruction format considerations. In addition section 3 presents various arguments on timing and concurrency recognition. Finally, section 4 proposes a translator writing system to aid in microcompiler (a translator that produces microprograms) development.

References

[1]
Agrawala, A. K. and Rauscher, T. G., "The Application of Programming Language Techniques to the Design and Development of Microprogramming Languages," MICRO6, September, 1973.]]
[2]
Beandt, H., "Microprogramming With Statements of Higher Level Languages," MICRO5, September, 1972.]]
[3]
Bell, G. and Newell, A., Computers Structures, Readings and Examples, McGraw-Hill, 1971.]]
[4]
Brown, P. J., "The ML/1 Macro Processor," CACM, 10, 10 (October, 1967), pp. 618-623.]]
[5]
Chu, Youhan, Computer Organization and Microprogramming, Prentice-Hall, 1972.]]
[6]
Eckhouse, R. H., Jr., "A High Level Microprogramming Language (MPL), Proc. AFIPS (SJCC), Vol. 38, 1971, pp. 169-177.]]
[7]
Eckhouse, R. H., Jr., Ph.D. thesis, State University of New York at Buffalo, Department of Computer Science, June 1971.]]
[8]
Goessling, D. F. and McDonald, J. F., "ISPMET—A Study in Automatic Emulator Generation," MICRO5, September, 1972.]]
[9]
Gries, D., Compiler Construction for Digital Computers, New York: John Wiley & Sons, Inc., 1971.]]
[10]
Hatton, M., Yano, M., and Fujino, K., "MPGS: A High Level Language Language for Microprogram Generating Systems," ACM National Conference, August, 1972.]]
[11]
Hibbs, C., "AQL-Automatic Quasi Language," Computer Science Department, University of Southwestern Louisiana, Lafayette, Louisiana 70501, (ref. T. G. Lewis), 1973.]]
[12]
Iverson, K. E., A Programming Language, John Wiley & Sons, Inc., 1962.]]
[13]
Liskov, B., "Report of Session on Structured Programming," Robert Freibinghouse, Chairman, Proceeding of ACM SIGPLAN-SIGOPS Interface Meeting, Savannah, Georgia, April 9-12, 1973.]]
[14]
Lloyd, G. R. and van Dam, A., "Design Considerations for Microprogramming Languages," SIGMICRO Newsletter, April, 1974, Vol. 5, number 1.]]
[15]
Noguez, G. L. M., "Design of a Microprogramming Language," MICRO6, September, 1973.]]
[16]
Ramamoorthy, C. V., Tabandeh, M., and Tsuchiya, M. Higher Level Language for Micro-Programming," MICRO6, September, 1973.]]
[17]
Rauscher, T. G. and Agrawala, A. K., "Towards a Specification of Syntax and Semantic of Horizontal Microprogramming Languages," Proceedings of ACM National Conference, 1973.]]
[18]
Richards, M., "The Portability of the BCPL Compiler," Software-Practice and Experience, Vol. 1, pp. 135-146, 1971.]]
[19]
Waite, W. M., "The Mobile Programming System, STAGE II," CACM 13, 7 (July, 1970), pp. 415-421.]]
[20]
Wulf, W. S., Russell, D. B., and Haberman, A. N., "BLISS—A Language for Systems Programming," CACM 14, 12 (December, 1971), pp. 780-790.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MICRO 7: Conference record of the 7th annual workshop on Microprogramming
September 1974
322 pages
ISBN:9781450374217
DOI:10.1145/800118
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 September 1974

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 484 of 2,242 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)37
  • Downloads (Last 6 weeks)11
Reflects downloads up to 29 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media