Document not found! Please try again

Architecture With ... - CiteSeerX

20 downloads 0 Views 445KB Size Report
computer organization/architecture courses diminishes. As a consequence ... Science Foundation under grant DUE-9850534. Permission to make ..... Web-based or downloadable. .... Co-Chair Deepak Kumar/Bryn Mawr Univ. and Murray.
Teaching Computer Organization/Architecture With Limited Resources Using Simulators* Gregory S. Wolffe Comp. Sci & Info. Sys. Grand Valley St. Univ. Allendale, MI USA [email protected]

William Yurcik Applied C. Sci. Illinois St. Univ. Normal, IL USA [email protected]

Hugh Osborne Sch. Of C. & Math. U. of Huddersfield W. Yorkshire U.K. [email protected]

Mark A. Holliday Math. & Comp. Sci. W. Carolina Univ. CuIIowhee, NC USA [email protected]

Abstract W h i l e the p r o c e s s o f a b s t r a c t i o n is a natural p r o g r e s s i o n , students m u s t still b e e x p o s e d to a certain l e v e l o f detail.

A s the c o m p l e x i t y and v a r i e t y o f c o m p u t e r s y s t e m h a r d w a r e increases, its s u i t a b i l i t y as a p e d a g o g i c a l tool in c o m p u t e r o r g a n i z a t i o n / a r c h i t e c t u r e courses d i m i n i s h e s . A s a c o n s e q u e n c e , m a n y instructors are t u r n i n g to s i m u l a t o r s as t e a c h i n g aids, often u s i n g v a l u a b l e t e a c h i n g / r e s e a r c h t i m e to c o n s t r u c t them. M a n y o f these s i m u l a t o r s h a v e b e e n m a d e f r e e l y a v a i l a b l e o n the Interact, p r o v i d i n g a useful a n d t i m e - s a v i n g r e s o u r c e for o t h e r instructors. H o w e v e r , f i n d i n g the fight s i m u l a t o r for a p a r t i c u l a r c o u r s e o r t o p i c c a n i t s e l f h e a t i m e - c o n s u m i n g p r o c e s s . T h e goal o f this p a p e r is to p r o v i d e an e a s y - t o - u s e s u r v e y o f free and I n t e r n e t - a c c e s s i b l e c o m p u t e r s y s t e m s i m u l a t o r s as a r e s o u r c e for all instructors o f c o m p u t e r o r g a n i z a t i o n a n d c o m p u t e r architecture courses.

1

C o i n c i d e n t w i t h this g r o w t h o f k n o w l e d g e in the field is the i n c r e a s i n g c o n t e n t i o n for l i m i t e d t e a c h i n g r e s o u r c e s . This applies n o t o n l y to l a b o r a t o r y facilities b u t also to factors such as expertise, p r e p a r a t i o n t i m e , a n d the n e e d to p r o v i d e resource availability to non-traditional students. M a i n t a i n i n g a n u p - t o - d a t e l a b o r a t o r y infrastructure is an o n g o i n g and e x p e n s i v e p r o c e s s ; m a k i n g it a c c e s s i b l e to g e o g r a p h i c a l l y d i s p e r s e d a n d e m p l o y e d students is a n o t h e r p r o b l e m altogether. L i k e w i s e , instructors m a y h a v e a w i d e r a n g e o f b a c k g r o u n d s f r o m n o v i c e to e x p e r t d e p e n d i n g o n the topic, b u t it is a c o m m o n c h a l l e n g e to r e m a i n current. T h e m o s t i m p o r t a n t d e v e l o p m e n t a d d r e s s i n g b o t h o f these trends ( e v e r - e x p a n d i n g material, l i m i t e d r e s o u r c e s ) is the a d v e n t o f the C P U s i m u l a t o r [4]. A s students in the 1970s/g0s u s e d p a p e r a n d p e n c i l to d e s i g n C P U components using Boolean algebra and Karnaugh maps, students t o d a y c a n u s e a C P U s i m u l a t o r to s t u d y c o m p u t e r o p e r a t i o n b y v i s u a l i z i n g the interrelated, s i m u l t a n e o u s events that o c c u r d u r i n g p r o g r a m e x e c u t i o n . Interactive C P U s i m u l a t o r s e n a b l e active l e a r n i n g b y a l l o w i n g students to d e s i g n t h e i r o w n h y p o t h e t i c a l m a c h i n e s , to p r o g r a m , e x e c u t e and d e b u g s y s t e m software, a n d to u s e s i m u l a t i o n to u n d e r s t a n d the o p e r a t i o n o f real m a c h i n e s .

