The Situation
I'm trying to answer an architecture question on instruction and data caches I have found in a past exam paper (not homework!).
The question seems to give a lot of information which I haven't used in my solution. This makes me think I'm missing something and would be really grateful if someone could help me out!
The (Full) Question
This is the full question as asked in the paper. For a summary of key points please see below.
Calculate the miss rate for a machine S with separate instruction cache and data cache, each of n bytes. There are
I
misses perK
instructions for the instruction cache, and d misses per k instructions for the data cache.A fraction
X
of instructions involve data transfer, while a fractionY
of instructions contain instruction references, the rest contain data references. A hit takesH
cycles and the miss penalty isM
cycles.
Key Question Points
Given:
- Data and instruction caches are separate
- Each cache has
N
bytes I
misses perK
instructions for instruction cacheD
misses perK
instructions for the data cache- A fraction
X
of the instructions involve data transfer - A fraction
Y
of the instructions involve instruction references - The rest of the instructions contain instruction references
- A hit takes
H
cycles - The miss penalty is
M
cycles
Calculate: Miss Rate of Machine
Attempts so far
I originally thought that the miss rate would be (I/K)*Y + (D/K)*(1 - X - Y)
but since this doesn't use all the data provided, I don't think it can be right :(.
Any help would be awesome!