Printer Friendly
The Free Library
5,060,680 articles and books
Member login
User name  
Password 
 
Join us Forgot password?

Using instructional simulation in the computing curriculum.


Abstract

Instructional simulations instructional simulation Graduation education A simulation used to help students acquire knowledge and skills through surrogate experiences; simulation success hinges on the degree to which it resembles a real experience  allow a student to engage in an activity that would otherwise be impractical or impossible, such as controlling a nuclear power plant or changing the effects of gravity. This paper presents a simulation tool that illustrates how the central processing unit See CPU.

(architecture, processor) central processing unit - (CPU, processor) The part of a computer which controls all the other parts. Designs vary widely but the CPU generally consists of the control unit, the arithmetic and logic unit (ALU), registers, temporary buffers
 (CPU CPU
 in full central processing unit

Principal component of a digital computer, composed of a control unit, an instruction-decoding unit, and an arithmetic-logic unit.
) and memory work together in modern computer. The tool provides students with a small but complete instruction set making the simulation a fully functioning computing environment. The system's graphical user interface graphical user interface (GUI)

Computer display format that allows the user to select commands, call up files, start programs, and do other routine tasks by using a mouse to point to pictorial symbols (icons) or lists of menu choices on the screen as opposed to having to
 provides multiple viewing perspectives (e.g., digital, binary, and mnemonic Pronounced "ni-mon-ic." A memory aid. In programming, it is a name assigned to a machine function. For example, COM1 is the mnemonic assigned to serial port #1 on a PC. Programming languages are almost entirely mnemonics. ). Students are able to write complete working programs and monitor the inner workings of the CPU during execution. This paper concludes with results from classroom usage along with implications and future work.

Introduction

Simulations provide powerful learning opportunities if they are properly designed, implemented and integrated into a curriculum (Maurer, 1998). A well-conceived simulation allows students to explore a concept by providing a virtual "hands on" environment that would otherwise be unavailable. The simulation provides a learning opportunity that lecture alone cannot achieve (Gredler, 1996). For an instructional simulation to be effective, however, it must be well conceived and carefully implemented (Lajoie, 2000). In this paper we present just such a simulation tool for introducing students to inner workings of the computer's brain, the Central Processing Unit (CPU).

The simulation described in this paper is called CPUSIM. It is based on the Little Man Computer (LMC LMC Large Magellanic Cloud (also see SMC)
LMC Library Media Center
LMC Lees-McRae College (Banner Elk, NC)
LMC Lutheran Medical Center
LMC League of Minnesota Cities
LMC Local Medical Committee
) paradigm, a frequently used conceptualization con·cep·tu·al·ize  
v. con·cep·tu·al·ized, con·cep·tu·al·iz·ing, con·cep·tu·al·iz·es

v.tr.
To form a concept or concepts of, and especially to interpret in a conceptual way:
 of the CPU. The Little Man paradigm is a simplified but powerful model of a computer architecture containing all the components of modern computers: memory, a central processing unit, and input/output capability. A diagram of the LMC appears in Figure 1 (from Englander, 2000).

The LMC model uses common analogies to represent important concepts. A computer's memory holds data and instructions. The LMC analogy for memory is a series of mailboxes. The computer's Arithmetic Logic Unit See ALU.  (ALU (Arithmetic Logic Unit) The high-speed CPU circuit that does calculating and comparing. Numbers are transferred from memory into the ALU for calculation, and the results are sent back into memory. Alphanumeric data are sent from memory into the ALU for comparing. ) performs operations such as addition, subtraction subtraction, fundamental operation of arithmetic; the inverse of addition. If a and b are real numbers (see number), then the number ab is that number (called the difference) which when added to b (the subtractor) equals  and multiplication. The LMC analogy for the ALU is a calculator. Input/Output (I/O (Input/Output) The transfer of data between the CPU and a peripheral device. Every transfer is an output from one device and an input to another. See PC input/output.

I/O - Input/Output
) activity refers to communication between the computer and its users, its storage devices, other computers (via a network) or the outside world. The LMC analogy for I/O activity is communications through an IN basket and an OUT basket. A program counter is a special purpose storage location containing the address of the next instruction to be executed. The LMC analogy for the program counter is a simple counter.

The LMC model uses base 10 (decimal) numbers, making the data easier for students to understand. The mailboxes and calculator each contain three decimal digits. The first digit is the operation code (op code) which determines what kind of action the computer should take, such as add, jump, load, or store. The other two digits indicate the appropriate mailbox A simulated mailbox in the computer that holds e-mail messages. Mailboxes are stored on disk as a file of messages, a database of messages or as an individual file for each message. The standard mailboxes are usually In, Out, Trash and Junk (Spam).  address associated with that instruction. For example, the instruction 512 would be interpreted as op code 5 (LOAD) and address 12, meaning the value in mailbox 12 would be copied into the calculator. See issue's website <http://rapidintellect.com/AEQweb/fal02.htm>

The LMC model is valuable as a conceptual tool for introducing students to important computer architecture concepts. However, the analogy between LMC and real computers is not perfect. There are two problematic areas:

1) The decimal representation
This article gives a mathematical definition. For a more accessible article see Decimal.


