The mobile programming system: STAGE2
Communications of the ACM
BLISS: a language for systems programming
Communications of the ACM
Communications of the ACM
MPGS: a high-level language for microprogram generating system
ACM '72 Proceedings of the ACM annual conference - Volume 1
Compiler Construction for Digital Computers
Compiler Construction for Digital Computers
Microprogramming with statements of higher-level languages
MICRO 5 Conference record of the 5th annual workshop on Microprogramming
ISPMET: a study in automatic emulator generation
MICRO 5 Conference record of the 5th annual workshop on Microprogramming
MICRO 6 Conference record of the 6th annual workshop on Microprogramming
A higher level language for micro-programming
MICRO 6 Conference record of the 6th annual workshop on Microprogramming
Design of a microprogramming language
MICRO 6 Conference record of the 6th annual workshop on Microprogramming
Report of session on structured programming
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
Computer structures: Readings and examples (McGraw-Hill computer science series)
Computer structures: Readings and examples (McGraw-Hill computer science series)
A programming language
Dynamic microprogramming in a time sharing environment
MICRO 10 Proceedings of the 10th annual workshop on Microprogramming
Microbe: A self commenting microassembler
MICRO 10 Proceedings of the 10th annual workshop on Microprogramming
Hi-index | 0.00 |
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.