1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Alika [10]
3 years ago
13

Below is a list of 32-bit memory address references, given as word addresses.

Computers and Technology
2 answers:
Maru [420]3 years ago
5 0

For a direct mapped cache the general rule is: first figure out the bits of the offset (the right-most bits of the address), then figure out the bits of the index (the next-to right-most address bits), and then the tag is everything left over (on the left side).

One way to think of a direct mapped cache is as a table with rows and columns. The index tells you what row to look at, then you compare the tag for that row, and if it matches, the offsettells you which column to use. (Note that the order you use the parts: index/tag/offset, is different than the order in which you figure out which bits are which: offset/index/tag.)

So in part (a) The block size is 1 word, so you need 0 offset bits (because <span><span><span>20</span>=1</span><span><span>20</span>=1</span></span>). You have 16 blocks, so you need 4 index bits to give 16 different indices (because <span><span><span>24</span>=16</span><span><span>24</span>=16</span></span>). That leaves you with the remaining 28 bits for the tag. You seem to have gotten this mostly right (except for the rows for "180" and "43" where you seem to have missed a few bits, and the row for "181" where you interchanged some bits when converting to binary, I think). You are correct that everything is a miss.

For part (b) The block size is 2 words, so you need 1 offset bit (because <span><span><span>21</span>=2</span><span><span>21</span>=2</span></span>). You have 8 blocks, so you need 3 index bits to give 8 different row indices (because <span><span><span>23</span>=8</span><span><span>23</span>=8</span></span>). That leaves you with the remaining 28 bits for the tag. Again you got it mostly right except for the rows for "180" and "43" and "181". (Which then will change some of the hits and misses.)

koban [17]3 years ago
5 0

i don't know this answer

You might be interested in
Implement a C program to solve the 15-puzzle problem using the A* search algorithm.
fomenos

Answer:

#include<stdio.h>

#include<conio.h>

int m=0,n=4;

int cal(int temp[10][10],int t[10][10])

{

               int i,j,m=0;

               for(i=0;i < n;i++)

                               for(j=0;j < n;j++)

                               {

                                               if(temp[i][j]!=t[i][j])

                                               m++;

                               }

               return m;

}

int check(int a[10][10],int t[10][10])

{

               int i,j,f=1;

               for(i=0;i < n;i++)

                               for(j=0;j < n;j++)

                                               if(a[i][j]!=t[i][j])

                                                               f=0;

               return f;

}

void main()

