Students often can't visualize the âBigâ picture. Control Unit. RAM. AR. PC. IR. Bus ... (d2+d1) t3: DRâ M, PCâ
Application of Simulation in Computer Architecture Brenda Parker
James Edmondson
Computer Science, MTSU
Computer Science, MTSU
Overview ●
Introduction to Computer Architecture
●
Assignments
●
General Problems
●
Our Proposed Solution
●
Demonstration of Technology
●
Student Benefits
●
Student and Teacher Reaction
●
Conclusion
Introduction to Computer Architecture ●
4-hour credit course at MTSU
●
Required course for all CS majors
●
3-hour lecture + 2-hour closed lab Lecture
●
Lab
Semester Project –
Build the Relatively Simple Computer (RSC)
Semester Project ●
●
Closed and Open Labs –
Introduction to Digital Logic
–
Introduction to B2 Spice (digital simulator)
Building the RSC
RAM
–
Memory Unit
–
Registers
–
Arithmetic Logic Unit
–
Control Unit
Control
Registers ALU
General Problems –
Students start class with oversimplified concept of hardware CPU
–
RAM
Students often can’t visualize the “Big” picture Control Unit Clock
AR
DR
PC
R
IR
Bus
AC
ALU
RAM
General Problems –
(2)
Students can be confused by microcode (d2+d1) t3: DR M, PC PC+1, AR AR+1 (d2+d1) t4: TR DR, DR M, PC PC+1
–
Often miss major component interaction errors until end of project
General Problems –
(3)
Most students aren’t very good with byte code 01 0F 00 03 01 0E 00 08 07 00
–
Programs tend to be overly simple
–
No way to properly debug code before testing
General Problems (4) __________________________ ●
●
Motivation Students are NOT interested in the hardware aspects of the computer.
Administrative Problems –
Computer requirements change each semester ●
●
–
Discourages cheating Results in maintenance of several versions of computers
Not easy bringing new lab instructors up to speed
Our Proposed Solution ●
Provide compiler for low level language LDA var1 MOV LDA var2 ADD OUT HALT
; load byte at 0F to accumulator register ; move accumulator to R register ; load byte at 0E to accumulator register ; add R register to accumulator register ; output accumulator register ; halt system compile
01 0F 00 03 01 0E 00 08 07 00
Our Proposed Solution ●
●
Provide integrated, visual debugging environment
Provide emulation of an example computer –
Allow stepping by instruction and microinstruction
–
Allow viewing of inter-component communication
–
Allow macroscopic system views
The Editor and Compiler
The Virtual Machine
The Component View
Demonstration ●
Compilation
●
Execution –
Stepping by instruction
–
Stepping by microinstruction
–
Tracking the virtual machine
–
Tracking inter-component events and communication
How the Students Benefit ●
Students can verify correctness of their programs
●
Students may write more complicated programs
●
●
●
Students have a deeper understanding of how the Relatively Simple Computer works Diagnosis of most problems is faster Students can focus more time on getting the custom computer built
Student and Teacher Reaction ●
●
●
●
●
Overwhelmingly positive
Sparked some interest in student research and development Encouraged discussion about new tools for students
Students find RSC programming assignments easier and more interesting Students have been completing the end of semester project quicker and with less help from instructors
Conclusion ●
●
●
The RSC Emulator Project has solved some of our Architecture issues The tool is easy-to-use, portable, and user friendly Instructors find the Emulator to be a nice teaching tool
●
Students are able to complete semester projects faster
●
Students learning has increased (better grades).
●
Enjoyment of the course has increased.
For more information Email:
[email protected] [email protected] [email protected] Web site: http://www.mtsu.edu/~csbrenda/EISTA
QUESTIONS?