Tightly coupled memory is basically a cache, except it's explicitly mapped at an address. In MCUs it's faster and also more "secure" in a sense, because, just like a cache, you can't DMA into TCM, so peripherals can't write garbage or shellcode into TCM. The upside of TCM over a cache is that it doesn't need the quick logic to for cache lookups and the storage for tags (so smaller, lower power than a cache), while the downside - it being explicit - is less of a problem and sometimes an advantage in embedded systems.