If I have a CPU with two cores, each core has it's own L1 cache, is it possible that Core1 and Core2 caches a same part of memory at the same time?
Sim. O desempenho seria terrível se não fosse esse o caso. Considere dois segmentos executando o mesmo código. Você quer esse código em ambos os caches L1.
If it is possible, what the value of the main memory will be if both Core1 and Core2 has edited their value in cache?
O valor antigo estará na memória principal, o que não importará, já que nenhuma das CPUs o lerá. Antes de ejetar um valor modificado do cache, ele deve ser gravado na memória. Normalmente, é usada alguma variante do protocolo MESI . Na implementação tradicional do MESI, se um valor for modificado em um cache, ele não poderá estar presente em nenhum outro cache no mesmo nível.