A decimal representation of a non-negative real number r is an expression of the form

 is intuitive for human discussion, but it creates a problem when mapping to the machine's binary equivalent. One decimal digit op codes supports 10 instructions, and two decimal digit addresses support 100 memory locations. Mapping these to binary requires 4 bit op codes (yielding 16 possible op codes, 6 of which go unused) and 7 bit addresses (yielding 128 memory locations, 28 of which go unused). Also, the 11 total required bits is itself an unusual number (one and three-eights bytes).

2) One of the major goals of the Little Man analogy is to reveal the inner workings of the CPU to the student. However, Little Man actions (e.g., "loading" and "storing") are left as an analogy. Students interested in a deeper understanding of CPU behavior would benefit from exposure to microinstructions and register-level transactions within the CPU.

Despite deviations from reality, the LMC paradigm is proven as a powerful conceptual tool. Furthermore, the simulation described below addresses these concerns by supporting a binary design and presenting register level microinstructions to explain the CPU actions associated with the behavior of the Little Man.

The CPUSIM System

The CPU Simulator System (CPUSIM) is an intuitive graphical simulation of the Little Man model. There have been other Little Man simulations (Parker 1996; Price, 1990). However, CPUSIM provides a unique mix of beneficial characteristics. CPUSIM is built on a simple 8-bit architecture and contains a small but complete instruction set allowing students to write and execute interesting programs. CPUSIM has a friendly graphical user interface (GUI (Graphical User Interface) A graphics-based user interface that incorporates movable windows, icons and a mouse. The ability to resize application windows and change style and size of fonts are the significant advantages of a GUI vs. a character-based interface. ) with multiple viewing perspectives (e.g., digital, binary, and mnemonic). Programs may be executed in real-time or with breaks between each instruction, providing the student with the ability to inspect the behavior of the inner workings of the CPU during processing. During simulation, the fetch/execute cycle for each instruction is presented as a trace of register-transfer activities. CPUSIM provides an excellent simulation tool for introducing students to computer organization. The simulator is designed for use by both students and instructors, and is available at http://cis1.wku.edu/crews/CPUSIM.

CPUSIM Fetch-Execute Cycle See instruction cycle.

(architecture, processor) fetch-execute cycle - The sequence of actions that a central processing unit performs to execute each machine code instruction in a program.


With the LMC model, the behavior of the Little Man (e.g., control unit) is described at a high level for each instruction in the instruction set. For example, Englander explains the fetch-execute activities of the LOAD instruction this way:
   The Little Man walks over to the mailbox address specified in the
   instruction. He reads the three-digit number located in that mailbox, and
   then walks over to the calculator and punches that number into the
   calculator. The three-digit number in the mailbox is left unchanged, but of
   course the original number in the calculator is replaced by the new number.
   (Englander, 2000, p. 149)


