sentences:  Those modifications are various ways to loosen the strict separation between code and data, while still supporting the higher performance concurrent data and instruction access of the Harvard architecture.The most common modification builds a memory hierarchy with separate CPU caches for instructions and data at lower levels of the hierarchy.There is a single address space for instructions and data, providing the von Neumann model, but the CPU fetches instructions from the instruction cache and fetches data from the data cache.