1 An Execution-Driven Simulation Tool for Teaching Cache Memories in Introductory Computer Organization Courses Salvador Petit, Noel Tomás Computer Engineering.

Slides:



Advertisements
Similar presentations
Lecture 13: 10/8/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Advertisements

Faculty of Electrical Engineering Czech Technical University in Prague
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Enabling Efficient On-the-fly Microarchitecture Simulation Thierry Lafage September 2000.
On-Chip Cache Analysis A Parameterized Cache Implementation for a System-on-Chip RISC CPU.
Introduction to Computer Programming in C
Embedded Software Optimization for MP3 Decoder Implemented on RISC Core Yingbiao Yao, Qingdong Yao, Peng Liu, Zhibin Xiao Zhejiang University Information.
1 i206: Distributed Computing Applications & Infrastructure 2012
Taxonomy of Effortless Creation of Algorithm Visualizations Petri Ihantola, Ville Karavirta, Ari Korhonen and Jussi Nikander HELSINKI UNIVERSITY OF TECHNOLOGY.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
4/27/2006Education Technology Presentation Visual Grid Tutorial PI: Dr. Bina Ramamurthy Computer Science and Engineering Dept. Graduate Student:
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
University of Jyväskylä – Department of Mathematical Information Technology Computer Science Teacher Education ICNEE 2004 Topic Case Driven Approach for.
Computer Organization and Architecture William Stallings 8 th Edition Chapter 1 Introduction.
Conference title 1 A Research-Oriented Advanced Multicore Architecture Course Julio Sahuquillo, Salvador Petit, Vicent Selfa, and María E. Gómez May 25,
Computational Thinking Computational Thinking for Computer Science (CT4CS) Students.
Introduction to Operating Systems J. H. Wang Sep. 18, 2012.
Conference title1 A New Methodology for Studying Realistic Processors in Computer Science Degrees Crispín Gómez, María E. Gómez y Julio Sahuquillo DISCA.
Informatics Teachers Training Standards, Programs and Curricula in Ukraine Oleg Spirin Department of Information Technology Zhytomyr Ivan Franko University,
DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.
Competence Analysis in the Two-subject Study Program Computer Science Jože Rugelj, Irena Nančovska Šerbec Faculty of Education Univesity of Ljubljana 1Beaver.
CONFIDENTIAL ─ RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET.
CS 160 Introduction to Computer Science Andrew Scholer
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
C HU H AI C OLLEGE O F H IGHER E DUCATION D EPARTMENT O F C OMPUTER S CIENCE Preparation of Final Year Project Report Bachelor of Science in Computer Science.
Introduction to Programming Lecture 1 – Overview
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
Learning outcomes for BUSINESS INFORMATCIS Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST)
Computer Science Department 1 Undergraduate Degree Program Computer Science Chair Dr. Kurt Maly.
Department of Computer Science & Engineering Abstract:. In our time, the advantage of technology is the biggest thing for current scientific works. One.
JMBE An insider’s guide to publishing JMBE curriculum articles Jean A. Cardinale, Alfred University Curriculum Editor, Journal of Microbiology & Biology.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Lecture 01: Welcome Computer Architecture! Kai Bu
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 January Session 2.
Autonomic scheduling of tasks from data parallel patterns to CPU/GPU core mixes Published in: High Performance Computing and Simulation (HPCS), 2013 International.
King Fahd University of Petroleum and Minerals King Fahd University of Petroleum and Minerals Computer Engineering Department Computer Engineering Department.
IEEE Nuclear Science Symposium and Medical Imaging Conference Short Course The Geant4 Simulation Toolkit Sunanda Banerjee (Saha Inst. Nucl. Phys., Kolkata,
Software Architectural Assumptions in Software Architecting Chen Yang a,b, Peng Liang a, Paris Avgeriou b a State Key Lab of Software Engineering, Wuhan.
1 WORKSHOP ON RESULTS OF IMPLEMENTATION OF COMPUTER SCIENCE EDUCATION Innovation of Computer Science Curriculum in Higher Education TEMPUS project CD-JEP.
GUI For Computer Architecture May01-05 Team Members: Neil HansenCprE Ben JonesCprE Jon MathewsCprE Sergey SannikovCprE Clients/Advisors: Manimaran Govindarasu.
Systems I Cache Organization
C HU H AI C OLLEGE O F H IGHER E DUCATION D EPARTMENT O F C OMPUTER S CIENCE Preparation of Final Year Project Report Bachelor of Science in Computer Science.
By: Lacey Williams. Introduction Troubles in CS education Lack of comprehension of the basics Seen in first-year CS students Are there long-term effects?
Lecture 01: Welcome Computer Architecture! Kai Bu
Overview Microsoft Information Management
Introduction to Operating Systems
CSE 351 Section 9 3/1/12.
Topic: Programming Languages and their Evolution + Intro to Scratch
2012 Capstone Design Conference Amin Karim, DeVry University
ASSESSMENT OF STUDENT LEARNING
FLIPPED CLASSROOM ACTIVITY CONSTRUCTOR – USING EXISTING CONTENT
Cache Memory Presentation I
Lecture 6 Memory Hierarchy
Implementing Change in Pedagogy
FLIPPED CLASSROOM ACTIVITY CONSTRUCTOR – WINDOWS APPLICATION BY VB.NET
Inculcating “Parallel Programming” in UG curriculum
CSC Classes Required for TCC CS Degree
T Computer Architecture, Autumn 2005
CS 160 Introduction to Computer Science
Creating an Expert System Using Visual Basic.NET Training Session
Dr.P.Chitra,Professor Department of Computer Science and Engineering
ECE 8823: GPU Architectures
Course Outline for Computer Architecture
<insert title> < presenter name >
Introduction to Computer Systems Engineering
Overview Problem Solution CPU vs Memory performance imbalance
Presentation transcript:

1 An Execution-Driven Simulation Tool for Teaching Cache Memories in Introductory Computer Organization Courses Salvador Petit, Noel Tomás Computer Engineering Department Faculty of Computer Science Polytechnic University of Valencia Julio Sahuquillo, and Ana Pont Computer Engineering Department Technical School of Applied Computer Science Polytechnic University of Valencia jsahuqui,

© Julio Sahuquillo WCAE-Boston Outline Introduction and motivation –Cache memories –Tools used in the Academia –Classroom exercises –Goals of this work PCSpim-cache –Features –Exercise example –More exercises Conclusions

© Julio Sahuquillo WCAE-Boston Cache memories Identified as core topic in the Computer Organization/Architecture area of knowledge by the joint IEEE Computer Society and ACM Computer Engineering Computer Organization courses –Basis of caches –How to find a block? –Replacement algorithms Computer Architecture courses –Advanced concepts –Victim caches –Coherence –Trace Cache

© Julio Sahuquillo WCAE-Boston Tools used in the Academia Academia tools –Different purposes: research, teach –Different complexity –Different simulators: trace and execution driven

© Julio Sahuquillo WCAE-Boston Tools used in the Academia Trace driven –Widely used in undergraduate courses because of simplicity –Trace Read 4 0 C Read 4 0 C 0 4 C … –Use Mapping functions Example: –Useless Spatial locality, temporal locality, … tag set offset 4 0 C 0 4 8

© Julio Sahuquillo WCAE-Boston Typical exercises at classrooms Code based exercises: –Valuable pedagogical help and widely used at classrooms This exercise illustrates spatial locality No tool for undergraduates dealing with this kind of exercises sum = 0; for (i=0; i<N; i++) sum = sum + A[i] - Array A is located starting in a given memory address - The cache has a given geometry: size, ways, line size - Auxiliary variables in registers

© Julio Sahuquillo WCAE-Boston Goal of this work Main goal: a tool that provides support to perform code-based exercises, i.e., allowing the study of: –Temporal and spatial localities –Replacement algorithms –Write policies –… Target students –Computer Organization course How? –As an extension of PCSpim simulator, widely used, which runs MIPS32 assembly programs Why? –Because of familiarity –“Our” students are trained with this assembly language simulator

© Julio Sahuquillo WCAE-Boston PCSpim-Cache Let us run PCspim-cache to ilustrate its features Cache extension –Enabled/disabled through Simulator – settings – cache simulation Cache configuration –Options: data cache, instruction cache, or both Cache settings –Allows to choose the cache geometry (size, ways and line size), write policy, and replacement algorithms

© Julio Sahuquillo WCAE-Boston Exercise example Example: sum of the elements of an Array and mapping functions Students must obtain: –For a given cache, the sets in which Array_A and Array_B map to –Number of misses and classify them according to the three C’s

© Julio Sahuquillo WCAE-Boston Exercise example Mapping functions solution must be firstly solved using paper and pencil

© Julio Sahuquillo WCAE-Boston More exercises This academic year a lab session covering more exercises, like temporal locality and strides has been performed Temporal locality Strides

© Julio Sahuquillo WCAE-Boston Conclusions Code based exercises are a valuable pedagogical help, but no tool exists to be used by undergraduates PCSpim-cache is a solution –Supports code based exercises performed at classrooms Spatial locality, temporal locality, strides, … Students can use PCSpim-cache to check their exercises Visualizes how processor-memory work as a whole –Has been used in a lab session, with a wide acceptance among students –Source code is publicly available at An extension of this paper, covering a detailed lab with an assessment study, is going to be submitted to an educational journal

© Julio Sahuquillo WCAE-Boston Thank you very much for your attention