# Homework 4: Caches and Virtual Memory

Assigned Saturday, November 17, 2012 Wednesday, November 28, 2012 at 17:00

## Introduction

The purpose of written homework assignments is to get you thinking about the topics being covered in lecture and in readings in the textbook which are not represented in the hands-on, programming lab assignments. These written assignments also better prepare you for course examinations. It is worth noting that the book contains many pratice problems similar to the problems we ask on these written assignments. The solutions for those practice problems are located at the end of each chapter and should give you a feel for the kind of answers we expect you to turn in for these kind of assignments.

## Logistics

Since these written homeworks are not programming lab assignments, you will turn in your assignment online as electronic documents in PDF format. We will not accept any paper submissions.

Same rules as for homework #1

We will provide solutions to all of the problems in the written homework assignments in a timely fashion after the assignment is due. Since the late policy affords you a maximum of three late days, we cannot release solutions until the Wednesday following the assignment's due date, at the earliest.

## Questions

From the textbook (including some practice problems, do them on your own first, you may then check your answers at the end of the chapter, make sure you understand the solution provided, turn in your answer to each corresponding question below as part of your write-up - you do NOT need to turn in the answer to the practice problem in its entirety - just enough to explain your answer to the question below):

1. Homework Problem 6.31
2. Homework Problem 6.33
3. Homework Problem 6.37
4. Homework Problem 6.42
5. Practice Problem 8.4, What is printed if we change "pid !=0" to "pid == 0"? Is it the same result? Explain.
6. Practice Problem 9.2, What about n = 64 and P = 32K (something you may see in today's systems)?
7. Practice Problem 9.3, Again, consider a 64-bit virtual address with a 32KB page but with a 32-bit physical address.
8. Practice Problem 9.4. (No question to answer for this one, and nothing to turn in, but please make sure you understand the solution.)
9. Homework Problem 9.12.
10. Homework Problem 9.13.

## Notes

Make sure you are using the second edition of Computer Systems: A Programmer's Perspective. If you're not using the right book, you might be doing the wrong problems!