Shared memory of SM

Problem.1 : What is the difference of L1 and shared memory ? The L1 cache caches the data from L2 cache .The data is for core to use . What is shared memory used for? Is shared memory shares data for all thread of block in same block?

[url]Programming Guide :: CUDA Toolkit Documentation