Computer Architecture

QEMU: Adding a System Call

Assignment 3 CMPT-300

QEMU: Adding a System Call

Disclaimer: This assignment is adapted from a project developed by Dr. Jason Nieh at

Columbia University.

Part A:

Setup Your Linux Kernel Building Environment and add dummy


The first step is to learn how to create a virtual machine using QEMU and install a

custom kernel.

Please follow this tutorial:

All files can be downloaded from:

Part B:

Adding an advanced system call(75%):

Write a new system call in Linux. The system call you write should take one argument

(pointer to a data structure) and return various information for the process identified by

the pid in the data structure. All return information will be put into the data structure. For

the following discussion all relative paths refer to the top of your kernel source

directory linux-

The prototype for your system call will be:

int prinfo(struc

CSCE614 solution supersalar

CSCE614 Computer Architecture (Spring 2015)

Homework #4 (Pseudo-Associative Cache)

(Due: Beginning of class on 4/17/2015)


This project is to help you understand how pseudo-associative (column-associative) cache works. You

will initially analyze the sensitivity of L1 caches to changes in parameters. Then you are to implement L1

data cache as pseudo-associative in SimpleScalar and compare its performance to the normal direct-
mapped L1 data cache.

System Requirement

Linux operating system is needed in order to use the pre-compiled little-endian Alpha ISA SPEC2000

binaries. Do not use Cygwin. If you don’t have any linux machine, please use with your

CS account. If you don’t have CS account, contact HelpDesk located in the first floor.

Setting up the environment and installing SimpleScalar

1. Download and Install SimpleScalar 3.0.

(1) Download simplesim-3v0e.tgz from

(2) Untar the downloaded file.

$ tar xzvf simplesim-3v0e.tgz

(3) Read the

COMP 2691: Assignment #4 solution


COMP 2691: Assignment #4

!!! Note About Code !!!

Points will be deducted for any line of assembly code that does not have an explanatory comment at the end of it.

Please create a single PDF document containing the answers for the following questions. This file should be called hw04.pdf.

Question 1

Question 1.1: For (a) and (b) above, what is the clock cycle time in a pipelined and non-pipelined processor? [5 points each]

Question 1.2: For (a) and (b) above, what is the total latency of a lw i