The above description is sufficient to carry out the desired behavior using pencil and paper pencil and paper - An archaic information storage and transmission device that works by depositing smears of graphite on bleached wood pulp. More recent developments in paper-based technology include improved "write-once" update devices which use tiny rolling heads similar to mouse . However, since the "little man" is clearly fictitious, it does not provide an accurate understanding of the LOAD operation with respect to the internals of the CPU. CPUSIM addresses this problem by presenting the instruction set at a microcode A set of elementary instructions in a complex instruction set computer (CISC). The microcode resides in a separate high-speed memory and functions as a translation layer between the machine instructions and the circuit level of the computer.  level. The fetch-execute cycle for each instruction is described as a series of register transactions. CPUSIM microcode uses the following five registers:

* The program counter (PC) contains the address of the next instruction.

* The instruction register (IR) holds the current instruction being executed by the computer. This register is not identified in the traditional LMC model but is essential to the CPUSIM system.

* The memory address register The Memory Address Register or MAR is the register of a computer's control unit that contains the address of a register to fetch or store from or to the computer storage.

The Memory Address Register is half of a minimal interface between a microprogram and computer storage.
 (MAR) holds the address of a memory location.

* The memory data register (MDR MDR,
n See multidrug resistance.

MDR,
n the abbreviation for minimum daily requirement, specifically the Minimum Daily Requirements for Specific Nutrients compiled by the United States Food and Drug Administration.
) is a read/write connection to the data stored in memory at the address identified by the MAR.

* The accumulator A hardware register used to hold the results or partial results of arithmetic and logical operations.

(processor) accumulator - In a central processing unit, a register in which intermediate results are stored.
 (A) is a general purpose register.

Using these five registers, all the instructions available to the student can be clearly explained as a series of microcode instructions involving the transfer of data between registers. For example, the first half of every instruction, the Fetch, is the same for all instructions. The microcode for the Fetch is: See issue's website <http://rapidintellect.com/AEQweb/fal02.htm>

As you can see from the comments to the right of each microinstruction A single instruction in microcode. It is the most elementary instruction in the computer, such as moving the contents of a register to the arithmetic logic unit (ALU). It takes several microinstructions to carry out one complex machine instruction (CISC). , the Little Man idea is maintained. However, by adding the register-level microinstruction activity, the actual CPU implementation of the Fetch is more clearly understood. The following section presents the entire instruction set for CPUSIM and the corresponding microinstructions for execution.

CPUSIM Instruction Set

The LMC instruction implemented within CPUSIM is fundamentally consistent with the instruction set of most CPUs. However, by keeping the size of the instruction set small, students can quickly and confidently grasp the entire instruction set. See issue's website <http://rapidintellect.com/AEQweb/fal02.htm>

Creating a CPUSIM Program

Consider a simple program that inputs two numbers and displays their sum. This program can be accomplished with the following instructions:
Input      'read first value, placing it into the calculator
Store 20   'store value in mailbox 20
Input      'read second value, placing into calculator
Add 20     'add first value (stored at 20) to second value
Output     'display the sum from the calculator


When using the CPUSIM simulator, selected instructions are entered directly into specified memory locations. Selected instructions in memory may be edited by choosing a new instruction from the pull down list. Selected instructions may also be moved, edited and deleted using the graphical user interface (GUI).

Running a CPUSIM Program

Programs are executed by selecting the Run Machine Instruction button or the Run Without Pause button under the register trace grid, or pressing F8 or F9 as a shortcut (1) In Windows, a shortcut is an icon that points to a program or data file. Shortcuts can be placed on the desktop or stored in other folders, and double clicking a shortcut is the same as double clicking the original file. . During execution, the CPUSIM interface displays the values of each register as each microinstruction completes. Selecting Run Machine Instruction causes the simulator to perform the Fetch Execute cycle for the next instruction only. Figure 2. See issue's website <http://rapidintellect.com/AEQweb/fal02.htm>

Selecting Run Without Pause causes the program execute Fetch Execute cycles for each instruction in sequence, pausing only for user input, until the Halt instruction is executed. This run without pause feature allows the programs to execute at full speed in "real" time, very helpful for testing and debugging (programming) debugging - The process of attempting to determine the cause of the symptoms of malfunctions in a program or other system. These symptoms may be detected during testing or use by real users.  longer problems.

Sample CPUSIM Programs

