June 20, 2010
June 20, 2010
June 23, 2010
Electrical and Computer
15.980.1 - 15.980.9
PRISM: A Simple Simulation for Introduction of Assembly Language and Computer Architecture
One of the enduring problems in introducing computer architecture and assembly language to students is most systems are so complex that the students quickly lose sight of how the subsystems interrelate. To effectively teach how a system processes and executes instructions, most students must program in assembly language and observe how the processor handles the code through execution. Often, the students get lost in the myriad of instructions and registers and lose the basic concepts. This paper introduces a free visual simulation of a very simple 4-bit architecture computer, Programmable Reconfigurable Informational Simple Microcomputer (PRISM), to be used in an introductory digital logic course or the beginning of a computer organization or architecture course. It provides an assembler as well as a colorful block diagram of the overall system-indicating which Register-transfer-logic (RTL) units are being activated and which subsystems are accessed. Additionally, a state diagram graphic can be activated to illustrate the progress through the corresponding state machine as the students advance the clock. An interesting side effect of providing this tool to students was that, although understanding of the signal level workings of the computer increased, the mechanics and comprehension of hand-assembling a program dropped significantly.
As students go through an introductory sequence in digital systems, there is a logical progression: combinational logic gates, sequential logic/state machines, Medium Scale Integrated (MSI devices) and then microprocessors. Most students have no problem understanding the relationship between combinational logic and state machines—that combinational logic is used to create the output and next-state logic within the state machine. Most also have no problem understanding that MSI devices are simply combinational/sequential logic packaged together to perform relatively simple operations. However, when the transition is made to microprocessors, most beginning students lose the connection to what they previously learned. Suddenly they have transitioned from gates/chips to programming in a new language and the hardware is just a computer, which they are already familiar with but separate from the digital design they had covered in the course. Even if the microprocessor is a simple 8-bit system, it is still more complex than many students can comprehend to understand that it is simply a state machine with combinational output and next state logic just like they had used in other state machines, just larger and more complex. Fewer still can understand what signal would be needed to control such a system.
For over thirty years, United States Air Force Academy has recognized the importance of training aids1,2 and have used them to help students understand these concepts and visualize the computer architecture and their inner workings. Obviously, the aids have changed over the years as technology changed. The current aid is PRISM3, a 4-bit hardware description language (HDL) microcomputer which is implemented on a Field Programmable Gate Array (FPGA). It is implemented on a Xilinx Spartan board with
Peterson, B., & Clark, A. (2010, June), Prism: A Simple Simulation For Introduction Of Assembly Language And Computer Architecture Paper presented at 2010 Annual Conference & Exposition, Louisville, Kentucky. 10.18260/1-2--16006
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2010 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015