3 ms·
This is common knowledge in embedded circles, where weak memory models are the norm. This article doesn't address a different kind of memory weakness in some A
by jnwatson 6y ago
This is common knowledge in embedded circles, where weak memory models are the norm.
This article doesn't address a different kind of memory weakness in some ARM implementations (and I presume other architectures) that you can run into when sharing memory between processes.
The data cache is virtually tagged, virtually indexed, which means that the cache is keyed with the domain (essentially the process number) + the virtual address. This means that the MMU doesn't have to be consulted for cache lookups, however, if you have two different processes mapped into the same physical memory, the writing process must execute a flush instruction, and the reading process must execute an invalidate instruction.
- Arelius 6y agoOhh, Thanks! I had never heard about ARM's cache being tagged like that. Do you have any recommended reading?