scispace - formally typeset
Search or ask a question

Showing papers presented at "Workshop On Computer Architecture Education in 2017"


Proceedings ArticleDOI
24 Jun 2017
TL;DR: This work presents ICOS, a platform for running code on a CPU's "bare metal" (i.e., without a traditional operating system), and uses ICOS to carefully time code in order to observe the performance effects of aCPU's branch predictor and superscalar design.
Abstract: We present ICOS, a platform for running code on a CPU's "bare metal" (i.e., without a traditional operating system). Our Computer Architecture students use ICOS to carefully time code in order to observe the performance effects of a CPU's branch predictor and superscalar design. Running code using ICOS avoids the noise introduced by context switches, interrupts and other traditional operating sytem features. This increase in consistency provides a clearer picture of the CPU's performance, which can be especially helpful for students who have not had much experience interpreting experimental results.

3 citations


Proceedings ArticleDOI
24 Jun 2017
TL;DR: MIPSfpga enabled students to bridge the gaps between theoretical concepts, hands-on practice, and industrial cores by allowing them to explore, modify, and test the MIPS core and system with the support of commercial compilers and tools
Abstract: In this paper we describe how to use MIPSfpga, a soft-core MIPS processor, to teach undergraduate and masters-level computer architecture courses. The most recent release of MIPSfpga (version 2.0), consists of three packages: the MIPSfpga Getting Started Guide, MIPSfpga Labs, and MIPSfpga System on Chip. After giving an overview of these packages, we provide examples of how to integrate MIPSfpga into curricula by describing three teaching experiences that used the MIPSfpga packages: an undergraduate course at the University Complutense of Madrid, a course at the Technical University of Darmstadt, and several seminars held at various Russian research centers and universities. MIPSfpga enabled students to bridge the gaps between theoretical concepts, hands-on practice, and industrial cores by allowing them to explore, modify, and test the MIPS core and system with the support of commercial compilers and tools.

2 citations


Proceedings ArticleDOI
24 Jun 2017
TL;DR: A framework and an application are presented that makes the task of understanding system level software and hardware simpler, and provides a view into the workings of such systems in both a simulation environment and on real hardware.
Abstract: Low-level software is a particularly challenging topic to learn. In this paper, we present a framework and an application that makes the task of understanding system level software and hardware simpler. Traditional analysis tools, such as profilers and debuggers, are either too difficult to use in these situations, or are simply not available.Hardware interactions, which are typical of low level software, make the challenge of understanding even more complicated. The tools we have built provide a view into the workings of such systems in both a simulation environment and on real hardware. The motivation for our framework, and the visualization tools that use it, is the teaching of an undergraduate level operating systems course. We discovered while teaching this course that many students struggled with the low-level environment and concepts of the course. We decided then to develop a set of applications and utilities to help students understand the inner working of the systems they were dealing with.

2 citations