3 8 .Introductio n Many of our computer science courses involve teaching students about rather large and complex hardware and/o r software systems . While we would like our students to retain th e important concepts in such courses, we also would like them t o have "hands-on" experience which will ensure better understanding of the concepts as well as better appreciation for th e complexity of the systems . Unfortunately it is not alway s possible to do this within the time constraints of a one semester course .For this reason, many courses involve simulations o f hypothetical machines or simplified software developmen t projects . Hands-on projects involving the simplified systems and explanations of how actual systems may differ from th e simplified systems combine to provide the student with a fir m understanding of the concepts.In this paper we deal with a fictitious architecture take n from [Tanenbaum 1990] and show how it can be used to provid e students with laboratory projects in two courses : Compute r Architecture or Organization, and Compiler Design .We will deal in particular with the microprogrammin g level of a fictitious machine called "Mic 1 " since the complexity , parallelism, and interconnectedness of actual microprogramme d computers are not appropriate for a first undergraduate course i n Computer Architecture . This paper describes a software simulator for the Micl architecture and proposes several projects for students ranging from simple Micl programs to the simulator itself as a project . Students gain a better understanding of thi s architecture and retain more concepts as a result of programming and debugging algorithms for the Micl machine .We will also deal with a high-level like language calle d MAL which is used to program the Midi machine . Thi s language is sufficiently similar to Pascal that its implementatio n serves as an appropriate project for a first undergraduate cours e in Compiler Design . Students who are enrolled in both Corn-SIGCSE Vol . 25 No . 2 June 199 3 BULLETIN puter Architecture and Compiler Design at the same time ca n benefit by applying concepts from one course to another .[Moore 1983], [Parker 1984], [Donaldson 1987], [Fole y 1992], and others have reported on the use of a simulator fo r microprogramming projects . This work is different in that i t also makes use of a compiler for a high level language used t o program the microarchitecture, enabling students to tackl e problems of much greater complexity, such as an interpreter fo r a conventional machine . 2.The Micl Architecture A. The Mic 1 Data PathThe Mic 1 architecture, as specified in [Tanenbaum 1990] is a 16 bit architecture consisting of 16 general purpos e registers (each 16 bits wide), a 4 function ALU, a shifter, a 64 K x 16 bit RAM, and a 256 x 32 bit control store. The data paths are 16 bits wide and are shown in figure 1 , B. The Microinstruction Forma tThe control store is 32 bits wide, allowing for 32-bi t microinstructions . The microinstruction format is describe d below, in order fr...
We are designing a number of programming projects which utilize input/output devices, such as joysticks or a homebrewed board we call a MIPPET (Module for Input/Output Programming Projects Enhancing Teaching). These projects have been used or will be used in the closed labs of our CSl course (taught in C++). The goal of these projects is to enhance student comprehension (by teaching objects with "real" objects) and student motivation (by providing "fun' projects). This paper focuses on an early project, where the student's program provides support for a human solving a maze.
We are designing a number of programming projects which utilize input/output devices, such as joysticks or a homebrewed board we call a MIPPET (Module for Input/Output Programming Projects Enhancing Teaching). These projects have been used or will be used in the closed labs of our CSl course (taught in C++). The goal of these projects is to enhance student comprehension (by teaching objects with "real" objects) and student motivation (by providing "fun' projects). This paper focuses on an early project, where the student's program provides support for a human solving a maze.
Some keys for the RSA public key cryptosystem fail to encrypt all possible plaintext messages. A necessary and sufficient condition for these degenerate keys is given. The probability of choosing such a key, when choosing keys at random, is presented. The impact of degenerate keys in an academic setting is discussed.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.