You need to manually manage your ESRAM usage and allocation policies, move data in/out (using custom move engines) and write/read data to/from the ESRAM using ROPs and compute shaders. XBox One ESRAM is not an automatic cache, it is a fully manual scratchpad memory. Intel's L4 EDRAM cache (in some Broadwell and Skylake models) on the other hand is a fully automated cache. Caches need considerable amount of extra die space for cache tags and coherency hardware. Microsoft (AMD) probably decided that a manual scratchpad is more suitable for a console, because custom code will be written for the console anyway. Intel on the other hand chose to implement fully automated 64MB / 128 MB EDRAM cache in their processor, because PC software is almost never optimized solely for a single architecture.
The UMA memory architectures of modern consoles (Xbox 360, Xbox One, PS4) make it very difficult to emulate games on platforms with a discrete GPU (such as the PC). First party console games can use algorithms where the CPU and GPU are tightly cooperating. This level of (low latency) CPU<->GPU cooperation not possible on a PC with a discrete GPU. In general, no console I have ever worked with has been designed to be fully forward compatible (I have worked with 7 consoles). It is always a trade off to make the next console fully backwards compatible. As long as the console developers are allowed to have low level hardware access, easy 100% forward compatibility will not happen.