This action might not be possible to undo. Are you sure you want to continue?
´ LORENZO MORENO, EVELIO J. GONZALEZ, BEATRICE POPESCU, JONAY TOLEDO, ´ S TORRES, CARINA GONZALEZ JESU
´tica y ATC, University of La Laguna, CP 38207 Canary Islands, Spain Departamento de Ingenierı´a de Sistemas y Automa
Received 9 June 2008; accepted 2 December 2008
ABSTRACT: As in other ﬁelds of Engineering, simulators are widely used to teach Memory hierarchy topics. In this paper, a simulator called MNEME (due to the muse of the memory in Greek mythology), which includes a complete vision of memory hierarchy topics, is presented. This simulator has been validated and improved using feedback from students during two academic years. This way, the students have taken part signiﬁcantly in the MNEME design process. ß 2009 Wiley Periodicals, Inc. Comput Appl Eng Educ; Published online in Wiley
InterScience (www.interscience.wiley.com); DOI 10.1002/cae.20317
computer architecture; memory hierarchy; simulator
Due to its importance, Memory hierarchy is taught in several subjects and degrees, with different level of depth and related to different topics. Apart from other resources (as reference books, like ), the use of simulators is a tested valuable tool for the teaching of this discipline, since the students can test how cache memory works with a detail that it is impossible to reach by other techniques. Nevertheless, although simulators are widely used in Computer Architecture
´ Correspondence to E. J. Gonzalez (firstname.lastname@example.org). ß 2009 Wiley Periodicals Inc.
courses, simulators by themselves are not enough to significantly improve the learning process. It is necessary to carry out other activities which allow the students to gain knowledge, comprehend theoretical concepts and apply those concepts to the real world . From their experience, the authors have observed three statements:
There are many concepts deﬁning themselves many parameters to establish in a practical way: global/local memory, execution/wait queues, eviction algorithms, bus size between the different cache levels, cache memory size,
Moodle platform has been used as a collaboration framework among the students and teachers. the authors have observed the beneﬁts of this student participation and decided to repeat it as a learning procedure. they could lead to new misconceptions. page size in virtual memory. The remainder of this paper is organized as follows. page table implementations. if the real context is complex itself (i. called MNEME [7. concerning the other alternative. with many parameters and many concepts to be monitored for a pedagogical pursue). This fact does not mean that the simulator can not be run locally. obtaining a complete version of MNEME.. especially trace-driven oriented ones. such a new commercial machine conﬁguration. This paper presents the mentioned simulator for memory hierarchy topics in a Computer Architecture course. Finally some conclusions are offered. existing simulators. Some complementary activities are related in Other Activities in the Course Section. implementers must include some kind of mechanism in order to make the simulator useful from a pedagogical point of view. It is important to remark that the students have not written any code for the simulator. experiments are often executed in a relatively old processor. researchers have been assumed the roles of teacher and observer of the process. These iterative activities will allow students to get a deeper knowledge of the subject in a social constructivist way. Thus. execution-driven simulators are usually too complicated and without a friendly interface. The feedback of students obtained in the validation phase is reported in Evaluation and Feedback From the Students Section. etc. In contrast. the authors will state that a simulator should not carry out an excessive simpliﬁcation in order to make it simple. mapping functions. Nevertheless. since MNEME can be downloaded free of charge and the users can access its features by opening a HTML ﬁle. to make experiments on the hardware. In addition to this. The main features of MNEME can be summarized as follows: multithread. becoming inappropriate for undergraduate students [3À5]. Description of MNEME and Procedures for Using it as a Learning Resource Section describes MNEME features and its use as a learning resource. Nevertheless. reflects those statements and takes advantage from the flexibility of the software. a survey of simulators can be found in Ref. DESCRIPTION OF MNEME AND PROCEDURES FOR USING IT AS A LEARNING RESOURCE Description of the MNEME Simulator MNEME is a multiplatform simulation tool developed in Java Swing as an Applet. Nevertheless. hyperpaging direct and reverse mapping. In this way. etc.e. For this phase. TLB size. This simulator. The students (from different degrees and subjects) were asked to take part actively in this process. called sj. Although the simulator is valuable tool in and of itself (as example. line size in cache memory. due to technical limitations. Memory hierarchy teaching process should include every characteristic existing in actual machines: cache levels. For this purpose. eviction algorithms. Regarding to this. testing the successive versions of the simulator. since it is not the goal of the process. MNEME results in a complex simulator. looking for information in technical papers and journals. the authors have proposed a learning scheduling based on the design and implementation of a simulator. detailed below. . .html. the proposed method has taken pedagogical aspects from the design phase. the simulator needs to be complex. It would be desirable. In contrast. when it is used in laboratory procedures). Keeping these statements in mind. Due to the complexity of the ﬁeld to model. This reﬁnement process has been carried out for 2 years. and this is its main strength: its complexity will cover a wide and complete range of architectures and examples. are often too simple and show how caches work in an isolated way. the students will work in this phase with incomplete/old versions of the simulator and/or including some novelties. proposing new features/machines to be included. detecting possible bugs. In other words. since they are encouraged to share their impressions and work together. In this last case. documenting its use through tutorials and help ﬁles. For these activities. with a simple cache organization.8].2 MORENO ET AL. damaging the learning process extensibility. developers should not oversimplify their design because doing this. write allocate/non write allocate. * * allocation page size. MNEME will result in a complex simulator. The debate about simple or complex simulators is out of the scope of this paper. etc. so it can be run in any Internet browser window. several principles identiﬁed by Chickering and Gamson  for good practice in undergraduate education are reached. even more in a nearly Design-based Research (DBR) approach.
the address to be Figure 1 An example of MNEME configuration tab. MNEME deﬁnes a 2-digit limit for levels of memory hierarchy and threads to be simulated. The name of the tags are pretended to be auto-explained. Nevertheless. age paging control. As example. sizeable buses. users can modify the parameters they have just loaded from the simulator GUI (as shown in Fig. An excerpt of an example is the following: Each line represents the address to be accessed and the type of access. The conﬁguration ﬁle is a XML ﬁle determining the conﬁguration structure of the simulator. The complete information about the tags and their meaning is added in the simulator help. Interaction with the simulator can be deﬁned by the following sequence: Loading a Conﬁguration File. thus students can deﬁne their own conﬁguration ﬁles. control of the simulation speed. eviction policy deﬁnition.MNEME 3 TLB with levels. . 1) without editing any XML ﬁle. the following excerpt deﬁnes diverse parameters concerning the main memory conﬁguration. data loading from server. Although conﬁguration ﬁles are pretended to be an easy way to deﬁne new memory hierarchy conﬁgurations. Conﬁrmation/Changes of MNEME Conﬁguration. There is no limitation when deﬁning cache size. This ﬁle contains a set of read/ write/fetch instructions. As can be seen. Loading a Trace File.
g. MNEME offers in a visual way. In the ﬁndPages tab. This tab (shown in Fig. Before an object is removed (e. This configuration means that the system is in its initial status. composed by 8 digits. is not shown directly in the simulator.) and each file represent a memory address. In this tab. KEY. the actual status of the diverse memories of the conﬁgured machine. MNEME shows the different memories that take part in the table pages. In addition of this. stop. In Figure 4. the color of implied code lines will change. pid of the referred process. that is. ﬁndPages Tab. The mentioned tabs are described below. Data are represented by tables. concerning to an indirect mapping. This address. The other fragments are assigned to the cache level fields in the findPages tab. MNEME offers a set of tabs where a complete list of parameters can be visualized by the students. the instruction being processed is shown in the bottom left-hand corner and the user can chose the simulation control from four buttons in the tab (play. etc. and step) and a bar that deﬁnes the speed of the simulation. Bp Tab. PageTable Tab. In Figure 2. . In the heading of each memory level.4 MORENO ET AL. Once the two ﬁles have been loaded. For each event. it can be observed a button with the information symbol. Simulation. In the case of a direct mapping. the simulator shows the tree of information tables for the mapping and the information concerning the virtual address. the next 2 digits (8 bits) and the last digit (4 bits). Before describing each tab. the address being accessed is shown (in both decimal and hexadecimal format). as in Figure 3. It also represents the actions to be carried out in each step. The address is divided into three fragments: the ﬁrst 5 digits (20 bits).. The ﬁrst fragment is translated to decimal format and assigned to the text ﬁeld ‘‘VPN’’ in the pageTable tab. Figure 2 MNEME findPages Tab. where each column is an attribute (number of inputs i. accessed is expressed in hexadecimal format. they can be observed the main memory TLB and the indirect mapping table. they can be observed three cache levels and the main memory. when a page is replaced in the main memory and thus the page does not need to be referenced any more in the TLB) or replaced. a window containing information about its corresponding conﬁguration details are shown by the simulator. In Figure 2. the cells contain a À1 value. no data have been loaded yet in the different memory levels. pause. it is important to remark that MNEME provides a color code that allows the user to detect in an easy and visual way every effect on the code trace. there is a delay (about 2 s) that allows the user to follow the changes properly. simulation starts. In the top of each table. When these buttons are pressed. 5) includes information about the structure of the system.
For this purpose. Procedures for Using MNEME as a Learning Resource Figure 3 An MNEME. These queues can be visualized once a trace ﬁle has been loaded into the simulator. the authors will describe a typical sequence of procedures based on the MNEME simulator applied to the Operating systems subject. the students are presented a very simple case of pagination: a hierarchical Figure 4 MNEME PageTable tab. The proposed procedures are focused on different paging algorithms to be used in an Operative System. presenting their characteristics to the students. Ni: Number of the following instruction to be executed by the process Pid. the practical experience is reinforced with contextual help easily accessible from any part of the simulator (it is important to remark that some of these help ﬁles have been redacted by the students themselves). As stated above. Apart from the described tabs. . the user can visualize the following parameters: Pid: Process identifier. TU: Units of time of the process. In this point. and as example. It is clear that different subjects imply different level of depth and different focus. Instr: View the instructions of the program. cQInd: position of the process Pid in the queue pointed by cQueue. This subject is coursed in the second year in Computer Science degree. example of configuration details in Proc Tab. This help includes a user guide for the simulator and a quick review of the theoretical concepts that the students may need. Introduction to the MNEME Simulator.MNEME 5 cQueue: Queue (Execution (E) or Wait (W)). MNEME simulator has been designed in order to be applied in several subjects. cTuLeft: Time left in the queue. In table shown in Figure 6. In MNEME the number of threads to be loaded will be between 1 and 28. A thread can be in two queues: Execution (E) and Wait (W). The ﬁrst procedure goal is that the student learns how to use the simulator.
Presentation on State of the Art of Computing Systems/Machines Each group of 2À3 students is assigned a machine in order to study it from a memory hierarchy context and design a 30À40 min Powerpoint-like presentation to be shown in class. In this way. the quantum time of each process and the structure of the page table. Moreover.6 MORENO ET AL. The code OTHER ACTIVITIES IN THE COURSE From their experience in other analogue subjects. the authors extrapolate some reinforcement experiences to the memory hierarchy subject. In the third procedure. Thus. Wiki of Memory Hierarchy Concepts About State of the Art Machines Each group produces a collaborative document about concepts and characteristics of the analyzed machines. The system is shown as a global system. they contact with powerful ideas as objects to extrapolation and appropriation. After this ﬁrst procedure. so the Operative System will send these pages to disk frequently. page aging and the lineal virtual memory page table. Local and Global strategy will be tested in order to show the simulator characteristics. from the hardware to the operative system. In the second practical procedure. they carry out a discussion with other groups that have been assigned similar architectures in order to compare their results. The last exercise is based on advanced paging methods like reverse mapped page table. the TLB will be tested too. Operative System and Computer Architecture. This exercise is focused on the operative system paging management. all the MNEME characteristics will be shown. After the presentation. Other features like multiple cache levels will be used in other subjects like Computer Architecture. A basic program will be studied applying different techniques. . Advanced Paging Management. Memory Management System. MNEME manages a process scheduler which controls the process execution and will carry out the CPU if the process makes a page fault or if the quantum time ﬁnishes. students are expected to pay more attention to MNEME features instead to the particular application case. and only one process accessing the memory. A simulator like MNEME which is able to simulate a wide range of systems. The students are very familiar to this case. MNEME is applied to a multiprogramming paging system. Students deﬁne the number of processes accessing concurrently to memory. with a small size memory. this case is easy to follow and easy to predict. so students will see the data go out to the memory. In this exercise. so different table page structures will be tested. since they have studied it in theoretical classes. This helps them to consolidate their learning by means of the transference and synthesis Figure 6 MNEME Proc tab (detail). Moreover. including both cache misses and hits. Figure 5 MNEME Bp Tab. so MNEME will be conﬁgured using only these characteristics. Paging in a Multiprogramming System. The code of the application consists on a sequence of accesses to memory. Student will know the simulator and will test the computer structure with different points of view: hardware. example has a high number of page faults. the students have learnt about the MNEME menus and options and to interpret its tables and graphics. is very useful in a Computer Science degree. students learn about the MNEME memory and process management characteristics. pagination system with two levels. inside the CPU Cache. The simulator makes easy to the student these advanced techniques. testing the efﬁciency of the system in relation to the TLB size. the students are able to follow a trace of memory accesses from the process code to the simulator GUI. In this exercise. in order to test the efﬁciency of the algorithms.
some statements can be reported À 100% of the students have tested MNEME for 3À6 h before answering the questionnaire. several students from a Computer Architecture course in Computer Science degree (with experience in soft- . As result of the feedback process. simulators use and programming procedures) were asked to carry out a collaborativetype validation and to ﬁll a questionnaire about MNEME and how the simulator helped them in the subject. À 90% of the students did not know if there was any similar software for memory hierarchy simulation. qualitative Methods (observations. Moreover. students and teachers held a meeting. due to the inherent complexity of the system to model. As a complement to the commented validation tasks. students of successive years will make use of these documents by correcting their weaknesses and proﬁting from their valuable contents. such as malfunctions or bugs. Additionally they mediate in several discussions about these topics. À 70% of the students believe that MNEME keeps their interest. the role of MNEME as learning mediator is essential in order to improve an educational experience that covers all memory hierarchy processor concepts. It is clear from the fact of that students themselves took part in the redaction of MNEME help ﬁles. interview.MNEME 7 of the studied concepts. As stated above. since every interviewed student pointed out that the architecture in MNEME is not easy to follow. In this way analysis. A similar percentage agrees that MNEME is highly ﬂexible in order to design new procedures. all of the students agree that MNEME works ﬁne and it can be perfectly run in different operating systems. the simulator was presented in a domestic educational conference  and more opinions and suggestions were collected from several users that tested the simulator. Apart from these data from the questionnaires. In this sense. EVALUATION AND FEEDBACK FROM THE STUDENTS Feedback from students is a crucial piece of information in order to verify the usefulness of the proposed exercises . Apart from this ﬁrst feedback phase. thoughts and learning about possible mistakes or misconceptions are achieved. These improvements were especially focused on the usability of the simulator. discussing cooperatively about how to improve the simulator. Some weaknesses and potential improvements of the simulator and the methodology can also be identified in this way. À 90% of the students points out that the help ﬁles are clear and concise. etc. À 90% of the students agree that MNEME helps to understand the subject topics better. Final Evaluation This mixed evaluation method includes observation. As can be observed from this methodological approach. automatic registration. À Nevertheless. This questionnaire basically focused on three main aspects: (1) The suitability of the simulator for the educational requirements of the students. teacher notebook. (3) The technical aspects of the simulator. automatic registers in Moodle). The following methods are used in this task: quantitative Methods (individual tests. Wiki Analysis The teachers point out common points and differences among the analyzed machines. such as the design of a tutorial with an assistant that introduce users the features of the simulator. such as malfunctions or bugs. interactions in Moodle). since a group of students took part significantly in this design. interviews). students also conﬁrm that it is necessary to make some improvements in the MNEME environment. individual test. students proposed several ideas. ware evaluation. a first approach to this feedback was carried out in the design of the simulator. À Concerning to the technical aspects of the simulator. (2) The features and functionality of the software. proposing some improvements that were included in the final version of MNEME. social Networks (observation of face to face relations.
and A. 2008. 2007. Due to this motivation success.  A.uce. New directions for teaching and learning. Torres. 2003. IEEE Trans Educ 2 (2007). October 2001 (last accessed: 19/04/2006). Gonzalez. C. they have shown a greater motivation. Available at: http://www. from the authors’ point of view. CA. in International Conference on Circuits & Systems (ICCS’08). San Mateo. F. The simulator is a valuable tool for teaching memory hierarchy that offers advantages that no other available simulators can provide. In other words. ´ ´  L. code-based procedures using that simulator and ﬁnally some complementary activities such as presentation on state of the art of computing systems/machines. I. and J. vol. Sahuquillo. 1991. Currently new features are being developed for the simulator. Chickering and Z. including those related to usability. S. Comput Appl Eng Educ (2009). 3rd edition. Proc. Applying the seven principles for good practice in undergraduate education. San Francisco. A. Moreno. In addition to this. 2001. ‘‘Incorporating Program Characteristics into a Processor Model’’. CA.isaatc. J. E. N. complexity in the simulator will improve the learning process.  MNEME can be downloaded fromhttp://www. the most remarkable results were related to the studentteacher interaction. Petit. Moreover. J. are being added to the simulator. F. Thus. E. Patterson.uk/crq/publications/studentfeedback. Pont. San Francisco. this methodology will also be applied to teaching other aspects of the course. 2007). Sigut. the use of MNEME helped the students to better understand the memory hierarchy theoretical concepts. and M. 101À111. Harvey. software modules about multicore processors and NUMA conﬁguration . Computer architecture: A quantitative approach. PerfPred: A web-based tool for exploring computer architecture design space. Use of constructivism and collaborative teaching in an ILP processors course. ´  L. A. Summer Computer Simulation Conf. MNEME will become a highly reconﬁgurable simulator. where non-trivial conﬁgurations can be tested. and C. IEEE Trans Educ 50 (2007). ´ ´ Toledo. J. CA. comparison of test scores (on the same topic) with and without the use of MNEME. 47. Yurcik.pdf. loading the different conﬁgurations from a metadata ﬁle. Popescu. Ibrahim. etc. S. Orlando. These improvements include the design of an interactive tutorial about MNEME conﬁguration and the implementation of a tool that will allow the professor to hide some features of the simulator depending on the knowledge of the student... Castilla. G. pp 524À529. Hennesy and D. J. MNEME results in a complex but rich environment. Spain. A survey of simulators used in computer organization/architecture courses. Student feedback: A report to the Higher Education Funding Council for England. S. Moreno. L. Gonzalez. for example. ´  J. However. As memory hierarchy implies a huge set of concepts and parameters. Finally. XIII Jornadas de Ensenanza ´ Universitaria de la Informatica. W.8 MORENO ET AL. since the students have taken part in MNEME design. Jossey-Bass Inc. Gamson.  W. in press. S. ull. SpimCache: A pedagogical tool for teaching cache memories through code-based exercises. wiki of Memory hierarchy concepts. Holiday. CONCLUSIONS AND FUTURE WORK This paper has presented a memory hierarchy simulator (MNEME) in whose design students have taken part signiﬁcantly. Beg.ac. B. Morgan Kaufmann. Simuladores de Jerarquıa de Memoria en el Contexto de un Proceso de ´ ´ ˜ Investigacion-Accion.  A. The students showed a higher level of motivation. Beg and W. difﬁcult to ﬁnd in these types of courses. Gonzalez. Technical report. Wolffe.  A.es/portal/proyectos/mneme/descargas (Last access: 15th November.  L. Teruel. such as multiprocessing. These features will allow making valuable statistics about the utility of tool. 244À250. July. The numerous tests which have been performed during the last 2 years have conﬁrmed the utility of MNEME as an educational tool to support teaching of memory hierarchy. REFERENCES  J. FL. Tomas. Gonzalez. which was reﬂected in a signiﬁcant increase in class participation and general interest in the subject.
His areas of interest include Simulation. he works as assistant professor in the University of La Laguna. Artificial Intelligence and Intelligent Agents. Tenerife. Tenerife. Tenerife. Romania. He worked in autonomous robot heading and position localization systems and in artificial hearing to develop sensorial substitution devices for deaf. in 1973 and 1977. Computer Architecture. Spain. Electronics and Systems at the same university. Spain. Spain. and Distance Education Net. member of EDULAB (Laboratory of Education and New Technologies) and member of IEEE and of the Spanish Chapter of the IEEE Education Society. Spain. Bucuresti. From 1977 to 1979 he was an associate professor in the Department of Computer and Control Engineering. From 2004 to 2005 she worked as a programmer at GZK Software. Univer´ sidad del Paıs Vasco. Beatrice Popescu was born in Targoviste. She received her degree in Computer Science in 2004 from the University of Bucuresti.MNEME 9 BIOGRAPHIES Lorenzo Moreno received his MS and PhD degrees from the Universidad Complutense de Madrid. Association of Human-Computer Interaction of Spain. From 1998 to 2001. Spain. Romania. Jonay Toledo received his degree in Computer Science Engineering in 2001 and his degree in Electronics Engineering in 2002 from the University of La Laguna. Spain. Carina Gonzalez got her PhD (Cum Laude) in computer science from the University of La Laguna (ULL). Since 2006 she has a scholarship in the University of La Laguna. Since 1989 he is a full professor in the University of La Laguna. From 1979 to 1988 he was an associate professor in the Department of Computer Science. Gonzalez received the MS degree in Applied Physics in 1998 and his PhD degree in Computer Science in 2004 from the University of La Laguna. ´ Evelio J. From 2001 to 2008 he has been a researcher at Department of Systems Engineering and Control and Computer Architecture in the University of La Laguna. From 2002 to 2008 he has been a Researcher at the Department of Systems Engineering and Automation of the University of La Laguna. Spain. Tenerife Spain. Tenerife. where he is currently an associate professor. where he is currently an associate professor. He received his PhD in 2008 from the University of La Laguna. His two main research fields are robotics and control systems. Currently. He received his degree in Electronics Engineering in 2001 from the University of La Laguna. in 2001. Spain. he was a Research Student in the Department of Applied Physics. among others. . Her main focus area in research is the application of AI and multimedia adaptive interfaces in education. But currently his main research field is the computer vision applied to pose and gesture recognition. His areas of interest include computer architecture and computer education. respectively. Spain. Digital Control. University ´ Autonoma de Barcelona. Spain. ´ Jesus Torres was born in S/C de Tenerife. Romania. She is also director of the Center of Virtual Learning at ULL. Currently she teaches in the Department of Systems Engineering and Control and Computer Architecture of ULL.
10 MORENO ET AL. .
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.