The Add Two Numbers program is a good first program for beginning students. Other programs that are good for beginning students include:

* Biggest of Three: Write a program that will prompt the user to input three values. The output should be the largest of the three input values.

* Countdown: Write a program that uses a loop to display the values 10 down to 1.

* Positive Difference: Write a program that will prompt the user to enter two values. The output should be the positive difference of the two values. For example, if the input is 5 and 7, the output should be 2. If the input values are reversed, the output should still be 2.

* Largest in a Series: Write a program that will prompt the user to enter a series of values. The program should continue to accept input values until the value zero is entered. The program should then display the largest value entered by the user.

Solutions are available at http://cis1.wku.edu/crews/CPUSIM/answers and may be downloaded and executed to provide additional experimentation with the CPUSIM system.

Classroom Usage

The CPUSIM tool has been used in multiple class settings. In the spring 2002 semester, CPUSIM was presented in class, and students were assigned each of the four sample problems presented above (Biggest of Three, Countdown, Positive Difference, and Largest in a Series) as homework problems. After the assignments were turned in, student attitudinal data (N = 18) was collected. The instrument contained a series of statements and students were asked to respond on a five point scale if they agreed or disagreed with the statement (the middle value was neutral). Two of the statements, S1 and S3, where "negative" (e.g. "cumbersome" and "lot of mental effort") statements. Students generally disagreed with the negative statements. Likewise students responded very favorably to the positive comments. The final percentages are shown, see issue's website <http://rapidintellect.com/AEQweb/fal02.htm>

Students were also given an opportunity to make personal comments regarding the CPUSIM simulator. These comments were also strongly favorable.

* "I do believe that the CPUSIM helps to understand the register principle."

* "I felt that the program provided a helpful visual aid for understanding how registers work."

* "It's a great tool for beginning programmers along with the Little Man concept to help understand how a processor works. I look forward to using it to teach my daughter who seems to be computer savvy for her age (she's 13)."

* "The CPUSIM simulator program was very beneficial in understanding how registers work in transferring/copying instructions/data."

* "It was great to test if my program worked. The CPUSIM was a good supplement to in class discussion."

* "It was a very interesting activity. It helped me a lot."

* "I enjoyed using CPUSIM. The steps are very few and the programs follow a very logical sequence."

* "Great program! Excellent hands-on approach."

Based on these encouraging results, we plan to continue using CPUSIM and develop additional simulators to enhance other aspects of our curriculum. We are also excited to share our simulator with other interested educators. It is available for free download for academic use at http://cis1.wku.edu/crews/CPUSIM.

Conclusions

The Little Man Computer is a valuable model for introducing students to key ideas in computer architecture, including memory, the central processing unit (CPU), and input/output capability. The LMC also contains a small instruction set that allows students to write and execute simple programs. By writing and executing LMC programs, students gain valuable experience with important ideas including the stored program concept The fundamental computer architecture in which the computer acts upon (executes) internally stored instructions. See von Neumann architecture.  and the fetch-execute cycle.

The unique and significant contribution of the CPUSIM simulator presented in this paper is the visualization of the underlying microcode executed for each instruction. This functionality presents the control unit at a deeper level than previous LMC simulations without losing the simplicity and elegance of the Little Man model. As CPUSIM continues to improve and expand, we welcome contributions and collaborations with fellow instructional technology There are two types of instructional technology: those with a systems approach, and those focusing on sensory technologies.

The definition of instructional technology prepared by the Association for Educational Communications and Technology (AECT) Definitions and Terminology
 researchers seeking to advance the role of instructional technology in computing education.

References

Englander, I. (2000). The architecture of hardware and software systems (2nd ed.). New York New York, state, United States
New York, Middle Atlantic state of the United States. It is bordered by Vermont, Massachusetts, Connecticut, and the Atlantic Ocean (E), New Jersey and Pennsylvania (S), Lakes Erie and Ontario and the Canadian province of
, NY: Wiley Press.

Lajoie, S. (2000). Computers as cognitive tools: no more walls (Vol. II). Hillsdale, NJ: LawrenceErlbaum Associates.

