A new approach to resource conflict analysis in microcode compaction has been developed. This paper begins with a description of the resource binding problem in microcode compaction and an analysis of earlier solutions. Then a new specification technique is presented and related to a standard problem in combinatorial theory. This new technique allows microoperations to be specified with resource choices, the actual binding to specific resources being delayed until compaction time. A polynomial-time algorithm for analyzing resource conflicts under this model is explained. Further extensions to the algorithm to support more complex machine models are suggested.
{"title":"A resource request model for microcode compaction","authors":"Tore Larsen, D. Landskov, B. Shriver","doi":"10.1145/1096419.1096451","DOIUrl":"https://doi.org/10.1145/1096419.1096451","url":null,"abstract":"A new approach to resource conflict analysis in microcode compaction has been developed. This paper begins with a description of the resource binding problem in microcode compaction and an analysis of earlier solutions. Then a new specification technique is presented and related to a standard problem in combinatorial theory. This new technique allows microoperations to be specified with resource choices, the actual binding to specific resources being delayed until compaction time. A polynomial-time algorithm for analyzing resource conflicts under this model is explained. Further extensions to the algorithm to support more complex machine models are suggested.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128928333","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
E. Takahashi, Kazutoshi Takahashi, Tatsushige Bito, Tohru Sasaki, Kazuyoshi Kitano
This paper presents a machine-independent address assignment program and its algorithm7 for horizontal microprograms. An address assignment operation is performed on a symbolic microprogram called a "standard sequence microprogram." Microprograms which need address assignment are translated to this standard sequence microprogram.The introduction of the standard sequence microprogram has made the address assignment tool applicable to various kinds of horizontal microprograms.
{"title":"Automatic address assignment of horizontal microprograms","authors":"E. Takahashi, Kazutoshi Takahashi, Tatsushige Bito, Tohru Sasaki, Kazuyoshi Kitano","doi":"10.1145/1096419.1096447","DOIUrl":"https://doi.org/10.1145/1096419.1096447","url":null,"abstract":"This paper presents a machine-independent address assignment program and its algorithm7 for horizontal microprograms. An address assignment operation is performed on a symbolic microprogram called a \"standard sequence microprogram.\" Microprograms which need address assignment are translated to this standard sequence microprogram.The introduction of the standard sequence microprogram has made the address assignment tool applicable to various kinds of horizontal microprograms.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127392882","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Microprogramming is an important technique to implement various functions on VLSI chips, and to adapt computers to application problems; but it is very difficult to generate an optimal and correct microcode, because each microarchitecture has its own peculiarities. This paper describes the effectiveness of an expert system based on a knowledge base for microprogramming. The purpose of the system is to give microprogrammers with a tool to develop microprograms without requiring that they have a deep knowledge of the microarchitecture, and to reduce microarchitecture learning time. The system is called MIXER. MIXER is a microprogram development system having as its knowledge base Texas Instruments' TI990 microarchitecture, and generates a TI990 microcode. This paper also describes the creation of a PASCAL-P machine emulator by applying MIXER.
{"title":"MIXER: an expert system for microprogramming","authors":"Toru Shimizu, K. Sakamura","doi":"10.1145/1096419.1096444","DOIUrl":"https://doi.org/10.1145/1096419.1096444","url":null,"abstract":"Microprogramming is an important technique to implement various functions on VLSI chips, and to adapt computers to application problems; but it is very difficult to generate an optimal and correct microcode, because each microarchitecture has its own peculiarities. This paper describes the effectiveness of an expert system based on a knowledge base for microprogramming. The purpose of the system is to give microprogrammers with a tool to develop microprograms without requiring that they have a deep knowledge of the microarchitecture, and to reduce microarchitecture learning time. The system is called MIXER. MIXER is a microprogram development system having as its knowledge base Texas Instruments' TI990 microarchitecture, and generates a TI990 microcode. This paper also describes the creation of a PASCAL-P machine emulator by applying MIXER.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132968788","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The development environment for microprogramming an implementation (E-Machine) of the Burroughs stack architecture (E-Mode) is discussed with an overview of a supporting hardware organization (the Alpha machine). The set of information-sharing tools in the E-Machine workbench, especially the structured language Ohne, is described and a sample E-Mode operator is used to illustrate several of these tools.
{"title":"An E-Machine workbench","authors":"Gylver Wagnon, Dennis J. W. Maine","doi":"10.1145/1096419.1096435","DOIUrl":"https://doi.org/10.1145/1096419.1096435","url":null,"abstract":"The development environment for microprogramming an implementation (E-Machine) of the Burroughs stack architecture (E-Mode) is discussed with an overview of a supporting hardware organization (the Alpha machine). The set of information-sharing tools in the E-Machine workbench, especially the structured language Ohne, is described and a sample E-Mode operator is used to illustrate several of these tools.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"289 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124170144","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Although Fisher's trace scheduling procedure for global compaction may produce significant reduction in execution time of compacted microcode, the growth of memory size by extensive copying of blocks can be enormous. In the worst case, the memory size can grow exponentially [FIS81a] and the complex bookkeeping stage of the trace scheduling is an obstacle to implementation.A technique called tree compaction, which is based on the trace scheduling, is proposed to mitigate these drawbacks. Basically, it partitions a given set of microprogram blocks into tree-shaped subsets and applies the idea of trace scheduling on each tree-shaped subset separately. It achieves almost all of the compaction of the Fisher's trace scheduling procedure except that which causes copying of blocks. Preliminary tests indicate that tree compaction gives almost as short execution time as trace scheduling but with much less memory. The paper includes such an example.
{"title":"Tree compaction of microprograms","authors":"Jeh-kun Lah, D. Atkins","doi":"10.1145/1096419.1096424","DOIUrl":"https://doi.org/10.1145/1096419.1096424","url":null,"abstract":"Although Fisher's trace scheduling procedure for global compaction may produce significant reduction in execution time of compacted microcode, the growth of memory size by extensive copying of blocks can be enormous. In the worst case, the memory size can grow exponentially [FIS81a] and the complex bookkeeping stage of the trace scheduling is an obstacle to implementation.A technique called tree compaction, which is based on the trace scheduling, is proposed to mitigate these drawbacks. Basically, it partitions a given set of microprogram blocks into tree-shaped subsets and applies the idea of trace scheduling on each tree-shaped subset separately. It achieves almost all of the compaction of the Fisher's trace scheduling procedure except that which causes copying of blocks. Preliminary tests indicate that tree compaction gives almost as short execution time as trace scheduling but with much less memory. The paper includes such an example.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"403 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122858789","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
High level microprogramming languages have been studied extensively, but no widely accepted HLML exists to date. We examine the classes of HLMLs, giving examples. We then give some reasons as to the current lack of an accepted HLML, and give some suggestions how to solve this problem. The existence of a HLML would allow work on higher level microprogramming and firware engineering to proceed more rapidly. A possible microprogramming environment, based on a HLML, is presented.
{"title":"High level microprogramming: current usage, future prospects","authors":"S. Davidson","doi":"10.1145/1096419.1096448","DOIUrl":"https://doi.org/10.1145/1096419.1096448","url":null,"abstract":"High level microprogramming languages have been studied extensively, but no widely accepted HLML exists to date. We examine the classes of HLMLs, giving examples. We then give some reasons as to the current lack of an accepted HLML, and give some suggestions how to solve this problem. The existence of a HLML would allow work on higher level microprogramming and firware engineering to proceed more rapidly. A possible microprogramming environment, based on a HLML, is presented.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116664713","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The problem of compacting microcode has received considerable attention, but there remains much room for improvement. The major obstacle is the NP-completeness of the associated optimization problem and the coupling between code generation and compaction. Reduction operators are one form of heuristic technique that have been used effectively in scene analysis. By abstracting the microcode compaction problem as a constraint satisfaction problem, we can utilize some developed heuristic techniques. This approach is demonstrated along with experimental results obtained from a computer implementation. A comparison is made with several existing methods.
{"title":"Local and global microcode compaction using reduction operators","authors":"Steven G. Henry, R. A. Mueller, M. Andrews","doi":"10.1145/1096419.1096425","DOIUrl":"https://doi.org/10.1145/1096419.1096425","url":null,"abstract":"The problem of compacting microcode has received considerable attention, but there remains much room for improvement. The major obstacle is the NP-completeness of the associated optimization problem and the coupling between code generation and compaction. Reduction operators are one form of heuristic technique that have been used effectively in scene analysis. By abstracting the microcode compaction problem as a constraint satisfaction problem, we can utilize some developed heuristic techniques. This approach is demonstrated along with experimental results obtained from a computer implementation. A comparison is made with several existing methods.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122099704","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Retargetability of microcode compilers is currently a major issue in microprogramming. We address the issue of local code generation from machine-independent specifications using weakest precondition semantics. The micromachine model used is a flow graph which is an abstract representation of the data paths of the machine. Examples of code generated by a prototype implementation are provided as an illustration of the method.
{"title":"Flow graph machine models in microcode synthesis","authors":"R. A. Mueller, Joseph Varghese","doi":"10.1145/1096419.1096443","DOIUrl":"https://doi.org/10.1145/1096419.1096443","url":null,"abstract":"Retargetability of microcode compilers is currently a major issue in microprogramming. We address the issue of local code generation from machine-independent specifications using weakest precondition semantics. The micromachine model used is a flow graph which is an abstract representation of the data paths of the machine. Examples of code generated by a prototype implementation are provided as an illustration of the method.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133929818","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The VAX-11/780 was designed specifically to implement the VAX architecture. As such, it does not support the IEEE standard for floating point arithmetic. A project was undertaken to provide this support by modifying the 11/780 microarchitecture. Our objective was to produce a microengine that would efficiently execute a modified VAX instruction set, in particular, one that executes VAX floating point instructions consistent with the IEEE standard. We made minimal changes to the 11/780 hardware, relying primarily on changes to the microcode. This paper describes the work of this project.
{"title":"Modifications to the VAX-11/780 microarchitecture to support IEEE floating point arithmetic","authors":"D. Aspinwall, Y. Patt","doi":"10.1145/1096419.1096429","DOIUrl":"https://doi.org/10.1145/1096419.1096429","url":null,"abstract":"The VAX-11/780 was designed specifically to implement the VAX architecture. As such, it does not support the IEEE standard for floating point arithmetic. A project was undertaken to provide this support by modifying the 11/780 microarchitecture. Our objective was to produce a microengine that would efficiently execute a modified VAX instruction set, in particular, one that executes VAX floating point instructions consistent with the IEEE standard. We made minimal changes to the 11/780 hardware, relying primarily on changes to the microcode. This paper describes the work of this project.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114526370","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Control-unit microcode is characterized by the control of multiple asynchronous devices. This paper describes the Concurrent Microprogramming Facility (CMF), a general-purpose microcode operating system that applies recent advances in programming technology to define a uniform method of expressing this inherent asynchrony. This method is shown to be the basis for the partition of the microcode function and to provide a framework for communication between programmers as well as programs. CMF provides an environment where microcode is viewed as disjoint asynchronous processes that communicate with each other and hardware adapters using a small set of primitives based on the concept of message passing. A uniform process interface both streamlines documentation and accommodates multiprocessor designs. A macro-based system definition facility drives the system and allows the structure of a large microprogram to be specified on a single page.
{"title":"A concurrent microprogramming facility","authors":"J. Fedak","doi":"10.1145/1096419.1096432","DOIUrl":"https://doi.org/10.1145/1096419.1096432","url":null,"abstract":"Control-unit microcode is characterized by the control of multiple asynchronous devices. This paper describes the Concurrent Microprogramming Facility (CMF), a general-purpose microcode operating system that applies recent advances in programming technology to define a uniform method of expressing this inherent asynchrony. This method is shown to be the basis for the partition of the microcode function and to provide a framework for communication between programmers as well as programs. CMF provides an environment where microcode is viewed as disjoint asynchronous processes that communicate with each other and hardware adapters using a small set of primitives based on the concept of message passing. A uniform process interface both streamlines documentation and accommodates multiprocessor designs. A macro-based system definition facility drives the system and allows the structure of a large microprogram to be specified on a single page.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128978121","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}