Simulators for computer architecture classes
description
Transcript of Simulators for computer architecture classes
Simulators for computer architecture classes
Anastas MisevMarjan Gusev
http://twins.ii.edu.mk/
The need● Computer architecture is a foundational
subject for the entire CS education● Learning computer architecture can be
frustrating if left in theory● Visualization explains the architectural
concepts in more acceptable way to the students
● Using visual simulators is becoming an irreplaceable element in CS education
● Simulators makes the devices more the accessible
The simulators● Different products available● Development of own tools● Student projects● Most important
– SuperSim2 – a visual PostRISC simulator– Tomasulo – web based visual simulator of the
popular algorithm– Scoreboard – visual and configurable
simulator for the scoreboard algorithm– 8051 simulator– VDD for an external programmable device
● The advantages of home production
SuperSim 2.0● User code, pseudo assembler● Syntax checking, error indication● Extensive configuration● Simulation varying from simple RISC to
advanced PostRISC ● Step by step execution● Visualization of the pipeline● Non visual mode for high performance● Vast logging capabilities for performance
analysis● Detailed statistics
Code editor
● Editing● File management● Syntax check
RISC runtime
● Basic features● One pipeline● Registers● Data cache
Configuration 1
● Execution units– Number and type
● Rates– Issue– Dispatch
Configuration 2
● Usage of shelving● Reservation
stations– Type– Size
Configuration 3
● Usage of register renaming
● Number of registers
● Access
Configuration 4
● Usage of out-of-order
● Reorder buffer– Size
Configuration 5
● Usage of branch processing
● Speculation● Static and
dynamic● Explicit and
implicit● Global
PostRISC runtime
● Pipeline stages● Animated
instruction flow● Step-by-step
execution● Superscalar
features
ROB
● Sequential consistency
● Circular buffer– Head– Tail
● Instructions by stage
Registry file
● Architecture registers
● Rename registers– Mapping– Value– Latest
● Visualizes 32+32 registers
Branch tables
● Explicit prediction– BHT
● Implicit prediction– BTAC
● Global 2-bit
Data cache
● 1024 locations● Word addressible● To be extended
to multilevel
Statistics
● Detailed statistics– Usage %– IPC per stage– Prediction– Renaming– Memory
dependencies– ...
SuperSim 2.0
● Visualy explains ILP concepts
● Configurable ● Programmable● Easy to use and
students like it
http://twins.ii.edu.mk/supersim/
Tomasulo
• Student project• Web based• Highly graphical• Configurable• Self explanatory• 1-1 mapping of the
tables used
Scoreboard
• Also students project
• Windows application
• Fully configurable• Can run user code• Animated or step-
by-step execution• Configurable
operation latencies
8051 simulator
• 8031/8051 simulator
• Student project• Includes– IDE– Code highlighting – Debugging– Step-by-step
execution
• Modular design
Virtual Device Driver• Student project• Replaces a single external ISA device (8255
based)• Used for I/O assembler programming classes• Uses windows VDD and a front end application
as I/O
Conclusion● The simulators used in several courses
covering computer architecture● Students interest and motivation is
much higher● “One device per student” environment● Motivation to continue the
development of new tool, mainly as student projects