Special issue on specialized computer architecture simulators that see the present and may hold the future

  • Authors:
  • William (Bill) Yurcik

  • Affiliations:
  • Illinois Wesleyan University, February 2002

  • Venue:
  • Journal on Educational Resources in Computing (JERIC)
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Welcome to this special issue of the Journal of EducationalResources in Computing (JERiC), which is focused on the topicof specialized computer architecture simulators, and is partof back-to-back JERiC issues describing the state-of-the-art incomputer architecture simulators for educational purposes. JERiC isa unique forum, in that the simulation software corresponding toeach of the articles in this issue is available for download andexecution.The guest editorial in the previous issue of JERiC described howthese back-to-back special issues came to be dedicated to computerarchitecture simulators. In this issue I would like to focus onpromoting creativity as an important part of being an educator.While the general von Neumann architecture still predominates as ithas for the last halfcentury, there are clearly new, advancedtechnologies on the horizon. While part of our role as educators isto help students master existing technology, we must also nurturethe seeds of creativity that may someday break the currentparadigms. While it is unclear what the future may hold -- perhapsbiological, molecular, or quantum computing -- some clues can befound in current advanced, specialized research. Just as it isrecursive to teach how a computer works by simulating a virtualcomputer on a computer, we can also learn from past and presentspecialized areas to begin developing the future.In this issue we present interactive simulation tools forteaching the specialized areas of computer architecture. Thearticles span from digital logic simulators (Logisim) to historicmachine simulators (Atari-6502, PDP-8), to a real machine simulator(DEC Alpha/KScalar), to an embedded system (LegoSim), to parallelcomputer architectures (High Performance Computer Architecture andAlgorithm Simulator). Although these simulators are clearly usefulfor teaching general computer architecture, they are perhaps mostvaluable for specialized topics in advanced or electivecourses.This issue begins with Logisim, a visual simulator for buildingand testing digital logic circuits. While general computerarchitecture survey courses have abstracted away from lower-leveldigital logic circuits, this teaching tool is invaluable forcomputer engineering or electrical engineering courses that focusspecifically on logic design. Logisim can be used hierarchically,and is powerful; the author notes that he has successfully createda simple 8-bit CPU in the system.The use of computer simulators provides a number of secondarybenefits -- the most pertinent is highlighted in the next articleon the PDP-8 Emulator. Simulators make it feasible to interact withcomputers that no longer exist physically (except possibly in amuseum). Thus, obsolescence is no longer the dominant obstacle inteaching computer architecture. An extinct machine is oftentimesthe best example of an architectural concept or may have the besteducational documentation. A perfect example of an historicarchitecture to study is the PDP-8. The PDP-8 was a breakthrough12-bit machine in 1965, to which many of our modern architecturalfeatures can be traced. Through this emulator, students can nowinteract with a virtual PDP-8, instead of simply reading about itin a textbook.The next two articles are related because they both supplementseminal textbooks in the field by Hennessy and Patterson [1996] andPatterson and Hennessy [1997]. While the DLX, MIPS, and SPIM seriesof simulators are well documented, SLOOP-SMOK and KScalar are newsimulators that complement these established tools. The SLOOP-SMOKtoolkit emulates an Atari 6502 (a good choice for studentmotivation) integrated with a machine organization simulator. TheKScalar simulator simulates the DEC Alpha with a wide range ofpossible scalar performance enhancements such as pipelining,caching, and speculative execution.LegoSim is an important contribution because it focuses on thesimulation of an embedded system. Embedded systems, defined as acomponent in a larger system that relies on its own processor, havebeen around for decades. However, it was not until the early 1980s,when 16-bit processors performing sophisticated specializedapplications began to appear in automobiles, that designersrealized the embedded system's almost limitless possibilities forubiquitous everyday products [Wolf 2002]. However, at present,almost all of our educational focus is still on general-purposecomputers, even though the number of specialized embedded systemscurrently dwarfs traditional computing machines by orders ofmagnitude (a fact that we have ignored in part), and this gap isincreasing. A recent study by the National Academy of Sciencedocuments this development [Computer Science and TelecommunicationsBoard 2001]. It is my hope that LegoSim will be the first in a longline of teaching tools for this rapidly expanding area ofstudy.The final article in this issue simulates the tradeoffs ofefficiency and performance inherent in parallel architectures. TheHigh-Performance Computer Architecture and Algorithm Simulatorallows students to design and interact with different forms ofparallelism such as multiple pipelines, multiple processors,clustered computer systems, and distributed computing systems.While the promise of parallel computing has yet to be realized on acommercial scale (to be fair, parallel programming is at leastequally to blame), research continues, and students who learn byusing this tool may make the difference.The underlying thread weaving through all these articles is theinteraction with the details of computer architecture: how acomputer processes bits at the lowest level (LogiSim), whycomputers developed the way they did (KScalar, PDP-8, SLOOP-SMOK),the future capabilities of embedded processors (LegoSim), and howto make computers work together (High-Performance ComputerArchitecture and Algorithm Simulator). In this issue it is ourintent that the specialized computer architecture simulatorsdescribed here provide powerful teaching tools to facilitate andenhance student creativity for developing the next paradigms ofcomputer architecture.Finally, I have very much enjoyed serving JERiC and ACM in mycapacity as guest editor, and I would like to repeat someacknowledgements from my previous guest editorial, lest anyonethink I assembled this issue myself. I would like to thank JERiCCo-Editors-in- Chief Lillian (Boots) Cassel and Ed Fox, DeborahKnox of the Computer Science Teaching Center(http://www.cstc.org/), and Jono Hardjowirogo of the ACM Press. Iwould also like to especially thank the many authors andpeer-reviewers with whom I have traded email (about 60 people);they have been responsive, patient, and accommodating. This issuewould not have been possible without them.A special word to the authors of the articles and simulators wedeclined: acceptance decisions were particularly difficult (60% ofsubmissions were declined). But I encourage you to persevere - thisis truly a growth area and your contributions are needed. Again, IW. Yurcik hope you enjoy what we have assembled and that itinspires many ideas for teaching and research!