Multiple caches raise the cache coherency problem:
the value returned by a read is the last value written to that location.
e.g. processors 1 and 2 both read a cache line. Processor 1 updates it. A read by processor 2 must return the new data