3

I was given this question on my study guide for a test I have coming up. I don't understand how to tackle this problem. My test is today and I would appreciate some help.

If a CPU issues one memory request every instruction and the computer runs at 200 MIPS, about how many CPUs will it take to saturate a 400-MHZ bus? Assume a memory reference requires one bus cycle. Now repeat this problem for a system in which caching is used and the caches have a 90% hit rate. Finally, what cache hit rate would be needed to allow 32 CPUs to share a bus without overloading it?

Tevo D
  • 3,351
  • 21
  • 28
snotyak
  • 3,709
  • 6
  • 35
  • 52

1 Answers1

6

I am trying to guide you to figuring out the answers... hopefully this helps.

how many CPUs will it take to saturate a 400-MHZ bus?

Computing the number of processors is simple division. You know what the bus speed is and the number of operations per processor. This is pretty much the obvious answer.

Now repeat this problem for a system in which caching is used and the caches have a 90% hit rate.

OK, so here you would figure out how many of the instructions are hitting the bus for each processor , and use that figure instead of using the 200 MIPS number. Same division as above.

Finally, what cache hit rate would be needed to allow 32 CPUs to share a bus without overloading it?

This is basically the reverse of the above... you know that bus rate, and the desired nuumber of processors. Figure out how many instructions are reaching the bus for each processor (division), and then use that number to figure out each processor's cache hit ratio (also division).

Tevo D
  • 3,351
  • 21
  • 28
  • So... 200 MIPS = 200 MHz, therefor 400 MIPS = 400 MHz meaning 2 CPUs? I don't understand the whole hits thing. I had some help, locally, and I got an answer of 20 CPUs but I don't really understand. – snotyak Nov 29 '11 at 20:41
  • Yeah, you are on the right track. 400 MHz, 1 request per cycle = 400M requests on the bus. Each CPU is loading 200M requests, so 2 CPUs. Now figure out how many operations each CPU is putting on the bus with a 90% hit ratio... and then the number of CPUs with that number of requests. – Tevo D Nov 29 '11 at 20:47
  • We just went over it in class. part b. 0.1 * 200 MIPS = 20 MIPS 400 MHz / 20 MIPS = 20 CPUs. c. 400/32 = 12.5 MIPS/CPU (200-12.5)/200 = 187.5/200 = 93.75% – snotyak Nov 29 '11 at 21:29
  • Rather than concentrate on the maths, think about what the hit-rate means. 90% Hit rate means 90 out of 100 accesses will be handled in the cache without needing to go on to the memory bus. That means 10 out of 100 will need memory access. 10/100 * 200 MIPS * 1 Access per Instruction = 20M Accesses per CPU – Paul S Nov 30 '11 at 08:11