scispace - formally typeset
Search or ask a question

Showing papers presented at "Workshop On Computer Architecture Education in 2000"


Proceedings ArticleDOI
01 Jun 2000
TL;DR: An interactive animation tool, SATSim, which conveys superscalar architecture concepts, which allows students to interactively change hardware configuration parameters and to observe their effects visually in a more accessible manner than is currently possible with existing simulators or with traditional static media.
Abstract: This paper describes an interactive animation tool, SATSim, which conveys superscalar architecture concepts. It has been used in an advanced undergraduate computer architecture course to visualize the complicated behavioral patterns of superscalar architectures, such as out-of-order execution, in-order commitment, and the impact of branch mispredictions and cache misses. SATSim allows students to interactively change hardware configuration parameters and to observe their effects visually in a more accessible manner than is currently possible with existing simulators or with traditional static media.

21 citations


Proceedings ArticleDOI
01 Jun 2000
TL;DR: The XSOC Project is introduced, a free kit that includes the xr16 RISC CPU core, system-on-a-chip infrastructure, peripheral cores, C compiler, and simulator, and it is suggested that FPGA-based processors can be applied to the study of advanced architecture topics including memory systems, multithreading, LIWs, chip multiprocessors, and architectural support for programming languages and networking.
Abstract: Field programmable gate arrays are an ideal substrate for computer architecture project courses. FPGA-based processor development offers some learning opportunities that pure simulation approaches cannot rival. This paper first introduces the XSOC Project, a free kit that includes the xr16 RISC CPU core, system-on-a-chip infrastructure, peripheral cores, C compiler, and simulator. Such kits have numerous applications in a first architecture course. It then suggests that FPGA-based processors can also be applied to the study of advanced architecture topics including memory systems, multithreading, LIWs, chip multiprocessors, and architectural support for programming languages and networking.

20 citations


Proceedings ArticleDOI
Ola Ågren1
01 Jun 2000
TL;DR: A debugger containing a set of virtual assemblers and a virtual machine are used as teaching tools in order to teach students differences and similarities between architectural styles of computer processors.
Abstract: A debugger containing a set of virtual assemblers and a virtual machine are used as teaching tools in order to teach students differences and similarities between architectural styles of computer processors. Programs written by the students in the virtual assemblers are compiled and executed in this environment so that the students can follow the execution of the programs step by step or at full speed.

11 citations


Proceedings ArticleDOI
01 Jun 2000
TL;DR: The SimpleScalar simulator as discussed by the authors provides instruction profiling statistics, visualization of data hazards, and visualization of cache coherence interactions for multiprocessor programs, as well as the ability to predict pipelined execution time with stalls for hazards and cache misses.
Abstract: This paper describes enhancements and applications of the SimpleScalar simulator for undergraduate and graduate courses on computer architecture. The enhancements include additional instruction profiling statistics, visualization of data hazards, visualization of memory access behavior, and multiprocessor capabilities with visualization of cache coherence. The applications include prediction of pipelined execution time with stalls for hazards and cache misses, instilling deeper insight into cache locality, parallel programming, and a greater appreciation of cache coherence interactions for multiprocessor programs.

6 citations


Proceedings ArticleDOI
01 Jun 2000
TL;DR: A freshman-level computer organization course designed to remove the magic surrounding the operation of modern computer systems is found to be successful in bringing the students full circle, showing how binary instructions and simple gates can lead to a working computer system.
Abstract: This paper describes a freshman-level computer organization course designed to remove the magic surrounding the operation of modern computer systems. Students in the course use a virtual machine with a graphical interface (simulating a processor named TSC) to develop assembly language programming skills. They then use digital design techniques to implement TSC and run their programs on it. We have found the course to be successful in bringing the students full circle, showing how binary instructions and simple gates can lead to a working computer system. A text has been written to integrate the lecture topics and the labs. The text, labs, and software tools have been made available on the Web.

6 citations


Proceedings ArticleDOI
Wayne Wolf1
01 Jun 2000
TL;DR: This talk will discuss the views of the relationships between computer architecture education and the teaching of embedded system design, from the viewpoint of a user of computer architecture rather than a designer of computer architectures.
Abstract: Embedded computing systems are becoming very common and embedded computing is starting to find its way into the curriculum. In this talk, I will discuss my views of the relationships between computer architecture education and the teaching of embedded system design. Students of embedded computing need to understand computer architecture in order to understand the characteristics of these critical components of embedded systems. The viewpoint of a user of computer architectures rather than a designer of computer architectures doesn't radically change the fundamentals that one needs to know, but it does introduce new shadings of meaning into those fundamentals.

5 citations


Proceedings ArticleDOI
01 Jun 2000
TL;DR: This semi-custom target platform combines a highly integrated 32-bit embedded Motorola PowerPC processor and two high-density Xilinx FPGAs, allowing plenty of headroom for follow-on student projects and future course expansion.
Abstract: The EECS 373 "Design of Microprocessor-based Systems" course at the University of Michigan ties hardware and software together by providing a modern platform on which students simultaneously develop both hardware and software components of simple systems. Our semi-custom target platform combines a highly integrated 32-bit embedded Motorola PowerPC processor and two high-density Xilinx FPGAs, allowing plenty of headroom for follow-on student projects and future course expansion. Versions of the development tools we employ in the lab are also available, with simulation capabilities, on public workstations and students' personal PCs, enabling students to work outside the lab and maximizing the leverage of finite lab space in the face of growing enrollments.

