{"title":"A microprogram simulator and compiler for an enhanced version of Tanenbaum's MIC-1 machine","authors":"J. Donaldson","doi":"10.1145/199688.199797","DOIUrl":null,"url":null,"abstract":"One of the objectives of a course in computer organization is to show how the machine language of a computer (with which students are already familiar through an assembly language course) is actually implemented. This is normally accomplished by first gaining familiarity with digital logic (gates, flip-flops, registers, multiplexer, etc.) and then proceeding to design a simple machine. The last stage of this design process is to design the control unit, either by hardwired control or microprogramming. Thus, microprogramming is a central topic in the study of computer organization, tying together the study of digital logic with the implementation of the machine language of a computer. It follows that laboratory experience in microprogramming should be an important part of the computer organization course. In most cases, however, access to microprogrammable hardware is not available. Although some instructors have utilized commercially available microprogrammable processors [1] or actually built microprogrammable hardware for classroom use [2], the most common approach has been to rely on software simulation of hardware at the microprogramming level [3-12]. The simulation approach allows students to carry out a variety of exercises involving the implementation of a conventional machine language. The most popular target architecture for classroom simulators has been the Mic-1 machine described in the Computer Organization text of Tanenbaum [13]. The Mic-1 is a microprogrammable architecture which Tanenbaum uses to implement a simple machine instruction set for a single-accumulator machine called the Mac1.","PeriodicalId":232532,"journal":{"name":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","volume":"59 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/199688.199797","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
Abstract
One of the objectives of a course in computer organization is to show how the machine language of a computer (with which students are already familiar through an assembly language course) is actually implemented. This is normally accomplished by first gaining familiarity with digital logic (gates, flip-flops, registers, multiplexer, etc.) and then proceeding to design a simple machine. The last stage of this design process is to design the control unit, either by hardwired control or microprogramming. Thus, microprogramming is a central topic in the study of computer organization, tying together the study of digital logic with the implementation of the machine language of a computer. It follows that laboratory experience in microprogramming should be an important part of the computer organization course. In most cases, however, access to microprogrammable hardware is not available. Although some instructors have utilized commercially available microprogrammable processors [1] or actually built microprogrammable hardware for classroom use [2], the most common approach has been to rely on software simulation of hardware at the microprogramming level [3-12]. The simulation approach allows students to carry out a variety of exercises involving the implementation of a conventional machine language. The most popular target architecture for classroom simulators has been the Mic-1 machine described in the Computer Organization text of Tanenbaum [13]. The Mic-1 is a microprogrammable architecture which Tanenbaum uses to implement a simple machine instruction set for a single-accumulator machine called the Mac1.