skip to main content
article
Free Access

Design considerations for microprogramming languages

Published:01 April 1974Publication History
Skip Abstract Section

Abstract

The growing acceptance of user-microprogrammable computers indicates that microprogramming, as a discipline, will require development of user-oriented microprogramming support. A number of approaches (definition of sophisticated target machines, microcode assemblers, and higher level microprogramming languages) have been proposed. The issues involved in choosing support tools include the range of proposed applications, hardware parallelism (horizental or minimally encoded control vs. vertically encoded control) and constraints on performance. After reviewing some of these tradeoffs, design considerations for higher level microprogramming languages are considered. One of the most important design decisions is fixing the level of the language, defined on a continuum from symbolic assemblers, through general purpose programming languages such as PL/I. A tailored language concept is defined and illustrated, using as an example a microprogramming language for a horizontally encoded microprogrammable computer currently under development.

References

  1. AG73 Agrawala, A. K., and Rauscher, T. G., "The Application of Programming Language Techniques to the Design and Development of Microprogramming Languages", MICRO6, Sept 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ANa73 Anagnostopoulos, P. C., et al, "Computer Architecture and Instruction Set Design", AFIPS, 73 NCC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BA73 Barr, R. G., et al, "A Research Oriented Dynamic Microprocessor", IEEE Transactions on Computers, Nov. 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BE72 Bergeron, R. D., et al., "Systems Programming Languages - A Survey", Advances in Computers, Vol. 12, 72.Google ScholarGoogle Scholar
  5. BL73 Blomberg, L. and Lawson, H., "The Datasaab FCPU Microprogramming Language", SIGMICRC/SIGPLAN Interface Meeting, May 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BR73 Broadbent, J. K. and Coulouris, G. F., "MEMBERS- A Microprogammed Experimental Machine with a Basic Executive for Real-Time Systems", SIGMICRC/SIGPIAN Interface Meeting, May 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. BRO73 Broca, F. R. and Merwin, R. E., "Direct Execution Of the Intermediate Text From a High-Level Language", SIGMICRO/SIGPIAN Interface Meeting, May 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. DI71 Dickman, B. N., "ETC - An Extendible Macro-Based Compiler", AFIPS, 71 FJCC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. EC71 Eckhouse, "A High Level Microprogramming Language (MPL)", AFIPS, 71 SJCC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. GR71 Gries, D., Compiler Construction Techniques for Digital Computers, New York: John Wiley & Sons, Inc. 71.Google ScholarGoogle Scholar
  11. HA73 Harrison, M. C., "Language Oriented Instruction Sets", SIGMICRO/SIGPLAN Interface Meeting, May 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. HU70 Husson, S. S., Microprogramming: Principles & Practice, Englewood Cliffs, New Jersey; Prentice-Hall, 70.Google ScholarGoogle Scholar
  13. LE66 Leavenworth, E. M., "Syntax Macros and Extended Translation", CACM, Nov 66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. LL73 Lloyd, G. R., et al, "MCU Microprogramming Language Study - Source Level Description", Brown University Technical Report, Contract N00014--67-A-0191-0027, Dec 73.Google ScholarGoogle Scholar
  15. MA72 Magel, K. I. "Preliminary Overview of Extensions to Programming Languages", Brown Univ. Computing Review, June 72.Google ScholarGoogle Scholar
  16. MA73 Magel, K. I, "Extension Mechanisms in LSD", Brown Univ. Technical Report, Feb 73.Google ScholarGoogle Scholar
  17. MI73 MICRODATA 32/S Computer Programming Language MPL, Microdata Corporation, 73.Google ScholarGoogle Scholar
  18. NA73 QM-1 Hardware Level Users Manual, Nanodata Corporation, March 73.Google ScholarGoogle Scholar
  19. NRLa73 AN/UYK-17 Signal Processing Element Architecture (preliminary), Naval Research Laboratory, June 73.Google ScholarGoogle Scholar
  20. NRLb73 AN/UYK-17 Signal Processing element Microcoding Support Software (preliminary), Naval Research Laboratory, June 73.Google ScholarGoogle Scholar
  21. CE73 Oestreicher, D. R., "General Purpose Microprogramming Language", SIGMICRC/SIGPIAN Interface Meeting, May 73.Google ScholarGoogle Scholar
  22. RA72 Rauscher, T. G., "On the Feasibility of Emulating the AN/UYK-7 Computer on the AAD Signal Processing Element", NRL Memo 2525, Nov. 72.Google ScholarGoogle Scholar
  23. RA73 Rauscher, T. G., "Towards a Specification of Syntax and Semantics for Languages for Horizontal Microprogrammed Machines", SIGMICRC/SIGPLAN Interface Meeting, May 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. RAM71 Ramamoorthy, C. V. and Kleir, R. L., "A Survey of Techniques for Optimizing Microprograms", MICRO3, Oct 70.Google ScholarGoogle Scholar
  25. RAM73 Ramamoorthy, C. V., Tabandeh, M. and Tsuchiya, M., "A Higher Level Language for Microprogramming", MICRO6, Sept 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. SC73 Schneider, V. B. and Wade, B. W., "A General Purpose Language for Minicomputers", SIGMICRO/SIGPIAN Interface Meeting, May 73.Google ScholarGoogle Scholar
  27. TI73 Tirrell, A. K., "A Study of the Application of Compiler Techniques to the Generation of Microcode", SIGMICRO/SIGPLAN Interface Meeting, May 73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. WI68 Wirth, N., "PL360", JACM, Jan 68.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!