Simulators for computer architecture classes

23
Simulators for computer architecture classes Anastas Misev Marjan Gusev http://twins.ii.edu.mk/

description

Anastas Misev Marjan Gusev http://twins.ii.edu.mk/. Simulators for computer architecture classes. The need. Computer architecture is a foundational subject for the entire CS education Learning computer architecture can be frustrating if left in theory - PowerPoint PPT Presentation

Transcript of Simulators for computer architecture classes

Page 1: Simulators for computer architecture classes

Simulators for computer architecture classes

Anastas MisevMarjan Gusev

http://twins.ii.edu.mk/

Page 2: Simulators for computer architecture classes

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

Page 3: Simulators for computer architecture classes

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

Page 4: Simulators for computer architecture classes

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

Page 5: Simulators for computer architecture classes

Code editor

● Editing● File management● Syntax check

Page 6: Simulators for computer architecture classes

RISC runtime

● Basic features● One pipeline● Registers● Data cache

Page 7: Simulators for computer architecture classes

Configuration 1

● Execution units– Number and type

● Rates– Issue– Dispatch

Page 8: Simulators for computer architecture classes

Configuration 2

● Usage of shelving● Reservation

stations– Type– Size

Page 9: Simulators for computer architecture classes

Configuration 3

● Usage of register renaming

● Number of registers

● Access

Page 10: Simulators for computer architecture classes

Configuration 4

● Usage of out-of-order

● Reorder buffer– Size

Page 11: Simulators for computer architecture classes

Configuration 5

● Usage of branch processing

● Speculation● Static and

dynamic● Explicit and

implicit● Global

Page 12: Simulators for computer architecture classes

PostRISC runtime

● Pipeline stages● Animated

instruction flow● Step-by-step

execution● Superscalar

features

Page 13: Simulators for computer architecture classes

ROB

● Sequential consistency

● Circular buffer– Head– Tail

● Instructions by stage

Page 14: Simulators for computer architecture classes

Registry file

● Architecture registers

● Rename registers– Mapping– Value– Latest

● Visualizes 32+32 registers

Page 15: Simulators for computer architecture classes

Branch tables

● Explicit prediction– BHT

● Implicit prediction– BTAC

● Global 2-bit

Page 16: Simulators for computer architecture classes

Data cache

● 1024 locations● Word addressible● To be extended

to multilevel

Page 17: Simulators for computer architecture classes

Statistics

● Detailed statistics– Usage %– IPC per stage– Prediction– Renaming– Memory

dependencies– ...

Page 18: Simulators for computer architecture classes

SuperSim 2.0

● Visualy explains ILP concepts

● Configurable ● Programmable● Easy to use and

students like it

http://twins.ii.edu.mk/supersim/

Page 19: Simulators for computer architecture classes

Tomasulo

• Student project• Web based• Highly graphical• Configurable• Self explanatory• 1-1 mapping of the

tables used

Page 20: Simulators for computer architecture classes

Scoreboard

• Also students project

• Windows application

• Fully configurable• Can run user code• Animated or step-

by-step execution• Configurable

operation latencies

Page 21: Simulators for computer architecture classes

8051 simulator

• 8031/8051 simulator

• Student project• Includes– IDE– Code highlighting – Debugging– Step-by-step

execution

• Modular design

Page 22: Simulators for computer architecture classes

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

Page 23: Simulators for computer architecture classes

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