Gredler, M. (1996). Educational games and simulations: a technology in search of a (research) paradigm. In D. Jonassen (Ed.). Handbook of research for educational communications and technology (pp. 521-540). New York, NY: Macmillan.

Maurer, M. & Davidson, G. (1998). Leadership in instructional technology, Upper Saddle River Saddle River may refer to:
  • Saddle River, New Jersey, a borough in Bergen County, New Jersey
  • Saddle River (New Jersey), a tributary of the Passaic River in New Jersey
, NJ: Prentice-Hall.

Parker, B. & Drexel, P. (1996). A system-based sequence of closed labs for computer systems organization, ACM (Association for Computing Machinery, New York, www.acm.org) A membership organization founded in 1947 dedicated to advancing the arts and sciences of information processing. In addition to awards and publications, ACM also maintains special interest groups (SIGs) in the computer field.  SIGCSE SIGCSE Special Interest Group on Computer Science Education  Bulletin, 28 (1) 53-57.

Price, B., Baecker, R., & Small, I. (1990). A principled prin·ci·pled  
adj.
Based on, marked by, or manifesting principle: a principled decision; a highly principled person.
 taxonomy taxonomy: see classification.
taxonomy

In biology, the classification of organisms into a hierarchy of groupings, from the general to the particular, that reflect evolutionary and usually morphological relationships: kingdom, phylum, class, order,
 of software visualization Software visualization (Diehl, 2002; Knight, 2002) is concerned with the static or animated 2-D or 3-D (Marcus et al., 2003) visual representation of information about software systems based on their structure (Staples & Bieman, 1999), size (Lanza, 2004), history (Girba et al, . Journal of Programming Languages and Computing, 1 (1), 97-123.

Thad Crews, Ph.D., Western Kentucky University Student Body Profile
WKU had a total enrollment in the Fall Semester of 2002 (the latest published figures) of 17,818 students. Out of this total, 73% were full-time and 85% were undergraduates. Ethnic and racial minority enrollment was just under 13% at 2,097.


Crews is an assistant professor of Information Systems in the Gordon Ford College of Business. He is Chair of the Technology in Education Committee for the National Association of Information Technology Professionals The Association of Information Technology Professionals (AITP) offers opportunities for Information Thello peoples echnology (IT) leadership and education through partnerships with industry, government and academia. . Before starting his career in academics, Dr. Crews worked professionally as a software engineer for Electronic Data Systems (EDS (Electronic Data Systems, Plano, TX, www.eds.com) Founded in 1962 by H. Ross Perot (independent candidate for the President of the U.S. in 1992), EDS is the largest outsourcing and data processing services organization in the country. ).
COPYRIGHT 2002 Rapid Intellect Group, Inc.
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2002, Gale Group. All rights reserved. Gale Group is a Thomson Corporation Company.

 Reader Opinion

Title:

Comment:



 

Article Details
Printer friendly Cite/link Email Feedback
Author:Crews, Thad
Publication:Academic Exchange Quarterly
Date:Sep 22, 2002
Words:2416
Previous Article:Integrating ICT in higher education: the case of ITESM.(Monterrey Institute of Technologies )
Next Article:Factors related to success and satisfaction in online learning.



Related Articles
Cyberspace Curricula: A Global Perspective.
Survey of Instructional Technology Courses for Preservice Teachers.
Up-front Queries Ensure Correct Computer Choices.(Brief Article)
A Collaborative Approach for Creating Curriculum and Instructional Materials.(North Dakota State University's project designed to assist K-12...
An authoring model and tools for knowledge engineering in Intelligent Tutoring Systems.
Same as it ever was. (Review).(Leading for Business Results: Leadership in the New Economy)
VanTassel-Baska, J. (2003). Curriculum Planning and Instructional Design For Gifted Learners.(Book Review)
JASON XV: Rainforests at the Crossroads: The JASON Foundation for Education.(New Products)
Out with the old: university-based school administration programs are incoherent, undercapitalized, and disconnected from the districts where...
Improving students' understanding and perception of cell theory in school biology using a computer-based instruction simulation program.

Terms of use | Copyright © 2009 Farlex, Inc. | Feedback | For webmasters | Submit articles