Answer:
The answer is The Cache Sets (S) = 32, Tag bits (t)=24, Set index bits(s) = 5 and Block offset bits (b) = 3
Explanation:
Solution
Given Data:
Physical address = 32 bit (memory address)
Cache size = 1024 bytes
Block size = 8 bytes
Now
It is a 4 way set associative mapping, so the set size becomes 4 blocks.
Thus
Number of blocks = cache size/block size
=1024/8
=128
The number of blocks = 128
=2^7
The number of sets = No of blocks/set size
=128/4
= 32
Hence the number of sets = 32
←Block ←number→
Tag → Set number→Block offset
←32 bit→
Now, =
The block offset = Log₂ (block size)
=Log₂⁸ = Log₂^2^3 =3
Then
Set number pc nothing but set index number
Set number = Log₂ (sets) = log₂³² =5
The remaining bits are tag bits.
Thus
Tag bits = Memory -Address Bits- (Block offset bits + set number bits)
= 32 - (3+5)
=32-8
=24
So,
Tag bits = 24
Therefore
The Cache Sets = 32
Tag bits =24
Set index bits = 5
Block offset bits = 3
Note: ←32 bits→
Tag 24 → Set index 5→Block offset 3
Answer:
Answer explained
Explanation:
From the previous question we know that while searching for n^(1/r) we don't have to look for guesses less than 0 and greater than n. Because for less than 0 it will be an imaginary number and for rth root of a non negative number can never be greater than itself. Hence lowEnough = 0 and tooHigh = n.
we need to find 5th root of 47226. The computation of root is costlier than computing power of a number. Therefore, we will look for a number whose 5th power is 47226. lowEnough = 0 and tooHigh = 47226 + 1. Question that should be asked on each step would be "Is 5th power of number < 47227?" we will stop when we find a number whose 5th power is 47226.