12/3/2023 0 Comments Cache coherence problems![]() ![]() ![]() This protocol permits the processor to modify a data block only if it acquires ownership. The processor modifying the data block broadcast request to other processors present in the system to invalidate the copies of the same data block in their caches.Whenever a processor modifies a data block present in its cache memory, it immediately updates the same data block in the main memory. ![]() Now, let us see the second version where the inconsistent copies in other processors caches are invalidated. If yes, the content of that data block is modified as specified in broadcasted data else the broadcasted data is discarded. When the other processors in the system receive the broadcasted modified data they verify whether they have the same data block present in their cache.So the processor that has modified the shared data block, broadcast the modified data to all the other processors in the system. Now other processors with the same data block present in their cache will have inconsistent data.Whenever a processor modifies a shared data block in its cache, it immediately updates the same data block in the main memory.Let us understand the first version where the inconsistent copies of shared data are updated in other caches. The write-through protocols have two versions and those are: So, the main memory here always has consistent data. In write-through protocol when a processor modifies a data block in its cache, it immediately updates the main memory with the new copy of the same data block. If it wants to read or write/modify this data block it has to send a request to the owner of the same data block. Invalid (I): The cache has a data block that does not have valid data.Shared (S): A data block in the main memory is shared by many processors in the system and all the processors have a valid copy of the data block in their caches.Here, the processor is the exclusive owner of the data block. So, the data block to be modified is now only with the processor that wishes to modify it and with the main memory. Exclusive (E): When the processor wants to modify a data block in its cache, it broadcast the request to invalidate the copy of the same data block in other caches. ![]() If the processor wants to modify it again, it doesn’t need to broadcast this request over the bus again. The main memory copy for the same data block does not contain the modified value of the data block. This copy of the data block is not available with any other caches in the system.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |