Question: This problem tests your ability to predict the cache behavior of C code. You are given the following code to analyze: 1 int x[2][128]; 2

This problem tests your ability to predict the cache behavior of C code. You are given the following code to analyze:

1 int x[2][128];

2 int i;

3 int sum = 0;

4

5 for (i = 0; i < 128; i++) {

6 sum += x[0][i] * x[1][i];

7 }

Assume we execute this under the following conditions:

sizeof(int) = 4

Array x begins at memory address 0x0 and is stored in row-major order

In each case below, the cache is initially empty

The only memory accesses are to the entries of the array x. All other variables are stored in registers.

Given these assumptions, estimate the miss rates for the following cases:

A. Case 1: Assume the cache is 512 bytes, direct-mapped, with 16-byte cache blocks. What is the miss rate?

B. Case 2: What is the miss rate if we double the cache size to 1024 bytes?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!