Introduction

T h e a m o u n t o f m a t e r i a l c o m p r i s i n g the f i e l d o f c o m p u t e r architecture is c o n t i n u o u s l y e x p a n d i n g ; hence, the m a t e r i a l can o n l y b e p a r t i a l l y c o v e r e d in a t y p i c a l u n i v e r s i t y course. A c o m m o n r e s p o n s e to this p r o b l e m is an a n a l o g o f M o o r e ' s L a w for e d u c a t o r s : instructors h a v e p r o g r e s s i v e l y r e v i s e d their c o u r s e s to use i n c r e a s i n g l y h i g h e r levels o f a b s t r a c t i o n [4]. F o r ( g e n e r a l i z e d ) e x a m p l e , students learning how computers operated: •

in the 1950s studied the physics of vacuum tubes



in the 1960s studied transistor circuits



in the 1970s studied digital logic gates



in t h e 1 9 8 0 s



in the 1990s studied networked computer systems.

Two common problems were identified during a recent s u r v e y [3] o f instructors o f c o m p u t e r o r g a n i z a t i o n and architecture courses: (1) instructors are n o t a w a r e that c a p a b l e C P U s i m u l a t o r s e x i s t a n d (2) i f a w a r e o f C P U s i m u l a t o r s in general, instructors are n o t a w a r e o f p a r t i c u l a r s i m u l a t o r s that m e e t t h e i r p e d a g o g i c a l needs. T h e g o a l o f this p a p e r is to p r o v i d e an e a s y - t o - u s e s u r v e y of free a n d Internet-accessible c o m p u t e r s y s t e m s i m u l a t o r s as a r e s o u r c e for all instructors o f c o m p u t e r o r g a n i z a t i o n a n d c o m p u t e r architecture courses. W e are a w a r e o f o n l y t w o l i m i t e d p r i o r attempts to p r o v i d e such a s e r v i c e [15,17]. T o our knowledge, this work represents the most c o m p r e h e n s i v e effort to d o c u m e n t C P U s i m u l a t o r s across the w i d e r a n g e s o f t o p i c areas and i n t e n d e d a u d i e n c e s .

studied integrnted circuits

*Some of the work presented here was supported by the National Science Foundation under grant DUE-9850534. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are n o t made or distributed for profit or commercial advantage and that copies bear this notice and the frith citation on the first page. To copy otherwise, or republish, to post on screw's or to rcdisstdbu~ to lists, requires prior specific permission and/or a fee. SIGCSE"02, February 27- March 3, 2002, Covington, Kentucky, USA. Copyright 2002 ACM 1-58113-473-8/02/0002...$5.00. 176

The remainder o f this paper is organized as follows: Section 2 provides a context by briefly describing the benefits o f CPU simulation. In Section 3 we present the rationale used for grouping the CPU simulators. Sections 4 through 9 describe different categories o f CPU simulators. To round out the presentation we include in Section 10 examples o f simulators that have been developed for memory subsystem visualization and analysis. We close with a summary and ideas for future work in Section 11.

2

The historical machine simulators and digital logic simulators fill distinct educational voids and automate concepts once explored exclusively by hand on paper. The simple / intermediate / advanced categories generally match the introductory, computer organization, and computer architecture courses found in many CS curricula. Multiprocessor simulators extend the advanced microarchitecture category by focusing on parallel architectures with multiple CPUs. The memory subsystem category includes simulators that focus on interactions between the CPU and cache memory.

