0
\$\begingroup\$

I study computer architecture and this question came. What is the difference between a virtually tagged and a physically tagged memory system?

\$\endgroup\$
4
\$\begingroup\$

"physically tagged" and "virtually tagged" do not describe memory systems, but cache systems. These terms are used when there is a translation between virtual addresses and physical addresses.

The cache needs to know what memory areas have shadow copies in the cache. The address of the memory range contained in a cache line is called the tag of that cache line. A cache can put virtual addresses in the tag memory, so virtual addresses can be looked up directly in the cache without using the TLB (speed advantage on cache hit), or the cache could use physical addresses. Using physical addressing in the cache has the advantage that you don't need to flush the cache when the mapping between virtual and physical addresses changes (which happens on every task switch in many common operating systems).

\$\endgroup\$
  • \$\begingroup\$ Incidentally, the homonym problem can be managed with address space identifiers. Synonyms (where a physical address is mapped to more than one virtual address) are another issue with virtually addressed caches. \$\endgroup\$ – Paul A. Clayton Apr 12 '15 at 20:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.