5 citations


Proceedings ArticleDOI
01 Jun 2000

5 citations


Proceedings ArticleDOI
01 Jun 2000
TL;DR: Esim, a structural design language for use in undergraduate computer architecture classes that has much of the power of VHDL with little of the complexity, allows students to build arbitrarily complex digital logic designs using simple hierarchical design techniques.
Abstract: We have developed a structural design language for use in undergraduate computer architecture classes that has much of the power of VHDL with little of the complexity. This language, esim, allows students to build arbitrarily complex digital logic designs using simple hierarchical design techniques. Students can simulate and debug their designs using a simulator implemented as a Tcl module. Because esim was not intended for designing and building physical circuits, it omits many of the primitives necessary for "real" hardware design and instead focuses on the concepts necessary for teaching students about digital designs.We have used esim as a teaching tool in undergraduate computer architecture classes at UMBC for several semesters. Students in these classes have implemented projects as complex as a pipelined RISC processor and a full 16x16 combinational multiplier. The compiler and simulator for the language are freely distributable, and may be expanded using standard Tcl packages and Tcl code. Current simulator modules include one for displaying signal values on the screen; modules that graph signal values are planned.

4 citations


Proceedings ArticleDOI
01 Jun 2000
TL;DR: The use of a logic analyzer for in-lecture demonstrations of pipelining and memory hierarchy on representative hardware is described to enhance understanding of fundamental concepts without excessive technical detail.
Abstract: This paper describes the use of a logic analyzer for in-lecture demonstrations of pipelining and memory hierarchy on representative hardware. The aim is to enhance understanding of fundamental concepts without excessive technical detail. The hardware used in demonstrations is described along with the examples used and their pedagogical aims. Student feedback on this approach is also presented.

4 citations


Proceedings ArticleDOI
01 Jun 2000
TL;DR: This paper describes the version of a seminar that surveys state-of-the-art microprocessors taught at the University of Virginia and lessons learned from the experience.
Abstract: A seminar that surveys state-of-the-art microprocessors offers an excellent forum for students to see how computer architecture techniques are employed in practice and for them to gain a detailed knowledge of the state of the art in microprocessor design. Princeton and the University of Virginia have developed such a seminar, organized around student presentations and a substantial research project. The course can accommodate a range of students, from advanced undergraduates to senior graduate students. The course can also be easily adapted to a survey of embedded processors. This paper describes the version taught at the University of Virginia and lessons learned from the experience.

Proceedings ArticleDOI
01 Jun 2000
TL;DR: In this paper, the authors describe how these challenges are addressed by a universally accessible network-computing infrastructure, NETCARE, that provides educators with a web portal to access computing resources, executable tools and educational material.
Abstract: Computer architects increasingly depend on the use of software tools to evaluate and investigate the design of computer systems. It is therefore very important that educators in this field promote extensive tool-based student experimentation in architecture classes. However, the integration of today's complex architecture tools into curricula poses several challenges to an instructor, including management of powerful computing resources, software installation and maintenance, and development of tool-specific educational material. This paper describes how these challenges are addressed by a universally accessible network-computing infrastructure - NETCARE - that provides educators with a Web portal to access computing resources, executable tools and educational material.

Proceedings ArticleDOI
01 Jun 2000
TL;DR: This paper summarizes the author's experiences developing hands-on program instrumentation and measurement projects for students in a sequence of computer architecture courses.
Abstract: Hands-on program instrumentation and simulation projects are good tools to teach computer architecture to students who may have limited backgrounds in hardware design Through working with toolkits such as Atom [SE94] and Shade [CK94], students are able to become comfortable with the concrete behavior of complex hardware and software structures, and be prepared for more advanced research projects This paper summarizes my experiences developing hands-on program instrumentation and measurement projects for students in a sequence of computer architecture courses

Proceedings ArticleDOI
01 Jun 2000
TL;DR: Application of active and group learning to teaching Computer Architecture within a Computer Science program is described.
Abstract: Lecture is the traditional instructional format in Computer Science (and in most disciplines) at the college level. However, research studies have shown what we all suspect -- lecture is not very effective. Students retain only a small fraction of the material covered, attendance only has a marginal effect on performance, and learning via lecture is independent of the lecturer's quality.This paper presents an alternative to the lecture format, i.e., active and group learning. Application of active and group learning to teaching Computer Architecture within a Computer Science program is described.

Proceedings ArticleDOI
01 Jun 2000

Proceedings ArticleDOI
01 Jun 2000
TL;DR: The goal of the program is to develop ties between the professional workplace and the classroom, providing opportunities for undergraduates to participate in cutting-edge research projects, earn money, and receive academic credit.
Abstract: Northeastern University has developed an educational philosophy that recognizes that the total educational experience extends well beyond the four walls of the classroom. Cooperative education is a model that educates students both within the academic and professional settings. The Northeastern University engineering co-op program consists of alternating periods of classroom study with work and career experiences. Most students graduate with 21 months of practical experience in their field of study.We have recently developed a Research Co-op Fellowship program, to further extend the professional experience beyond the walls of the workplace. A student works with a faculty member for a period of 6 months (2 academic quarters) on a research project, and is supported by his co-op employer while working on the project on-campus. The goal of the program is to develop ties between the professional workplace and the classroom, providing opportunities for undergraduates to participate in cutting-edge research projects, earn money, and receive academic credit.