skip to main content
article
Free Access

A case study of the migration of an algorithm across software-firmware boundaries

Published:01 December 1977Publication History
Skip Abstract Section

Abstract

There are many ways to implement an algorithm using a digital system. We can implement an algorithm directly in software, firmware, hardware or a mix of these techniques. For example, a program can be written for a microcomputer that uses external hardware (e.g. a calculator chip) to do floating point arithmetic. Another example is a machine language program that is optimized by rewriting heavily used portions of the program in firmware. Thus we see that a user (a term we shall use throughout to mean the implementor of the algorithm) potentially has a wide range of implementation methods from which to choose.

References

  1. Bauer, S. M. "Bell Labs microcode for the IBM 360/67," Eighth Annual Workshop on Microprogramming, (September, 1975), pp. 40--45.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Chesson, G. L. "Communication and control in a Cluster Network," Proceedings ACM, 1974, pp. 509--514.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Davidson, S. "An Examination of Software-Firmware Tradeoffs," Masters Thesis, University of Illinois at Urbana-Champaign, January 1977.]]Google ScholarGoogle Scholar
  4. Davidson, S. "A Network of Dynamically Microprogrammable Machines," SIGMICRO Newsletter 6, No. 4 (December, 1975), pp. 27--32.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Davidson, S. "Syntax and Use of the SUE Microassembler," Annual Progress Report (ending May 20, 1975), Department of Computer Science, University of Illinois, Report No. UIUCDCS-APR-75, pp. 353--360.]]Google ScholarGoogle Scholar
  6. Davidson, S. and Tao, W. Y. "Testing of Microprograms Using the Lockheed SUE microinstruction Simulator," Proceedings of Symposium on Simulation of Computer Systems (August, 1976), pp. 189--196.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Hassitt, A., Lageschutte, J. W. and Lyon, L. E. "Implementation of a High Level Language "Machine," Comm. ACM 16,4 (April, 1973), pp. 199--212.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jones, D. and Lathrop, S. "An Assembler for the INTEL 8080 on the PDP-11," CS491 Class Project, (Spring, 1974), University of Illinois at Urbana-Champaign.]]Google ScholarGoogle Scholar
  9. Krishnaswamy, J. "A Pascal Compiler," (in preparation).]]Google ScholarGoogle Scholar
  10. Lockheed Electronics "Microprogramming Guideline for the SUE 1110 Microprocessor," SUE Application Memo No. 101.]]Google ScholarGoogle Scholar
  11. Lockheed Electronics "SUE Processor Instruction Set," General System Bulletin 63, Third Edition (May, 1973).]]Google ScholarGoogle Scholar
  12. McClary, E., "An Execution Time Monitor for the PDP-11," (Internal Memo), 1975.]]Google ScholarGoogle Scholar
  13. Tao, W. Y. "A User Manual for the Lockheed SUE Microinstruction Simulator (Revised)," File No. UIUCDCS-F-75-883, Department of Computer Science, University of Illinois at Urbana-Champaign, (May, 1975).]]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

  • Published in

    cover image ACM SIGMICRO Newsletter
    ACM SIGMICRO Newsletter  Volume 8, Issue 4
    December 1977
    25 pages
    ISSN:1050-916X
    DOI:10.1145/1096518
    Issue’s Table of Contents

    Copyright © 1977 Author

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 December 1977

    Check for updates

    Qualifiers

    • article
  • Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)0

    Other Metrics

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!