Dear Professor Patt,
I was trying to solve question #3 on
last year's Midterm# 2. It deals with
Caches. The question states that there
is a 32MB byte addressable Physical
memory. No where it mentions about the
virtual memory space.
Then I guess you don't need to know about the VM space to solve the problem!
In part (c), we are asked to find how many bits of the
index come from the virtual page number.
Now I am not sure if I am reading this problem right.
Without having any information about the virtual memory space
or its page number, I really can't think of any solution.
You have a whole lot of information about this cache, and you are missing some
information, and the question is whether you can find the missing information
from the information you have. This is kind of like you used to do in Plane
Geometry (assuming you did not just memorize proofs to the theorems).
So, let's look at it a bit:
They are asking how many bits of the index come from the virtual page number.
Seems like you need to know how big the index is and how big the page size is.
Any way to know how big the index is? Well, the tag store is so many rows by
so many columns, and one entry in each row/column element. How many bits in
each element? You know an element consists of physical tag (in this case, the
pfn), valid bit, etc. With all of that, can you come up with the index.
Where in the virtual address do the index bits start, that is from bit k to
bit k+m-1 for a m bit index. What are bits 0 to k-1 used for.
Knowing which bits are for the index, and where the size of the frame ends,
you know how many bits come from the virtual page number.
Does that help? If not, we can talk about it at the review session.
Yale Patt
Therefore, I thought about
seeking your help. I guess I am missing out on a very
important concept here.
Regards,
<>