MICROPROCESSOR · MICROPROCESSOR Prepared by R.Kavitha Page 1
WEB-BASED LEARNING TOOLS ON MICROPROCESSOR FUNDAMENTALS FOR A FIRST-YEAR ENGINEERING COURSE By...
-
date post
21-Dec-2015 -
Category
Documents
-
view
219 -
download
3
Transcript of WEB-BASED LEARNING TOOLS ON MICROPROCESSOR FUNDAMENTALS FOR A FIRST-YEAR ENGINEERING COURSE By...
WEB-BASED LEARNING TOOLS ON MICROPROCESSOR FUNDAMENTALS FOR A FIRST-YEAR ENGINEERING COURSE
ByJucain Butler
Introduction
WWW has changed how teaching occurs
Virtual labs limited resources physical space restrictions
The Tutorial A series of surveys, quizzes, references
and interactive programs that simulates how a computer based on Feynman’s File Clerk and one based on the LEGO RCX executes a program.
Previous Work
Seymour Papert at MIT -- LOGO Fred Martin at MIT - programmable brick CEEO at Tufts – K-12 education Dave Baum of Motorola – NQC Richard Feynman – Lectures on Computation
What is the RCX
3 input Sensors
3 output Motors
•32 16-bit registers•datalog•Virtual machine•Infrared transceiver•programmable in NQC
Maxfinder
Developed web-based tutorial to enable students to understand what goes on internally in a computer for program like the maxfinder
Developed web-based tutorial to enable students to understand what goes on internally in a computer for program like the maxfinder
How students proceed through the tutorial
Pre-survey
Read reference page
Post-survey
Interactive demoW/ simulator
Take quiz
Arithmetic Operations Reference Page -- RCX
1. The first byte represents one of five operations.1) 14 (setv)- stores a value in the destination register2) 24 (sumv)- adds operand 1 to operand 2 3) 34 (subv)- subtracts operand 2 from operand 14) 44 (divv)- divides operand 2 into operand 15) 54 (mulv)- multiplies operand 1 to operand 2
2. The second byte is the index (or register number) of the register that holds operand 1 and is the index of the destination register that stores the result.
3. The third byte represents one of three types for operand 2.1) 0 – the value of operand 2 is stored in a variable register2) 2 – the value of op 2 is immediately provided by the next two bytes3) 9 – the value of operand 2 is provided by a sensor
4. The fourth byte is the least significant byte of argument to the second operand.
5. The fifth byte is the most significant byte of argument to the second operand. (Note that the last two bytes combine to form a two byte integer that together represent the argument to the second operand.
Arithmetic Operations Reference Page -- RCX
Assembly Operation Machine code
sum v[0], v[2] v[0] = v[0] + v[2] 24 00 00 02 00
set v[2],0x1A5 V[2] = 0x1A5 14 02 02 A5 01
set v[7], input(1)A V[7]=sensor val port1
14 07 09 01 00
Arithmetic Operations Reference Page -- FC
1. The first byte represents one of three operations.
1) 14 (input)- input value from the scrollbar into the register2) 21 (output)- output the value from the register to the screen 3) 24 (add)- add contents of first register to the second4) 34 (sub)- subtract contents of first register from second5) 44 (div)- divide contents of second register into the first6) 54 (mult)- multiply contents of first register by the second
2. The second byte is the index (or register number) of the register that holds operand 1 and is the index of the destination register that stores the result.
3. The third byte represents the second operand.
Arithmetic Operations Reference Page-- FC
Instruction Operation Machine code
add v[0], v[2] v[0] = v[0] + v[2] 24 00 02
input v[2] V[2] = input value Input 2
mult v[9], v[10] V[9] = v[9] x v[10] 54 09 10
Quotes from Student Responses
“It was useful in understanding the underlying task the RCX performs to process our NQC commands.”
“It was very helpful, and I believe we should have been required to do this before the Scanner project.
“I wish that more resources like these were made available throughout the entire EG 111/112 course. They are an excellent supplement to the course and provide instruction where the course is lacking.”
Quotes from Student Responses cont’d
“I found it interesting to see how high-level code works as machine code.”
“ I was confused by some of the terminology and it would have been helpful to have someone there to explain.”
Quotes from Student Responses cont’d
“I think that the online tutorial is a useful tool but could become overused by professors. This may lead to excessive information for the students, and the professors not teaching.”
RCXSimulator
Display GUIs/Externals
State/Internals
Controlbuttons
Displaywindows
Section headings
Register &I/O Device
state
Executionstate
Program code
Motorstate
Sensorstate
programcounter
Registers Instructionset
Extra storage
Simulator Organization
Boxes correspondTo major classesIn Java applet
RCXSimulator Class
accept a program, step or run through the execution of that program, and displaying the state
an abstract class that inherits from the APPLET class
important methods
init () - initialize variables and instantiate instances of major & GUI classes
run() - if the run button is pushed, execute the next instruction until the end
actionPerformed() - perform function based on which control button is selected
abstract int[] getTheProgram() - get the array of bytecodes
Conclusions – major contributions
An effective online tutorial with simulator using WebCT
A simulator for the RCX
Impacted the education of 300 students
Conclusions - Findings
Effective as indicated by quiz & survey results
Useful as a supplement to an introductory engineering course
Some aspects are too technical
Future Work
Future Increase functionality A model approach to other Domains
Chemical Engineering Nano Technology