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}
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}
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}
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}
A method of automated design of horizontal microprograms from their vertical specifications is proposed. It may be considered complementary to the known microprogram compaction algorithms in that it mainly deals with branching and looping structure of the source microprogram and not with its straight line segments. The method is based on systematic performance of a local microprogram transformation dynamically adjusted to the hardware derived constraints formulated separately.
{"title":"On automated design of compacted microprograms","authors":"P. Dembinski","doi":"10.1145/1096419.1096450","DOIUrl":"https://doi.org/10.1145/1096419.1096450","url":null,"abstract":"A method of automated design of horizontal microprograms from their vertical specifications is proposed. It may be considered complementary to the known microprogram compaction algorithms in that it mainly deals with branching and looping structure of the source microprogram and not with its straight line segments. The method is based on systematic performance of a local microprogram transformation dynamically adjusted to the hardware derived constraints formulated separately.","PeriodicalId":138968,"journal":{"name":"ACM Sigmicro Newsletter","volume":"42 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":"129127718","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}