Educational Benefits of Simulation

Recent papers [1,9] have documented the value o f using simulation as a tool for teaching computer architecture. As a support tool, simulators are attractive in the following ways: (1) students learn the underlying details o f computer operation at multiple levels o f abstraction; (2) students have pervasive access to content when and where they want it, significantly increasing availability to non-traditional students utilizing asynchronous learning; (3) state-of-theart content is available for many, if not all, topics; (4) many simulators are closely linked with textbooks; and (5) little or no infrastructure cost is incurred.

4

The study of computer operation can often be enhanced by using examples o f machines that either no longer physically exist (other than in a museum), or if they do exist, are too expensive to justify solely for educational purposes [15]. The use o f simulation allows an educator to teach concepts on any machine for which a simulator has been constructed. Ot~entimes a machine o f historical interest is the best example o f an architectural concept, or it may have the best available tutorials and documentation. Using simulation renders obsolescence less o f a factor since machines can be virtually recreated and indefinitely maintained. However, in some cases the substitution o f a simulator for a real machine may require careful analysis and simulation modeling expertise. For example, it has been found that non-validated simulators o f real machines axe likely to underestimate performance [6].

Many CS programs with limited resources are unable to provide dedicated laboratories with examples o f computer architecture; the simulators documented here are free and available for a variety o f platforms. Internet-accessible simulators allow student experiments ranging from programming historical machines to creating their own new architectures. The interplay o f performance tradeoffs and design constraints becomes real when students attempt to simulate a novel computer system. Lastly, creating a computer system simulation in software is a cathartic educational experience similar to building a real computer in hardware - but less expensive, more flexible in allowing students to make mistakes and recover, and more extensible in building additional functionality upon a core design [16].

3

Historical Machine Simulators

TABLE l : HISTORICALMACHINE SIMULATORS Analytical Engine

Categorization of Simulation Tools

The focus o f this paper is exclusively on free and Interactaccessible computer system simulators that can be easily integrated into computer organization/architecture courses. Early simulators were all text-based. Current computer system simulators have graphical interfaces that make it possible to provide visual metaphors representing the internal operation o f a computer. We divide these free and Internet-accessible computer system simulators into seven different categories summarized in the accompanying tables. Unless otherwise noted all listed URLs are websites (http://). For each specific type o f system we give only one representative simulator. Some systems have multiple simulators; the complete list can be found on the maintained webpage whose URL is given at the end o f this paper.

Babbage's machine.

www.fourmilab.ch]babbage/applet.html

Web-based Java applet

Apple lie

Classic 65C02.

quark.netfront.neI:6502/

Unix w/X Windows

Atafi ST www.complang.tuwien.ac.at/nino/stonx.html

MC68000 and chipsets_ Unix/X, MSDOS, Win 95

Commodore Amiga

MC680x0 and chipsets.

www.fTeiburg.linux.de/-uae/

Unix, DOS, Win32, Mac

Commodore 64 (www.unimainz.de/-bauec002/FRM ain.html)

Popular game system. Multiple platforms

DEC PDP-8

First retail computer.

www.cs.uiowa.edu/-jones/pdp8/

Unix w/X Windows

DEC PDP-11 flp://flp.upd ate_uu.se/pub/ibmpc/emulators/

Influential CPU family. DOS

EDSAC

1~tstored-program service

http://www.dcs.warwick.ac.uk/~edsac/

Win32, Mac

Enigma

Nazi encryption machine.

( www.ugrad.cs.jhu.edu/

-russell/classes/enigma/)

1984 MC68008 machine.

SiliconValley/Heights/1296/q-emulator.html

Windows NT/95, MacOS

Turing Machine

Finite state machine.

