Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider a multicore system where each core has its own cache. Consistency between these caches is maintained using a shared bus and a cache coherency

image text in transcribedimage text in transcribed

Consider a multicore system where each core has its own cache. Consistency between these caches is maintained using a shared bus and a cache coherency protocol where each cache block is either in a modified, shared, or invalid state like we discussed in lecture. The implementation of this protocol tries to maximize efficiency by: keeping values cached whenever possible without risking inconsistency; and not writing values to the memory bus when possible (for example, by only invalidating values rather than writing a new value to memory) On this system, cache blocks are 256 bytes, so addresses Ox00 through OxFF are in the one cache block, as are 0x100 through Ox1FF, 0x200 through 0x2FF, etc. Suppose all cores initially have empty caches and perform single-byte reads and writes as follows, in this order: core 1 reads from Ox4000 core 2 reads from 0x4020 core 1 writes to Ox5000 core 1 writes to Ox4000 core 2 reads from 0x4028 core 1 reads from Ox5008 Assume at no point are cache blocks evicted from the cache other than due to invalidations to ensure consistency with other cores. Question 4 (1 points): (see above) What is the final state of the cache block containing 0x4020 on core 1? A. O invalid B. O shared C. O modified Comments: Question 5 (1 points): (see above) What is the final state of the cache block containing Ox5000 on core 1? A. O invalid B. O shared C. O modified Consider a multicore system where each core has its own cache. Consistency between these caches is maintained using a shared bus and a cache coherency protocol where each cache block is either in a modified, shared, or invalid state like we discussed in lecture. The implementation of this protocol tries to maximize efficiency by: keeping values cached whenever possible without risking inconsistency; and not writing values to the memory bus when possible (for example, by only invalidating values rather than writing a new value to memory) On this system, cache blocks are 256 bytes, so addresses Ox00 through OxFF are in the one cache block, as are 0x100 through Ox1FF, 0x200 through 0x2FF, etc. Suppose all cores initially have empty caches and perform single-byte reads and writes as follows, in this order: core 1 reads from Ox4000 core 2 reads from 0x4020 core 1 writes to Ox5000 core 1 writes to Ox4000 core 2 reads from 0x4028 core 1 reads from Ox5008 Assume at no point are cache blocks evicted from the cache other than due to invalidations to ensure consistency with other cores. Question 4 (1 points): (see above) What is the final state of the cache block containing 0x4020 on core 1? A. O invalid B. O shared C. O modified Comments: Question 5 (1 points): (see above) What is the final state of the cache block containing Ox5000 on core 1? A. O invalid B. O shared C. O modified

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Understanding Oracle APEX 5 Application Development

Authors: Edward Sciore

2nd Edition

1484209893, 9781484209899

More Books

Students also viewed these Databases questions