{

               int p,i,j,n=4,a[10][10],t[10][10],temp[10][10],r[10][10];

               int m=0,x=0,y=0,d=1000,dmin=0,l=0;

               clrscr();

               printf("\nEnter the matrix to be solved,space with zero :\n");

               for(i=0;i < n;i++)

                               for(j=0;j < n;j++)

                                               scanf("%d",&a[i][j]);

               printf("\nEnter the target matrix,space with zero :\n");

               for(i=0;i < n;i++)

                               for(j=0;j < n;j++)

                                               scanf("%d",&t[i][j]);

               printf("\nEntered Matrix is :\n");

               for(i=0;i < n;i++)

               {

                               for(j=0;j < n;j++)

                                               printf("%d\t",a[i][j]);

                               printf("\n");

               }

               printf("\nTarget Matrix is :\n");

               for(i=0;i < n;i++)

               {

                               for(j=0;j < n;j++)

                                               printf("%d\t",t[i][j]);

                               printf("\n");

               }

               while(!(check(a,t)))

               {

                               l++;

                               d=1000;

                               for(i=0;i < n;i++)

                                               for(j=0;j < n;j++)

                                               {

                                                               if(a[i][j]==0)

                                                               {

                                                                               x=i;

                                                                               y=j;

                                                               }

                                               }

                               //To move upwards

                               for(i=0;i < n;i++)

                                               for(j=0;j < n;j++)

                                                               temp[i][j]=a[i][j];

                               if(x!=0)

                               {

                                               p=temp[x][y];

                                               temp[x][y]=temp[x-1][y];

                                               temp[x-1][y]=p;

                               }

                               m=cal(temp,t);

                               dmin=l+m;

                               if(dmin < d)

                               {

                                               d=dmin;

                                               for(i=0;i < n;i++)

                                                               for(j=0;j < n;j++)

                                                                               r[i][j]=temp[i][j];

                               }

                               //To move downwards

                               for(i=0;i < n;i++)

                                               for(j=0;j < n;j++)

                                                               temp[i][j]=a[i][j];

                               if(x!=n-1)

                               {

                                               p=temp[x][y];

                                               temp[x][y]=temp[x+1][y];

                                               temp[x+1][y]=p;

                               }

                               m=cal(temp,t);

                               dmin=l+m;

                               if(dmin < d)

                               {

                                               d=dmin;

                                               for(i=0;i < n;i++)

                                                               for(j=0;j < n;j++)

                                                                               r[i][j]=temp[i][j];

                               }

                               //To move right side

                               for(i=0;i < n;i++)

                                               for(j=0;j < n;j++)

                                                               temp[i][j]=a[i][j];

                               if(y!=n-1)

                               {

                                               p=temp[x][y];

                                               temp[x][y]=temp[x][y+1];

                                               temp[x][y+1]=p;

                               }

                               m=cal(temp,t);

                               dmin=l+m;

                               if(dmin < d)

                               {

                                               d=dmin;

                                               for(i=0;i < n;i++)

                                                               for(j=0;j < n;j++)

                                                                               r[i][j]=temp[i][j];

                               }

                               //To move left

                               for(i=0;i < n;i++)

                                               for(j=0;j < n;j++)

                                                               temp[i][j]=a[i][j];

                               if(y!=0)

                               {

                                               p=temp[x][y];

                                               temp[x][y]=temp[x][y-1];

                                               temp[x][y-1]=p;

                               }

                               m=cal(temp,t);

                               dmin=l+m;

                               if(dmin < d)

                               {

                                               d=dmin;

                                               for(i=0;i < n;i++)

                                                               for(j=0;j < n;j++)

                                                                               r[i][j]=temp[i][j];

                               }

                               printf("\nCalculated Intermediate Matrix Value :\n");

                               for(i=0;i < n;i++)

                               {

                                               for(j=0;j < n;j++)

                                               printf("%d\t",r[i][j]);

                                               printf("\n");

                               }

                               for(i=0;i < n;i++)

                                               for(j=0;j < n;j++)

                                               {

                                               a[i][j]=r[i][j];

                                               temp[i][j]=0;

                                               }

                               printf("Minimum cost : %d\n",d);

               }

               getch();

}

Explanation:

7 0
3 years ago
How do I create a videogame
mote1985 [20]

Answer:

-Learn how to code

-Make Character

-Design

-Go to classes

-Go on video game platforms and make an video game(rblx is the best in my opinion)

-Play video games and see the scripts

-Decide what type of video game your making(horror, family game, battle game, etc.)

Explanation:

3 0
3 years ago
How to connect local account to domain account?
muminat
<span>Join them to the domain
Login with their domain credentials, logout
Login as local administrator (not the old account, not the new one, a 3rd local admin)
Right click My Computer and select properties
Select advanced system settings
Go to the Advanced tab
Click settings under user profiles
Select their old profile you want and click Copy to
Browse to the location of their new profile and overwrite it</span>

If the Copy button is grayed out then reboot and repeat steps two to nine.

8 0
4 years ago
The critical path of a network is the A. shortest time path through the network. B. path with the most activities. C. longest ti
S_A_V [24]

Answer: Option [C] : The longest time path through the network.

Explanation:

The critical path of a network is the longest time path through the network.

8 0
3 years ago
Write some html on a css page that transforms a sentence within a paragraph to tahoma font style, 16px font size, and red font c
Reptile [31]
P {
font-style: tahoma;
font-size: 16px;
font-color: red;
}
7 0
4 years ago
Other questions:
  • write the structure of an email message ques.2 what do you mean by search engine? write its component .ques. 3 what are the adva
    9·1 answer
  • By default, the Windows desktop displays
    6·1 answer
  • What are the tasks of a doc file
    15·1 answer
  • Ms. Myers commented that _____ she slept in at the hotel was better than _____ she slept in at home.
    7·1 answer
  • Why is it important to ensure that your software is up to date?
    13·1 answer
  • The school has determined that finding the absolute best schedule cannot be solved in a reasonable time. Instead they have decid
    8·1 answer
  • PLZZZZ HELPPP and please don’t send a link , Explain how the processing stage contributes to a computer creating an output.
    8·1 answer
  • How are the functions different and how do i determine the answer
    5·1 answer
  • What is the best method for modern businesses to authorize the use of workplace resources to its employees? a. assign them a use
    9·1 answer
  • Iris has completed a graphic design project for a client. what should iris obtain from the client in order to display the work i
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!