(www.cs.brandeis.edu/

--'paulq[Turing/TuringAppletMae.html)

177

Web-based Java applet

Sinclair QL (www.geocities.cnm/

Web-based Java applet

5

Digital Logic Simulators

intricacies o f data representation; the set o f essential instructions; the process o f instruction translation; the fetch-execute cycle; and the use of registers. In short, hypothetical simulators allow educators to selectively focus attention on important concepts without getting lost in complex machine-dependent details.

Modem computers consist of an extremely large number of very simple structures. Whether an instructor chooses to

begin with MOS transistors, boolean logic gates or combinational logic circuits, the goal is the same: a bottomup learning foundation.

Because o f the simplicity o f the machines they simulate, the tools in this category are particularly well-suited for adaptation to the Web. An example is that most enduring simple hypothetical machine: the Little Man Computer (LMC) that dates back to M I T in the 1960s. A recent paper [16] describes the evolution o f five different L M C simulators from their text-based origins to the current graphical and Web-based versions.

The digital logic simulators in this category depict the operation o f the following hardware features: basic logic elements with switching theory; circuit analysis (implementation, minimization); timing systems (propagation delays, hazards); flip-flops/latches/registers; logic structures (multiplexers, decoders, comparators, adders); and storage elements (ROM, PROM, RAM). TABLE 2: DIGITAL LOGIC SIMULATORS 6.111 Digital Simulator (www.mit.edu/people/

eichin/thesis/usrdoc.html) Digital Logic Simulator (www.cs.gordon.cdu/courses/ module7/Iogic-simlexamplel.html) Digital Workshop (www.cise.ufl.edu/-fishwick/ dig/DigSim.html) esim Simulator (www.cse.ucsc.edu/-elm/Software/ Esim/index.htrnl)

TAB LE 3: S[MPLE HYPOTHETICAL MACHINE S[MULATORS

Set o f macros and C libraries that can be used to create a program that simulates a circuit.

Web-based point-click-drag logic gate simulator illustrating the operationof simple circuits. Displays execution of pre-built and customizablelogic circuits. Web-basedJava applet. Advanced tool to build arbitrarilycomplex digital logic designs using hierarchical design techniques. Unix with Tcl/Tk Interactive Full-Adder Interactive and intuitive (www.acs.ilstu.edu/faculty/javila/ demonstrationof the acs254/fullAdder/FullAdder.html) implementationof full adder with logic gates. Web-based. Iowa Logic Simulator Simulator based on specification www.cs.uiowa.edu/-jones//Iogicsim/ languagefor digital systems from TTL/gates to large CPUs. Pascal MIT Digital Logic Simulator Point-and-click simulator with web.mit.edu/ara/www/ds.html gates, flip-flops, & logic analyzer. Win NT/95/3.1 Multimedia Logic Kits Visual design system for design and testing of simple circuits. www.sottronix.com/Iogic.html Win32 Simcir- the circuit simulator www.tt.rim.or.jp/-kazz/simcir/

6

CASLE shay.ecn.putdue.¢duI-casle/

H T M L forms tool. Experiments with registers, instruction latencies and optimization.

CPU Sire www.cs.colby.eduJ-djskrien/

Emulator for building at the register-transfer level. MacOS

EasyCPU (www.cteh.ac.il/ departments/education/cpu,htm)

Animated basic and advanced Intel 80x86 operation.

Little Man Computer

Visualization of LMC paradigm described in [7].

www.acs.ilstu.eduffaculty/javila/Imc/

Web-based Java applet PIPPIN Binary and symbolic mode CPU (www.cs.gordon.edu/courses/cs I l I/ simulatorhighlighting data paths. module6/cpu-sim/cpusim.html) • Web-basedapplet oisc & urisc (www.pdc.kth.se/-jas ExtremeRISC - a computer with /retro/retromuseum.html) a single instruction. Simple Computer Emulator I Machine emulator with memory cells and I/O cards. Javascdpt Beachstudios.com/sc/

7

Intermediate Instruction Set Simulators

The machine simulators described above are designed to use only simple addressing, a limited instruction set, and a very simple m e m o r y model. Intermediate simulators, in contrast, tend to include a more realistic set o f addressing modes, a more complete instruction set, a more realistic m e m o r y hierarchy, and sometimes an interrupt mechanism. As a result o f this attention to completeness, m u c h more realistic programming application is possible.

Intuitive point-and-clickdigital logic gate simulator, Web-based Java applet or executable.

Simple Hypothetical Machine Simulators

A secondary benefit o f using a simulator with a fairly complete instruction set is the opportunity it provides to explore computer science concepts that are important throughout the broader curriculum [5]. Many students understand high-level concepts better after studying the low-level mechanisms upon which they are based. For example, understanding register transfer language indirect addressing clarifies the concept o f using pointers in C, studying the cache protocols used to hide m e m o r y transfer latencies helps explain the operation o f web/browser cache management protocols, and examining CPU architectural support for high-level languages reinforces language and compiler concepts.

The authors agree with critics' claims that learning via a simulator is not the same as experience with a real machine

- simulators can be even better! As real machines b e c o m e more complex, they become less suitable for teaching the concepts typically found in introductory computer organization courses. Simple hypothetical machine simulators can serve an important role by giving students access to the intemal operation o f a system (which is not possible with real CPUs). When properly designed, hypothetical machine simulators excel at illustrating core concepts such as: the yon Neumann architecture; the stored program concept; the pnneiple o f sequential execution; the

178

9

TABLE 4: INTERMEDIATE INSTRUCTION SET SIMULATORS LC2

Described in [I 1].

www.mhhe.com/patrt/ Relatively Simple Computer System Simulator www.awl.com/carpinelli SIMHCI2 (www.aracnet.com/ -tomalmy/6ghc 12.html)

Unix & Windows Describedin [2], dual-mode control unit. Web-based or downloadable.

AMD SimNow! www.x86-64.org/dawnloads SPIM (www.cs.wisc.edu/ -larus/spim.html)

Intel x86 simulator. GNU/Linux Used with [12], MIPS simulator with visual GUI. Unix/Linux/DOS/Win

SPIMSAL (www_cs.wisc.edu/ -larus/spim.html)

Describedin [8l; uses SAL - extended instruction set. Win3.1 & MacOS

8

Simulators o f multiprocessors are significantly different from uniprocessor simulators. One difference is that multiprocessor simulation requires the emulation o f features that do not exist in uniprocessors (e.g. shared interconnection networks and shared memory). Another difference is the result o f simultaneous execution; a correct simulation must reflect the fact that instructions on different processors are occurring at the same time. A third difference is in the amount o f time required to complete a simulation - this is technically challenging since simulation time tends to grow at least proportionally to the number o f processors being simulated.

Simulatorfor the MC68HC812A4 microcontroller. Java

Consequently, developing accurate multiprocessor simulators with good performance is a research area unto itself. The multiprocessor simulators that are useful instructional aids are also ones that are actively used in computer architecture research. Using these simulators can be more complex than using the uniprocessor simulators in the other categories, so they are most appropriate for advanced computer architecture courses. Note that the last link listed for this category is actually a link to a web page listing many o f the multiprocessor simulators currently used in research.

Advanced Microarchitecture Simulators

The microarchitecturc simulators are designed to allow the observation o f machine language execution at the microcode level (e.g. data paths, control units). Advanced simulators can be used to investigate the advantages and disadvantages (e.g. efficiency, complexity) o f performanceenhancing techniques such as pipelining, branch prediction and instruction-level parallelism. Some o f these simulators are microprogrammable, allowing students to experiment with the design o f instruction sets.

TABLE 6: MULTI-PROCESSORSIMULATORS ABSS (arithmetic.Stanford.edu/ SPARC-basedmultiprocessors -lemon/abss.html) MINT MIPS-based shared-memory www.cs.rochester/u/veenstra/ multiprocessors Proteus (www.ee.lsu.edu/Bothshared-memory and koppel/proteus.html) message-passing multiprocessors RSIM Shared-memory multiprocessors rsim.cs.uiuc.edu/rsim/ using processors with instmction-level parallelism SimOS MIPS and Alpha-based simos.stanford.edu/intmduction.html uni/multiprocessors;US boot

Most o f the simulators included in this category are associated with a textbook and would be appropriate for an advanced course in computer architecture. Note that there is often supplemental material available (e.g. compilers, execution traces, instruction set handbooks). TABLE 5: ADVANCED MICROARCHITECTURESIMULATORS DLX (ftp://max.stanford.edu/pub/max/

Bundled with [ I 0], implements the DLX CPU. Unix

pub/hennessy-patterson.soflware) DLXview (yara.ecn.purdue.edu/ -teamaaa/dlxview)

Interactivegraphical extension of DLXsim. Unix

Mic-I Simulator www.ontko.com/micl/

Described in [14] (earlier 1988 edition). Java, Unix, Win

Micro Architecture Simulator www.kagi.com/fab/msim.html MipSim (mouse.vlsivie.tuwien. ac.at/lehre/rechnerarchitekturen/

Microprogrammed processor similar to that in [14]. MacOS

download/Simulatoren) SimpleScalar www.simplescalar.org

Wisconsin Simulator Page Has links to many multiprocessm www.cs.wisc.edu/arch/www/tools.html simulators used for research

10 Memory Subsystem Simulators The simulators most appropriate for introductory courses tend to be descriptive, illustrating concepts by depicting computer operation. But advanced students arc prepared for detailed performance statistics that allow meaningful analysis, evaluation and comparison. A n early lesson these students learn is that factors other than the C P U (e.g. cache hit ratio) affect performance. Our final category includes examples o f simulators that arc used to model and analyze various m e m o r y hierarchies and cache configurations.

C++ source code for a simulator emulatinga pipelined processor based on [10].

SuperScalar DLX (www.rs.eIechnik.tu-darmstadt.de/TUD/res/ dhdocu/SuperscalarDLX.html)

Described in [13], toolset for instruction-level parallelism & branch prediction. Unix Pipelinedsuperscalar mixed behavior/RTLmodel of the DLX processor.

WinDLX ttp://Rp.mkp.com/pub/dl~

Windows front-end for DLX simulator. DOS 3.3+, Win3.0+

Multi-Processor Simulators

The simulators listed in the table below encourage experimentation with different cache m e m o r y levels, sizes and degrees o f associativity. Several o f them operate by "executing" m e m o r y reference trace tapes and reporting cumulative m e m o r y access metrics.

179

Simulation (SCS), 1999.

TABLE 7: MEMORY SUBSYSTEMSIMULATORS Cacheprof www.cacheprof.org Cache Simulator (www.ece.gatech.edu/

research/labs/reveng/cachesim/) CACTI (www.research.compaq.com/ wrl/people/j ouppi/CACTI.html) Dinero IV

Tool to quantify cache behavior. Linux on x86

[2] Carpinelli, J.D. Computer Systems Organization & Architecture, Addison Wesley, 2001.

Specify a cache configuration; analyze results. Web-based

[3] Cassel, L., Kumar, D. et. al., Distributed Expertise for Teaching Computer Organization & Architecture, A C M SIGCSE Bulletin, Vol. 33, No. 2, June 2001, pp. 111-126. [4] Clements, A. Guest Editor's Introduction: Computer Architecture Education, IEEE Micro, Vol. 20. No. 3, May/June 2000, pp. 10-12.

Model cache access and cycle times for different memories,

www.cs.wisc.edul-markhill/DinerolV/

Cache hierarchy simulator for memory reference traces. Unix

PRIMA

Trace-driven cache simulator.

(www.dsi.unimo.it/

staff/st36/imagelab/prima.html)

Unix

Xcache

Cache performance profiling. Unix w/X Windows

www.prism, uvsq.frlarchilsofts/X Caehel

11

[5] Clements, A. The Undergraduate Curriculum in Computer Architecture, IEEE Micro, Vol. 20. No. 3, May/June 2000, pp. 13-22. [6] Desikan, R., Burger D. and S.W. Keckler. Measuring Experimental Error in Microprocessor Simulation, Intl. Symp. on Computer Architecture (ISCA), 2001.

Summary

The availability of free and Internet-accessible simulators provides instructors with a means of effectively and efficiently presenting the expanding field of computer organization/architecture, despite limited resources. In this paper, we have surveyed and characterized simulator teaching tools that can be easily integrated into a wide range of courses. They represent a conceptual breadth and level of interactivity that is difficult to achieve with other teaching techniques.

[7] Englander, I. The Architecture o f Hardware and Systems Software 2nd edition, Wiley, 2000. [8] Goodman, J. and K. Miller, A Programmer's View o f Computer Architecture, Oxford U. Press, 1993. [9] Grunbacher, H. Teaching Computer Architecture/ Organisation Using Simulators, IEEE Frontiers in Education Conference (FIE), 1998, pp. 1107-1112. [10] Hennessy, J. and D. Patterson, Computer Architecture: A Quantitative Approach 2 "d edition, Morgan Kaufrnann, 1996_

One idea for future work in this area involves researching the potential for interoperability between simulators. A related idea is identifying individual simulators that can be gracefully extended through the different categories we have identified. These options would aid instructors by broadening the areas in which simulation could be employed and by reducing the learning curve. See the following URL for future contributions and for a maintained set of the links reported in this paper:

[ll]Patt, Y. and S. Patel. Introduction to Computing Systems, McGraw-Hill, 2001. [12] Patterson, D. and J. Hennessy, Computer Organization and Design 2 "d edition, Morgan Kaufmann, 1998. [13] Stallings, W. Computer Organization and Architecture 5 th edition, Prentice Hall, 2000.

< h t t p : / / w w w . acs. i l s t u , e d u / f a c u l t y / d l d o s s / y u r c i k / c a a l e / c a a l e s imul a t o r s , h t m l >.

[14] Tanenbaum, A. Structured Computer Organization 4 Ih edition, Prentice Hall, 1999. [15]Yehezkel, C., Yurcik W., and M. Pearson, Teaching Computer Architecture with a Computer-Aided Learning Environment: State of the Art Simulators, Intl. Conf. on Simulation and Multimedia in Engineering Education (ICSEE), Society for Computer Simulation (SCS), 2001

12 Acknowledgments The authors would like to thank the following members o f

the ITiCSE 2000 working group for helping to motivate this work: (in alphabetical order) Kevin Boulding/Seattle Pacific Univ., Co-Chair Boots Cassel/Villanova Univ., Jim Davies/Univ. of Oxford, John Impagliazzo/Hofstra Univ., Co-Chair Deepak Kumar/Bryn Mawr Univ. and Murray Pearson/Univ. of Waikato. We would also like to acknowledge intellectual contributions from Cecile Yehezkel/Weizmann Institute and Ed Gehringer/N.C. State (creator of the Computer Architecture Course Database

[16] Yurcik, W. and H. Osborne. A Crowd of Little Man Computers: Visual Computer Simulator Teaching Tools, Winter Simulation Conference (WSC), 2001. [17] Yureik, W., Wolffe, G. S., and M. A. Holliday. A Survey of Simulators Used in Computer Organization/Architecture Courses, Summer Computer Simulation Conference (SCSC), Society for Computer Simulation (SCS), 2001.

) .

References [1] Bruschi, S. M. et. al., Simulation as a Tool for Computer Architecture Teaching, Summer Computer Simulation Conference (SCSC), Society for Computer

180

Suggest Documents